/// <devdoc>
        ///     Retrieves an enumerator that can enumerate
        ///     assembly names matching name.
        /// </devdoc>
        internal IEnumerable GetAssemblyNames(string name)
        {
            IVsComponentEnumeratorFactory f = EnumFactory;

            if (f != null)
            {
                IEnumerable assemblyEnum = null;

                if (enumCache != null)
                {
                    assemblyEnum = (IEnumerable)enumCache[name];
                }
                else
                {
                    enumCache = new Hashtable();
                }

                if (assemblyEnum == null)
                {
                    assemblyEnum    = new VSAssemblyEnumerator(f, name);
                    enumCache[name] = assemblyEnum;
                }

                return(assemblyEnum);
            }
            else
            {
                return(new AssemblyName[0]);
            }
        }
 /// <devdoc>
 ///     Retrieves an enumerator that can enumerate
 ///     assembly names matching name.
 /// </devdoc>
 internal IEnumerable GetAssemblyNames(string name) {
     IVsComponentEnumeratorFactory f = EnumFactory;
     if (f != null) {
         IEnumerable assemblyEnum = null;
         
         if (enumCache != null) {
             assemblyEnum = (IEnumerable)enumCache[name];
         }
         else {
             enumCache = new Hashtable();
         }
         
         if (assemblyEnum == null) {
             assemblyEnum = new VSAssemblyEnumerator(f, name);
             enumCache[name] = assemblyEnum;
         }
         
         return assemblyEnum;
     }
     else {
         return new AssemblyName[0];
     }
 }