@Override
        public Void serviceShape(ServiceShape shape) {
            serializeTraits(shape);
            codeWriter.writeInline("service $L ", shape.getId().getName());
            writeMixins(shape);
            codeWriter.openBlock("{");

            if (!StringUtils.isBlank(shape.getIntroducedVersion())) {
                codeWriter.write("version: $S", shape.getIntroducedVersion());
            }

            codeWriter.writeOptionalIdList("operations", shape.getIntroducedOperations());
            codeWriter.writeOptionalIdList("resources", shape.getIntroducedResources());
            codeWriter.writeOptionalIdList("errors", shape.getIntroducedErrors());
            if (!shape.getIntroducedRename().isEmpty()) {
                codeWriter.openBlock("rename: {", "}", () -> {
                    for (Map.Entry<ShapeId, String> entry : shape.getIntroducedRename().entrySet()) {
                        codeWriter.write("$S: $S", entry.getKey(), entry.getValue());
                    }
                });
            }
            codeWriter.closeBlock("}").write("");
            return null;
        }
Serializes shapes in the IDL format.
smithy-model/src/main/java/software/amazon/smithy/model/shapes/SmithyIdlModelSerializer.java