@Override
    public final B id(ShapeId shapeId) {
        // If there are already any members set, update their ids to point to the new parent id.
        for (MemberShape member : members.peek().values()) {
            addMember(member.toBuilder().id(shapeId.withMember(member.getMemberName())).build());
        }
        return super.id(shapeId);
    }
Builder used to create a List or Set shape.
@param <B> Concrete builder type.
@param <S> Shape type being created.
smithy-model/src/main/java/software/amazon/smithy/model/shapes/NamedMembersShapeBuilder.java