code: public static CurrencyUnit of(Locale locale) {
          MoneyUtils.checkNotNull(locale, "Locale must not be null");
          CurrencyUnit currency = currenciesByCountry.get(locale.getCountry());
          if (currency == null) {
              throw new IllegalCurrencyException("No currency found for locale '" + locale + '\'');
          }
          return currency;
      }
docs: Obtains an instance of {@code CurrencyUnit} for the specified locale.
  <p>
  Only the country is used from the locale.
  
  @param locale  the locale, not null
  @return the singleton instance, never null
  @throws IllegalCurrencyException if the currency is unknown