private void doCleanup(Throwable cause) {
            final List<CompletableFuture<Void>> completionFutures =
                    new ArrayList<>(downstreamSubscriptions.size());
            downstreamSubscriptions.forEach(s -> {
                s.abort(cause);
                final CompletableFuture<Void> future = s.whenComplete();
                completionFutures.add(future);
            });
            downstreamSubscriptions.clear();
            CompletableFutures.successfulAsList(completionFutures, unused -> null)
                              .handle((unused1, unused2) -> {
                                  signals.clear(cause);
                                  return null;
                              });
        }
Returns the default {@link EventExecutor} which will be used when a user subscribes to a child
stream using {@link StreamMessage#subscribe(Subscriber, SubscriptionOption...)}.
core/src/main/java/com/linecorp/armeria/common/stream/DefaultStreamMessageDuplicator.java