&& (!nextSummaryDate.isEqual(currentDate) || !getEndHourMinuteSecond() .isAfter(now))) {
&& (!nextSummaryDate.isEqual(currentDate) || isTimeValidToInsertSummary(now))) {
    public YearMonthDay getNextPossibleSummaryDate() {	YearMonthDay currentDate = new YearMonthDay();	YearMonthDay lessonEndDay = getLessonEndDay();	YearMonthDay endDateToSearch = (lessonEndDay.isAfter(currentDate)) ? currentDate : lessonEndDay;	HourMinuteSecond now = new HourMinuteSecond();	Campus lessonCampus = getLessonCampus();	Summary lastSummary = getLastSummary();	if (lastSummary != null) {	    YearMonthDay summaryDateYearMonthDay = lastSummary.getSummaryDateYearMonthDay();	    YearMonthDay nextSummaryDate = summaryDateYearMonthDay.plusDays(7);	    while (true) {		if (nextSummaryDate.isAfter(endDateToSearch)) {		    break;		}		if (!Holiday.isHoliday(nextSummaryDate, lessonCampus)			&& (!nextSummaryDate.isEqual(currentDate) || !getEndHourMinuteSecond()				.isAfter(now))) {		    return nextSummaryDate;		}		nextSummaryDate = nextSummaryDate.plusDays(7);	    }	} else {	    YearMonthDay lessonStartDay = getLessonStartDay();	    return (!lessonStartDay.isAfter(endDateToSearch)) ? lessonStartDay : null;	}	return null;    }