/// <summary>
        /// Ajoute un  résultat
        /// </summary>
        /// <param name="consommateur"></param>
        public void AddResultat(INoeudCheminResultatRechercheObjet noeud)
        {
            CCheminResultatRechercheObjet chemin = null;

            if (m_pileChemins.Count > 0)
            {
                chemin = m_pileChemins.Peek();
            }
            chemin = new CCheminResultatRechercheObjet(noeud, chemin);
            m_arbreResultat.AddResultat(chemin);
        }
 /// <summary>
 /// Range les résultats suivants sous un nouveau chemin
 /// </summary>
 /// <param name="noeud"></param>
 public void PushChemin(INoeudCheminResultatRechercheObjet noeud)
 {
     if (m_pileChemins.Count > 0)
     {
         CCheminResultatRechercheObjet chemin = m_pileChemins.Peek();
         m_pileChemins.Push(new CCheminResultatRechercheObjet(noeud, chemin));
     }
     else
     {
         m_pileChemins.Push(new CCheminResultatRechercheObjet(noeud, null));
     }
 }
 /// <summary>
 /// Ajoute un résultat à l'arbre
 /// </summary>
 /// <param name="chemin"></param>
 /// <param name="resultat"></param>
 internal void AddResultat(CCheminResultatRechercheObjet chemin)
 {
     if (chemin != null && chemin.NoeudsRacine != null)
     {
         foreach (CArbreResultatRechercheObjet arbreFils in Branches)
         {
             if (arbreFils.Noeud != null && arbreFils.Noeud.Equals(chemin.NoeudsRacine))
             {
                 arbreFils.AddResultat(chemin.CheminFils);
                 return;
             }
         }
         CArbreResultatRechercheObjet branche = new CArbreResultatRechercheObjet(chemin.NoeudsRacine);
         m_branches.Add(branche);
         branche.AddResultat(chemin.CheminFils);
         return;
     }
 }
 public CCheminResultatRechercheObjet(INoeudCheminResultatRechercheObjet noeud, CCheminResultatRechercheObjet cheminParent)
 {
     m_listeNoeuds = new List <INoeudCheminResultatRechercheObjet>();
     if (cheminParent != null)
     {
         m_listeNoeuds.AddRange(cheminParent.m_listeNoeuds);
     }
     m_listeNoeuds.Add(noeud);
 }