private LocalDate previous(LocalDate date) {

    int newDayOfMonth = date.getDayOfMonth() - 1;
    if (newDayOfMonth > 0) {
      return date.withDayOfMonth(newDayOfMonth);
    }
    date = date.with(date.getMonth().minus(1));
    if (date.getMonth() == Month.DECEMBER) {
      date = date.withYear(date.getYear() - 1);
    }
    return date.withDayOfMonth(date.getMonth().length(isIsoLeap(date.getYear())));
  }

  // -----------------------------------------------------------------------
  // ofEpochDay()
  // -----------------------------------------------------------------------
  @Test(groups = { "tck" }