infoStudentCurricularPlan = Cloner .copyIStudentCurricularPlan2InfoStudentCurricularPlan(studentCurricularPlan);
infoStudentCurricularPlan = InfoStudentCurricularPlanWithInfoStudentAndDegreeAndBranch .newInfoFromDomain(studentCurricularPlan);
    public Object run(Integer studentCurricularPlanId) throws ExcepcaoPersistencia {        InfoStudentCurricularPlan infoStudentCurricularPlan = null;        ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();        IPersistentStudentCurricularPlan persistentStudentCurricularPlan = sp                .getIStudentCurricularPlanPersistente();        IStudentCurricularPlan studentCurricularPlan = (IStudentCurricularPlan) persistentStudentCurricularPlan                .readByOID(StudentCurricularPlan.class, studentCurricularPlanId);        if (studentCurricularPlan != null) {            infoStudentCurricularPlan = Cloner                    .copyIStudentCurricularPlan2InfoStudentCurricularPlan(studentCurricularPlan);        }        if (studentCurricularPlan.getEnrolments() != null) {            List infoEnrolments = new ArrayList();            ListIterator iterator = studentCurricularPlan.getEnrolments().listIterator();            while (iterator.hasNext()) {                IEnrolment enrolment = (IEnrolment) iterator.next();                InfoEnrolment infoEnrolment = InfoEnrolmentWithStudentPlanAndCourseAndExecutionPeriod                        .newInfoFromDomain(enrolment);                infoEnrolments.add(infoEnrolment);            }            infoStudentCurricularPlan.setInfoEnrolments(infoEnrolments);        }        return infoStudentCurricularPlan;    }