@Override
    public List<ValidationEvent> validate(Model model) {
        if (!model.isTraitApplied(HttpTrait.class)) {
            return Collections.emptyList();
        }

        HttpBindingIndex bindingIndex = HttpBindingIndex.of(model);
        List<ValidationEvent> events = new ArrayList<>();
        for (OperationShape operation : model.getOperationShapesWithTrait(HttpTrait.class)) {
            events.addAll(validateOperation(bindingIndex, operation, operation.expectTrait(HttpTrait.class)));
        }

        return events;
    }
Provides the configuration for each HTTP method name:

<ul>
    <li>Key: (String) method</li>
    <li>(Boolean) isReadonly</li>
    <li>(Boolean) isIdempotent</li>
    <li>(Boolean) allowsRequestPayload</li>
    <li>(Boolean) warningMessageWhenModeled</li>
</ul>

<p>Setting any of the Boolean properties to {@code null} means that
the validator will have no enforced semantic on a specific property.
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/HttpMethodSemanticsValidator.java