private void writeEnumMembers(Collection<MemberShape> members) {
            if (members.isEmpty()) {
                codeWriter.writeInline("{}").write("");
                return;
            }

            codeWriter.openBlock("{", "}", () -> {
                for (MemberShape member : members) {
                    Map<ShapeId, Trait> traits = new LinkedHashMap<>(member.getAllTraits());
                    Optional<String> stringValue = member.expectTrait(EnumValueTrait.class).getStringValue();
                    boolean hasNormalName = stringValue.isPresent() && member.getMemberName().equals(stringValue.get());
                    String assignment = "";
                    if (!hasNormalName) {
                        assignment = " = " + Node.printJson(member.expectTrait(EnumValueTrait.class).toNode());
                    }
                    traits.remove(EnumValueTrait.ID);
                    serializeTraits(traits);
                    codeWriter.write("$L$L", member.getMemberName(), assignment);
                }
            });
        }
Serializes shapes in the IDL format.
smithy-model/src/main/java/software/amazon/smithy/model/shapes/SmithyIdlModelSerializer.java