public void add(Node root,IntegerRef ref){
        if(root == null){
            return ;
        }
        add(root.right,ref);
        root.data += ref.val;
        ref.val = root.data;
        add(root.left,ref);
    }
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