Site site = null;
ExecutionCourseSite site = null;
    public Object run(Integer siteCode, Integer evaluationCode) throws ExcepcaoInexistente,            FenixServiceException, ExcepcaoPersistencia {        List marksList = null;        List infoMarksList = null;        Site site = null;        Evaluation evaluation = null;        InfoEvaluation infoEvaluation = null;        //Site        site = rootDomainObject.readSiteByOID(siteCode);        //Execution Course        ExecutionCourse executionCourse = site.getExecutionCourse();        // Evaluation        evaluation = rootDomainObject.readEvaluationByOID(evaluationCode);        infoEvaluation = InfoEvaluation.newInfoFromDomain(evaluation);        //Attends        List attendList = executionCourse.getAttends();        //Marks        marksList = evaluation.getMarks();        List infoAttendList = (List) CollectionUtils.collect(attendList, new Transformer() {            public Object transform(Object input) {                Attends attend = (Attends) input;                InfoFrequenta infoAttend = InfoFrequentaWithInfoStudentAndPerson                        .newInfoFromDomain(attend);                return infoAttend;            }        });        List infoMarkList = (List) CollectionUtils.collect(marksList, new Transformer() {            public Object transform(Object input) {                Mark mark = (Mark) input;                InfoMark infoMark = InfoMark.newInfoFromDomain(mark);                return infoMark;            }        });        HashMap hashMarks = new HashMap();        Iterator iter = infoMarkList.iterator();        while (iter.hasNext()) {            InfoMark infoMark = (InfoMark) iter.next();            hashMarks.put(infoMark.getInfoFrequenta().getAluno().getNumber().toString(), infoMark                    .getMark());        }        InfoSiteMarks infoSiteMarks = new InfoSiteMarks();        infoSiteMarks.setMarksList(infoMarksList);        infoSiteMarks.setInfoEvaluation(infoEvaluation);        infoSiteMarks.setHashMarks(hashMarks);        infoSiteMarks.setInfoAttends(infoAttendList);        ExecutionCourseSiteComponentBuilder componentBuilder = new ExecutionCourseSiteComponentBuilder();        ISiteComponent commonComponent = componentBuilder.getComponent(new InfoSiteCommon(), site, null,                null, null);        ExecutionCourseSiteView siteView = new ExecutionCourseSiteView(commonComponent, infoSiteMarks);        return siteView;    }