code: static Currency createCurrency(ULocale loc) {
          String variant = loc.getVariant();
          if ("EURO".equals(variant)) {
              return getInstance(EUR_STR);
          }
  
          // Cache the currency by region, and whether variant=PREEURO.
          // Minimizes the size of the cache compared with caching by ULocale.
          String key = ULocale.getRegionForSupplementalData(loc, false);
          if ("PREEURO".equals(variant)) {
              key = key + '-';
          }
          return regionCurrencyCache.getInstance(key, null);
      }
docs: /* package