@Override
        public Node objectNode(ObjectNode node) {
            return node.getMembers()
                    .entrySet()
                    .stream()
                    .map(entry -> Pair.of(entry.getKey().accept(this), entry.getValue().accept(this)))
                    .collect(ObjectNode.collect(pair -> pair.getLeft().expectStringNode(), Pair::getRight));
        }
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