public static void main(String args[]){
        BinaryTree bt = new BinaryTree();
        Node root = null;
        root = bt.addNode(10, root);
        root = bt.addNode(5, root);
        root = bt.addNode(20, root);
        root = bt.addNode(15, root);
        root = bt.addNode(25, root);
        AddGreaterValueNodeToEveryNode agv = new AddGreaterValueNodeToEveryNode();
        IntegerRef ir = new IntegerRef();
        ir.val = 0;
        agv.add(root, ir);
        TreeTraversals tt = new TreeTraversals();
        tt.inOrder(root);
    }
http://www.geeksforgeeks.org/add-greater-values-every-node-given-bst/
Test cases:
Empty tree
One node tree
Two node tree
src/com/interview/tree/AddGreaterValueNodeToEveryNode.java