/**
  * @param UncommittedEvents $stream
  * @return CommittedEvents
  */
 public function commit(UncommittedEvents $stream)
 {
     $aggregateId = $stream->first()->getAggregateIdentity();
     foreach ($stream as $event) {
         $this->events[(string) $aggregateId][] = $event;
     }
     return new CommittedEvents($aggregateId, $stream->getEvents());
 }