start = ((DegreeCurricularPlan) (degreeCurricularPlanDAO.readByOID(
start = ((IDegreeCurricularPlan) (degreeCurricularPlanDAO.readByOID(
    public List run(Integer degreeCurricularPlanID) throws FenixServiceException {        List result = new ArrayList();        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentExecutionPeriod executionPeriodDAO = sp.getIPersistentExecutionPeriod();            IPersistentDegreeCurricularPlan degreeCurricularPlanDAO = sp                    .getIPersistentDegreeCurricularPlan();            IPersistentExecutionYear executionYearDAO = sp.getIPersistentExecutionYear();            Date end = null;            Date start = null;            //End date of the current year            try {                end = executionYearDAO.readCurrentExecutionYear().getEndDate();            } catch (Exception e) {                e.printStackTrace();            }            //Start date of the degree curricular plan            try {                start = ((DegreeCurricularPlan) (degreeCurricularPlanDAO.readByOID(                        DegreeCurricularPlan.class, degreeCurricularPlanID))).getInitialDate();            } catch (Exception e) {                e.printStackTrace();            }            List executionPeriods = executionPeriodDAO.readExecutionPeriodsInTimePeriod(start, end);            result = (List) CollectionUtils.collect(executionPeriods, new Transformer() {                public Object transform(Object input) {                    IExecutionPeriod executionPeriod = (IExecutionPeriod) input;                    InfoExecutionPeriod infoExecutionPeriod = (InfoExecutionPeriod) Cloner                            .get(executionPeriod);                    return infoExecutionPeriod;                }            });        } catch (ExcepcaoPersistencia ex) {            throw new FenixServiceException(ex);        }        return result;    }