private ChronoLocalDate ofWeekBasedYear(Chronology chrono,int yowby,int wowby,int dow){
  ChronoLocalDate date=chrono.date(yowby,1,1);
  int ldow=localizedDayOfWeek(date);
  int offset=startOfWeekOffset(1,ldow);
  int yearLen=date.lengthOfYear();
  int newYearWeek=computeWeek(offset,yearLen + weekDef.getMinimalDaysInFirstWeek());
  wowby=Math.min(wowby,newYearWeek - 1);
  int days=-offset + (dow - 1) + (wowby - 1) * 7;
  return date.plus(days,DAYS);
}

private ChronoLocalDate ofWeekBasedYear ( Chronology chrono , int yowby , int wowby , int dow ) { ChronoLocalDate date = chrono . date ( yowby , 1 , 1 ) ; int ldow = localizedDayOfWeek ( date ) ; int offset = startOfWeekOffset ( 1 , ldow ) ; int yearLen = date . lengthOfYear ( ) ; int newYearWeek = computeWeek ( offset , yearLen + weekDef . getMinimalDaysInFirstWeek ( ) ) ; wowby = Math . min ( wowby , newYearWeek - 1 ) ; int days = - offset + ( dow - 1 ) + ( wowby - 1 ) * 7 ; return date . plus ( days , DAYS ) ; }
return a new week - based - year date of the chronology , year , week - of - year , and dow of week .
