@Override
        public Node stringNode(StringNode node) {
            if (toRename.contains(node.getValue())) {
                ShapeId nodeShapeId = node.expectShapeId();
                return new StringNode(shapeMapping.get(nodeShapeId).toString(), node.getSourceLocation());
            }
            return node;
        }
Renames shapes using ShapeId pairs while ensuring that the
 transformed model is in a consistent state.

 <p>Member shapes are updated when their containing shape is updated.

 <p>Trait references to ShapeId values are also updated.
smithy-model/src/main/java/software/amazon/smithy/model/transform/RenameShapes.java