public function getEventsFor(StreamName $streamName, $id) { $id = (string) $id; $name = (string) $streamName; /** @var MapInterface $events */ try { $events = $this->events->at($name); } catch (\OutOfBoundsException $e) { throw new EventStreamNotFoundException("Stream {$name} not found", $e->getCode(), $e); } if (!$events->containsKey($id)) { throw new EventStreamNotFoundException(); } return $events->get($id); }