@Override
        public Class<?> listShape(ListShape shape) {
            // Do not create a property if the shape can inherit from the StringListTrait base class.
            if (TraitCodegenUtils.isJavaStringList(shape, symbolProvider)) {
                return StringListTrait.class;
            }
            return AbstractTrait.class;
        }
Returns the base class to use for a trait.
smithy-trait-codegen/src/main/java/software/amazon/smithy/traitcodegen/generators/TraitGenerator.java