@Test
public void testResultNothing2() {

    final AtomicInteger latch = new AtomicInteger(0);
    final Fun.ThrowingBiConsumer<String, Integer> consumer = (key, newValue) -> {
        if (newValue % 3 == 0) {
            throw new Exception("multiples of three are disallowed");
        }
        latch.addAndGet(newValue);
    };
    List<Result<Nothing>> results = Stream.generate(new AtomicInteger(0)::incrementAndGet)
            .map(zipValuesWithKeyFunc(String::valueOf))
            .map(mapEntry(resultNothing2(consumer))).limit(10)
            .collect(Collectors.toList());
    assertEquals("results should have three failures",
            3, results.stream().filter(Result::isFailure).count());
}