@Override
    public V put(K key, V value) {
        // will throw UnsupportedOperationException; delegate anyway for testability
        return underlying().put(key, value);
    }
@Test
    public void testDelegationOfUnsupportedFunctionPut() {
        new PCollectionsHashMapWrapperDelegationChecker<>()
            .defineMockConfigurationForUnsupportedFunction(mock -> mock.put(eq(this), eq(this)))
            .defineWrapperUnsupportedFunctionInvocation(wrapper -> wrapper.put(this, this))
            .doUnsupportedFunctionDelegationCheck();
    }