@Override
    public boolean removeIf(Predicate<? super E> filter) {
        // will throw UnsupportedOperationException; delegate anyway for testability
        return underlying().removeIf(filter);
    }
@Test
    public void testDelegationOfUnsupportedFunctionRemoveIf() {
        final Predicate<Object> mockPredicate = mock(Predicate.class);
        new PCollectionsHashSetWrapperDelegationChecker<>()
            .defineMockConfigurationForUnsupportedFunction(mock -> mock.removeIf(eq(mockPredicate)))
            .defineWrapperUnsupportedFunctionInvocation(wrapper -> wrapper.removeIf(mockPredicate))
            .doUnsupportedFunctionDelegationCheck();
    }