@Override public void onEvent(final IEvent<?> event) { if (event.getPayload() instanceof SearchClausePanel.SearchEvent) { final AjaxRequestTarget target = SearchClausePanel.SearchEvent.class.cast(event.getPayload()).getTarget(); if (Ownership.this.isGroupOwnership.getObject()) { final String fiql = SearchUtils.buildFIQL( groupSearchPanel.getModel().getObject(), SyncopeClient.getGroupSearchConditionBuilder()); groupDirectoryPanel.search(fiql, target); } else { final String fiql = SearchUtils.buildFIQL( userSearchPanel.getModel().getObject(), SyncopeClient.getUserSearchConditionBuilder()); userDirectoryPanel.search(fiql, target); } } else if (event.getPayload() instanceof AnySelectionDirectoryPanel.ItemSelection) { final AnyTO sel = ((AnySelectionDirectoryPanel.ItemSelection) event.getPayload()).getSelection(); if (sel == null) { wrapper.getInnerObject().setUserOwner(null); wrapper.getInnerObject().setGroupOwner(null); } else if (sel instanceof UserTO) { wrapper.getInnerObject().setUserOwner(sel.getKey()); wrapper.getInnerObject().setGroupOwner(null); } else if (sel instanceof GroupTO) { wrapper.getInnerObject().setGroupOwner(sel.getKey()); wrapper.getInnerObject().setUserOwner(null); } ((AnySelectionDirectoryPanel.ItemSelection) event.getPayload()).getTarget().add(ownerContainer); } else { super.onEvent(event); } }