public void Delete(K key)
        {
            Keyed <K, V> pointer  = this.first;
            Keyed <K, V> previous = null;

            if (pointer == null)
            {
                return;
            }
            while (!pointer.Key().Equals(key))
            {
                previous = pointer;
                pointer  = pointer.Next();
                if (pointer == null)
                {
                    return;
                }
            }
            if (previous == null)
            {
                this.first = this.first.Next();
            }
            else
            {
                previous.Next(pointer.Next());
            }
        }
        public V Get(K key)
        {
            Keyed <K, V> pointer = this.first;

            if (pointer == null)
            {
                return(default(V));
            }
            while (!pointer.Key().Equals(key))
            {
                pointer = pointer.Next();
                if (pointer == null)
                {
                    return(default(V));
                }
            }
            return(pointer.Value());
        }