@Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (o instanceof JoinExpression) {
            JoinExpression j = (JoinExpression) o;
            return Objects.equals(condition, j.condition) &&
                   Objects.equals(target, j.target) &&
                   Objects.equals(type, j.type);
        } else {
            return false;
        }
    }
Create a new JoinExpression instance

@param type type of join
@param target target of join
@param condition join condition or null, if none is used
@param flags join flags
querydsl-core/src/main/java/com/querydsl/core/JoinExpression.java