public function apply($domainEvent)
    {
        $domainEvent = $this->ensureDomainEvent($domainEvent);
        $eventHandlerName = $this->getEventHandlerName($domainEvent);
        if (method_exists($this, $eventHandlerName)) {
            $this->executeEventHandler($this, $eventHandlerName, $domainEvent);
        } else {
            $this->applyRecursively($eventHandlerName, $domainEvent);
        }
    }
public function apply($domainEvent)
    {
        $domainEvent = $this->ensureDomainEvent($domainEvent);
        $eventHandlerName = $this->getEventHandlerName($domainEvent);
        if (method_exists($this, $eventHandlerName)) {
            $this->executeEventHandler($this, $eventHandlerName, $domainEvent);
        } else {
            $this->applyRecursively($eventHandlerName, $domainEvent);
        }
    }
public function apply ( $ domainEvent ) { $ domainEvent = $ this -> ensureDomainEvent ( $ domainEvent ) ; $ eventHandlerName = $ this -> getEventHandlerName ( $ domainEvent ) ; if ( method_exists ( $ this , $ eventHandlerName ) ) { $ this -> executeEventHandler ( $ this , $ eventHandlerName , $ domainEvent ) ; } else { $ this -> applyRecursively ( $ eventHandlerName , $ domainEvent ) ; } }
Apply a Domain Event to the aggregate

@param mixed $domainEvent
Apply a Domain Event to the aggregate