infoDegreeCurricularPlan = Cloner .copyIDegreeCurricularPlan2InfoDegreeCurricularPlan(degreeCP);
infoDegreeCurricularPlan = InfoDegreeCurricularPlan.newInfoFromDomain(degreeCP);
    public InfoDegreeCurricularPlan run(Integer infoExecutionDegreeId,            InfoDegreeCurricularPlan newInfoDegreeCP) throws FenixServiceException {        if (infoExecutionDegreeId == null || newInfoDegreeCP == null) {            throw new FenixServiceException("error.impossibleEditDegreeInfo");        }        IPersistentDegreeCurricularPlan persistentDegreeCurricularPlan = null;        IDegreeCurricularPlan degreeCP = null;        InfoDegreeCurricularPlan infoDegreeCurricularPlan = null;        try {            ISuportePersistente persistentSuport = PersistenceSupportFactory.getDefaultPersistenceSupport();            persistentDegreeCurricularPlan = persistentSuport.getIPersistentDegreeCurricularPlan();            degreeCP = (IDegreeCurricularPlan) persistentDegreeCurricularPlan.readByOID(                    DegreeCurricularPlan.class, newInfoDegreeCP.getIdInternal(), true);            if (degreeCP == null) {                throw new NonExistingServiceException("message.nonExistingDegreeCurricularPlan", null);            }            degreeCP.setDescription(newInfoDegreeCP.getDescription());            degreeCP.setDescriptionEn(newInfoDegreeCP.getDescriptionEn());            infoDegreeCurricularPlan = Cloner                    .copyIDegreeCurricularPlan2InfoDegreeCurricularPlan(degreeCP);        } catch (ExistingPersistentException ex) {            throw new ExistingServiceException(ex);        } catch (ExcepcaoPersistencia excepcaoPersistencia) {            throw new FenixServiceException(excepcaoPersistencia);        }        return infoDegreeCurricularPlan;    }