code: @Override
      public RoundedMoney subtract(MonetaryAmount amount) {
          MoneyUtils.checkAmountParameter(amount, currency);
          if (amount.isZero()) {
              return this;
          }
          return new RoundedMoney(number.subtract(amount.getNumber().numberValue(BigDecimal.class),
                  Optional.ofNullable(
                          monetaryContext.get(MathContext.class)).orElse(MathContext.DECIMAL64)),
                  currency, rounding);
      }
docs: /*
  (non-Javadoc)
  @see javax.money.MonetaryAmount#subtract(javax.money.MonetaryAmount)