@Override
            List<ValidationEvent> validate(
                    Model model,
                    String path,
                    Shape shape,
                    ShapeId trait,
                    Node left,
                    Node right,
                    Severity severity
            ) {
                if (left != null) {
                    return Collections.emptyList();
                }

                String message;
                String pretty = ValidationUtils.tickedPrettyPrintedNode(right);
                if (path.isEmpty()) {
                    message = String.format("Added trait `%s` with value %s", trait, pretty);
                } else {
                    message = String.format("Added trait contents to `%s` at path `%s` with value %s",
                            trait,
                            path,
                            pretty);
                }

                return Collections.singletonList(ValidationEvent.builder()
                        .id(getValidationEventId(this, trait))
                        .severity(severity)
                        .shape(shape)
                        .sourceLocation(right)
                        .message(message)
                        .build());
            }
Traits in this list have special backward compatibility rules and can't be validated here.
smithy-diff/src/main/java/software/amazon/smithy/diff/evaluators/ModifiedTrait.java