public static FactoryExpression<?> wrap(List<? extends Expression<?>> projection) {
        boolean usesFactoryExpressions = false;
        for (Expression<?> e : projection) {
            usesFactoryExpressions |= e instanceof FactoryExpression;
        }
        if (usesFactoryExpressions) {
            return wrap(new ArrayConstructorExpression<Object>(
                    projection.toArray(new Expression<?>[0])));
        } else {
            return null;
        }
    }
{@code FactoryExpressionAdapter} provides an adapter implementation of the {@link FactoryExpression} interface

@param <T>
querydsl-core/src/main/java/com/querydsl/core/types/FactoryExpressionUtils.java