public function loadEvents(StreamName $streamName, array $metadata = [], $minVersion = null)
{
if (!isset($this->streams[$streamName->toString()])) {
return new ArrayIterator();
}
$streamEvents = [];
foreach ($this->streams[$streamName->toString()] as $index => $streamEvent) {
if ($this->matchMetadataWith($streamEvent, $metadata)) {
if (null === $minVersion || $streamEvent->version() >= $minVersion) {
$streamEvents[] = $streamEvent;
}
}
}
return new ArrayIterator($streamEvents);
}