private void addResponseContent(
            Context<T> context,
            HttpBindingIndex bindingIndex,
            EventStreamIndex eventStreamIndex,
            ResponseObject.Builder responseBuilder,
            Shape operationOrError,
            OperationShape operation
    ) {
        List<HttpBinding> payloadBindings = bindingIndex.getResponseBindings(
                operationOrError,
                HttpBinding.Location.PAYLOAD);

        // Get the default media type if one cannot be resolved.
        String documentMediaType = getDocumentMediaType(context, operationOrError, MessageType.RESPONSE);

        // Get the event stream media type if an event stream is in use.
        String eventStreamMediaType = eventStreamIndex.getOutputInfo(operationOrError)
                .map(info -> getEventStreamMediaType(context, info))
                .orElse(null);

        String mediaType = bindingIndex
                .determineResponseContentType(operationOrError, documentMediaType, eventStreamMediaType)
                .orElse(null);

        if (!payloadBindings.isEmpty()) {
            createResponsePayload(mediaType,
                    context,
                    payloadBindings.get(0),
                    responseBuilder,
                    operationOrError,
                    operation);
        } else {
            createResponseDocumentIfNeeded(mediaType,
                    context,
                    bindingIndex,
                    responseBuilder,
                    operationOrError,
                    operation);
        }
    }
Gets the media type of an event stream for the protocol.

<p>By default, this method returns the binary AWS event stream
media type, {@code application/vnd.amazon.eventstream}.

@param context Conversion context.
@param info Event stream info to provide the media type for.
@return Returns the media type of the event stream.
smithy-openapi/src/main/java/software/amazon/smithy/openapi/fromsmithy/protocols/AbstractRestProtocol.java