protected virtual IQueryPlanNode VisitJoin(JoinNode node)
{
var left = node.Left;
var right = node.Right;
if (left != null)
left = VisitNode(left);
if (right != null)
right = VisitNode(right);
return new JoinNode(left, right, node.LeftColumnName, node.Operator, node.RightExpression);
}