protected function replay(\Iterator $historyEvents) { foreach ($historyEvents as $pastEvent) { /** @var AggregateChanged $pastEvent */ $this->version = $pastEvent->version(); $this->apply($pastEvent); } }
/** * @param AggregateRoot $aggregateRoot * @param Iterator $events */ public function replayStreamEvents(AggregateRoot $aggregateRoot, Iterator $events) { $aggregateRoot->replay($events); }