code: public static ZoneRules of(ZoneOffset baseStandardOffset,
                                 ZoneOffset baseWallOffset,
                                 List<ZoneOffsetTransition> standardOffsetTransitionList,
                                 List<ZoneOffsetTransition> transitionList,
                                 List<ZoneOffsetTransitionRule> lastRules) {
          Objects.requireNonNull(baseStandardOffset, "baseStandardOffset");
          Objects.requireNonNull(baseWallOffset, "baseWallOffset");
          Objects.requireNonNull(standardOffsetTransitionList, "standardOffsetTransitionList");
          Objects.requireNonNull(transitionList, "transitionList");
          Objects.requireNonNull(lastRules, "lastRules");
          return new ZoneRules(baseStandardOffset, baseWallOffset,
                               standardOffsetTransitionList, transitionList, lastRules);
      }
docs: Obtains an instance of a ZoneRules.
  
  @param baseStandardOffset  the standard offset to use before legal rules were set, not null
  @param baseWallOffset  the wall offset to use before legal rules were set, not null
  @param standardOffsetTransitionList  the list of changes to the standard offset, not null
  @param transitionList  the list of transitions, not null
  @param lastRules  the recurring last rules, size 16 or less, not null
  @return the zone rules, not null