default StreamMessageDuplicator<T> toDuplicator(EventExecutor executor) {
        requireNonNull(executor, "executor");
        return new DefaultStreamMessageDuplicator<>(this, unused -> 0, executor, 0 /* no limit for length */);
    }
Returns a new {@link StreamMessageDuplicator} that duplicates this {@link StreamMessage} into one or
more {@link StreamMessage}s, which publish the same elements.
Note that you cannot subscribe to this {@link StreamMessage} anymore after you call this method.
To subscribe, call {@link StreamMessageDuplicator#duplicate()} from the returned
{@link StreamMessageDuplicator}.

@param executor the executor to duplicate
core/src/main/java/com/linecorp/armeria/common/stream/StreamMessage.java