@ProblemFactCollectionProperty
    private List<CourseConflict> calculateCourseConflictList() {
        List<CourseConflict> courseConflictList = new ArrayList<>();
        for (Course leftCourse : courseList) {
            for (Course rightCourse : courseList) {
                if (leftCourse.getId() < rightCourse.getId()) {
                    int conflictCount = 0;
                    if (leftCourse.getTeacher().equals(rightCourse.getTeacher())) {
                        conflictCount++;
                    }
                    for (Curriculum curriculum : leftCourse.getCurriculumList()) {
                        if (rightCourse.getCurriculumList().contains(curriculum)) {
                            conflictCount++;
                        }
                    }
                    if (conflictCount > 0) {
                        courseConflictList.add(new CourseConflict(leftCourse, rightCourse, conflictCount));
                    }
                }
            }
        }
        return courseConflictList;
    }
@ProblemFactCollectionProperty
    private List<CourseConflict> calculateCourseConflictList() {
        List<CourseConflict> courseConflictList = new ArrayList<>();
        for (Course leftCourse : courseList) {
            for (Course rightCourse : courseList) {
                if (leftCourse.getId() < rightCourse.getId()) {
                    int conflictCount = 0;
                    if (leftCourse.getTeacher().equals(rightCourse.getTeacher())) {
                        conflictCount++;
                    }
                    for (Curriculum curriculum : leftCourse.getCurriculumList()) {
                        if (rightCourse.getCurriculumList().contains(curriculum)) {
                            conflictCount++;
                        }
                    }
                    if (conflictCount > 0) {
                        courseConflictList.add(new CourseConflict(leftCourse, rightCourse, conflictCount));
                    }
                }
            }
        }
        return courseConflictList;
    }
@ ProblemFactCollectionProperty private List < CourseConflict > calculateCourseConflictList ( ) { List < CourseConflict > courseConflictList = new ArrayList <> ( ) ; for ( Course leftCourse : courseList ) { for ( Course rightCourse : courseList ) { if ( leftCourse . getId ( ) < rightCourse . getId ( ) ) { int conflictCount = 0 ; if ( leftCourse . getTeacher ( ) . equals ( rightCourse . getTeacher ( ) ) ) { conflictCount ++ ; } for ( Curriculum curriculum : leftCourse . getCurriculumList ( ) ) { if ( rightCourse . getCurriculumList ( ) . contains ( curriculum ) ) { conflictCount ++ ; } } if ( conflictCount > 0 ) { courseConflictList . add ( new CourseConflict ( leftCourse , rightCourse , conflictCount ) ) ; } } } } return courseConflictList ; }
************************************************************************
************************************************************************