code: public static TimeZone getTimeZone(String id) {
          if (id == null) {
              throw new NullPointerException("id == null");
          }
  
          // Special cases? These can clone an existing instance.
          if (id.length() == 3) {
              if (id.equals("GMT")) {
                  return (TimeZone) GMTHolder.INSTANCE.clone();
              }
              if (id.equals("UTC")) {
                  return (TimeZone) UTCHolder.INSTANCE.clone();
              }
          }
  
          // Native time zone?
          TimeZone zone = NativeTimeZone.get(id);
  
          // Custom time zone?
          if (zone == null && id.length() > 3 && id.startsWith("GMT")) {
              zone = getCustomTimeZone(id);
          }
  
          // We never return null; on failure we return the equivalent of "GMT".
          return (zone != null) ? zone : (TimeZone) GMTHolder.INSTANCE.clone();
      }
docs: Android changed param s/ID/id