public MyMapNode popLast()
        {
            MyMapNode tempNode = head;

            while (!tempNode.getNext().Equals(tail))
            {
                tempNode = tempNode.getNext();
            }
            this.tail = tempNode;
            tempNode  = tail.getNext();
            tempNode  = null;
            return(tempNode);
        }
        public MyMapNode search(string key)
        {
            MyMapNode tempNode = head;

            while (tempNode != null && tempNode.getNext() != null)
            {
                if (tempNode.getKey().Equals(key))
                {
                    return(tempNode);
                }
                tempNode = tempNode.getNext();
            }
            return(null);
        }
        public MyMapNode pop()
        {
            MyMapNode tempNode = this.head;

            this.head = head.getNext();
            return(tempNode);
        }