Find the size and depth of a tree
The formatting is all over the place, which is distracting and makes the code hard to read.

The suffix Impl in TreeNodeImpl is unnecessary, as are the rec prefixes for recSize and recHeight.

It's not clear why newTreeNode should exist; this looks like work that should be done in a constructor.

Neither of the imports java.util.LinkedList and java.util.TreeSet are used and should be removed.

Having recSize and recHeight take a node as a parameter leads to strange-looking code like node.recSize(node).

The biggest problem though is that successive calls to recHeight will return different values.