code: private void setCalendarLocale(ULocale locale) {
          ULocale calLocale = locale;
  
          if (locale.getVariant().length() != 0 || locale.getKeywords() != null) {
              // Construct a ULocale, without variant and keywords (except calendar).
              StringBuilder buf = new StringBuilder();
  
              buf.append(locale.getLanguage());
  
              String script = locale.getScript();
              if (script.length() > 0) {
                  buf.append("_").append(script);
              }
  
              String region = locale.getCountry();
              if (region.length() > 0) {
                  buf.append("_").append(region);
              }
  
              String calType = locale.getKeywordValue("calendar");
              if (calType != null) {
                  buf.append("@calendar=").append(calType);
              }
  
              calLocale = new ULocale(buf.toString());
          }
  
          setLocale(calLocale, calLocale);
      }
docs: /*
  Set valid/actual locale to this calendar during initialization.
  
  Valid or actual locale does not make much sense for Calendar
  object. An instance of Calendar is initialized by week data
  determine by region and calendar type (either region or keyword).
  Language is not really used for calendar creation.