@Override
    public ObjectNode toNode() {
        ObjectNode.Builder builder = ObjectNode.objectNodeBuilder()
                .withMember(ID_TEXT, id)
                .withMember(TYPE_TEXT, type)
                .withOptionalMember(FILE_TEXT, getFile().map(Node::from))
                .withOptionalMember(LINE_TEXT, getLine().map(Node::from))
                .withOptionalMember(COLUMN_TEXT, getColumn().map(Node::from));

        if (!tags.isEmpty()) {
            builder.withMember(TAGS_TEXT, Node.fromStrings(tags));
        }

        return builder.build();
    }
Converts instance variables into an ObjectNode for writing out a ShapeLink.

@return returns an ObjectNode that contains the StringNodes with the information
from a ShapeLink
smithy-codegen-core/src/main/java/software/amazon/smithy/codegen/core/trace/ShapeLink.java