@Override
                public void onError(Throwable cause) {
                    onSubscribeLatch.assertClosed("onSubscribe should be called prior to onError always");
                    onErrorLatch.assertOpen("Only one onError call expected");
                    onErrorLatch.close();
                }
Rule 1.4 and 1.9 ensure a Publisher's ability to signal error to the Subscriber, however the
implementation expects such error to occur immediately after subscribing, i.e. {@code onError()} is
called after {@code onSubscribe()}.
The {@link SurroundingPublisher} however subscribes publisher and signals error after the first request,
therefore for the error to be signaled, we must make requests first.

{@link PublisherVerificationRules#optional_spec104_mustSignalOnErrorWhenFails()} and
{@link PublisherVerificationRules#required_spec109_mayRejectCallsToSubscribeIfPublisherIsUnableOrUnwillingToServeThemRejectionMustTriggerOnErrorAfterOnSubscribe()}
are overridden below to call {@link Subscription#request(long)} after subscribing.
core/src/test/java/com/linecorp/armeria/internal/common/stream/SurroundingPublisherTckTest.java