code: public BigMoney minus(BigMoneyProvider moneyToSubtract) {
          BigMoney toSubtract = checkCurrencyEqual(moneyToSubtract);
          return minus(toSubtract.getAmount());
      }
docs: Returns a copy of this monetary value with the amount subtracted.
  <p>
  This subtracts the specified amount from this monetary amount, returning a new object.
  The amount subtracted must be in the same currency.
  <p>
  No precision is lost in the result.
  The scale of the result will be the maximum of the two scales.
  For example,'USD 25.95' minus 'USD 3.021' gives 'USD 22.929'.
  <p>
  This instance is immutable and unaffected by this method.
  
  @param moneyToSubtract  the monetary value to subtract, not null
  @return the new instance with the input amount subtracted, never null
  @throws CurrencyMismatchException if the currencies differ