private static Model loadPrelude() {
            return Model.assembler()
                    .disablePrelude()
                    // Model validation is disabled when loading the prelude
                    // because the prelude is validated during unit tests and
                    // the prelude is immutable. However, if the prelude is
                    // broken for whatever reason, ERROR events encountered
                    // when performing model validation that uses the prelude
                    // will still cause an error, meaning the prelude is still
                    // validated when actually loading and using other models.
                    .disableValidation()
                    .traitFactory(ModelAssembler.LazyTraitFactoryHolder.INSTANCE)
                    .addImport(Prelude.class.getResource("prelude.smithy"))
                    // Patch in synthetic box traits for v1 compatibility.
                    .addTrait(ShapeId.from("smithy.api#Boolean"), new BoxTrait())
                    .addTrait(ShapeId.from("smithy.api#Byte"), new BoxTrait())
                    .addTrait(ShapeId.from("smithy.api#Short"), new BoxTrait())
                    .addTrait(ShapeId.from("smithy.api#Integer"), new BoxTrait())
                    .addTrait(ShapeId.from("smithy.api#Long"), new BoxTrait())
                    .addTrait(ShapeId.from("smithy.api#Float"), new BoxTrait())
                    .addTrait(ShapeId.from("smithy.api#Double"), new BoxTrait())
                    .assemble()
                    .unwrap();
        }
Checks if the given shape is a public shape or trait defined by the
prelude.

@param id Shape to check.
@return Returns true if the shape is a public prelude shape.
smithy-model/src/main/java/software/amazon/smithy/model/loader/Prelude.java