protected virtual QueryNode VisitGroupJoin(GroupJoinNode node, AzureQueryOptimizerState state)
 {
     return((QueryNode) new GroupJoinNode(this.Visit(node.OuterQuery, new AzureQueryOptimizerState()), this.Visit(node.InnerQuery, new AzureQueryOptimizerState()), node.OuterQueryExpression, node.InnerQueryExpression, node.OuterKey, node.InnerKey, node.OuterKeyExpression, node.InnerKeyExpression, node.SelectQuery, node.EqualityComparer, node.GetQueryableDelegate));
 }
 protected virtual void StripGroupJoin(GroupJoinNode node, ElasticQueryMapperState state)
 {
     state.AdditionalQueryMethods.Add(new GroupJoinMethod(node.GetOuterQueryable(), node.GetInnerQueryable(), node.OuterKey, node.InnerKey, node.OuterKeyExpression, node.InnerKeyExpression, node.SelectQuery, node.EqualityComparer));
 }