@Override
    public List<ValidationEvent> validate(Model model) {
        List<ValidationEvent> events = new ArrayList<>();
        for (ServiceShape serviceShape : model.getServiceShapesWithTrait(EndpointRuleSetTrait.class)) {
            Validator validator = new Validator(serviceShape);
            events.addAll(validator.visitRuleset(
                    serviceShape.expectTrait(EndpointRuleSetTrait.class).getEndpointRuleSet())
                    .collect(Collectors.toList()));
        }
        return events;
    }
Validator which verifies an endpoint with an authSchemes property conforms to a strict schema.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/validators/RuleSetAuthSchemesValidator.java