protected Node find(E e)
    {
        if (isEmpty())
            return null;
        Node u = root;
        while (u.key != e && comparator.compare(e, u.key) != 0)
        {
            if (comparator.compare(e, u.key) < 0)
                u = u.left;
            else    u = u.right;
            if (u == null)  return null;
        }
        return u;
    }