private void initInModelMascheraRicerca(Model model, NavigaProgetti filtro) {

    // Carico la lista delle regioni
    List<AreaGeografica> listAreaGeografica = aggregataFacade.findAreaGeografica();
    model.addAttribute("listAreaGeografica", listAreaGeografica);

    if ((!"-1".equals(filtro.getIdAreaGeografica()))
        && (!"0".equals(filtro.getIdAreaGeografica()))) {
      // Regione selezionata carico le Province
      List<Regione> listRegione =
          aggregataFacade.findRegioniByIdAreaGeografica(
              Integer.valueOf(filtro.getIdAreaGeografica()));
      model.addAttribute("listRegione", listRegione);
    }

    if ((!"-1".equals(filtro.getIdRegione())) && (!"0".equals(filtro.getIdRegione()))) {
      // Regione selezionata carico le Province
      List<Provincia> listProvincia =
          aggregataFacade.findProvinciaByIdRegione(Integer.valueOf(filtro.getIdRegione()));
      model.addAttribute("listProvincia", listProvincia);
    }

    if ((!"-1".equals(filtro.getIdProvincia())) && (!"0".equals(filtro.getIdProvincia()))) {
      // Provincia selezionata carico i Comuni
      List<Comune> listComune =
          aggregataFacade.findComuneByIdProvincia(Integer.valueOf(filtro.getIdProvincia()));
      model.addAttribute("listComune", listComune);
    }

    // Carico la lista degli Anni Decisione
    List<AnnoDecisione> listaAnnoDecisione = aggregataFacade.findAnniDecisione();
    model.addAttribute("listaAnnoDecisione", listaAnnoDecisione);

    // Carico la lista delle Tipologia Intervento
    List<TipologiaIntervento> listaTipologiaIntervento = aggregataFacade.findTipologiaIntervento();
    model.addAttribute("listaTipologiaIntervento", listaTipologiaIntervento);

    // Carico la lista degli Stato Progetto
    List<StatoProgetto> listaStatoProgetto = aggregataFacade.findStatoProgetto();
    model.addAttribute("listaStatoProgetto", listaStatoProgetto);

    // Carico la lista della Aree Soggetto
    List<AreaSoggetto> listAreaSoggetto = aggregataFacade.findAreaSoggetto();
    model.addAttribute("listAreaSoggetto", listAreaSoggetto);

    if ((!"-1".equals(filtro.getIdAreaSoggetto())) && (!"0".equals(filtro.getIdAreaSoggetto()))) {
      // Carico la lista della Categoria Soggetto
      List<CategoriaSoggetto> listCategoriaSoggetto =
          aggregataFacade
              .findCategoriaSoggettoByIdAreaSoggetto(); // Integer.valueOf(
                                                        // filtro.getIdAreaSoggetto() ));
      model.addAttribute("listCategoriaSoggetto", listCategoriaSoggetto);
    }

    if ((!"-1".equals(filtro.getIdCategoriaSoggetto()))
        && (!"0".equals(filtro.getIdCategoriaSoggetto()))) {
      // Carico la lista della Sottocategoria Soggetto
      List<SottocategoriaSoggetto> listSottoCategoriaSoggetto =
          aggregataFacade.findSottocategoriaSoggetto(
              Integer.valueOf(filtro.getIdCategoriaSoggetto()));
      model.addAttribute("listSottoCategoriaSoggetto", listSottoCategoriaSoggetto);
    }

    // Carico le Aree d'intervednto
    List<AreaIntervento> listAreaIntervento = aggregataFacade.findAreaIntervento();
    model.addAttribute("listAreaIntervento", listAreaIntervento);

    if ((!"-1".equals(filtro.getIdAreaIntervento()))
        && (!"0".equals(filtro.getIdAreaIntervento()))) {
      // Settore intervento selezionata carico i sottosettori
      List<SottosettoreIntervento> listSottosettoreIntervento =
          aggregataFacade.findSottosettoreByArea(Integer.valueOf(filtro.getIdAreaIntervento()));
      model.addAttribute("listSottosettoreIntervento", listSottosettoreIntervento);
    }

    if (((!"-1".equals(filtro.getIdAreaIntervento()))
            && (!"-1".equals(filtro.getIdSottosettoreIntervento())))
        && ((!"0".equals(filtro.getIdAreaIntervento()))
            && (!"0".equals(filtro.getIdSottosettoreIntervento())))) {
      // Settore intervento e sottosettore intervento selezionati carico le categorie
      List<CategoriaIntervento> listaCategoriaIntervento =
          aggregataFacade.findCategoriaInterventoByAreaSottosettore(
              Integer.valueOf(filtro.getIdAreaIntervento()),
              Integer.valueOf(filtro.getIdSottosettoreIntervento()));
      model.addAttribute("listaCategoriaIntervento", listaCategoriaIntervento);
    }
  }