code: @Override
      public void subscribe(Class<? extends RootApplicationEvent> event, String listenerBeanName) {
          Object instance = ctx.getBean(listenerBeanName);
          if (instance instanceof EventListener) {
              subscribe(event, (EventListener) instance);
          } else {
              throw new ServiceLayerException(format("The bean with name [%s] is not of type EventListener and cannot subscribe to events", listenerBeanName));
          }
      }
docs: {@inheritDoc}