class SequentialSubscription implements Subscription, Cancellable {

    @Override
    public void cancel() {
        final Subscription currSubscription = subscription;
        final long currSourceRequested = sourceRequestedUpdater.getAndSet(this, CANCELLED);
        // To avoid concurrent invocation with the switch thread we defer to that thread to cancel.
        if (currSourceRequested >= 0) {
            currSubscription.cancel();
        }
    }

      SequentialSubscription();
      SequentialSubscription(Subscription delegate);

}