final Site site = executionCourse.getSite();
final ExecutionCourseSite site = executionCourse.getSite();
    public Object run(Integer executionCourseCode, Integer evaluationCode, String publishmentMessage,            Boolean sendSMS, String announcementTitle) throws ExcepcaoInexistente,            FenixServiceException, ExcepcaoPersistencia {        final ExecutionCourse executionCourse = rootDomainObject                .readExecutionCourseByOID(executionCourseCode);        final Site site = executionCourse.getSite();        final Evaluation evaluation = rootDomainObject.readEvaluationByOID(evaluationCode);        if (publishmentMessage == null || publishmentMessage.length() == 0) {            evaluation.setPublishmentMessage(" ");        } else {            evaluation.setPublishmentMessage(publishmentMessage);            Announcement announcement = new Announcement();            announcement.setSubject(new MultiLanguageString(announcementTitle));            announcement.setBody(new MultiLanguageString(publishmentMessage));            announcement.setVisible(true);            site.getExecutionCourse().getBoard().addAnnouncements(announcement);        }        for (Mark mark : evaluation.getMarks()) {            if (!mark.getMark().equals(mark.getPublishedMark())) {                // update published mark                mark.setPublishedMark(mark.getMark());                if (sendSMS != null && sendSMS) {                    if (mark.getAttend().getAluno().getPerson().getMobile() != null                            || mark.getAttend().getAluno().getPerson().getMobile().length() == MOBILE_NUMBER_LENGHT) {                        String StringDestinationNumber = mark.getAttend().getAluno().getPerson()                                .getMobile();                        if (StringDestinationNumber.startsWith(TMN_NETWORK_PREFIX)                                || StringDestinationNumber.startsWith(VODAFONE_NETWORK_PREFIX)                                || StringDestinationNumber.startsWith(OPTIMUS_NETWORK_PREFIX)) {                            try {                                SmsUtil.getInstance().sendSmsWithoutDeliveryReports(                                        Integer.valueOf(StringDestinationNumber),                                        evaluation.getPublishmentMessage() + " "                                                + mark.getAttend().getDisciplinaExecucao().getSigla()                                                + " - " + mark.getMark());                            } catch (FenixUtilException e1) {                                throw new SmsNotSentServiceException("error.person.sendSms");                            }                        }                    }                }            }        }        return Boolean.TRUE;    }