@Override
    public IBSTree<T> find(T value)
    {
        if (data == null) {
            return null;
        }
        int cmp = value.compareTo(data);
        if (cmp == 0) {
            return this;
        }
        else if (cmp < 0) {
            if (left == null) {
                return null;
            }
            return left.find(value);
        }
        else {
            if (right == null) {
                return null;
            }
            return right.find(value);
        }
    }