code: public static NavigableMap<String, ZoneRules> getVersions(String zoneId) {
          Jdk8Methods.requireNonNull(zoneId, "zoneId");
          return getProvider(zoneId).provideVersions(zoneId);
      }
docs: Gets the history of rules for the zone ID.
  <p>
  Time-zones are defined by governments and change frequently.
  This method allows applications to find the history of changes to the
  rules for a single zone ID. The map is keyed by a string, which is the
  version string associated with the rules.
  <p>
  The exact meaning and format of the version is provider specific.
  The version must follow lexicographical order, thus the returned map will
  be order from the oldest known rules to the newest available rules.
  The default 'TZDB' group uses version numbering consisting of the year
  followed by a letter, such as '2009e' or '2012f'.
  <p>
  Implementations must provide a result for each valid zone ID, however
  they do not have to provide a history of rules.
  Thus the map will always contain one element, and will only contain more
  than one element if historical rule information is available.
  
  @param zoneId  the zone region ID as used by {@code ZoneId}, not null
  @return a modifiable copy of the history of the rules for the ID, sorted
  from oldest to newest, not null
  @throws ZoneRulesException if history cannot be obtained for the zone ID