final List<ExecutionCourse> executionCourses = new ArrayList<ExecutionCourse>();
final HasExecutionSemester hasExecutionSemester = (HasExecutionSemester) source;
final ExecutionSemester executionPeriod = hasExecutionSemester.getExecutionPeriod();
final HasExecutionDegree hasExecutionDegree = (HasExecutionDegree) source;
final ExecutionDegree executionDegree = hasExecutionDegree.getExecutionDegree();
final DegreeCurricularPlan degreeCurricularPlan = executionDegree.getDegreeCurricularPlan();
if (executionPeriod != null && executionDegree != null) {
for (final ExecutionCourse executionCourse : executionPeriod.getAssociatedExecutionCoursesSet()) {
if (matches(executionCourse, degreeCurricularPlan)) {