private NodeValidationVisitor createVisitor(
            ObjectNode node,
            Model model,
            Shape shape,
            String caseId,
            String contextSuffix
    ) {
        return NodeValidationVisitor.builder()
                .model(model)
                .eventShapeId(shape.getId())
                .value(node)
                .startingContext(SmokeTestsTrait.ID + "." + caseId + contextSuffix)
                .eventId(getName())
                .timestampValidationStrategy(TimestampValidationStrategy.EPOCH_SECONDS)
                .addFeature(NodeValidationVisitor.Feature.ALLOW_OPTIONAL_NULLS)
                .build();
    }
Validates the following:

<ul>
    <li>vendorParamsShape is a valid shape.</li>
    <li>vendorParams is compatible with vendorParamsShape.</li>
    <li>input is valid for the operation under test.</li>
</ul>
smithy-smoke-test-traits/src/main/java/software/amazon/smithy/smoketests/traits/SmokeTestCaseValidator.java