component.setInfoDegreeCurricularPlan(Cloner .copyIDegreeCurricularPlan2InfoDegreeCurricularPlan(degreeCurricularPlan));
component.setInfoDegreeCurricularPlan(InfoDegreeCurricularPlan.newInfoFromDomain(degreeCurricularPlan));
    private ISiteComponent getInfoSiteBasicCurricularCourses(InfoSiteBasicCurricularCourses component,            Integer degreeCurricularPlanId) throws FenixServiceException {        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentObject persistentObject = sp.getIPersistentObject();            IDegreeCurricularPlan degreeCurricularPlan = (IDegreeCurricularPlan) persistentObject                    .readByOID(DegreeCurricularPlan.class, degreeCurricularPlanId);            if (degreeCurricularPlan == null) {                throw new InvalidArgumentsServiceException();            }            IPersistentCurricularCourse persistentCurricularCourse = sp.getIPersistentCurricularCourse();            List nonBasicCurricularCourses = persistentCurricularCourse                    .readCurricularCoursesByDegreeCurricularPlanAndBasicAttribute(degreeCurricularPlan.getIdInternal(),                            new Boolean(false));            List basicCurricularCourses = persistentCurricularCourse                    .readCurricularCoursesByDegreeCurricularPlanAndBasicAttribute(degreeCurricularPlan.getIdInternal(),                            new Boolean(true));            Iterator iter = nonBasicCurricularCourses.iterator();            Iterator iter1 = basicCurricularCourses.iterator();            List infoNonBasicCurricularCourses = new ArrayList();            List infoBasicCurricularCourses = new ArrayList();            while (iter.hasNext()) {                ICurricularCourse curricularCourse = (ICurricularCourse) iter.next();                InfoCurricularCourse infoCurricularCourse = Cloner                        .copyCurricularCourse2InfoCurricularCourse(curricularCourse);                infoNonBasicCurricularCourses.add(infoCurricularCourse);            }            while (iter1.hasNext()) {                ICurricularCourse curricularCourse = (ICurricularCourse) iter1.next();                InfoCurricularCourse infoCurricularCourse = Cloner                        .copyCurricularCourse2InfoCurricularCourse(curricularCourse);                infoBasicCurricularCourses.add(infoCurricularCourse);            }            component.setBasicCurricularCourses(infoBasicCurricularCourses);            component.setNonBasicCurricularCourses(infoNonBasicCurricularCourses);            component.setInfoDegreeCurricularPlan(Cloner                    .copyIDegreeCurricularPlan2InfoDegreeCurricularPlan(degreeCurricularPlan));        } catch (ExcepcaoPersistencia e) {            throw new FenixServiceException(e);        }        return component;    }