Map<String, UiChildMethodHolder> map = new HashMap<String, UiObjectTag.UiChildMethodHolder>();
Map<Method, UiChild> uiChildMap = GwtReflectionUtils.getAnnotatedMethod(clazz, UiChild.class);
for (Map.Entry<Method, UiChild> entry : uiChildMap.entrySet()) {
Method method = entry.getKey();
UiChild annotation = entry.getValue();
UiChildMethodHolder holder = new UiChildMethodHolder();
holder.uiChildMethod = method;
holder.invocationLimit = annotation.limit(); // default is -1
holder.invocationCount = 0;
String tagName = (annotation.tagname().equals("")) ? computeUiChildMethodTagName(method)
: annotation.tagname();
map.put(tagName, holder);
}
return map;
}