public static <O> StreamMessage<O> of(HttpMessage httpMessage,
                                          HttpDecoder<O> decoder, ByteBufAllocator alloc) {
        // HttpDecoder only decodes HttpData in HttpMessage.
        @SuppressWarnings("unchecked")
        final StreamDecoder<HttpObject, O> cast = (StreamDecoder<HttpObject, O>) (StreamDecoder<?, ?>) decoder;
        return new DecodedStreamMessage<>(httpMessage, cast, alloc);
    }
Returns a {@link StreamMessage} that is decoded from the {@link HttpMessage} using the specified
{@link HttpDecoder}.
core/src/main/java/com/linecorp/armeria/internal/common/stream/DecodedStreamMessage.java