public Money subtract(Money money){
  assertDefined();
  if (null == m_value) {
    return (money);
  }
  BigDecimal value=m_value.subtract(money.getBigDecimalValue());
  return new Money(value);
}

public Money subtract ( Money money ) { assertDefined ( ) ; if ( null == m_value ) { return ( money ) ; } BigDecimal value = m_value . subtract ( money . getBigDecimalValue ( ) ) ; return new Money ( value ) ; }
subtracts two money objects
