code: public Money plus(BigDecimal amountToAdd, RoundingMode roundingMode) {
          return with(money.plusRetainScale(amountToAdd, roundingMode));
      }
docs: Returns a copy of this monetary value with the amount added.
  <p>
  This adds the specified amount to this monetary amount, returning a new object.
  If the amount to add exceeds the scale of the currency, then the
  rounding mode will be used to adjust the result.
  <p>
  This instance is immutable and unaffected by this method.
  
  @param amountToAdd  the monetary value to add, not null
  @param roundingMode  the rounding mode to use, not null
  @return the new instance with the input amount added, never null