@Test
public void testUncheckTest1() {

    final Fun.ThrowingPredicate<Integer> predicate = value -> {
        if (value % 3 == 0) {
            throw new Exception("multiples of three are disallowed");
        }
        return value % 2 == 0;
    };
    Integer[] ints = Stream.generate(new AtomicInteger(0)::incrementAndGet).limit(2)
            .filter(uncheckTest1(predicate)).toArray(Integer[]::new);
    assertArrayEquals("ints should contain only 2", new Integer[]{2}, ints);
}