private static <T> List<T> asList(T[] array, int newSize) {
        return Stream.of(array)
            .limit(newSize)
            .collect(Collectors.toList());
    }
Creates and returns all possible combinations of the given elements.

The order of the combinations in the stream is unspecified.

@param <T> element type
@param items to combine
@return all possible combinations of the given elements
common-parent/combinatorics/src/main/java/com/speedment/common/combinatorics/internal/CombinationUtil.java