private List<ValidationEvent> validateBindings(
            Map<StructureShape, Map<String, Set<String>>> queryBindings,
            Map<StructureShape, List<OperationShape>> structureToOperations
    ) {
        List<ValidationEvent> events = new ArrayList<>();

        for (Map.Entry<StructureShape, Map<String, Set<String>>> entry : queryBindings.entrySet()) {
            for (Map.Entry<String, Set<String>> paramsToMembers : entry.getValue().entrySet()) {
                // Emit if there are bindings on this shape for the same query string parameter.
                if (paramsToMembers.getValue().size() > 1) {
                    events.add(error(entry.getKey(),
                            String.format(
                                    "`httpQuery` parameter name binding conflicts found for the `%s` parameter in the "
                                            + "following structure members: %s",
                                    paramsToMembers.getKey(),
                                    ValidationUtils.tickedList(paramsToMembers.getValue()))));
                }
            }

            List<OperationShape> operations = structureToOperations.getOrDefault(entry.getKey(),
                    Collections.emptyList());
            for (OperationShape operation : operations) {
                UriPattern pattern = operation.expectTrait(HttpTrait.class).getUri();
                for (Map.Entry<String, String> literalEntry : pattern.getQueryLiterals().entrySet()) {
                    String literalKey = literalEntry.getKey();
                    if (entry.getValue().containsKey(literalKey)) {
                        events.add(error(entry.getKey(),
                                String.format(
                                        "`httpQuery` name `%s` conflicts with the `http` trait of the `%s` operation: `%s`",
                                        literalKey,
                                        operation.getId(),
                                        pattern)));
                    }
                }
            }
        }

        return events;
    }
Validates that httpQuery trait bindings are case-sensitively unique.
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/HttpQueryTraitValidator.java