public boolean evaluate(Object arg0) { CurricularCourse2Enroll course2Enroll = (CurricularCourse2Enroll) arg0; return (!areasCurricularCourses.contains(course2Enroll.getCurricularCourse()) && !optionalCurricularCourses.contains(course2Enroll.getCurricularCourse()) && !course2Enroll.getCurricularCourse().getCode().equals(PORTFOLIO_V_CODE) && !studentCurricularPlan.getDegreeCurricularPlan().getTFCs().contains(course2Enroll.getCurricularCourse())); }  }); return result;
final List areasCurricularCourses = studentCurricularPlan.getDegreeCurricularPlan() .getCurricularCoursesFromAnyArea(); final List optionalCurricularCourses = new ArrayList(); for (CurricularCourseGroup curricularCourseGroup : (List<CurricularCourseGroup>) studentCurricularPlan .getDegreeCurricularPlan().getAllOptionalCurricularCourseGroups()) { optionalCurricularCourses.addAll(curricularCourseGroup.getCurricularCourses()); }  List result = (List) CollectionUtils.select(curricularCoursesToBeEnrolledIn, new Predicate() {  public boolean evaluate(Object arg0) { CurricularCourse2Enroll course2Enroll = (CurricularCourse2Enroll) arg0; return (!areasCurricularCourses.contains(course2Enroll.getCurricularCourse()) && !optionalCurricularCourses.contains(course2Enroll.getCurricularCourse()) && !course2Enroll.getCurricularCourse().getCode().equals(PORTFOLIO_V_CODE) && !studentCurricularPlan .getDegreeCurricularPlan().getTFCs().contains( course2Enroll.getCurricularCourse())); }  }); return result;
    protected List removeAreaCurricularCourses(List curricularCoursesToBeEnrolledIn) {    	//remove all optional, area and Portflio V    	        final List areasCurricularCourses = studentCurricularPlan.getDegreeCurricularPlan().getCurricularCoursesFromAnyArea();        final List optionalCurricularCourses = new ArrayList();        for (CurricularCourseGroup curricularCourseGroup : (List<CurricularCourseGroup>) studentCurricularPlan.getDegreeCurricularPlan().getAllOptionalCurricularCourseGroups()){        	optionalCurricularCourses.addAll(curricularCourseGroup.getCurricularCourses());        }                List result = (List) CollectionUtils.select(curricularCoursesToBeEnrolledIn, new Predicate() {            public boolean evaluate(Object arg0) {                CurricularCourse2Enroll course2Enroll = (CurricularCourse2Enroll) arg0;                return (!areasCurricularCourses.contains(course2Enroll.getCurricularCourse())                		&& !optionalCurricularCourses.contains(course2Enroll.getCurricularCourse())                		&& !course2Enroll.getCurricularCourse().getCode().equals(PORTFOLIO_V_CODE)                		&& !studentCurricularPlan.getDegreeCurricularPlan().getTFCs().contains(course2Enroll.getCurricularCourse()));            }                    });        return result;    }