if (aFieldName.contains("[")) {
theFieldName = aFieldName.substring(0, aFieldName.indexOf("["));
collectionIndex = Integer.parseInt(aFieldName.substring(aFieldName.indexOf("[") + 1, aFieldName.indexOf("]")));
}
PropertyDescriptor propDescriptor = findPropertyDescriptor(latestClass, theFieldName, deepIndexHintContainer);
DeepHierarchyElement r = new DeepHierarchyElement(propDescriptor, collectionIndex);
if (propDescriptor == null) {
MappingUtils.throwMappingException("Exception occurred determining deep field hierarchy for Class --> "
+ parentClass.getName() + ", Field --> " + field + ". Unable to determine property descriptor for Class --> "
+ latestClass.getName() + ", Field Name: " + aFieldName);
}
latestClass = propDescriptor.getPropertyType();
if (toks.hasMoreTokens()) {
if (latestClass.isArray()) {
latestClass = latestClass.getComponentType();
} else if (Collection.class.isAssignableFrom(latestClass)) {
Class<?> genericType = determineGenericsType(propDescriptor);