return actualResult;
}
RuleResult finalResult = RuleResult.createInitialTrue();
if (!getRoot().hasExternalCycles()) {
final PreviousYearsEnrolmentCurricularRule previousYearsEnrolmentCurricularRule =
new PreviousYearsEnrolmentCurricularRule(getRoot().getDegreeModule());
finalResult =
finalResult.and(previousYearsEnrolmentCurricularRule.evaluate(new EnroledCurriculumModuleWrapper(getRoot(),
getExecutionSemester()), this.enrolmentContext));
} else {
for (final CycleCurriculumGroup cycleCurriculumGroup : getRoot().getCycleCurriculumGroups()) {
final PreviousYearsEnrolmentCurricularRule previousYearsEnrolmentCurricularRule =
new PreviousYearsEnrolmentCurricularRule(cycleCurriculumGroup.getDegreeModule());
finalResult =
finalResult.and(previousYearsEnrolmentCurricularRule.evaluate(new EnroledCurriculumModuleWrapper(
cycleCurriculumGroup, getExecutionSemester()), this.enrolmentContext));
}
}
return finalResult.and(actualResult);