@Override
    public <E> CollQuery<E> select(Expression<E> expr) {
        queryMixin.setProjection(expr);
        @SuppressWarnings("unchecked") // This is the new projection's type
        CollQuery<E> newType = (CollQuery<E>) 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