code: @Override
      public ValueRange range(TemporalField field) {
          if (field instanceof ChronoField) {
              if (isSupported(field)) {
                  ChronoField f = (ChronoField) field;
                  switch (f) {
                      case ALIGNED_DAY_OF_WEEK_IN_MONTH:
                          return month == 0 ? ValueRange.of(0, 0) : ValueRange.of(1, DAYS_IN_WEEK);
                      case ALIGNED_DAY_OF_WEEK_IN_YEAR:
                          return ValueRange.of(isLeapYear() ? 0 : 1, DAYS_IN_WEEK);
                      case ALIGNED_WEEK_OF_YEAR:
                          return ValueRange.of(isLeapYear() ? 0 : 1, WEEKS_IN_YEAR);
                      case DAY_OF_MONTH:
                          return month == 0 ? ValueRange.of(0, 0) : ValueRange.of(1, DAYS_IN_MONTH);
                      case DAY_OF_WEEK:
                          return month == 0 ? ValueRange.of(0, 0) : ValueRange.of(1, DAYS_IN_WEEK);
                      case MONTH_OF_YEAR:
                          return ValueRange.of(isLeapYear() ? 0 : 1, MONTHS_IN_YEAR);
                      default:
                          break;
                  }
              }
          }
          return super.range(field);
      }
docs: -----------------------------------------------------------------------