private Node find(T value, Node node) {
		while (node != null) {
			if (value.compareTo((T) node.data) < 0) {
				node = node.left;
			} else if (value.compareTo((T) node.data) > 0) {
				node = node.right;
			} else {
				return node;
			}
		}
		return null; // No match
	}