The public size method simply invokes the private, recursive method.
The private recursive size method follows the outline of breaking it into the subproblems of getting the size of the subtrees.
public int size() { return size(root); } private int size(Node t) { if (t == null) { return 0; } return size(t.left) + size(t.right) + 1; }