public static <T> T first(Class<T> type, UIComponent base) { T result = null; Iterator<UIComponent> kids = base.getFacetsAndChildren(); while (kids.hasNext() && (result == null)) { UIComponent kid = kids.next(); if (type.isAssignableFrom(kid.getClass())) { result = (T) kid; break; } result = first(type, kid); if (result != null) { break; } } return result; }
public static <T> T first(Class<T> type, UIComponent base) { T result = null; Iterator<UIComponent> kids = base.getFacetsAndChildren(); while (kids.hasNext() && (result == null)) { UIComponent kid = (UIComponent) kids.next(); if (type.isAssignableFrom(kid.getClass())) { result = (T) kid; break; } result = first(type, kid); if (result != null) { break; } } return result; }