private boolean isActiveForCalendarEntry(AcademicCalendarEntry entry) { if (entry instanceof AcademicCalendarRootEntry) { return false; } if (entry instanceof AcademicYearCE) { return intersects(entry.getBegin().toDate(), entry.getEnd().toDate()); } if (intersects(entry.getBegin().toDate(), entry.getEnd().toDate()) && new Integer(entry.getAcademicSemesterOfAcademicYear(entry.getAcademicChronology())) .equals(getCurricularSemester().getSemester())) { return true; } return isActiveForCalendarEntry(entry.getParentEntry()); }