(1) I prefer PathFinder over PathCreator
(2) Adding an auxiliary write() method for non-union types.
Moving the code which walks to a child node when starting a new element
to the find() function.
Preventing CHILD -> PARENT -> CHILD paths which loop onto themselves.