code: private TimeZoneGenericNames getTimeZoneGenericNames() {
          if (_gnames == null) { // _gnames is volatile
              synchronized(this) {
                  if (_gnames == null) {
                      _gnames = TimeZoneGenericNames.getInstance(_locale);
                  }
              }
          }
          return _gnames;
      }
docs: Private method returning the instance of TimeZoneGenericNames
  used by this object. The instance of TimeZoneGenericNames might
  not be available until the first use (lazy instantiation) because
  it is only required for handling generic names (that are not used
  by DateFormat's default patterns) and it requires relatively heavy
  one time initialization.
  @return the instance of TimeZoneGenericNames used by this object.