public virtual Expression VisitSqlSubStatementExpression (SqlSubStatementExpression expression)
{
ArgumentUtility.CheckNotNull ("expression", expression);
var resolvedSqlStatement = _stage.ResolveSqlStatement (expression.SqlStatement, _context);
var resolvedExpression = Equals (resolvedSqlStatement, expression.SqlStatement)
? expression
: new SqlSubStatementExpression (resolvedSqlStatement);
return _groupAggregateSimplifier.SimplifyIfPossible (resolvedExpression, expression.SqlStatement.SelectProjection);
}