@Override
    public CollQuery<Tuple> select(Expression<?>... exprs) {
        queryMixin.setProjection(exprs);
        @SuppressWarnings("unchecked") // This is the new projection's type
        CollQuery<Tuple> newType = (CollQuery<Tuple>) queryMixin.getSelf();
        return newType;
    }
Clone the state of this query to a new CollQuery instance
querydsl-collections/src/main/java/com/querydsl/collections/CollQuery.java