protected virtual IQueryPlanNode VisitBranch(BranchQueryPlanNode node)
{
if (node is CompositeNode)
return VisitComposite((CompositeNode) node);
if (node is JoinNode)
return VisitJoin((JoinNode) node);
//if (node is EquiJoinNode)
// return VisitEquiJoin((EquiJoinNode) node);
if (node is NaturalJoinNode)
return VisitNaturalJoin((NaturalJoinNode) node);
if (node is LogicalUnionNode)
return VisitLogicalUnion((LogicalUnionNode) node);
if (node is NonCorrelatedAnyAllNode)
return VisitNonCorrelatedAnyAll((NonCorrelatedAnyAllNode) node);
throw new NotSupportedException();
}