DomUIControl (final CompositeCommittable compositCommitable, final DomElement domElement) { final List<Committable> list = compositCommitable.getChildren(); for (Committable committable : list) { if (committable instanceof DomUIControl) { if(((DomUIControl<?>)committable).canNavigate(domElement)) { return (DomUIControl)committable; } } else if (committable instanceof CompositeCommittable) { final DomUIControl control = findDomControl((CompositeCommittable)committable, domElement); if(control != null) return control; } } return null; }