if (shift != null) { result = (InfoShift) Cloner.get(shift);
final IExecutionCourse executionCourse = shift.getDisciplinaExecucao(); final InfoExecutionCourse infoExecutionCourse = InfoExecutionCourse.newInfoFromDomain(executionCourse); infoShift.setInfoDisciplinaExecucao(infoExecutionCourse);  final IExecutionPeriod executionPeriod = executionCourse.getExecutionPeriod(); final InfoExecutionPeriod infoExecutionPeriod = InfoExecutionPeriod.newInfoFromDomain(executionPeriod); infoExecutionCourse.setInfoExecutionPeriod(infoExecutionPeriod);  final Collection lessons = shift.getAssociatedLessons(); final List infoLessons = new ArrayList(lessons.size()); infoShift.setInfoLessons(infoLessons); for (final Iterator iterator = lessons.iterator(); iterator.hasNext(); ) { final ILesson lesson = (ILesson) iterator.next(); final InfoLesson infoLesson = InfoLesson.newInfoFromDomain(lesson);  final IRoomOccupation roomOccupation = lesson.getRoomOccupation(); final InfoRoomOccupation infoRoomOccupation = InfoRoomOccupation.newInfoFromDomain(roomOccupation); infoLesson.setInfoRoomOccupation(infoRoomOccupation);  final IRoom room = roomOccupation.getRoom(); final InfoRoom infoRoom = InfoRoom.newInfoFromDomain(room); infoRoomOccupation.setInfoRoom(infoRoom); infoLesson.setInfoSala(infoRoom);  final IPeriod period = roomOccupation.getPeriod(); final InfoPeriod infoPeriod = InfoPeriod.newInfoFromDomain(period); infoRoomOccupation.setInfoPeriod(infoPeriod);  infoLessons.add(infoLesson);
    public InfoShift run(Integer oid) throws FenixServiceException {        InfoShift result = null;        try {            ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            ITurnoPersistente shiftDAO = sp.getITurnoPersistente();            IShift shift = (IShift) shiftDAO.readByOID(Shift.class, oid);            if (shift != null) {                result = (InfoShift) Cloner.get(shift);            }        } catch (ExcepcaoPersistencia ex) {            throw new FenixServiceException(ex);        }        return result;    }