if (executionYearString != null) {
if (executionYearString != null && !executionYearString.equals("")) {
    public List run(Integer executionDegreeId, Boolean basic, String executionYearString)            throws FenixServiceException {        try {            ISuportePersistente sp = SuportePersistenteOJB.getInstance();            IPersistentExecutionDegree persistentExecutionDegree = sp.getIPersistentExecutionDegree();            IPersistentProfessorship persistentProfessorship = sp.getIPersistentProfessorship();            IPersistentExecutionYear persistentExecutionYear = sp.getIPersistentExecutionYear();            List professorships = null;            IExecutionYear executionYear = null;            if (executionYearString != null) {                executionYear = persistentExecutionYear.readExecutionYearByName(executionYearString);            } else {                executionYear = persistentExecutionYear.readCurrentExecutionYear();            }            if (executionDegreeId == null) {                List executionDegrees = persistentExecutionDegree.readByExecutionYear(executionYear                        .getYear());                if (basic == null) {                    professorships = persistentProfessorship.readByExecutionDegrees(executionDegrees);                } else {                    professorships = persistentProfessorship.readByExecutionDegreesAndBasic(                            executionDegrees, basic);                }            } else {                ICursoExecucao executionDegree = (ICursoExecucao) persistentExecutionDegree.readByOID(                        CursoExecucao.class, executionDegreeId);                if (basic == null) {                    professorships = persistentProfessorship.readByExecutionDegree(executionDegree);                } else {                    professorships = persistentProfessorship.readByExecutionDegreeAndBasic(                            executionDegree, basic);                }            }            List teachers = (List) CollectionUtils.collect(professorships, new Transformer() {                public Object transform(Object o) {                    IProfessorship professorship = (IProfessorship) o;                    return professorship.getTeacher();                }            });            teachers = removeDuplicates(teachers);            List infoSiteTeachersInformation = new ArrayList();            Iterator iter = teachers.iterator();            while (iter.hasNext()) {                ITeacher teacher = (ITeacher) iter.next();                infoSiteTeachersInformation.add(getTeacherInformation(teacher.getPerson().getUsername(),                        executionYear));            }            Collections.sort(infoSiteTeachersInformation, new Comparator() {                public int compare(Object o1, Object o2) {                    InfoSiteTeacherInformation information1 = (InfoSiteTeacherInformation) o1;                    InfoSiteTeacherInformation information2 = (InfoSiteTeacherInformation) o2;                    return information1.getInfoTeacher().getInfoPerson().getNome().compareTo(                            information2.getInfoTeacher().getInfoPerson().getNome());                }            });            return infoSiteTeachersInformation;        } catch (ExcepcaoPersistencia e) {            throw new FenixServiceException(e.getMessage());        }    }