studentTestLog.setDate(null);
studentTestLog.setDate(Calendar.getInstance().getTime());
	public Object run(String userName, Integer distributedTestId, Boolean log, String path)		throws FenixServiceException	{		List infoStudentTestQuestionList = new ArrayList();		this.path = path.replace('\\', '/');		try		{			ISuportePersistente persistentSuport = SuportePersistenteOJB.getInstance();			IStudent student = persistentSuport.getIPersistentStudent().readByUsername(userName);			if (student == null)				throw new FenixServiceException();			IDistributedTest distributedTest = new DistributedTest(distributedTestId);			distributedTest =				(IDistributedTest) persistentSuport.getIPersistentDistributedTest().readByOId(					distributedTest,					false);			if (distributedTest == null)			{				throw new InvalidArgumentsServiceException();			}			List studentTestQuestionList =				persistentSuport.getIPersistentStudentTestQuestion().readByStudentAndDistributedTest(					student,					distributedTest);			if (studentTestQuestionList.size() == 0)			    throw new InvalidArgumentsServiceException();			Iterator it = studentTestQuestionList.iterator();			while (it.hasNext())			{				IStudentTestQuestion studentTestQuestion = (IStudentTestQuestion) it.next();				InfoStudentTestQuestion infoStudentTestQuestion;				ParseQuestion parse = new ParseQuestion();				try				{					if (studentTestQuestion.getOptionShuffle() == null)					{						persistentSuport.getIPersistentStudentTestQuestion().simpleLockWrite(							studentTestQuestion);						boolean shuffle = true;						if (distributedTest.getTestType().equals(new TestType(3))) //INQUIRY							shuffle = false;						studentTestQuestion.setOptionShuffle(							parse.shuffleQuestionOptions(								studentTestQuestion.getQuestion().getXmlFile(),								shuffle,								this.path));					}					infoStudentTestQuestion =						Cloner.copyIStudentTestQuestion2InfoStudentTestQuestion(studentTestQuestion);					infoStudentTestQuestion.setQuestion(						parse.parseQuestion(							infoStudentTestQuestion.getQuestion().getXmlFile(),							infoStudentTestQuestion.getQuestion(),							this.path));					infoStudentTestQuestion =						parse.getOptionsShuffle(infoStudentTestQuestion, this.path);				}				catch (Exception e)				{					throw new FenixServiceException(e);				}				infoStudentTestQuestionList.add(infoStudentTestQuestion);			}			if (log.booleanValue())			{				IPersistentStudentTestLog persistentStudentTestLog =					persistentSuport.getIPersistentStudentTestLog();				IStudentTestLog studentTestLog = new StudentTestLog();				studentTestLog.setDistributedTest(distributedTest);				studentTestLog.setStudent(student);				studentTestLog.setDate(null);				studentTestLog.setEvent(new String("Ler Ficha de Trabalho"));				persistentStudentTestLog.simpleLockWrite(studentTestLog);			}		}		catch (ExcepcaoPersistencia e)		{			throw new FenixServiceException(e);		}		return infoStudentTestQuestionList;	}