private ShapeId protocolWithBindings(ServiceShape service, Model model) {
        return ServiceIndex.of(model)
                .getProtocols(service)
                .values()
                .stream()
                .map(t -> model.expectShape(t.toShapeId()))
                .map(s -> Pair.of(s.getId(), s.expectTrait(ProtocolDefinitionTrait.class)))
                .filter(pair -> pair.getRight().getTraits().contains(HttpTrait.ID))
                .map(Pair::getLeft)
                .findFirst()
                .orElse(null);
    }
Validates that if any operation in a service uses the http trait,
then all operations use them.
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/HttpBindingsMissingValidator.java