/// <summary>
        /// Ensures that we have a top-level namespace (cached in our topNamespace field)
        /// </summary>
        private void InitTopNamespace()
        {
            if (vsTopNamespace == null)
            {
                vsTopNamespace = new CodeDomCodeNamespace(DTE, String.Empty, this);

                foreach (CDCodeNamespace ns in ccu.Namespaces)
                {
                    if (String.IsNullOrEmpty(ns.Name))
                    {
                        topNamespace = ns;
                        break;
                    }
                }

                if (topNamespace == null)
                {
                    topNamespace = new CDCodeNamespace(String.Empty);
                    ccu.Namespaces.Add(topNamespace);
                    isDirty = true;
                }

                vsTopNamespace.CodeObject      = topNamespace;
                topNamespace.UserData[CodeKey] = vsTopNamespace;
            }
        }
 private void EnsureNamespaceLinked(CDCodeNamespace member)
 {
     if (member.UserData[CodeKey] == null)
     {
         CodeDomCodeNamespace cdcn = new CodeDomCodeNamespace(DTE, member.Name, this);
         cdcn.CodeObject          = member;
         member.UserData[CodeKey] = cdcn;
     }
 }