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