private void subscribe(SubscriptionImpl subscription, Subscriber<Object> subscriber) {
        if (downstreamOnSubscribeCalled) {
            // abort is called.
            return;
        }
        downstreamOnSubscribeCalled = true;
        try {
            subscriber.onSubscribe(subscription);
        } catch (Throwable t) {
            abort(t);
            throwIfFatal(t);
            logger.warn("Subscriber.onSubscribe() should not raise an exception. subscriber: {}",
                        subscriber, t);
            return;
        }
        safeOnSubscribeToUpstream();
    }
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