@CheckReturnValue
    default boolean tryWrite(Supplier<? extends T> o) {
        requireNonNull(o, "o");
        final T obj = requireNonNull(o.get(), "o.get() returned null");
        return tryWrite(obj);
    }
Writes the specified object {@link Supplier} to the {@link StreamMessage}. The object provided by the
{@link Supplier} will be transferred to the {@link Subscriber}.

@return {@code true} if the specified object has been scheduled for publication. {@code false} if the
        stream has been closed already.
@see <a href="#reference-counted">Life cycle of reference-counted objects</a>
core/src/main/java/com/linecorp/armeria/common/stream/StreamWriter.java