private String getBuilderValue(MemberShape member) {
            String memberName = symbolProvider.toMemberName(member);

            // If the member requires a builderRef we need to copy that builder ref value rather than use it directly.
            if (symbolProvider.toSymbol(member).getProperty(SymbolProperties.BUILDER_REF_INITIALIZER).isPresent()) {
                if (TraitCodegenUtils.isNullableMember(member)) {
                    return writer.format("builder.$1L.hasValue() ? builder.$1L.copy() : null", memberName);
                } else {
                    return writer.format("builder.$1L.copy()", memberName);
                }
            }
            return writer.format("builder.$L", memberName);
        }
Generates the actual field initialization statements for each member of a shape.
smithy-trait-codegen/src/main/java/software/amazon/smithy/traitcodegen/generators/ConstructorGenerator.java