masterDegreeCandidate.getSituations().add(newCandidateSituation);
    public InfoMasterDegreeCandidate run(Integer oldCandidateID, InfoMasterDegreeCandidate newCandidate)            throws ExcepcaoInexistente, FenixServiceException, ExcepcaoPersistencia {        MasterDegreeCandidate masterDegreeCandidate = (MasterDegreeCandidate) persistentObject.readByOID(MasterDegreeCandidate.class, oldCandidateID);        if (masterDegreeCandidate == null) {            throw new ExcepcaoInexistente("Unknown Candidate !!");        }        // Change personal Information        Person person = masterDegreeCandidate.getPerson();        Country country = null;        if ((newCandidate.getInfoPerson().getInfoPais() != null)) {            country = persistentSupport.getIPersistentCountry().readCountryByNationality(                    newCandidate.getInfoPerson().getInfoPais().getNationality());        }        person.edit(newCandidate.getInfoPerson(), country);        // Change Candidate Information        masterDegreeCandidate.setAverage(newCandidate.getAverage());        masterDegreeCandidate.setMajorDegree(newCandidate.getMajorDegree());        masterDegreeCandidate.setMajorDegreeSchool(newCandidate.getMajorDegreeSchool());        masterDegreeCandidate.setMajorDegreeYear(newCandidate.getMajorDegreeYear());        masterDegreeCandidate.setSpecializationArea(newCandidate.getSpecializationArea());        // Change Situation        CandidateSituation oldCandidateSituation = masterDegreeCandidate.getActiveCandidateSituation();        if (!oldCandidateSituation.getSituation().equals(                newCandidate.getInfoCandidateSituation().getSituation())) {            oldCandidateSituation.setValidation(new State(State.INACTIVE));            CandidateSituation newCandidateSituation = DomainFactory.makeCandidateSituation();            newCandidateSituation.setDate(Calendar.getInstance().getTime());            newCandidateSituation.setMasterDegreeCandidate(masterDegreeCandidate);            newCandidateSituation.setRemarks(newCandidate.getInfoCandidateSituation().getRemarks());            newCandidateSituation.setSituation(newCandidate.getInfoCandidateSituation().getSituation());            newCandidateSituation.setValidation(new State(State.ACTIVE));            masterDegreeCandidate.getSituations().add(newCandidateSituation);            if (person.getEmail() != null) {                sendEmailToCandidate(masterDegreeCandidate, newCandidateSituation);            }        }        InfoMasterDegreeCandidate infoMasterDegreeCandidate = InfoMasterDegreeCandidateWithInfoPerson                .newInfoFromDomain(masterDegreeCandidate);        return infoMasterDegreeCandidate;    }