code: public static List<TZID> getAvailableIDs(String provider) {
  
          if (provider.equals("INCLUDE_ALIAS")) {
              return zonalKeys.availablesAndAliases;
          }
  
          ZoneModelProvider zp = getProvider(provider);
  
          if (zp == null) {
              return Collections.emptyList();
          }
  
          List<TZID> result = new ArrayList<>();
  
          for (String id : zp.getAvailableIDs()) {
              result.add(resolve(id));
          }
  
          result.sort(ID_COMPARATOR);
          return Collections.unmodifiableList(result);
  
      }
docs: /*[deutsch]
  <p>Liefert alle verf&uuml;gbaren Zeitzonenkennungen zum angegebenen
  {@code ZoneModelProvider}. </p>
  
  <p>Hinweis: Wenn das Argument keinen registrierten {@code ZoneModelProvider}
  referenziert, dann liefert diese Methode eine leere Liste. Wenn das
  Argument gleich &quot;DEFAULT&quot; ist, dann wird der
  Standard-{@code ZoneModelProvider} abgefragt. </p>
  
  @param   provider    the registered zone model provider whose ids are searched
  @return  unmodifiable list of available timezone ids in ascending order
  @throws  IllegalArgumentException if the provider argument is empty
  @since   2.2
  @see     ZoneModelProvider#getName()
  @see     ZoneModelProvider#getAvailableIDs()