@Override
        @SuppressWarnings("deprecation")
        ValidationEvent validateVersionedTrait(ShapeId target, ShapeId traitId, Node value) {
            if (traitId.equals(BoxTrait.ID)) {
                return ValidationEvent.builder()
                        .id(Validator.MODEL_ERROR)
                        .severity(Severity.ERROR)
                        .shapeId(target)
                        .sourceLocation(value)
                        .message("@box is not supported in Smithy IDL 2.0")
                        .build();
            } else if (traitId.equals(EnumTrait.ID)) {
                return ValidationEvent.builder()
                        .id(Validator.MODEL_DEPRECATION)
                        .severity(Severity.WARNING)
                        .shapeId(target)
                        .sourceLocation(value)
                        .message("The enum trait is deprecated. Smithy 2.0 models should use the enum shape.")
                        .build();
            }

            return null;
        }
Tracks version-specific features and validation.
smithy-model/src/main/java/software/amazon/smithy/model/loader/Version.java