@Override
    public ValueRange range(ChronoField field) {
        switch (field) {
            case ALIGNED_WEEK_OF_MONTH:
                return alignedWeekOfMonthRange;
            case ALIGNED_WEEK_OF_YEAR:
                return ALIGNED_WEEK_OF_YEAR_RANGE;
            case DAY_OF_MONTH:
                return dayOfMonthRange;
            case DAY_OF_YEAR:
                return DAY_OF_YEAR_RANGE;
            case MONTH_OF_YEAR:
                return getDivision().getMonthsInYearRange();
            case PROLEPTIC_MONTH:
                return getDivision() == THIRTEEN_EVEN_MONTHS_OF_4_WEEKS ? PROLEPTIC_MONTH_RANGE_13 : PROLEPTIC_MONTH_RANGE_12;
            default:
                break;
        }
        return field.range();
    }
@ Override public ValueRange range ( ChronoField field ) { switch ( field ) { case ALIGNED_WEEK_OF_MONTH : return alignedWeekOfMonthRange ; case ALIGNED_WEEK_OF_YEAR : return ALIGNED_WEEK_OF_YEAR_RANGE ; case DAY_OF_MONTH : return dayOfMonthRange ; case DAY_OF_YEAR : return DAY_OF_YEAR_RANGE ; case MONTH_OF_YEAR : return getDivision ( ) . getMonthsInYearRange ( ) ; case PROLEPTIC_MONTH : return getDivision ( ) == THIRTEEN_EVEN_MONTHS_OF_4_WEEKS ? PROLEPTIC_MONTH_RANGE_13 : PROLEPTIC_MONTH_RANGE_12 ; default : break ; } return field . range ( ) ; }
-----------------------------------------------------------------------