@Override
public synchronized void addEventListener(EventListener listener, int eventTypes, String absPath,
boolean isDeep, String[] uuid, String[] nodeTypeName, boolean noLocal) throws RepositoryException {
boolean includeExternal = !(listener instanceof ExcludeExternal);
EventFilter filter = new EventFilter(ntMgr, eventTypes, oakPath(absPath), isDeep,
uuid, validateNodeTypeNames(nodeTypeName), !noLocal, includeExternal);
ChangeProcessor processor = processors.get(listener);
if (processor == null) {
log.info(OBSERVATION, "Registering event listener {} with filter {}", listener, filter);
ListenerTracker tracker = new ListenerTracker(