@Override
    public boolean cancel(boolean mayInterruptIfRunning) {
        boolean cancelled = original.cancel(mayInterruptIfRunning);
        try {
            return peel().cancel(mayInterruptIfRunning);
        } catch (CancellationException e) {
            // ignore; cancelled before scheduled-in
            ignore();
        }

        return cancelled;
    }
@Test
    public void cancel() throws Exception {
        ScheduledFuture<Object> outer = createScheduledFutureMock();
        ScheduledFuture<Object> inner = createScheduledFutureMock();
        when(outer.get()).thenReturn(inner);

        new DelegatingScheduledFutureStripper<Object>(outer).cancel(true);

        verify(inner).cancel(true);
    }