private void safeOnSubscribeToUpstream() {
        final StreamMessage<T> upstream = this.upstream;
        final SubscriptionImpl downstreamSubscription = this.downstreamSubscription;
        if (upstream == null || downstreamSubscription == null || downstreamSubscription == NOOP_SUBSCRIPTION) {
            return;
        }

        if (!subscribedToUpstreamUpdater.compareAndSet(this, 0, 1)) {
            return;
        }

        upstream.subscribe(new ForwardingSubscriber(downstreamSubscription.subscriber()),
                           downstreamSubscription.executor(), downstreamSubscription.options());
    }
Closes the deferred stream without setting a delegate.

@throws IllegalStateException if the delegate has been set already or
                              if {@link #close()} or {@link #close(Throwable)} was called already.
core/src/main/java/com/linecorp/armeria/common/stream/DeferredStreamMessage.java