&& (!eventListenerReferences.isEmpty())
) {
EventListenerReference eventListenerReference = eventListenerReferences.get(eventListenerIndex);
ObservableElement eventSource = execution.getEventSource();
if ((eventSource == observableElement) || (eventListenerReference.isPropagationEnabled())) {
EventListener eventListener = eventListenerReference.getEventListener();
log.trace("executing " + eventListener + " for " + event);
try {
// TODO can/should this invocation be unified with the exception handler invocation of the event notification method?
eventListener.notify(execution);
} catch (Exception e) {
log.trace("exception during action: " + e);
execution.handleException((ObservableElementImpl) observableElement, event, eventListenerReference, e, "couldn't run action " + eventListener);
}
}