public void iterativeInOrder(TreeNode root) {
		if (root == null) {
			return;
		}

		Stack<TreeNode> stack = new Stack<TreeNode>();
		TreeNode currentNode = root;
		while (currentNode != null) {
			if (currentNode.getLeft() != null) {
				stack.push(currentNode);
				currentNode = currentNode.getLeft();
			} else {
				System.out.println(currentNode.getData());
				if (!stack.isEmpty() && currentNode.getRight()==null) {
					currentNode = stack.pop();
					System.out.println(currentNode.getData());
				}
				currentNode = currentNode.getRight();
			}
		}
	}