protected function validateOtherAmount(AmountInterface $amount) {
    if ($this->getCurrency()->getCurrencyCode() !== $amount->getCurrency()->getCurrencyCode()) {
      throw new \InvalidArgumentException(sprintf('Both amounts must be in %s, but the other amount is in %s.', $this->getCurrency()->getCurrencyCode(), $amount->getCurrency()->getCurrencyCode()));
    }
  }