InfoOtherTypeCreditLine infoOtherTypeCreditLine = Cloner .copyIOtherTypeCreditLine2InfoOtherCreditLine(otherTypeCreditLine);
InfoOtherTypeCreditLine infoOtherTypeCreditLine = InfoOtherTypeCreditLine.newInfoFromDomain(otherTypeCreditLine);
    public TeacherOtherTypeCreditLineDTO run(Integer teacherId, Integer executionPeriodId)            throws FenixServiceException {        TeacherOtherTypeCreditLineDTO teacherOtherTypeCreditLineDTO = new TeacherOtherTypeCreditLineDTO();        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentExecutionPeriod executionPeriodDAO = sp.getIPersistentExecutionPeriod();            IPersistentTeacher teacherDAO = sp.getIPersistentTeacher();            IPersistentOtherTypeCreditLine otherTypeCreditLineDAO = sp                    .getIPersistentOtherTypeCreditLine();            ITeacher teacher = (ITeacher) teacherDAO.readByOID(Teacher.class, teacherId);            if (teacher == null) {                throw new TeacherNotFound();            }            IExecutionPeriod executionPeriod = null;            if (executionPeriodId == null || executionPeriodId.intValue() == 0) {                executionPeriod = executionPeriodDAO.readActualExecutionPeriod();            } else {                executionPeriod = (IExecutionPeriod) executionPeriodDAO.readByOID(ExecutionPeriod.class,                        executionPeriodId);            }            if (executionPeriod == null) {                throw new ExecutionPeriodNotFound();            }            List otherTypesList = otherTypeCreditLineDAO.readByTeacherAndExecutionPeriod(teacher.getIdInternal(),                    executionPeriod.getIdInternal());            List infoOtherTypesList = (List) CollectionUtils.collect(otherTypesList, new Transformer() {                public Object transform(Object input) {                    IOtherTypeCreditLine otherTypeCreditLine = (IOtherTypeCreditLine) input;                    InfoOtherTypeCreditLine infoOtherTypeCreditLine = Cloner                            .copyIOtherTypeCreditLine2InfoOtherCreditLine(otherTypeCreditLine);                    return infoOtherTypeCreditLine;                }            });            teacherOtherTypeCreditLineDTO.setCreditLines(infoOtherTypesList);            teacherOtherTypeCreditLineDTO.setInfoExecutionPeriod((InfoExecutionPeriod) Cloner                    .get(executionPeriod));            teacherOtherTypeCreditLineDTO.setInfoTeacher(Cloner.copyITeacher2InfoTeacher(teacher));            return teacherOtherTypeCreditLineDTO;        } catch (ExcepcaoPersistencia e) {            e.printStackTrace();            throw new FenixServiceException("Problems with database!");        }    }