@Override
    public boolean add(E e) {
        // will throw UnsupportedOperationException; delegate anyway for testability
        return underlying().add(e);
    }
@Test
    public void testDelegationOfUnsupportedFunctionAdd() {
        new PCollectionsHashSetWrapperDelegationChecker<>()
            .defineMockConfigurationForUnsupportedFunction(mock -> mock.add(eq(this)))
            .defineWrapperUnsupportedFunctionInvocation(wrapper -> wrapper.add(this))
            .doUnsupportedFunctionDelegationCheck();
    }