public function addPendingEventsToStream()
{
foreach ($this->identityMap as $aggregateId => $aggregateRoot) {
$pendingStreamEvents = $this->aggregateTranslator->extractPendingStreamEvents($aggregateRoot);
if (count($pendingStreamEvents)) {
$enrichedEvents = [];
foreach ($pendingStreamEvents as $event) {
$enrichedEvents[] = $this->enrichEventMetadata($event, $aggregateId);
}
$streamName = $this->determineStreamName($aggregateId);
$this->eventStore->appendTo($streamName, new ArrayIterator($enrichedEvents));
}
}
//Clear identity map
$this->identityMap = [];
}