InfoExecutionCourse infoExecutionCourse = (InfoExecutionCourse) Cloner .get(executionCourse);
InfoExecutionCourse infoExecutionCourse = InfoExecutionCourse.newInfoFromDomain(executionCourse);
    public Object run(Integer number, DegreeType degreeType) {        List disciplines = new ArrayList();        List courses = new ArrayList();        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IStudent student = sp.getIPersistentStudent().readStudentByNumberAndDegreeType(number,                    degreeType);            if (student != null) {                List frequencies = sp.getIFrequentaPersistente()                        .readByStudentNumberInCurrentExecutionPeriod(number);                for (int i = 0; i < frequencies.size(); i++) {                    IAttends frequent = (IAttends) frequencies.get(i);                    IExecutionCourse executionCourse = frequent.getDisciplinaExecucao();                    disciplines.add(executionCourse);                }            }            if (disciplines != null)                for (int i = 0; i < disciplines.size(); i++) {                    IExecutionCourse executionCourse = (IExecutionCourse) disciplines.get(i);                    InfoExecutionCourse infoExecutionCourse = (InfoExecutionCourse) Cloner                            .get(executionCourse);                    courses.add(infoExecutionCourse);                }        } catch (ExcepcaoPersistencia e) {            e.printStackTrace();        }        return courses;    }