}
if (desc.isFragment())
{
EventPropertyGetter getter = eventType.getGetter(propertyName);
FragmentEventType fragmentType = eventType.getFragmentType(propertyName);
if (getter == null)
{
log.warn("No getter returned for event type '" + eventType.getName() + "' and property '" + propertyName + "'");
continue;
}
if (fragmentType == null)
{
log.warn("No fragment type returned for event type '" + eventType.getName() + "' and property '" + propertyName + "'");
continue;
}
EventTypePropertyPair pair = new EventTypePropertyPair(fragmentType.getFragmentType(), propertyName);
if ((options.isPreventLooping() && stack.contains(pair)))
{
continue; // prevent looping behavior on self-references
}
stack.push(pair);
RendererMeta fragmentMetaData = new RendererMeta(fragmentType.getFragmentType(), stack, options);
stack.pop();
gettersNested.add(new NestedGetterPair(getter, propertyName, fragmentMetaData, fragmentType.isIndexed()));
}
}
simpleProperties = gettersSimple.toArray(new GetterPair[gettersSimple.size()]);
indexProperties = gettersIndexed.toArray(new GetterPair[gettersIndexed.size()]);