public ZoneRulesBuilder addRuleToWindow(int startYear,int endYear,int month,int dayOfMonthIndicator,int dayOfWeek,LocalTime time,boolean timeEndOfDay,TimeDefinition timeDefinition,int savingAmountSecs){
  Objects.requireNonNull(time,"time");
  Objects.requireNonNull(timeDefinition,"timeDefinition");
  if (dayOfMonthIndicator < -28 || dayOfMonthIndicator > 31 || dayOfMonthIndicator == 0) {
    throw new IllegalArgumentException("Day of month indicator must be between -28 and 31 inclusive excluding zero");
  }
  if (timeEndOfDay && time.equals(LocalTime.MIDNIGHT) == false) {
    throw new IllegalArgumentException("Time must be midnight when end of day flag is true");
  }
  if (windowList.isEmpty()) {
    throw new IllegalStateException("Must add a window before adding a rule");
  }
  TZWindow window=windowList.get(windowList.size() - 1);
  window.addRule(startYear,endYear,month,dayOfMonthIndicator,dayOfWeek,time,timeEndOfDay,timeDefinition,savingAmountSecs);
  return this;
}

public ZoneRulesBuilder addRuleToWindow ( int startYear , int endYear , int month , int dayOfMonthIndicator , int dayOfWeek , LocalTime time , boolean timeEndOfDay , TimeDefinition timeDefinition , int savingAmountSecs ) { Objects . requireNonNull ( time , "time" ) ; Objects . requireNonNull ( timeDefinition , "timeDefinition" ) ; if ( dayOfMonthIndicator < - 28 || dayOfMonthIndicator > 31 || dayOfMonthIndicator == 0 ) { throw new IllegalArgumentException ( "Day of month indicator must be between -28 and 31 inclusive excluding zero" ) ; } if ( timeEndOfDay && time . equals ( LocalTime . MIDNIGHT ) == false ) { throw new IllegalArgumentException ( "Time must be midnight when end of day flag is true" ) ; } if ( windowList . isEmpty ( ) ) { throw new IllegalStateException ( "Must add a window before adding a rule" ) ; } TZWindow window = windowList . get ( windowList . size ( ) - 1 ) ; window . addRule ( startYear , endYear , month , dayOfMonthIndicator , dayOfWeek , time , timeEndOfDay , timeDefinition , savingAmountSecs ) ; return this ; }
adds a multi - year transition rule to the current window . < p > this adds a rule such that the offset , expressed as a daylight savings amount , changes at the specified date - time for each year in the range .
