private List<ValidationEvent> validateService(ServiceShape service, ServiceIndex index) {
        List<ValidationEvent> events = new ArrayList<>();

        for (Trait protocol : index.getProtocols(service).values()) {
            if (protocol instanceof AwsProtocolTrait) {
                AwsProtocolTrait awsProtocolTrait = (AwsProtocolTrait) protocol;
                List<String> invalid = new ArrayList<>(awsProtocolTrait.getEventStreamHttp());
                invalid.removeAll(awsProtocolTrait.getHttp());
                if (!invalid.isEmpty()) {
                    events.add(error(service,
                            protocol,
                            String.format(
                                    "The following values of the `eventStreamHttp` property do "
                                            + "not also appear in the `http` property of the %s protocol "
                                            + "trait: %s",
                                    protocol.toShapeId(),
                                    invalid)));
                }
            }
        }

        return events;
    }
Ensures that every entry in {@code eventStreamHttp} also appears in
the {@code http} property of a protocol trait.
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/protocols/ProtocolHttpValidator.java