code: public CurrencyUnit getCurrency(String currencyCode, String... providers) {
          Objects.requireNonNull(currencyCode, "Currency Code may not be null");
          Collection<CurrencyUnit> found =
                  getCurrencies(CurrencyQueryBuilder.of().setCurrencyCodes(currencyCode).setProviderNames(providers).build());
          if (found.isEmpty()) {
              throw new UnknownCurrencyException(currencyCode);
          }
          if (found.size() > 1) {
              throw new MonetaryException("Ambiguous CurrencyUnit for code: " + currencyCode + ": " + found);
          }
          return found.iterator().next();
      }
docs: Access a new instance based on the currency code. Currencies are
  available as provided by {@link javax.money.spi.CurrencyProviderSpi} instances registered
  with the {@link javax.money.spi.Bootstrap}.
  
  @param currencyCode the ISO currency code, not {@code null}.
  @param providers    the (optional) specification of providers to consider. If not set (empty) the providers
  as defined by #getDefaultRoundingProviderChain() should be used.
  @return the corresponding {@link javax.money.CurrencyUnit} instance.
  @throws javax.money.UnknownCurrencyException if no such currency exists.