The visitor class for the Physical Plan. To use this,
create the visitor with the plan to be visited. Call
the visit() method to traverse the plan in a depth first
fashion.
This class also visits the nested plans inside the operators.
One has to extend this class to modify the nature of each visit
and to maintain any relevant state information between the visits
to two different operators.