/** * @param PaymentId $paymentId * * @return Payment * @throws PaymentNotFoundException */ public function getById(PaymentId $paymentId) : Payment { if (!array_key_exists((string) $paymentId, $this->payments)) { throw PaymentNotFoundException::byId($paymentId); } return $this->payments[(string) $paymentId]; }