UIComponent component = event.getComponent();
if (event instanceof NodeExpandedEvent) {
binding = eventsProducer.getChangeExpandListener();
if (event instanceof AjaxExpandedEvent) {
new TreeAjaxEvent(component, TreeAjaxEventType.EXPANSION).queue();
}
} else if (event instanceof AjaxSelectedEvent) {
if (eventsProducer.hasAjaxSubmitSelection()) {
binding = eventsProducer.getNodeSelectListener();
new TreeAjaxEvent(component, TreeAjaxEventType.SELECTION).queue();
}
} else if (event instanceof NodeSelectedEvent) {
binding = eventsProducer.getNodeSelectListener();
} else if (event instanceof DropEvent) {
binding = eventsProducer.getDropListener();