private String createConflictingBindingDescriptor(TopicBinding<? extends Trait> binding) {
        return String.format(
                "`%s` trait payload %s of `%s`",
                Trait.getIdiomaticTraitName(binding.getMqttTrait().toShapeId()),
                binding.getPayloadShape().map(Shape::getId).map(id -> "`" + id + "`").orElse("N/A"),
                binding.getOperation().getId());
    }
Validates that no two MQTT topics conflict.

<p>MQTT topics are allowed to conflict if both topics target the
same shape.
smithy-mqtt-traits/src/main/java/software/amazon/smithy/mqtt/traits/validators/MqttTopicConflictValidator.java