code: public static CalendarText getInstance(
          String calendarType,
          Locale locale
      ) {
  
          if (calendarType == null) {
              throw new NullPointerException("Missing calendar type.");
          }
  
          StringBuilder sb = new StringBuilder();
          sb.append(calendarType);
          sb.append(':');
          sb.append(locale.getLanguage());
          String country = FormatUtils.getRegion(locale);
          if (!country.isEmpty()) {
              sb.append('-');
              sb.append(country);
          }
          String script = locale.getScript();
          if (!script.isEmpty()) {
              sb.append('#');
              sb.append(script);
          }
          String key = sb.toString();
  
          CalendarText instance = CACHE.get(key);
  
          if (instance == null) {
              TextProvider p = null;
  
              if (locale.getLanguage().isEmpty() && calendarType.equals(ISO_CALENDAR_TYPE)) {
                  p = ROOT_PROVIDER;
              } else {
                  // ServiceLoader-Mechanismus (Suche nach externen Providern)
                  for (TextProvider tmp : ResourceLoader.getInstance().services(TextProvider.class)) {
                      if (tmp.supportsCalendarType(calendarType) && tmp.supportsLanguage(locale)) {
                          p = tmp;
                          break;
                      }
                  }
  
                  // Java-Ressourcen
                  if (p == null) {
                      TextProvider tmp = JDK_PROVIDER;
  
                      if (tmp.supportsCalendarType(calendarType) && tmp.supportsLanguage(locale)) {
                          p = tmp;
                      }
  
                      if (p == null) {
                          p = ROOT_PROVIDER; // keine-ISO-Ressource
                      }
                  }
              }
  
              instance = new CalendarText(calendarType, locale, p);
              CalendarText old = CACHE.putIfAbsent(key, instance);
  
              if (old != null) {
                  instance = old;
              }
          }
  
          return instance;
  
      }
docs: /*[deutsch]
  <p>Gibt eine Instanz dieser Klasse f&uuml;r Kalendertyp
  und Sprache zur&uuml;ck. </p>
  
  @param   calendarType    name of calendar system
  @param   locale          language
  @return  {@code CalendarText} object maybe cached
  @see     CalendarType