@Override
    public JPASQLQuery<Tuple> select(Expression<?>... exprs) {
        queryMixin.setProjection(exprs);
        @SuppressWarnings("unchecked") // This is the new type
        JPASQLQuery<Tuple> newType = (JPASQLQuery<Tuple>) this;
        return newType;
    }
{@code JPASQLQuery} is an SQLQuery implementation that uses JPA Native SQL functionality
to execute queries

@param <T> result type

@author tiwe
querydsl-jpa/src/main/java/com/querydsl/jpa/sql/JPASQLQuery.java