code: public MonetaryAmountFactory<T> setAmount(MonetaryAmount amount) {
          setCurrency(amount.getCurrency());
          setNumber(amount.getNumber());
          setContext(amount.getContext());
          return this;
      }
docs: Uses an arbitrary {@link javax.money.MonetaryAmount} to initialize this factory. Properties reused are:
  <ul>
  <li>CurrencyUnit,</li>
  <li>Number value,</li>
  <li>MonetaryContext.</li>
  </ul>
  
  @param amount the amount to be used, not {@code null}.
  @return this factory instance, for chaining.
  @throws javax.money.MonetaryException when the {@link javax.money.MonetaryContext} implied by {@code amount.getContext()}
  exceeds the capabilities supported by this factory type.