Input algebra tree.
the visitor to be used to traverse the various nodes. Allows you to provide a visitor with different default preVisitor cotexts.
Similar to this.transformNode, but without copying the startObject. The pre-visitor visits starting from the root, going deeper, while the actual visitor goes in reverse.
Detects all in-scope variables. In practice this means iterating through the entire algebra tree, finding all variables, and stopping when a project function is found.