IEnrolment enrolment = attend.getEnrolment();
IEnrollment enrolment = attend.getEnrolment();
    private MultiHashMap getEnrolmentEvaluationsByDegree(        UserView userView,        IExecutionCourse executionCourse,        List attendList,        IEvaluation evaluation,        Date evaluationDate,        IEmployee employee,        ITeacher teacher)        throws FenixServiceException    {        try        {            MultiHashMap enrolmentEvaluationsByDegree = new MultiHashMap();            boolean allMarksPublished = true;            ISuportePersistente sp = SuportePersistenteOJB.getInstance();            IPersistentMark persistentMark = sp.getIPersistentMark();            IPersistentEnrolmentEvaluation enrolmentEvaluationDAO =                sp.getIPersistentEnrolmentEvaluation();            Iterator iter = attendList.iterator();            verifyAlreadySubmittedMarks(attendList, enrolmentEvaluationDAO);            List markList = persistentMark.readBy(evaluation);            while (iter.hasNext())            {                IFrequenta attend = (IFrequenta)iter.next();                IEnrolment enrolment = attend.getEnrolment();                IEnrolmentEvaluation enrolmentEvaluation = null;                //check students degree type                if (attend.getAluno().getDegreeType().equals(TipoCurso.MESTRADO_OBJ))                {                    enrolmentEvaluationsByDegree.put(                        new String("mestrado"),                        Cloner.copyIFrequenta2InfoFrequenta(attend));                    continue;                }                //check if this student is enrolled                if (enrolment == null)                {                    enrolmentEvaluationsByDegree.put(                        new String("notEnrolled"),                        Cloner.copyIFrequenta2InfoFrequenta(attend));                    continue;                }                IMark mark = getMark(evaluation, markList, attend);                if ((mark == null) || (mark.getMark().length() == 0))                {                    enrolmentEvaluation =                        getEnrolmentEvaluationByEnrolment(                            userView,                            executionCourse,                            enrolment,                            evaluationDate,                            "NA",                            employee,                            teacher);                    InfoMark infoMark = new InfoMark();                    infoMark.setInfoEvaluation(Cloner.copyIEvaluation2InfoEvaluation(evaluation));                    infoMark.setInfoFrequenta(Cloner.copyIFrequenta2InfoFrequenta(attend));                    infoMark.setMark("NA");                    enrolmentEvaluationsByDegree.put(new String("infoMarks"), infoMark);                }                else                {                    enrolmentEvaluation =                        getEnrolmentEvaluationByEnrolment(                            userView,                            executionCourse,                            enrolment,                            evaluationDate,                            mark.getMark().toUpperCase(),                            employee,                            teacher);                    enrolmentEvaluationsByDegree.put(                        new String("infoMarks"),                        Cloner.copyIMark2InfoMark(mark));                }                enrolmentEvaluationsByDegree.put(                    enrolment                        .getStudentCurricularPlan()                        .getDegreeCurricularPlan()                        .getDegree()                        .getIdInternal(),                    enrolmentEvaluation);            }            if (!allMarksPublished)            {                throw new FenixServiceException("errors.submitMarks.allMarksNotPublished");            }            return enrolmentEvaluationsByDegree;        }        catch (Exception e)        {            e.printStackTrace();            throw new FenixServiceException(e.getMessage());        }    }