public static <V, F extends Future<V>> F cascade(final F future, final Promise<? super V> promise) {
        return cascade(true, future, promise);
    }
@Test
    public void testCancelPropagationWhenFusedFromFuture() {
        Promise<Void> p1 = ImmediateEventExecutor.INSTANCE.newPromise();
        Promise<Void> p2 = ImmediateEventExecutor.INSTANCE.newPromise();

        Promise<Void> returned = PromiseNotifier.cascade(p1, p2);
        assertSame(p1, returned);

        assertTrue(returned.cancel(false));
        assertTrue(returned.isCancelled());
        assertTrue(p2.isCancelled());
    }