code: public String getDisplayName(TimeZone tz, GenericNameType type, long date) {
          String name = null;
          String tzCanonicalID = null;
          switch (type) {
          case LOCATION:
              tzCanonicalID = ZoneMeta.getCanonicalCLDRID(tz);
              if (tzCanonicalID != null) {
                  name = getGenericLocationName(tzCanonicalID);
              }
              break;
          case LONG:
          case SHORT:
              name = formatGenericNonLocationName(tz, type, date);
              if (name == null) {
                  tzCanonicalID = ZoneMeta.getCanonicalCLDRID(tz);
                  if (tzCanonicalID != null) {
                      name = getGenericLocationName(tzCanonicalID);
                  }
              }
              break;
          }
          return name;
      }
docs: Returns the display name of the time zone for the given name type
  at the given date, or null if the display name is not available.
  
  @param tz the time zone
  @param type the generic name type - see {@link GenericNameType}
  @param date the date
  @return the display name of the time zone for the given name type
  at the given date, or null.