@Override
    public Set<Expression<?>> visit(Operation<?> expr, Set<Expression<?>> known) {
        if (expr.getOperator() == Ops.ALIAS) {
            known = add(known, expr.getArg(1));
        }
        for (Expression<?> arg : expr.getArgs()) {
            known = arg.accept(this, known);
        }
        return known;
    }
{@code ValidatingVisitor} visits expressions and ensures that only known path instances are used

@author tiwe
querydsl-core/src/main/java/com/querydsl/core/types/ValidatingVisitor.java