Move TreeNodeWithParent to core package.
Move TreeNodeWithParent to core package.
Refactor the code.
Add another similar solution.
Refactor the code.