code: public BigMoney dividedBy(BigDecimal valueToDivideBy, RoundingMode roundingMode) {
          MoneyUtils.checkNotNull(valueToDivideBy, "Divisor must not be null");
          MoneyUtils.checkNotNull(roundingMode, "RoundingMode must not be null");
          if (valueToDivideBy.compareTo(BigDecimal.ONE) == 0) {
              return this;
          }
          BigDecimal newAmount = amount.divide(valueToDivideBy, roundingMode);
          return BigMoney.of(currency, newAmount);
      }
docs: Returns a copy of this monetary value divided by the specified value
  using the specified rounding mode to adjust the scale.
  <p>
  The result has the same scale as this instance.
  For example, 'USD 1.13' divided by '2.5' and rounding down gives 'USD 0.45'
  (amount rounded down from 0.452).
  <p>
  This instance is immutable and unaffected by this method.
  
  @param valueToDivideBy  the scalar value to divide by, not null
  @param roundingMode  the rounding mode to use, not null
  @return the new divided instance, never null
  @throws ArithmeticException if dividing by zero
  @throws ArithmeticException if the rounding fails