anchor.diff:      var instance = entity.newInstance();
   
       instance[entity.primaryKey] = primaryKeyValue;
  -    trackInstance(instance);
  +
  +    var typeMap = distinctObjects[instance.entity.tableName];
  +    if (typeMap == null) {
  +      typeMap = {};
  +      distinctObjects[instance.entity.tableName] = typeMap;
  +    }
  +
  +    typeMap[instance[instance.entity.primaryKey]] = instance;
   
       return instance;
     }
  
positive.code:         .toList();
    }
  
    void trackInstance(ManagedObject instance) {
      var typeMap = trackedObjects[instance.entity.tableName];
      if (typeMap == null) {
        typeMap = {};
        trackedObjects[instance.entity.tableName] = typeMap;
      }
  
      typeMap[instance[instance.entity.primaryKey]] = instance;
    }
  
    ManagedObject getExistingInstance(
        ManagedEntity entity, dynamic primaryKeyValue) {
      var byType = trackedObjects[entity.tableName];
      if (byType == null) {
        return null;
      }
  
negative.code: class ManagedInstantiator {
    ManagedInstantiator(this.rootEntity);
  
    Map<String, Map<dynamic, ManagedObject>> distinctObjects = {};
    List<PropertyToColumnMapper> orderedMappingElements;
    ManagedEntity rootEntity;
  
  