@Override
    public final void apply(Shape shape, Node value, Context context, Emitter emitter) {
        if (shape.hasTrait(RangeTrait.ID)) {
            if (value.isNumberNode()) {
                check(shape, context, shape.expectTrait(RangeTrait.class), value.expectNumberNode(), emitter);
            } else if (value.isStringNode()) {
                checkNonNumeric(shape,
                        shape.expectTrait(RangeTrait.class),
                        value.expectStringNode(),
                        emitter,
                        context);
            }
        }
    }
Validates the range trait on number shapes or members that target them.
smithy-model/src/main/java/software/amazon/smithy/model/validation/node/RangeTraitPlugin.java