private List<SelectItem> readCourseGroups() {
private List<SelectItem> readCourseGroups() throws FenixFilterException, FenixServiceException {
    private List<SelectItem> readCourseGroups() {        final List<SelectItem> result = new ArrayList<SelectItem>();        final List<List<DegreeModule>> degreeModulesSet = getDegreeCurricularPlan().getDcpDegreeModulesIncludingFullPath(CourseGroup.class);        final Set<CourseGroup> allParents = getCourseGroup(getParentCourseGroupID()).getAllParentCourseGroups();        for (final List<DegreeModule> degreeModules : degreeModulesSet) {            final DegreeModule lastDegreeModule = (degreeModules.size() > 0) ? degreeModules.get(degreeModules.size() - 1) : null;            if (!allParents.contains(lastDegreeModule) && lastDegreeModule != getCourseGroup(getParentCourseGroupID())) {                final StringBuilder pathName = new StringBuilder();                for (final DegreeModule degreeModule : degreeModules) {                    pathName.append((pathName.length() == 0) ? "" : " > ").append(degreeModule.getName());                }                result.add(new SelectItem(lastDegreeModule.getIdInternal(), pathName.toString()));            }        }        Collections.sort(result, new BeanComparator("label"));        result.add(0, new SelectItem(this.NO_SELECTION, bolonhaBundle.getString("choose")));        return result;    }