WrappedSubscription implements Subscription { WrappedSubscription(Subscription subscription, Runnable onCancellation) { this.subscription = Objects.requireNonNull(subscription); this.cancellationHandler = onCancellation; } WrappedSubscription(Subscription subscription, Runnable onCancellation); @Override void request(long n); @Override void cancel();  }
@Test public void testWrappedSubscription() { Subscription subscription = new Subscription() { @Override public void request(long n) { } @Override public void cancel() { } }; WrappedSubscription wrapped = new WrappedSubscription(subscription, null); assertThat(wrapped).isNotNull(); wrapped.request(10); wrapped.cancel(); }