protected virtual QueryNode VisitElementAt(ElementAtNode node, ElasticSearchQueryOptimizerState state)
 {
     return(new ElementAtNode(Visit(node.SourceNode, state), node.Index, node.AllowDefaultValue));
 }
 protected virtual QueryNode VisitElementAt(ElementAtNode node, AzureQueryOptimizerState state)
 {
     return((QueryNode) new ElementAtNode(this.Visit(node.SourceNode, state), node.Index, node.AllowDefaultValue));
 }
 protected virtual void StripElementAt(ElementAtNode node, HashSet <QueryMethod> additionalQueryMethods)
 {
     additionalQueryMethods.Add(new ElementAtMethod(node.Index, node.AllowDefaultValue));
 }