@Override
    public boolean removeAll(Collection<?> c) {
        // will throw UnsupportedOperationException; delegate anyway for testability
        return underlying().removeAll(c);
    }
@Test
    public void testDelegationOfUnsupportedFunctionRemoveAll() {
        new PCollectionsHashSetWrapperDelegationChecker<>()
            .defineMockConfigurationForUnsupportedFunction(mock -> mock.removeAll(eq(Collections.emptyList())))
            .defineWrapperUnsupportedFunctionInvocation(wrapper -> wrapper.removeAll(Collections.emptyList()))
            .doUnsupportedFunctionDelegationCheck();
    }