code: private YearWeek with(int newYear, int newWeek) {
          if (year == newYear && week == newWeek) {
              return this;
          }
          return of(newYear, newWeek);
      }
docs: Returns a copy of this year-week with the new year and week, checking
  to see if a new object is in fact required.
  
  @param newYear  the year to represent, validated from MIN_YEAR to MAX_YEAR
  @param newWeek  the week to represent, validated from 1 to 53
  @return the year-week, not null