internal GreenModelGroup PurgeWeakObjects(HashSet <ObjectId> strongObjects)
        {
            GreenModelGroup result = this;

            foreach (var model in this.models.Values)
            {
                result = result.UpdateModel(model.PurgeWeakObjects(strongObjects));
            }
            return(result);
        }
        internal GreenModelGroup ReplaceObject(ObjectId oid, ObjectId targetOid)
        {
            GreenModelGroup result = this;

            foreach (var model in this.models.Values)
            {
                result = result.UpdateModel(model.ReplaceObject(oid, targetOid));
            }
            return(result);
        }