TagChildLazyConditions lazyConditions = childProcessorClass.getAnnotation(TagChildLazyConditions.class);
final WidgetLazyChecker lazyChecker = (lazyConditions== null?null:LazyWidgets.initializeLazyChecker(lazyConditions));
final String childName = getChildTagName(tagName, isAgregator, (isAnyWidget || isAnyWidgetType));
ChildrenProcessor childrenProcessor = new ChildrenProcessor()
{
public void processChildren(SourcePrinter out, WidgetCreatorContext context)
{
JSONObject child = widgetCreator.ensureFirstChild(context.getChildElement(), acceptNoChildren, context.getWidgetId());
if (child != null)
{
context.setChildElement(child);
processChild(out, context, childName);
}
}
};
scannedProcessors.put(processorClass.getCanonicalName(), childrenProcessor);
ChildProcessor childProcessor = createChildProcessor(isAnyWidget, widgetProperty, lazyChecker, processor, supportedDevices);
if (!isAnyWidget && !isAnyWidgetType)
{
childProcessor.setChildrenProcessor(scanChildren(childProcessorClass, isAgregator));
}
childrenProcessor.addChildProcessor(childName, childProcessor);
return childrenProcessor;
}