code: private static Symmetry010Date resolvePreviousValid(int prolepticYear, int month, int dayOfMonth) {
          int monthR = Math.min(month, MONTHS_IN_YEAR);
          int dayR = Math.min(dayOfMonth,
                  monthR == 12 && INSTANCE.isLeapYear(prolepticYear) ? DAYS_IN_MONTH + 7 :
                  monthR % 3 == 2 ? DAYS_IN_MONTH_LONG : DAYS_IN_MONTH);
          return create(prolepticYear, monthR, dayR);
      }
docs: Consistency check for dates manipulations after calls to
  {@link #plus(long, TemporalUnit)},
  {@link #minus(long, TemporalUnit)},
  {@link #until(AbstractDate, TemporalUnit)} or
  {@link #with(TemporalField, long)}.
  
  @param prolepticYear  the Symmetry010 proleptic-year
  @param month  the Symmetry010 month, from 1 to 12
  @param dayOfMonth  the Symmetry010 day-of-month, from 1 to 30, or 1 to 31 in February, May, August, November,
  or 1 to 37 in December in a Leap Year
  @return the resolved date