private ValidationEvent emit(Shape shape, int element, int segment, Shape evaluated) {
        TraitDefinition definition = shape.expectTrait(TraitDefinition.class);
        NodePointer path = definition.getBreakingChanges().get(element).getDefaultedPath();
        return error(shape,
                definition,
                String.format(
                        "Invalid trait breakingChanges element %d, '%s', at segment '%s': "
                                + "Evaluated shape `%s`, a %s, has no member named `%s`",
                        element,
                        path,
                        path.getParts().get(segment),
                        evaluated.getId(),
                        evaluated.getType(),
                        path.getParts().get(segment)));
    }
Validates that the JSON pointer paths of the breakingChanges property
of a trait refers to valid parts of the model.
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/TraitBreakingChangesValidator.java