Reconstruction TreeNode

I think this may be more code reuse and reduce the amount of code.