} catch (ExcepcaoPersistencia e) { throw new FenixServiceException(e);
    public void run(InfoCurricularCourseScope infoCurricularCourseScope) throws FenixServiceException {        IBranch branch = null;        ICurricularSemester curricularSemester = null;        try {            ISuportePersistente persistentSuport = PersistenceSupportFactory.getDefaultPersistenceSupport();            IPersistentCurricularCourseScope persistentCurricularCourseScope = persistentSuport.getIPersistentCurricularCourseScope();            IPersistentCurricularSemester persistentCurricularSemester = persistentSuport.getIPersistentCurricularSemester();            IPersistentCurricularCourse persistentCurricularCourse = persistentSuport.getIPersistentCurricularCourse();            IPersistentBranch persistentBranch = persistentSuport.getIPersistentBranch();						            curricularSemester = (ICurricularSemester) persistentCurricularSemester.readByOID(                    CurricularSemester.class, infoCurricularCourseScope.getInfoCurricularSemester().getIdInternal());            if (curricularSemester == null)                throw new NonExistingServiceException("message.non.existing.curricular.semester", null);         			            			ICurricularCourse curricularCourse = (ICurricularCourse) persistentCurricularCourse.readByOID(					CurricularCourse.class, infoCurricularCourseScope.getInfoCurricularCourse().getIdInternal());            if (curricularCourse == null)                throw new NonExistingServiceException("message.nonExistingCurricularCourse", null);						            branch = (IBranch) persistentBranch.readByOID(					Branch.class, infoCurricularCourseScope.getInfoBranch().getIdInternal());            if (branch == null)                throw new NonExistingServiceException("message.non.existing.branch", null);						DomainFactory.makeCurricularCourseScope(branch, curricularCourse, curricularSemester, infoCurricularCourseScope.getBeginDate(),										infoCurricularCourseScope.getEndDate(), infoCurricularCourseScope.getAnotation());			        } catch (RuntimeException e) {            throw new ExistingServiceException("O mbito pertencente ao ramo " + branch.getCode() + ", no "                    + curricularSemester.getCurricularYear().getYear() + " ano,  "                    + curricularSemester.getSemester() + " semestre");        } catch (ExcepcaoPersistencia e) {            throw new FenixServiceException(e);        }    }