I'm confused. Doesn't the operation described in those answers just rename each node's properties, but leave the topology of the data structure unchanged?
Meaning one could just have the code accessing the tree swap which names it accesses, and the tree would behave as "inverted" with no actual need to invert anything?