final Question question = rootDomainObject.readQuestionByOID(questionId);
    public List<InfoSiteDistributedTestAdvisory> run(Integer executionCourseId,            Integer distributedTestId, Double newValue, Integer questionId, Integer studentId,            TestQuestionStudentsChangesType studentsType, String path) throws FenixServiceException,            ExcepcaoPersistencia {        List<InfoSiteDistributedTestAdvisory> infoSiteDistributedTestAdvisoryList = new ArrayList<InfoSiteDistributedTestAdvisory>();        List<StudentTestQuestion> studentsTestQuestionList = new ArrayList<StudentTestQuestion>();        if (studentsType.getType().intValue() == TestQuestionStudentsChangesType.THIS_STUDENT) {        	final Question question = rootDomainObject.readQuestionByOID(questionId);        	final DistributedTest distributedTest = rootDomainObject.readDistributedTestByOID(distributedTestId);        	final Student student = rootDomainObject.readStudentByOID(studentId);        	studentsTestQuestionList.add(StudentTestQuestion.findStudentTestQuestion(question, student, distributedTest));        } else if (studentsType.getType().intValue() == TestQuestionStudentsChangesType.STUDENTS_FROM_TEST_VARIATION) {        	final Question question = rootDomainObject.readQuestionByOID(questionId);        	final DistributedTest distributedTest = rootDomainObject.readDistributedTestByOID(distributedTestId);            studentsTestQuestionList.addAll(StudentTestQuestion.findStudentTestQuestions(question, distributedTest));        } else if (studentsType.getType().intValue() == TestQuestionStudentsChangesType.STUDENTS_FROM_TEST) {        	final Question question = rootDomainObject.readQuestionByOID(questionId);        	final DistributedTest distributedTest = rootDomainObject.readDistributedTestByOID(distributedTestId);        	final Student student = rootDomainObject.readStudentByOID(studentId);        	final StudentTestQuestion studentTestQuestion = StudentTestQuestion.findStudentTestQuestion(question, student, distributedTest);            studentsTestQuestionList.addAll(distributedTest.findStudentTestQuestionsByTestQuestionOrder(studentTestQuestion.getTestQuestionOrder()));        } else if (studentsType.getType().intValue() == TestQuestionStudentsChangesType.ALL_STUDENTS) {        	final Question question = rootDomainObject.readQuestionByOID(questionId);            studentsTestQuestionList.addAll(question.getStudentTestsQuestionsSet());        }        for (StudentTestQuestion studentTestQuestion : studentsTestQuestionList) {            InfoSiteDistributedTestAdvisory infoSiteDistributedTestAdvisory = new InfoSiteDistributedTestAdvisory();            infoSiteDistributedTestAdvisory.setInfoDistributedTest(InfoDistributedTest                    .newInfoFromDomain(studentTestQuestion.getDistributedTest()));            infoSiteDistributedTestAdvisory.setInfoAdvisory(null);            List<InfoStudent> group = new ArrayList<InfoStudent>();            if (!group.contains(studentTestQuestion.getStudent().getPerson())) {                group.add(InfoStudent.newInfoFromDomain(studentTestQuestion.getStudent()));            }            if (studentTestQuestion.getResponse() != null                    && studentTestQuestion.getDistributedTest().getTestType().equals(                            new TestType(TestType.EVALUATION))) {                studentTestQuestion.setTestQuestionMark(getNewQuestionMark(studentTestQuestion,                        newValue, path.replace('\\', '/')));                OnlineTest onlineTest = studentTestQuestion.getDistributedTest().getOnlineTest();                ExecutionCourse executionCourse = rootDomainObject                        .readExecutionCourseByOID(executionCourseId);                Attends attend = studentTestQuestion.getStudent().readAttendByExecutionCourse(                        executionCourse);                Mark mark = onlineTest.getMarkByAttend(attend);                if (mark != null) {                    mark.setMark(getNewStudentMark(studentTestQuestion.getDistributedTest(),                            studentTestQuestion.getStudent()));                }            }            studentTestQuestion.setTestQuestionValue(newValue);            infoSiteDistributedTestAdvisory.setInfoStudentList(group);            infoSiteDistributedTestAdvisoryList.add(infoSiteDistributedTestAdvisory);            StudentTestLog studentTestLog = DomainFactory.makeStudentTestLog();            studentTestLog.setDistributedTest(studentTestQuestion.getDistributedTest());            studentTestLog.setStudent(studentTestQuestion.getStudent());            studentTestLog.setDate(Calendar.getInstance().getTime());            ResourceBundle bundle = ResourceBundle.getBundle("resources.ApplicationResources");            studentTestLog.setEvent(MessageFormat.format(bundle                    .getString("message.changeStudentValueLogMessage"), new Object[] { newValue }));        }        return infoSiteDistributedTestAdvisoryList;    }