code: @Override
      public MonetaryAmountFactory<T> setCurrency(CurrencyUnit currency) {
          Objects.requireNonNull(currency);
          this.currency = currency;
          return this;
      }
docs: /*
  (non-Javadoc)
  @see javax.money.MonetaryAmountFactory#withCurrency(javax.money.CurrencyUnit)