public InfoSummary run(Integer executionCourseId, Integer shiftId) throws FenixServiceException {
public InfoSummary run(Integer executionCourseId, Integer shiftId, Integer lessonID) throws FenixServiceException {
	public InfoSummary run(Integer executionCourseId, Integer shiftId) throws FenixServiceException {		InfoSummary summary = null;				try {			ISuportePersistente suportePersistente = SuportePersistenteOJB.getInstance();			IPersistentSummary persistentSummary = suportePersistente.getIPersistentSummary();			IPersistentExecutionCourse persistentExecutionCourse = suportePersistente.getIPersistentExecutionCourse();			ITurnoPersistente persistentShift = suportePersistente.getITurnoPersistente();						ITurno shift = (ITurno) persistentShift.readByOID(Turno.class, shiftId);			if(shift == null)				throw new FenixServiceException("no.shift");						IExecutionCourse executionCourse = (IExecutionCourse) persistentExecutionCourse.readByOID(                    ExecutionCourse.class, executionCourseId);            if (executionCourse == null) {                throw new FenixServiceException("no.executioncourse");            }            			List summaries = persistentSummary.readByShift(executionCourse, shift);			if(summaries != null && summaries.size() > 0){				Comparator comparator = new BeanComparator("summaryDate.timeInMillis");				Collections.sort(summaries, comparator);				ISummary summary1 = (ISummary) summaries.get(summaries.size() - 1);								summary = InfoSummary.newInfoFromDomain(summary1);			}					} catch (ExcepcaoPersistencia e) {			throw new FenixServiceException(e);		}				return summary;	}