private List<ValidationEvent> validateOperation(
            HttpBindingIndex bindings,
            OperationIndex opIndex,
            OperationShape shape
    ) {
        List<ValidationEvent> events = new ArrayList<>();
        validatePayload(shape.getId(), opIndex.expectInputShape(shape), bindings, true).ifPresent(events::add);
        validatePayload(shape.getId(), opIndex.expectOutputShape(shape), bindings, false).ifPresent(events::add);
        return events;
    }
Validates that if a payload trait is present then all members of the
input of an operation are bound to part of the message.
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/HttpPayloadValidator.java