infoCurriculum.setInfoCurricularCourse(Cloner .copyCurricularCourse2InfoCurricularCourse(curricularCourse));
infoCurriculum.setInfoCurricularCourse(InfoCurricularCourseWithInfoDegree .newInfoFromDomain(curricularCourse));
    public InfoCurriculum run(Integer curricularCourseCode) throws FenixServiceException,            ExcepcaoPersistencia {        InfoCurriculum infoCurriculum = null;        ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();        IPersistentCurricularCourse persistentCurricularCourse = sp.getIPersistentCurricularCourse();        IPersistentCurriculum persistentCurriculum = sp.getIPersistentCurriculum();        IPersistentCurricularCourseScope persistentCurricularCourseScope = sp                .getIPersistentCurricularCourseScope();        IPersistentExecutionCourse persistentExecutionCourse = sp.getIPersistentExecutionCourse();        if (curricularCourseCode == null) {            throw new FenixServiceException("nullCurricularCourse");        }        ICurricularCourse curricularCourse = (ICurricularCourse) persistentCurricularCourse.readByOID(                CurricularCourse.class, curricularCourseCode);        if (curricularCourse == null) {            throw new NonExistingServiceException();        }        ICurriculum curriculum = persistentCurriculum.readCurriculumByCurricularCourse(curricularCourse                .getIdInternal());        if (curriculum != null) {            infoCurriculum = Cloner.copyICurriculum2InfoCurriculum(curriculum);        } else {            //Although doesn't exist CURRICULUM, an object is returned with            // the correspond curricular course            infoCurriculum = new InfoCurriculum();            infoCurriculum.setInfoCurricularCourse(Cloner                    .copyCurricularCourse2InfoCurricularCourse(curricularCourse));        }        List infoExecutionCourses = buildExecutionCourses(persistentExecutionCourse, curricularCourse);        infoCurriculum.getInfoCurricularCourse().setInfoAssociatedExecutionCourses(infoExecutionCourses);        List activeInfoScopes = buildActiveScopes(persistentCurricularCourseScope, curricularCourse);        infoCurriculum.getInfoCurricularCourse().setInfoScopes(activeInfoScopes);        return infoCurriculum;    }