code: private static char getCanonicalChar(int field, char reference) {
          // Special case: distinguish between 12-hour and 24-hour
          if (reference == 'h' || reference == 'K') {
              return 'h';
          }
  
          // Linear search over types (return the top entry for each field)
          for (int i = 0; i < types.length; ++i) {
              int[] row = types[i];
              if (row[1] == field) {
                  return (char) row[0];
              }
          }
          throw new IllegalArgumentException("Could not find field " + field);
      }
docs: Gets the canonical character associated with the specified field (ERA, YEAR, etc).