Returns an Iterable of every TreeNode under this.
Iterable<TreeNode> get descendants sync* { for (final child in _children) { yield child; if (child.hasChildren) { yield* child.descendants; } } }