code: public static Money from(MonetaryAmount amt) {
          if (amt.getClass() == Money.class) {
              return (Money) amt;
          }
          return Money.of(amt.getNumber().numberValue(BigDecimal.class), amt.getCurrency(), amt.getContext());
      }
docs: Converts (if necessary) the given {@link MonetaryAmount} to a
  {@link Money} instance. The {@link MonetaryContext} will be adapted as
  necessary, if the precision of the given amount exceeds the capabilities
  of the default {@link MonetaryContext}.
  
  @param amt the amount to be converted
  @return an according Money instance.