public void searchLogradouro() {
      facesContext = FacesContext.getCurrentInstance();
      requestContext = RequestContext.getCurrentInstance();

      List<Logradouro> listLogradouro;
      try {
         logradouro.setLog_bairro_id(this.bairro);
         listLogradouro = genericDAO.searchObject(Logradouro.class,"logradouro",
                 null, null,
                 new String[]{"log_bairro_id", "log_descricao"},
                 new Object[]{logradouro.getLog_bairro_id(), "%" + logradouro.getLog_descricao() + "%"});

         if (listLogradouro.isEmpty()) {
            opcaoHeader = "cadastrar logradouro";

            facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Logradouro não encontrado", "Cadastre-o para prosseguir!"));
            requestContext.getCurrentInstance().execute("PF('cadastrarDialog').show();");
         } else if (listLogradouro.size() == 1) {
            facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Logradouro encontrado", "Prossiga o cadastro!"));
            logradouro = listLogradouro.get(0);
         } else {
            facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Informe mais detalhes!", "Sua busca retornou muitos campos"));
         }
      } catch (Exception ex) {
         Logger.getLogger(UnidadeMB.class.getName()).log(Level.SEVERE, null, ex);
      }

   }