code: public TimeZoneGenericNames setFormatPattern(Pattern patType, String patStr) {
          if (isFrozen()) {
              throw new UnsupportedOperationException("Attempt to modify frozen object");
          }
  
          // Changing pattern will invalidates cached names
          if (!_genericLocationNamesMap.isEmpty()) {
              _genericLocationNamesMap = new ConcurrentHashMap<String, String>();
          }
          if (!_genericPartialLocationNamesMap.isEmpty()) {
              _genericPartialLocationNamesMap = new ConcurrentHashMap<String, String>();
          }
          _gnamesTrie = null;
          _gnamesTrieFullyLoaded = false;
  
          if (_patternFormatters == null) {
              _patternFormatters = new MessageFormat[Pattern.values().length];
          }
          _patternFormatters[patType.ordinal()] = new MessageFormat(patStr);
          return this;
      }
docs: Sets the pattern string for the pattern type.
  Note: This method is designed for CLDR ST - not for common use.
  @param patType the pattern type
  @param patStr the pattern string
  @return this object.