protected function extractAssociationValues($sagaType, EventMessageInterface $event)
 {
     $inspector = new SagaMethodMessageHandlerInspector($sagaType);
     $handlers = $inspector->getMessageHandlers($event);
     $values = array();
     foreach ($handlers as $handler) {
         $values[] = $handler->getAssociationValue($event);
     }
     return $values;
 }
 public final function handle(EventMessageInterface $event)
 {
     if ($this->isActive()) {
         // find and invoke handler
         $handler = $this->inspector->findHandlerMethod($this, $event);
         $handler->invoke($this, $event);
         if ($handler->isEndingHandler()) {
             $this->end();
         }
     }
 }