code: private synchronized void initializeListeners()
      {
          if (this.listenersByName == null) {
              this.listenersByEvent = new ConcurrentHashMap<>();
              this.listenersByName = new ConcurrentHashMap<>();
  
              // Can be null in unit tests
              if (this.componentManager != null) {
                  try {
                      for (EventListener listener : this.componentManager
                          .<EventListener>getInstanceList(EventListener.class)) {
                          addListener(listener);
                      }
                  } catch (ComponentLookupException e) {
                      this.logger.error("Failed to lookup listeners", e);
                  }
              }
          }
      }
docs: Lazily initialized to allow @Inject {@link ObservationManager} in a listener.
  
  @todo Should we allow event inheritance ?