@Override
    public List<ValidationEvent> validate(Model model) {
        List<ValidationEvent> events = new ArrayList<>();
        OperationIndex index = OperationIndex.of(model);
        for (OperationShape operation : model.getOperationShapes()) {
            StructureShape input = index.expectInputShape(operation);
            StructureShape output = index.expectOutputShape(operation);
            validateInputOutputSet(operation, input, output, events);
        }
        return events;
    }
Validates that all operations define input and output structures that are marked
with the input and output traits.
smithy-linters/src/main/java/software/amazon/smithy/linters/InputOutputStructureReuseValidator.java