public static <I, T> Future<Boolean> combineB(final List<I> source, final Function<I, Future<T>> generateFun) {
        final List<Future<T>> futures = new ArrayList<>();
        HUt.itList(source).map(generateFun).forEach(futures::add);
        return HArrange.combineT(futures).compose(nil -> Future.succeededFuture(Boolean.TRUE));
    }