title: How does this method add the size of all BST nodes?
body: <p>I do not understand how sum is being incremented since it is reset to 1 each time that the method is called. I do know that the memory is being stored in a stack, but I don't see where the actual summation happens. Also how much more memory is saved when the Variable sum is declared inside of the method rather then outside of the method.   </p>
  
  <pre><code>private int size(BSTNode current) {
          if (current == null) {
              return 0;
          }
      int sum = 1;
      sum += size(current.getLeft());
      sum += size(current.getRight());
      return sum;
      }
  </code></pre>