protected virtual DbGroupAggregate VisitGroupAggregate(DbGroupAggregate aggregate) { DbGroupAggregate result = aggregate; if (aggregate != null) { IList <DbExpression> newArguments = this.VisitExpressionList(aggregate.Arguments); Debug.Assert(newArguments.Count == 1, "Group aggregate had more than one argument?"); if (!object.ReferenceEquals(aggregate.Arguments, newArguments)) { result = CqtBuilder.GroupAggregate(newArguments[0]); } } return(result); }