protected virtual IQueryPlanNode VisitDistinct(DistinctNode node) { var child = node.Child; if (child != null) child = VisitNode(child); return new DistinctNode(child, node.ColumnNames); }