code: private void onEventListenerComponentAdded(ComponentDescriptorAddedEvent event, ComponentManager componentManager,
          ComponentDescriptor<EventListener> descriptor)
      {
          try {
              EventListener eventListener = componentManager.getInstance(EventListener.class, event.getRoleHint());
  
              if (getListener(eventListener.getName()) != eventListener) {
                  addListener(eventListener);
              } else {
                  this.logger.warn("An Event Listener named [{}] already exists, ignoring the [{}] component",
                      eventListener.getName(), descriptor.getImplementation().getName());
              }
          } catch (ComponentLookupException e) {
              this.logger.error("Failed to lookup the Event Listener [{}] corresponding to the Component registration "
                  + "event for [{}]. Ignoring the event", new Object[] { event.getRoleHint(),
                      descriptor.getImplementation().getName(), e });
          }
      }
docs: An Event Listener Component has been dynamically registered in the system, add it to our cache.
  
  @param event event object containing the new component descriptor
  @param componentManager the {@link ComponentManager} where the descriptor is registered
  @param descriptor the component descriptor removed from component manager