protected virtual DbGroupExpressionBinding VisitGroupExpressionBinding(DbGroupExpressionBinding binding)
        {
            var result = binding;

            if (binding != null)
            {
                var newInput = VisitExpression(binding.Expression);
                if (!ReferenceEquals(binding.Expression, newInput))
                {
                    result = CqtBuilder.GroupBindAs(newInput, binding.VariableName, binding.GroupVariableName);
                    RebindVariable(binding.Variable, result.Variable);
                    RebindVariable(binding.GroupVariable, result.GroupVariable);
                }
            }
            return(result);
        }