try { infoExecutionCourse = (InfoExecutionCourse) Cloner .get(executionCourse); } catch (ExcepcaoPersistencia e) { throw new RuntimeException(); }
infoExecutionCourse = (InfoExecutionCourse) Cloner .get(executionCourse);
    public List run(Integer executionDegreeId, Integer executionPeriodId) throws FenixServiceException    {        List infoExecutionCourseList = null;        try        {            ISuportePersistente sp = SuportePersistenteOJB.getInstance();            IPersistentExecutionCourse executionCourseDAO = sp.getIPersistentExecutionCourse();            IPersistentExecutionPeriod executionPeriodDAO = sp.getIPersistentExecutionPeriod();            IExecutionPeriod executionPeriod = null;            if (executionPeriodId == null)            {                executionPeriod = executionPeriodDAO.readActualExecutionPeriod();            }            else            {                executionPeriod = (IExecutionPeriod) executionCourseDAO.readByOId(new ExecutionPeriod(                        executionPeriodId),                        false);            }            ICursoExecucaoPersistente executionDegreeDAO = sp.getICursoExecucaoPersistente();            ICursoExecucao executionDegree = (ICursoExecucao) executionDegreeDAO.readByOId(                    new CursoExecucao(executionDegreeId), false);            if (executionDegree == null)            {                throw new NonExistingExecutionDegree();            }            List executionCourseList = executionCourseDAO.readByExecutionDegreeAndExecutionPeriod(                    executionDegree, executionPeriod);            infoExecutionCourseList = (List) CollectionUtils.collect(executionCourseList,                    new Transformer()                    {                        public Object transform(Object input)                        {                            IExecutionCourse executionCourse = (IExecutionCourse) input;                            InfoExecutionCourse infoExecutionCourse;							try							{								infoExecutionCourse = (InfoExecutionCourse) Cloner										        .get(executionCourse);							}							catch (ExcepcaoPersistencia e)							{								throw new RuntimeException();							}							return infoExecutionCourse;                        }                    });        }        catch (ExcepcaoPersistencia e)        {            e.printStackTrace(System.out);            throw new FenixServiceException("Problems on database", e);        }        return infoExecutionCourseList;    }