public virtual void VisitGroupOperation(IGroupOperation value)
 {
     this.VisitExpression(value.Item);
     this.VisitExpression(value.Key);
 }
 private void WriteGroupOperation(IGroupOperation value, IFormatter formatter)
 {
     formatter.WriteKeyword("group");
     formatter.Write(" ");
     this.WriteExpression(value.Item, formatter);
     formatter.Write(" ");
     formatter.WriteKeyword("by");
     formatter.Write(" ");
     this.WriteExpression(value.Key, formatter);
 }
 public virtual IGroupOperation TransformGroupOperation(IGroupOperation value)
 {
     value.Item = this.TransformExpression(value.Item);
     value.Key = this.TransformExpression(value.Key);
     return value;
 }