@Override
    public JDOQuery<Tuple> select(Expression<?>... exprs) {
        queryMixin.setProjection(exprs);
        @SuppressWarnings("unchecked") // This is the new projection type
        JDOQuery<Tuple> newType = (JDOQuery<Tuple>) this;
        return newType;
    }
Clone the state of this query to a new {@link JDOQuery} instance with the given {@link PersistenceManager}

@param persistenceManager PersistenceManager instance to use
@return cloned query
querydsl-jdo/src/main/java/com/querydsl/jdo/JDOQuery.java