title: Recursively generate an ASCII binary tree
body: <p>Here is a picture of what my code needs to do.</p>
  <p>Before Call:</p>
  <pre><code>            +----+
              | -9 |
              +----+
             /      \
            /        \
        +----+      +----+
        |  3 |      | 15 |
        +----+      +----+
       /           /      \
      /           /        \
  +----+      +----+      +----+
  |  0 |      | 12 |      | 24 |
  +----+      +----+      +----+
             /      \
            /        \
        +----+      +----+
        |  6 |      | -3 |
        +----+      +----+
  </code></pre>
  <p>After Call:</p>
  <pre><code>            +----+
              | -9 |
              +----+
             /      \
            /        \
        +----+      +----+
        |  6 |      | 30 |
        +----+      +----+
       /           /      \
      /           /        \
  +----+      +----+      +----+
  |  0 |      | 24 |      | 48 |
  +----+      +----+      +----+
             /      \
            /        \
        +----+      +----+
        | 12 |      | -3 |
        +----+      +----+
  </code></pre>
  <p>Basically this problem requires that I double all data values greater than 0 in a binary tree of integers. My code below does this for a few values but stops early. I am not sure how to fix this recursively. This is what my output looks like for the tree given above.</p>
  <pre><code>       overallRoot
           _[-9]_______________
          /                    \
      _[6]                 _____[30]
     /                    /         \
  [0]                _[12]           [24]
                    /     \
                 [6]       [-3]
  </code></pre>
  <pre class="lang-java prettyprint-override"><code>public void doublePositives() {
      doublePositives(overallRoot);
  }
  
  private IntTreeNode doublePositives(IntTreeNode root) {
      if (root != null) {
          if (root.data &gt; 0) {
              root.data = 2 * root.data;
          } else {
              root.left = doublePositives(root.left);
              root.right = doublePositives(root.right);
          }
      }
      return root;
  }
  </code></pre>