code: public static MonetaryRounding getRounding(CurrencyUnit currencyUnit, String... providers) {
          return Optional.ofNullable(monetaryRoundingsSingletonSpi()).orElseThrow(
                  () -> new MonetaryException("No MonetaryRoundingsSpi loaded, query functionality is not available."))
                  .getRounding(currencyUnit, providers);
      }
docs: Creates an {@link MonetaryOperator} for rounding {@link MonetaryAmount}
  instances given a currency.
  
  @param currencyUnit The currency, which determines the required scale. As
  {@link java.math.RoundingMode}, by default, {@link java.math.RoundingMode#HALF_UP}
  is used.
  @param providers    the providers and ordering to be used. By default providers and ordering as defined in
  #getDefaultProviders is used.
  @return a new instance {@link MonetaryOperator} implementing the
  rounding, never {@code null}.