public ZoneRulesBuilder addWindow(ZoneOffset standardOffset,LocalDateTime until,TimeDefinition untilDefinition){
  Objects.requireNonNull(standardOffset,"standardOffset");
  Objects.requireNonNull(until,"until");
  Objects.requireNonNull(untilDefinition,"untilDefinition");
  TZWindow window=new TZWindow(standardOffset,until,untilDefinition);
  if (windowList.size() > 0) {
    TZWindow previous=windowList.get(windowList.size() - 1);
    window.validateWindowOrder(previous);
  }
  windowList.add(window);
  return this;
}

public ZoneRulesBuilder addWindow ( ZoneOffset standardOffset , LocalDateTime until , TimeDefinition untilDefinition ) { Objects . requireNonNull ( standardOffset , "standardOffset" ) ; Objects . requireNonNull ( until , "until" ) ; Objects . requireNonNull ( untilDefinition , "untilDefinition" ) ; TZWindow window = new TZWindow ( standardOffset , until , untilDefinition ) ; if ( windowList . size ( ) > 0 ) { TZWindow previous = windowList . get ( windowList . size ( ) - 1 ) ; window . validateWindowOrder ( previous ) ; } windowList . add ( window ) ; return this ; }
adds a window to the builder that can be used to filter a set of rules . < p > this method defines and adds a window to the zone where the standard offset is specified . the window limits the effect of subsequent additions of transition rules or fixed savings . if neither rules or fixed savings are added to the window then the window will default to no savings . < p > each window must be added sequentially , as the start instant of the window is derived from the until instant of the previous window .
