@Override
    public Iterator<E> descendingIterator() {
        return underlying().descendingIterator();
    }
@Test
    public void testDelegationOfDescendingIterator() {
        TreePSet<Integer> testSet = TreePSet.from(Arrays.asList(2, 3, 4));
        new PCollectionsTreeSetWrapperDelegationChecker<>()
                .defineMockConfigurationForFunctionInvocation(TreePSet::descendingIterator, testSet.descendingIterator())
                .defineWrapperFunctionInvocationAndMockReturnValueTransformation(PCollectionsImmutableNavigableSet::descendingIterator, identity())
                .doFunctionDelegationCheck();
    }