@SuppressWarnings("unchecked")
    @Override
    public <RT> Expression<RT> convert(Expression<RT> expr, Role role) {
        expr = (Expression<RT>) expr.accept(mapAccessVisitor, null);
        expr = (Expression<RT>) expr.accept(listAccessVisitor, null);
        if (role == Role.ORDER_BY) {
            if (expr instanceof Path) {
                expr = convertPathForOrder((Path) expr);
            } else {
                expr = (Expression<RT>) expr.accept(replaceVisitor, null);
            }
        }
        return Conversions.convert(super.convert(expr, role));
    }
{@code JPAQueryMixin} extends {@link QueryMixin} to support JPQL join construction

@author tiwe

@param <T>
querydsl-jpa/src/main/java/com/querydsl/jpa/JPAQueryMixin.java