NamedExpressionCombiner analyzes the inner expression of a NamedExpression and returns a combined expression if possible. A combined expression is an expression equivalent to the inner expression but with the name included. The process of combining named expressions must be performed during the mapping resolution stage because the name of an entity or value in a sub-statement must be defined before an outer statement's reference to that entity or value is resolved by SubStatementReferenceResolver.