IExecutionDegree executionDegree = (ExecutionDegree) executionDegreeDAO
IExecutionDegree executionDegree = (IExecutionDegree) executionDegreeDAO
	public List run(Integer executionDegreeID, List situations)			throws FenixServiceException, ExcepcaoPersistencia {		ISuportePersistente sp = null;		List resultTemp = null;		sp = PersistenceSupportFactory.getDefaultPersistenceSupport();		// Read the candidates		IPersistentExecutionDegree executionDegreeDAO = sp				.getIPersistentExecutionDegree();		IExecutionDegree executionDegree = (ExecutionDegree) executionDegreeDAO				.readByOID(ExecutionDegree.class, executionDegreeID);		resultTemp = sp.getIPersistentCandidateSituation()				.readActiveSituationsByExecutionDegreeAndNames(						executionDegree.getIdInternal(), situations);		if ((resultTemp == null) || (resultTemp.size() == 0)) {			throw new NonExistingServiceException();		}		Iterator candidateIterator = resultTemp.iterator();		List result = new ArrayList();		while (candidateIterator.hasNext()) {			ICandidateSituation candidateSituation = (ICandidateSituation) candidateIterator					.next();			result.add(InfoMasterDegreeCandidateWithInfoPerson					.newInfoFromDomain(candidateSituation							.getMasterDegreeCandidate()));		}		return result;	}