code: public MonetaryFormat repeatOptionalDecimals(int decimals, int repetitions) {
          checkArgument(repetitions >= 0);
          List<Integer> decimalGroups = new ArrayList<>(repetitions);
          for (int i = 0; i < repetitions; i++)
              decimalGroups.add(decimals);
          return new MonetaryFormat(negativeSign, positiveSign, zeroDigit, decimalMark, minDecimals, decimalGroups,
                  shift, roundingMode, codes, codeSeparator, codePrefixed);
      }
docs: <p>
  Set repeated additional groups of decimals to use after the minimum decimals, if they are useful for expressing
  precision. If the value precision exceeds all decimals specified (including minimum decimals), the value will be
  rounded. This configuration is not relevant for parsing.
  </p>
  
  <p>
  For example, if you pass {@code 1,8} it will up to eight decimals to your formatted string if needed. After
  these have been used up, rather than adding further decimals the value will be rounded.
  </p>
  
  @param decimals
  value of the group to be repeated
  @param repetitions
  number of repetitions