code: @Override
      public Money add(MonetaryAmount amount) {
          MoneyUtils.checkAmountParameter(amount, this.currency);
          if (amount.isZero()) {
              return this;
          }
          return new Money(this.number.add(amount.getNumber().numberValue(BigDecimal.class)), getCurrency());
      }
docs: /*
  (non-Javadoc)
  
  @see javax.money.MonetaryAmount#add(javax.money.MonetaryAmount)