ZoneOffsetTransitionRule(int month,int dayOfMonthIndicator,int dayOfWeek,LocalTime time,boolean timeEndOfDay,TimeDefinition timeDefnition,ZoneOffset standardOffset,ZoneOffset offsetBefore,ZoneOffset offsetAfter){
  Objects.requireNonNull(time,"time");
  Objects.requireNonNull(timeDefnition,"timeDefnition");
  Objects.requireNonNull(standardOffset,"standardOffset");
  Objects.requireNonNull(offsetBefore,"offsetBefore");
  Objects.requireNonNull(offsetAfter,"offsetAfter");
  if (month < 1 || month > 12) {
    throw new IllegalArgumentException("month must be between 1 and 12");
  }
  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");
  }
  this.month=month;
  this.dom=(byte)dayOfMonthIndicator;
  this.dow=dayOfWeek;
  this.time=time;
  this.timeEndOfDay=timeEndOfDay;
  this.timeDefinition=timeDefnition;
  this.standardOffset=standardOffset;
  this.offsetBefore=offsetBefore;
  this.offsetAfter=offsetAfter;
}

ZoneOffsetTransitionRule ( int month , int dayOfMonthIndicator , int dayOfWeek , LocalTime time , boolean timeEndOfDay , TimeDefinition timeDefnition , ZoneOffset standardOffset , ZoneOffset offsetBefore , ZoneOffset offsetAfter ) { Objects . requireNonNull ( time , "time" ) ; Objects . requireNonNull ( timeDefnition , "timeDefnition" ) ; Objects . requireNonNull ( standardOffset , "standardOffset" ) ; Objects . requireNonNull ( offsetBefore , "offsetBefore" ) ; Objects . requireNonNull ( offsetAfter , "offsetAfter" ) ; if ( month < 1 || month > 12 ) { throw new IllegalArgumentException ( "month must be between 1 and 12" ) ; } 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" ) ; } this . month = month ; this . dom = ( byte ) dayOfMonthIndicator ; this . dow = dayOfWeek ; this . time = time ; this . timeEndOfDay = timeEndOfDay ; this . timeDefinition = timeDefnition ; this . standardOffset = standardOffset ; this . offsetBefore = offsetBefore ; this . offsetAfter = offsetAfter ; }
creates an instance defining the yearly rule to create transitions between two offsets .
