code: public <V extends Enum<V>> TextAccessor getTextForms(
          String name,
          Class<V> type,
          String... variants
      ) {
  
          if (this.mre != null) {
              throw new MissingResourceException(
                  this.mre.getMessage(),
                  this.mre.getClassName(),
                  this.mre.getKey());
          }
  
          V[] enums = type.getEnumConstants();
          int len = enums.length;
          String[] tfs = new String[len];
          String prefix = this.getKeyPrefix(name);
          int baseIndex = (CalendarEra.class.isAssignableFrom(type) ? 0 : 1);
  
          for (int i = 0; i < len; i++) {
              String raw;
              int step = 0;
              String key = null;
  
              // sukzessives Reduzieren der Varianten, wenn nicht gefunden
              while ((raw = getKeyStart(prefix, step, variants)) != null) {
                  String test = toKey(raw, i, baseIndex);
  
                  if (this.textForms.containsKey(test)) {
                      key = test;
                      break;
                  }
  
                  step++;
              }
  
              if (key == null) {
                  if (this.textForms.containsKey(name)) {
                      tfs[i] = this.textForms.get(name);
                  } else {
                      tfs[i] = enums[i].name(); // fallback
                  }
              } else {
                  tfs[i] = this.textForms.get(key);
              }
          }
  
          return new TextAccessor(tfs);
  
      }
docs: /*[deutsch]
  <p>Siehe {@link #getTextForms(ChronoElement, String...)}. </p>
  
  @param   <V> generic type of element values based on enums
  @param   name        name of text entries in resource file
  @param   type        type of enum values
  @param   variants    text form variants (optional)
  @return  accessor for any text forms
  @throws  MissingResourceException if for given calendar type there are no text resource files
  @since   3.11/4.8