                 mapping = try autoreleasepool { try preProcess(mapping) }
                 
                 var objects = Dictionary<T.UniqueIDType, T>()
-                for object in self.fetchAll(From<T>(), Where(T.uniqueIDKeyPath, isMemberOf: sortedIDs)) ?? [] {
+                for object in self.fetchAll(From(entityType), Where(entityType.uniqueIDKeyPath, isMemberOf: sortedIDs)) ?? [] {
                     
                     try autoreleasepool {
                         
                         let uniqueIDValue = object.uniqueIDValue
                         
                         guard let source = mapping.removeValue(forKey: uniqueIDValue),
-                            T.shouldUpdate(from: source, in: self) else {
+                            entityType.shouldUpdate(from: source, in: self) else {
                                 
                                 return
                         }

        
            return try autoreleasepool {
                
                guard T.shouldInsert(from: source, in: self) else {
                    
                    return nil
                }

                }
                else {
                    
                    guard entityType.shouldInsert(from: source, in: self) else {
                        
                        return nil
                    }
