Returns the path from the root node to this node, not including this.
Example: root, child, grandChild, ..., this.parent.
root, child, grandChild, ..., this.parent
Iterable<TreeNode> get ancestors sync* { if (parent != null) { yield* parent!.ancestors; yield parent!; } }