/// <summary>
        /// Removes an alias for a specific type by alias
        /// </summary>
        /// <param name="alias">the alias to remove</param>
        public virtual void Remove(string alias)
        {
            Type key;

            if (bindings.TryGetKey(alias, out key))
            {
                bindings.Remove(key);
            }
        }
        public T Get(int refid)
        {
            T entry;

            if (map.TryGetKey(refid, out entry))
            {
                return(entry);
            }

            throw new InvalidRefException(refid);
        }