title: How is recursion working within this method?
body: <p>I am writing a method to find if a binary tree is full or not, here is what I have so far: </p>
  
  <pre><code>    public boolean full(){
      return fullHelper(this);
  }
  
  public boolean fullHelper(BinaryTreeNode&lt;T&gt; node){
      if (node == null){return false;}
      if (node.left == null &amp;&amp; node.right == null){return true;}
      if (node.left != null &amp;&amp; node.right != null){
          return fullHelper(node);
      }
      return false;
  }
  </code></pre>
  
  <p>The node you pass in can be the root or some arbitrary node that will check if the sub tree is full. My method keeps getting stuck on the line </p>
  
  <pre><code>return fullHelper(node);
  </code></pre>
  
  <p>I was wondering why it will not pass through the line above it to check if both of the children are null. I am fairly new to both Binary Trees and recursion in general so if anyone could help explain any wrong assumptions I made it would be greatly appreciated!</p>