collapseCascading method
Traverses the subtrees of nodes
in depth first order collapsing every
visited node, then calls rebuild.
Implementation
void collapseCascading(Iterable<T> nodes) {
if (nodes.isEmpty) return;
_applyCascadingAction(nodes, _collapse);
rebuild();
}