@Override
    protected HibernateQuery<T> clone(SessionHolder sessionHolder) {
        HibernateQuery<T> q = new HibernateQuery<T>(sessionHolder,
                getTemplates(), getMetadata().clone());
        q.clone(this);
        return q;
    }
Creates a new Session bound query

@param session session
@param templates templates
@param metadata query metadata
querydsl-jpa/src/main/java/com/querydsl/jpa/hibernate/HibernateQuery.java