public override bool contains(Object o)
            {
                java.util.MapNS.Entry <Object, Object> entry = (java.util.MapNS.Entry <Object, Object>)o;
                int hash = root.getHash(entry.getKey());

                lock (root.m_locks[hash])
                {
                    for (Node n = root.m_buckets[hash]; n != null; n = n.next)
                    {
                        if (n.equals(entry))
                        {
                            return(true);
                        }
                    }
                }
                return(false);
            }
            public override bool remove(Object o)
            {
                int hash = root.getHash(o);

                lock (root.m_locks[hash])
                {
                    for (Node n = root.m_buckets[hash]; n != null; n = n.next)
                    {
                        Object k = n.getKey();
                        if ((k == o) || ((k != null) && k.equals(o)))
                        {
                            root.remove(k);
                            return(true);
                        }
                    }
                }
                return(false);
            }