public List run(InfoSite infoSite, InfoSection infoSuperiorSection) throws FenixServiceException {
public List run(InfoSite infoSite, InfoSection infoSuperiorSection) throws FenixServiceException, ExcepcaoPersistencia {
    public List run(InfoSite infoSite, InfoSection infoSuperiorSection) throws FenixServiceException {        ISite site = Cloner.copyInfoSite2ISite(infoSite);        ISuportePersistente sp;        List allSections = null;        ISection superiorSection = null;        if (infoSuperiorSection != null) {            superiorSection = Cloner.copyInfoSection2ISection(infoSuperiorSection);            superiorSection.setSite(site);        }        try {            sp = PersistenceSupportFactory.getDefaultPersistenceSupport();            allSections = sp.getIPersistentSection().readBySiteAndSection(site, superiorSection);        } catch (ExcepcaoPersistencia excepcaoPersistencia) {            throw new FenixServiceException(excepcaoPersistencia);        }        List result = new ArrayList();        if (allSections != null) {            // build the result of this service            Iterator iterator = allSections.iterator();            while (iterator.hasNext())                result.add(Cloner.copyISection2InfoSection((ISection) iterator.next()));        }        return result;    }