infoExecutionDegreeList.add(Cloner.get(executionDegree));
infoExecutionDegreeList.add(InfoExecutionDegree.newInfoFromDomain(executionDegree));
    public List run(Integer executionPeriodId) throws FenixServiceException {        List infoExecutionDegreeList = null;        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentExecutionDegree executionDegreeDAO = sp.getIPersistentExecutionDegree();            IPersistentExecutionPeriod persistentExecutionPeriod = sp.getIPersistentExecutionPeriod();            if (executionPeriodId == null) {                throw new FenixServiceException("nullId");            }            IExecutionPeriod executionPeriod = (IExecutionPeriod) persistentExecutionPeriod.readByOID(                    ExecutionPeriod.class, executionPeriodId);            List executionDegrees = executionDegreeDAO.readByExecutionYear(executionPeriod                    .getExecutionYear().getYear());            Iterator iterator = executionDegrees.iterator();            infoExecutionDegreeList = new ArrayList();            while (iterator.hasNext()) {                IExecutionDegree executionDegree = (IExecutionDegree) iterator.next();                infoExecutionDegreeList.add(Cloner.get(executionDegree));            }        } catch (ExcepcaoPersistencia ex) {            throw new FenixServiceException(ex);        }        return infoExecutionDegreeList;    }