/**
  * @param mixed $annotatedEventListener
  * @param EventBusInterface $eventBus
  * @param AnnotationReaderFactoryInterface $annotationReaderFactory
  */
 public function __construct($annotatedEventListener, EventBusInterface $eventBus, AnnotationReaderFactoryInterface $annotationReaderFactory)
 {
     $this->eventBus = $eventBus;
     $this->annotatedEventListener = $annotatedEventListener;
     $this->annotationReaderFactory = $annotationReaderFactory;
     if ($annotatedEventListener instanceof ReplayAwareInterface) {
         $this->replayAware = $annotatedEventListener;
     }
     $this->eventBus->getEventListenerRegistry()->subscribe($this);
 }
 /**
  * Returns the EventListenerRegistryInterface of this EventBus.
  *
  * @return EventListenerRegistryInterface
  */
 public function getEventListenerRegistry()
 {
     return $this->delegate->getEventListenerRegistry();
 }
 /**
  * Starts recording event published by the event bus.
  */
 public function startRecording()
 {
     $this->eventBus->getEventListenerRegistry()->subscribe($this);
 }