@ Override public CurrencyAmount add ( final CurrencyAmount money ) { if ( ! money . getCurrency ( ) . equals ( currency ) ) { throw new IllegalArgumentException ( "You cannot add " + money . getCurrency ( ) + " with " + currency ) ; } return new Cash ( currency , BigDecimalUtil . add ( amount , money . getAmount ( ) ) ) ; }
Add the amount with the existing one and return a new immutable Money .