private BSTNode<T> recRemove(T element, BSTNode<T> tree) {
	if (tree == null)
	    found = false;
	else if (element.compareTo(tree.getInfo()) == 0) { // remove this node
	    tree = removeNode(tree);
	    found = true;
	}
	else if (element.compareTo(tree.getInfo()) < 0) // remove a left node
	    tree.setLeft(recRemove(element, tree.getLeft()));
	else                                           // remove a right node
	    tree.setRight(recRemove(element, tree.getRight()));
	return tree;
    }