addExecutionCoursesForExecutionPeriod(result, executionPeriod, getRoot().getChildContextsSet());
if (getRoot() != null) { addExecutionCoursesForExecutionPeriod(result, executionPeriod, getRoot().getChildContextsSet()); }
    public Set<ExecutionCourse> getExecutionCoursesByExecutionPeriod(ExecutionPeriod executionPeriod) {        final Set<ExecutionCourse> result = new HashSet<ExecutionCourse>();        for (final CurricularCourse curricularCourse : super.getCurricularCourses()) {            for (final ExecutionCourse executionCourse : curricularCourse.getAssociatedExecutionCourses()) {                if (executionCourse.getExecutionPeriod() == executionPeriod) {                    result.add(executionCourse);                }            }        }        addExecutionCoursesForExecutionPeriod(result, executionPeriod, getRoot().getChildContextsSet());        return result;    }