alias = makeAlias(parent, table);
SimpleJoin simple = null;
    private Path addJoin(Path path, Constraint constraint) {        Table table = constraint.getTable();	Path parent = path.getParent();	Path alias = getAlias(parent, table);        if (alias != null) {            return alias;        }        alias = makeAlias(parent, table);        Join join = getJoin(path);        Join simple = new SimpleJoin(table, alias);        Path tmp = Path.add(alias, "__tmp__");        setColumns(tmp, getPaths(alias, constraint));        Condition cond = Condition.equals(tmp, parent);        if (isOuter(path)) {            join = new LeftJoin(join, simple, cond);        } else {            join = new InnerJoin(join, simple, cond);        }        setJoin(path, join);        setAlias(parent, table, alias);        return alias;    }