private void writeBuilderInterface() {
        if (baseShape.hasTrait(TraitDefinition.ID)) {
            if (TraitCodegenUtils.isJavaStringList(baseShape, symbolProvider)) {
                writer.write("extends $T.Builder<$T, Builder> {", StringListTrait.class, symbol);
            } else {
                writer.write("extends $T<$T, Builder> {", AbstractTraitBuilder.class, symbol);
            }
        } else {
            writer.write("implements $T<$T> {", SmithyBuilder.class, symbol);
        }
    }
Generates a static builder for a Java class.

<p>In addition to the static builder class, this generator will create
{@code builder()} and {@code toBuilder()} methods for the target class.
smithy-trait-codegen/src/main/java/software/amazon/smithy/traitcodegen/generators/BuilderGenerator.java