@Test
public void testTryOrVoid1() {

    final AtomicInteger latch = new AtomicInteger(0);
    final Fun.ThrowingConsumer<Integer> consumer = value -> {
        if (value % 3 == 0) {
            throw new Exception("multiples of three are disallowed");
        }
        latch.addAndGet(value);
    };
    Stream.generate(new AtomicInteger(0)::incrementAndGet).limit(10)
            .forEach(tryOrVoid1(consumer));
    assertEquals("latch value should be", 1 + 2 + 4 + 5 + 7 + 8 + 10, latch.get());
}