                 
                 // Item update for the old section order, because the sections
                 // are not moved yet
-                for (oldSectionIndex, itemDiff) in itemDiffs.sorted(isOrderedBefore: { $0.0 < $1.0 }) {
+                for (oldSectionIndex, itemDiff) in itemDiffs.sorted(by: { $0.0 < $1.0 }) {
                     
                     // Call item handler functions
                     self.itemUpdate?(

        self.resultIsOutOfDate = false

        // Do the diffing on a background thread
        let backgroundQueue = DispatchQueue.global(attributes: DispatchQueue.GlobalAttributes.qosBackground)

        backgroundQueue.async {


        
        let nanoSeconds: Int64 = Int64(Double(NSEC_PER_SEC) * time);
        let when = DispatchTime.now() + Double(nanoSeconds) / Double(NSEC_PER_SEC)

        DispatchQueue.main.asyncAfter(deadline: when, execute: {
            action()
        })
    }
}
