exam.setAssociatedRooms(new ArrayList());
	public Boolean run(		Calendar examDate,		Calendar examTime,		Season season,		InfoExecutionCourse infoExecutionCourse)		throws FenixServiceException {		Boolean result = new Boolean(false);		try {			ISuportePersistente sp = SuportePersistenteOJB.getInstance();			IDisciplinaExecucaoPersistente executionCourseDAO =				sp.getIDisciplinaExecucaoPersistente();			IExecutionPeriod executionPeriod =				Cloner.copyInfoExecutionPeriod2IExecutionPeriod(					infoExecutionCourse.getInfoExecutionPeriod());			IDisciplinaExecucao executionCourse =				executionCourseDAO					.readByExecutionCourseInitialsAndExecutionPeriod(					infoExecutionCourse.getSigla(),					executionPeriod);			for (int i = 0; i < executionCourse.getAssociatedExams().size(); i++) {				IExam exam = (IExam) executionCourse.getAssociatedExams().get(i);				if (exam.getSeason().equals(season)) {					throw new ExistingServiceException();				}			}			IExam exam = new Exam(examDate, examTime, null, season);			IExamExecutionCourse examExecutionCourse = new ExamExecutionCourse(exam, executionCourse);			try {				//sp.getIPersistentExam().lockWrite(exam);				sp.getIPersistentExamExecutionCourse().lockWrite(examExecutionCourse);			} catch (ExistingPersistentException ex) {				throw new ExistingServiceException(ex);			}			result = new Boolean(true);		} catch (ExcepcaoPersistencia ex) {			throw new FenixServiceException(ex.getMessage());		}		return result;	}