private class EventDispatcher implements ActiveObjectProviderListener {
@Override
public void activeObjectsChanged(ActiveObjectProviderEvent evt) {
ActiveObjectProvider provider = evt.getSource();
if (!provider.isActive()) {
return;
}
List<?> eventObjects = evt.getActiveObjects();
synchronized (lock) {
boolean ignore = equals(currentProvider, provider.getProviderId())
&& equals(eventObjects, activeObjects);
if (ignore) {
return;
}
currentProvider = provider.getProviderId();
eventLogger.log(evt);
activeObjects = eventObjects;
}
externalListeners.notifyListeners(evt);
}