@SuppressWarnings("unchecked")
    private Collection<? extends Expression<?>> expandProjection(Expression<?> expr) {
        if (expr instanceof FactoryExpression) {
            return ((FactoryExpression) expr).getArgs();
        } else {
            return Collections.singletonList(expr);
        }
    }
Creates an union expression for the given subqueries

@param <RT>
@param alias alias for union
@param sq subqueries
@return the current object
querydsl-sql/src/main/java/com/querydsl/sql/ProjectableSQLQuery.java