Integer weekOfQuinzenalStart, InfoRoomOccupation infoRoomOccupation, InfoShift infoShift)
Integer weekOfQuinzenalStart, InfoRoomOccupationEditor infoRoomOccupation, InfoShift infoShift)
    public Object run(InfoLesson aulaAntiga, DiaSemana weekDay, Calendar begin, Calendar end, Integer frequency,     		Integer weekOfQuinzenalStart, InfoRoomOccupation infoRoomOccupation, InfoShift infoShift)            throws FenixServiceException {                InfoLessonServiceResult result = null;                OldRoom salaNova = null;        if(infoRoomOccupation.getInfoRoom() != null) {            salaNova = OldRoom.findOldRoomByName(infoRoomOccupation.getInfoRoom().getNome());        }                Lesson aula = rootDomainObject.readLessonByOID(aulaAntiga.getIdInternal());        Shift shift = aula.getShift();        RoomOccupation roomOccupation = aula.getRoomOccupation();        if (aula != null) {                        result = valid(begin, end);            if (result.getMessageType() == 1) {                throw new InvalidTimeIntervalServiceException();            }                        boolean resultB = true;            if(infoRoomOccupation != null) {                resultB = validNoInterceptingLesson(                                    		infoRoomOccupation.getStartTime(),                		infoRoomOccupation.getEndTime(),                 		infoRoomOccupation.getDayOfWeek(),                 		infoRoomOccupation.getFrequency(),                 		infoRoomOccupation.getWeekOfQuinzenalStart(), salaNova, roomOccupation);            }                        InfoShiftServiceResult infoShiftServiceResult = valid(shift, aula.getIdInternal(), begin, end);            if (result.isSUCESS() && resultB && infoShiftServiceResult.isSUCESS()) {                         aula.edit(weekDay, begin, end, infoShift.getTipo(), salaNova, frequency, weekOfQuinzenalStart);                                                if(salaNova != null) {                    if(roomOccupation == null) {                        roomOccupation = new RoomOccupation();                    }                    roomOccupation.setDayOfWeek(weekDay);                    roomOccupation.setStartTime(begin);                    roomOccupation.setEndTime(end);                    roomOccupation.setRoom(salaNova);                }            } else if (!infoShiftServiceResult.isSUCESS()) {                throw new InvalidLoadException(infoShiftServiceResult.toString());            }        }        return result;    }