return (PropertyGroup) force().get(index);
return (PropertyGroup) otherProperties.get(index);
  protected synchronized PropertyGroup getLocalPG(Class pgc, long t) {    if (otherProperties == null) {       return null;        }    if (TimePhasedPropertyGroup.class.isAssignableFrom(pgc)) {      int index = findLocalPGScheduleIndex(pgc);      if (index >=0) {        PropertyGroupSchedule pgs = (PropertyGroupSchedule) force().get(index);        if (t == UNSPECIFIED_TIME) {          return pgs.getDefault();        } else {          return (PropertyGroup) pgs.intersects(t);        }      } else {        return null;      }    } else {      int index = findLocalPGIndex(pgc);      if (index >= 0) {        return (PropertyGroup) force().get(index);      } else {        return null;      }    }  }