docs: public static DateTimeZone forTimeZone(TimeZone zone) {
          if (zone == null) {
              return getDefault();
          }
          final String id = zone.getID();
          if (id == null) {
              throw new IllegalArgumentException("The TimeZone id must not be null");
          }
          if (id.equals("UTC")) {
              return DateTimeZone.UTC;
          }
  
          // Convert from old alias before consulting provider since they may differ.
          DateTimeZone dtz = null;
          String convId = getConvertedId(id);
          Provider provider = getProvider();
          if (convId != null) {
              dtz = provider.getZone(convId);
          }
          if (dtz == null) {
              dtz = provider.getZone(id);
          }
          if (dtz != null) {
              return dtz;
          }
  
          // Support GMT+/-hh:mm formats
          if (convId == null) {
              convId = id;
              if (convId.startsWith("GMT+") || convId.startsWith("GMT-")) {
                  convId = convId.substring(3);
                  if (convId.length() > 2) {
                      char firstDigit = convId.charAt(1);
                      if (firstDigit > '9' && Character.isDigit(firstDigit)) {
                          convId = convertToAsciiNumber(convId);
                      }
                  }
                  int offset = parseOffset(convId);
                  if (offset == 0L) {
                      return DateTimeZone.UTC;
                  } else {
                      convId = printOffset(offset);
                      return fixedOffsetZone(convId, offset);
                  }
              }
          }
          throw new IllegalArgumentException("The datetime zone id '" + id + "' is not recognised");
      }