private ValidationEvent emitMediaTypeError(Shape shape, Trait trait, HttpMessageTestCase test, Throwable e) {
        return danger(shape,
                trait,
                String.format(
                        "Invalid %s content in `%s` protocol test case `%s`: %s",
                        test.getBodyMediaType().orElse(""),
                        trait.toShapeId(),
                        test.getId(),
                        e.getMessage()));
    }
Validates the following:

<ul>
    <li>XML and JSON bodyMediaTypes contain valid content.</li>
    <li>vendorParamsShape is a valid shape.</li>
    <li>Vendor params are compatible with any referenced shape.</li>
    <li>Params for a test case are valid for the model.</li>
</ul>

@param <T> Type of test case to validate.
smithy-protocol-test-traits/src/main/java/software/amazon/smithy/protocoltests/traits/ProtocolTestCaseValidator.java