private TreeNode<T> getNode(TreeNode<T> subNode,  T value){
		if(subNode.getValue().equals(value)){
			return subNode;
		}
		if(subNode.getLeftChild()!=null){
			TreeNode<T> node = getNode(subNode.getLeftChild(), value);
			if(node != null){
				return node;
			}
		}
		
		if(subNode.getRightChild()!=null){
			TreeNode<T> node = getNode(subNode.getRightChild(), value);
			if(node != null){
				return node;
			}
		}
		return null;
	}