/**
  * @param AbstractEvent $event
  *
  * @return AbstractEventHandler
  */
 private function resolveHandler(AbstractEvent $event)
 {
     if ($event->hasSubTypes() && $event instanceof AbstractSubTypedEvent) {
         $this->logger->info(sprintf('%s: event:%s, subtype:%s', __FUNCTION__, get_class($event), $event->getName()));
         return $this->handlers[$event->getType()][$event->getSubType()];
     }
     return $this->handlers[$event->getType()];
 }
 /**
  * {@inheritdoc}
  */
 public function eventSupported(AbstractEvent $event)
 {
     return $this->getEventType() === $event->getType();
 }