@Override
    public List<ValidationEvent> validate(Model model) {
        return model.shapes(ServiceShape.class)
                .flatMap(service -> validateService(model, service).stream())
                .collect(Collectors.toList());
    }
Ensures that no two waiters use the same case-insensitive name in the
closure of a service.
smithy-waiters/src/main/java/software/amazon/smithy/waiters/UniqueWaiterNamesValidator.java