code: public static Chronology of(String id) {
          init();
          Chronology chrono = CHRONOS_BY_ID.get(id);
          if (chrono != null) {
              return chrono;
          }
          chrono = CHRONOS_BY_TYPE.get(id);
          if (chrono != null) {
              return chrono;
          }
          throw new DateTimeException("Unknown chronology: " + id);
      }
docs: Obtains an instance of {@code Chronology} from a chronology ID or
  calendar system type.
  <p>
  This returns a chronology based on either the ID or the type.
  The {@link #getId() chronology ID} uniquely identifies the chronology.
  The {@link #getCalendarType() calendar system type} is defined by the LDML specification.
  <p>
  The chronology may be a system chronology or a chronology
  provided by the application via ServiceLoader configuration.
  <p>
  Since some calendars can be customized, the ID or type typically refers
  to the default customization. For example, the Gregorian calendar can have multiple
  cutover dates from the Julian, but the lookup only provides the default cutover date.
  
  @param id  the chronology ID or calendar system type, not null
  @return the chronology with the identifier requested, not null
  @throws DateTimeException if the chronology cannot be found