private void Visit(NamespaceDescription ns, List <List <string> > usings, List <IDeclContainer> returner)
        {
            bool          prefix    = false;
            bool          match     = false;
            List <string> currentNS = ns.GetFullNamespace();

            foreach (List <string> list in usings)
            {
                if (Util.NamespacePrefix(currentNS, list))
                {
                    prefix = true;
                    if (Util.NamespacesEquals(currentNS, list))
                    {
                        match = true;
                        break;
                    }
                }
            }
            if (match)
            {
                returner.Add(ns);
            }
            if (prefix)
            {
                foreach (NamespaceDescription namespaceDescription in ns.Namespaces)
                {
                    Visit(namespaceDescription, usings, returner);
                }
            }
        }
 private void Visit(NamespaceDescription ns, List<List<string>> usings, List<IDeclContainer> returner)
 {
     bool prefix = false;
     bool match = false;
     List<string> currentNS = ns.GetFullNamespace();
     foreach (List<string> list in usings)
     {
         if (Util.NamespacePrefix(currentNS, list))
         {
             prefix = true;
             if (Util.NamespacesEquals(currentNS, list))
             {
                 match = true;
                 break;
             }
         }
     }
     if (match)
         returner.Add(ns);
     if (prefix)
     {
         foreach (NamespaceDescription namespaceDescription in ns.Namespaces)
         {
             Visit(namespaceDescription, usings, returner);
         }
     }
 }