@Override
        public void request(long n) {
            if (n <= 0) {
                // Just abort the publisher so subscriber().onError(e) is called and resources are cleaned up.
                publisher.abort(new IllegalArgumentException(
                        "n: " + n + " (expected: > 0, see Reactive Streams specification rule 3.9)"));
                return;
            }

            publisher.request(n);
        }
Replaces the subscriber with a placeholder so that it can be garbage-collected and
we conform to the Reactive Streams specification rule 3.13.
core/src/main/java/com/linecorp/armeria/common/stream/CancellableStreamMessage.java