} catch (ExcepcaoPersistencia ex) { throw new FenixServiceException(ex.getMessage());
});  if (existingClass != null) { throw new ExistingServiceException("Duplicate Entry: " + infoTurma.getNome());
    public Object run(InfoClass infoTurma) throws FenixServiceException {        ITurma turma = null;        InfoClass infoClass = null;        try {            ISuportePersistente sp = SuportePersistenteOJB.getInstance();            turma = Cloner.copyInfoClass2Class(infoTurma);            IPersistentExecutionPeriod executionPeriodDAO = sp.getIPersistentExecutionPeriod();            IPersistentExecutionDegree executionDegreeDAO = sp.getIPersistentExecutionDegree();            try {                sp.getITurmaPersistente().simpleLockWrite(turma);                turma.setExecutionDegree(executionDegreeDAO.readByDegreeCurricularPlanAndExecutionYear(                        turma.getExecutionDegree().getCurricularPlan(), turma.getExecutionDegree()                                .getExecutionYear()));                turma.setExecutionPeriod(executionPeriodDAO.readByNameAndExecutionYear(turma                        .getExecutionPeriod().getName(), turma.getExecutionPeriod().getExecutionYear()));                infoClass = Cloner.copyClass2InfoClass(turma);            } catch (ExistingPersistentException ex) {                throw new ExistingServiceException(ex);            }        } catch (ExcepcaoPersistencia ex) {            throw new FenixServiceException(ex.getMessage());        }        return infoClass;    }