public static List<Expression<?>> distinctList(Expression<?>[]... args) {
        final Set<Expression<?>> set = new LinkedHashSet<>();
        for (Expression<?>[] arr : args) {
            Collections.addAll(set, arr);
        }
        return CollectionUtils.unmodifiableList(new ArrayList<>(set));
    }
Create a distinct list of the concatenated array contents

@param args elements
@return list with distinct elements
querydsl-core/src/main/java/com/querydsl/core/types/ExpressionUtils.java