code: public static BigMoney ofScale(CurrencyUnit currency, BigDecimal amount, int scale) {
          return BigMoney.ofScale(currency, amount, scale, RoundingMode.UNNECESSARY);
      }
docs: Obtains an instance of {@code BigMoney} from a {@code BigDecimal} at a specific scale.
  <p>
  This allows you to create an instance with a specific currency and amount.
  No rounding is performed on the amount, so it must have a
  scale less than or equal to the new scale.
  The result will have a minimum scale of zero.
  
  @param currency  the currency, not null
  @param amount  the amount of money, not null
  @param scale  the scale to use, zero or positive
  @return the new instance, never null
  @throws ArithmeticException if the scale exceeds the currency scale