public static <T extends Comparable<T>, E> Node<T,E> search(T value, Node<T,E> node){
		if(node == null)
			return null;
			
		if(node.getValue().compareTo(value) < 0 && 
				node.getRightNode() != null){
			return search(value, node.getRightNode());
		}else if(node.getValue().compareTo(value) > 0 && 
				node.getLeftNode() != null){
			return search(value,node.getLeftNode());
		}else if(node.getValue().compareTo(value) == 0){
			return node;
		}
		return node;
	}