class CurrencyAmount implements ImmutableBean, Serializable {

  public CurrencyAmount plus(final CurrencyAmount amountToAdd) {
    ArgumentChecker.notNull(amountToAdd, "amountToAdd");
    ArgumentChecker.isTrue(amountToAdd.getCurrency().equals(_currency), "Unable to add amounts in different currencies");
    return plus(amountToAdd.getAmount());
  }

  @ImmutableConstructor private  CurrencyAmount(final Currency currency, final double amount);

}