final public RuleResult enrol(final ExecutionSemester executionSemester,
final Set<IDegreeModuleToEvaluate> degreeModulesToEnrol, final List<CurriculumModule> curriculumModulesToRemove,
final CurricularRuleLevel curricularRuleLevel) {
check(this, StudentCurricularPlanPredicates.ENROL);
final EnrolmentContext enrolmentContext =
new EnrolmentContext(this, executionSemester, degreeModulesToEnrol, curriculumModulesToRemove,
curricularRuleLevel);
return org.fenixedu.academic.domain.studentCurriculum.StudentCurricularPlanEnrolment.createManager(enrolmentContext)
.manage();
}