code: @Override
      public void subscribe(Class<? extends RootApplicationEvent> event, EventListener listener) {
          synchronized (subscriptions) {
              Set<EventListener> listeners = subscriptions.get(event);
              if (listeners == null) {
                  listeners = new HashSet<>(1);
                  listeners.add(listener);
              } else {
                  listeners.add(listener);
                  subscriptions.put(event, listeners);
              }
          }
      }
docs: {@inheritDoc}