code: private void evalCurrency(MessageArg arg) {
      String currencyCode = arg.currency();
      if (currencyCode == null) {
        return;
      }
      CLDR.Currency currency = CLDR.Currency.fromString(currencyCode);
      if (currency == null) {
        return;
      }
      
      initCurrencyArgsParser();
      parseArgs(currencyArgsParser);
      
      BigDecimal number = arg.asBigDecimal();
      NumberFormatter formatter = CLDR_INSTANCE.getNumberFormatter(locale);
      formatter.formatCurrency(number, currency, buf, currencyArgsParser.options());
    }
docs: CURRENCY - Evaluate the argument as a currency, with options specified as key=value.