@Override
    public SQLQuery<Tuple> select(Expression<?>... exprs) {
        queryMixin.setProjection(exprs);
        @SuppressWarnings("unchecked") // This is the new type
        SQLQuery<Tuple> newType = (SQLQuery<Tuple>) this;
        return newType;
    }
Create a new SQLQuery instance

@param connProvider Connection to use
@param configuration configuration
@param metadata metadata
querydsl-sql/src/main/java/com/querydsl/sql/SQLQuery.java