Try with something like this.
private boolean findElementNode(T element, BinaryNode<T> start) {
if (start == null) {
return false;
} else {
if (element.getElement().equals(start.getElement())) {
return true;
} else {
int comparison = element.compareTo(start.getElement());
if (comparison < 0) {
return findElementNode(element, start.getLeftChild());
} else {
return findElementNode(element, start.getRightChild());
}
}
}
EDIT: this is actually what you want. Tell me if this works.
private BinaryNode<T> findElementNode(T element, BinaryNode<T> start) {
if(start != null){
if(start.getElement().equals(element)){
return start;
} else {
BinaryNode<T> start = findElementNode(element, start.getLeftChild());
if(start == null) {
start = findElementNode(element, start.getRightChild());
}
return start;
}
} else {
return null;
}
}