code: @Override
      public ValueRange range(TemporalField field) {
          if (field == WEEK_BASED_YEAR) {
              return WEEK_BASED_YEAR.range();
          }
          if (field == WEEK_OF_WEEK_BASED_YEAR) {
              return ValueRange.of(1, weekRange(year));
          }
          return TemporalAccessor.super.range(field);
      }
docs: Gets the range of valid values for the specified field.
  <p>
  The range object expresses the minimum and maximum valid values for a field.
  This year-week is used to enhance the accuracy of the returned range.
  If it is not possible to return the range, because the field is not supported
  or for some other reason, an exception is thrown.
  <p>
  The range for the {@link IsoFields#WEEK_BASED_YEAR WEEK_BASED_YEAR} and
  {@link IsoFields#WEEK_OF_WEEK_BASED_YEAR WEEK_OF_WEEK_BASED_YEAR} fields is returned.
  All {@link ChronoField} instances will throw an {@code UnsupportedTemporalTypeException}.
  
  @param field  the field to query the range for, not null
  @return the range of valid values for the field, not null
  @throws DateTimeException if the range for the field cannot be obtained
  @throws UnsupportedTemporalTypeException if the field is not supported