InfoTeacher infoTeacher = Cloner.copyITeacher2InfoTeacher(teacher);
InfoTeacher infoTeacher = InfoTeacher.newInfoFromDomain(teacher);
    public TeacherCreditsSheetDTO run(InfoTeacher infoTeacherParam, Integer executionPeriodId)            throws FenixServiceException, ExcepcaoPersistencia {        TeacherCreditsSheetDTO teacherCreditsSheetDTO = new TeacherCreditsSheetDTO();        ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();        IPersistentTeacher teacherDAO = sp.getIPersistentTeacher();        IPersistentExecutionPeriod executionPeriodDAO = sp.getIPersistentExecutionPeriod();        IExecutionPeriod executionPeriod = readExecutionPeriod(executionPeriodId, executionPeriodDAO);        ITeacher teacher = readTeacher(infoTeacherParam.getTeacherNumber(), teacherDAO);        List infoMasterDegreeProfessorships = readInfoMasterDegreeProfessorships(teacher,                executionPeriod);        List infoShiftProfessorships = readInfoShiftProfessorships(teacher, executionPeriod);        List infoTimeInstitutionWorkingTimeList = readInfoTeacherInstitutionWorkingTime(teacher,                executionPeriod);        List infoSupportLessonList = readInfoSupportLessonList(teacher, executionPeriod);        List infoTeacherDegreeFinalProjectStudentList = readTeacherDegreeFinalProjectStudentList(                teacher, executionPeriod);        List detailedProfessorshipList = readDetailedProfessorships(teacher, executionPeriod, sp);        List otherTypeCreditLineList = readOtherTypeCreditLine(teacher, executionPeriod);        List infoManagementPositions = readManagementPositions(teacher, executionPeriod, sp);        List infoServiceExemptions = readServiceExcemptions(teacher, executionPeriod, sp);        InfoTeacher infoTeacher = Cloner.copyITeacher2InfoTeacher(teacher);        InfoExecutionPeriod infoExecutionPeriod = InfoExecutionPeriodWithInfoExecutionYear.newInfoFromDomain(executionPeriod);        teacherCreditsSheetDTO.setInfoTeacher(infoTeacher);        teacherCreditsSheetDTO.setInfoExecutionPeriod(infoExecutionPeriod);        InfoCredits infoCredits = teacher.getExecutionPeriodCredits(executionPeriod);        teacherCreditsSheetDTO.setInfoCredits(infoCredits);        teacherCreditsSheetDTO.setInfoMasterDegreeProfessorships(infoMasterDegreeProfessorships);        teacherCreditsSheetDTO                .setInfoTeacherInstitutionWorkingTimeList(infoTimeInstitutionWorkingTimeList);        teacherCreditsSheetDTO.setInfoShiftProfessorshipList(infoShiftProfessorships);        teacherCreditsSheetDTO.setInfoSupportLessonList(infoSupportLessonList);        teacherCreditsSheetDTO                .setInfoTeacherDegreeFinalProjectStudentList(infoTeacherDegreeFinalProjectStudentList);        teacherCreditsSheetDTO.setDetailedProfessorshipList(detailedProfessorshipList);        teacherCreditsSheetDTO.setInfoTeacherOtherTypeCreditLineList(otherTypeCreditLineList);        teacherCreditsSheetDTO.setInfoManagementPositions(infoManagementPositions);        teacherCreditsSheetDTO.setInfoServiceExemptions(infoServiceExemptions);        return teacherCreditsSheetDTO;    }