IComponent (IComponent component, final String binding, @Nullable final IComponent exceptComponent) { // Check that binding is unique final Ref<IComponent> boundComponent = new Ref<>(); iterate( component, new ComponentVisitor() { @Override public boolean visit(final IComponent component) { if (component != exceptComponent && binding.equals(component.getBinding())) { boundComponent.set(component); return false; } return true; } } ); return boundComponent.get(); }