IEnrolment enrolment = null;
IEnrollment enrolment = null;
    public static IEnrolment copyInfoEnrolment2IEnrolment(InfoEnrolment infoEnrolment)    {        IEnrolment enrolment = null;        ICurricularCourse curricularCourseOption = null;        IStudentCurricularPlan studentCurricularPlan =            Cloner.copyInfoStudentCurricularPlan2IStudentCurricularPlan(                infoEnrolment.getInfoStudentCurricularPlan());        ICurricularCourse curricularCourse =            Cloner.copyInfoCurricularCourse2CurricularCourse(infoEnrolment.getInfoCurricularCourse());        //        ICurricularCourseScope curricularCourseScope =        //            Cloner.copyInfoCurricularCourseScope2ICurricularCourseScope(        //                infoEnrolment.getInfoCurricularCourseScope());        IExecutionPeriod executionPeriod =            Cloner.copyInfoExecutionPeriod2IExecutionPeriod(infoEnrolment.getInfoExecutionPeriod());        if (infoEnrolment instanceof InfoEnrolmentInOptionalCurricularCourse)        {            enrolment = new EnrolmentInOptionalCurricularCourse();            curricularCourseOption =                Cloner.copyInfoCurricularCourse2CurricularCourse(                    ((InfoEnrolmentInOptionalCurricularCourse) infoEnrolment)                        .getInfoCurricularCourseForOption());            ((IEnrolmentInOptionalCurricularCourse) enrolment).setCurricularCourseForOption(                curricularCourseOption);        }        else        {            enrolment = new Enrolment();        }        List enrolmentEvaluationsList = new ArrayList();        List infoEnrolmentEvaluationsList = infoEnrolment.getInfoEvaluations();        if (infoEnrolmentEvaluationsList != null && !infoEnrolmentEvaluationsList.isEmpty())        {            Iterator iterator = infoEnrolmentEvaluationsList.iterator();            while (iterator.hasNext())            {                InfoEnrolmentEvaluation infoEnrolmentEvaluation =                    (InfoEnrolmentEvaluation) iterator.next();                IEnrolmentEvaluation enrolmentEvaluation =                    copyInfoEnrolmentEvaluation2IEnrolmentEvaluation(infoEnrolmentEvaluation);                enrolmentEvaluationsList.add(enrolmentEvaluation);            }        }        copyObjectProperties(enrolment, infoEnrolment);        //enrolment.setCurricularCourseScope(curricularCourseScope);        enrolment.setCurricularCourse(curricularCourse);        enrolment.setExecutionPeriod(executionPeriod);        enrolment.setStudentCurricularPlan(studentCurricularPlan);        enrolment.setEvaluations(enrolmentEvaluationsList);        return enrolment;    }