prune method
void
prune()
Prunes the DiffNode tree.
If a child DiffNode has nothing added, removed, changed, nor a node, then it will be deleted from the parent's node Map.
Implementation
void prune() {
var keys = node.keys.toList();
for (var i = keys.length - 1; i >= 0; i--) {
final key = keys[i];
final d = node[key]!;
d.prune();
if (d.hasNothing) {
node.remove(key);
}
}
}