@SafeVarargs
    @SuppressWarnings("varargs") // Creating a List from an array is safe
    public static <T> Stream<Stream<T>> of(final T... items) {
        return of(Arrays.asList(items));
    }
General Permutation support from
http://minborgsjavapot.blogspot.com/2015/07/java-8-master-permutations.html

@author Per Minborg
common-parent/combinatorics/src/main/java/com/speedment/common/combinatorics/internal/PermutationUtil.java