protected TreeNode<E> findNode(E target, TreeNode<E> current) {
		if(current == null) return null;
		else if(current.value.compareTo(target) < 0)
			return findNode(target, current.getRightTree());
		else if(current.value.compareTo(target) > 0)
			return findNode(target, current.getLeftTree());
		else 
			return current;
	}