code: public static Set<CurrencyUnit> getCurrencies(Locale locale, String... providers) {
          return Optional.ofNullable(MONETARY_CURRENCIES_SINGLETON_SPI()).orElseThrow(
                  () -> new MonetaryException("No MonetaryCurrenciesSingletonSpi loaded, check your system setup."))
                  .getCurrencies(locale, providers);
      }
docs: Access a new instance based on the {@link Locale}. Currencies are
  available as provided by {@link CurrencyProviderSpi} instances registered
  with the {@link javax.money.spi.Bootstrap}.
  
  @param locale    the target {@link Locale}, typically representing an ISO
  country, not {@code null}.
  @param providers the (optional) specification of providers to consider.
  @return the corresponding {@link CurrencyUnit} instance.
  @throws UnknownCurrencyException if no such currency exists.