@Override
    public List<ValidationEvent> validate(Model model) {
        List<ValidationEvent> events = new ArrayList<>();
        for (OperationShape shape : model.getOperationShapesWithTrait(RequestCompressionTrait.class)) {
            validateOperationInput(model, shape, events);
            validateEncodings(model, shape, events);
        }
        return events;
    }
Validates the requestCompression trait.

- Validates that the operation input has no member with both streaming and
  requiresLength traits applied
- Validate encodings has at least one compression algorithm
- Validate encodings are all supported compression algorithms
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/RequestCompressionTraitValidator.java