@Test
public void testUncheckVoid2() {

    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);
    };
    Stream.generate(new AtomicInteger(0)::incrementAndGet).limit(2)
            .map(zipValuesWithKeyFunc(String::valueOf))
            .forEach(onEntry(uncheckVoid2(consumer)));
    assertEquals("latch value should be 3", 3, latch.get());
}