             let transformer = MTLJSONAdapter.arrayTransformerWithModelClass(WMFPageHistoryRevision.self)
             
             guard let revisions = transformer.transformedValue(value["revisions"]) as? [WMFPageHistoryRevision] else { return [] }
-            let reverseRevisions = revisions.reverse()
+            let reverseRevisions = Array(revisions.reverse())
             
-            revisionsByDay = zip(reverseRevisions, reverseRevisions.dropFirst()).reduce(revisionsByDay, combine: { (revisionsByDay, itemPair: RevisionCurrentPrevious) -> RevisionsByDay in
-                    var revisionsByDay = revisionsByDay
-                
-                    itemPair.current.revisionSize = itemPair.current.articleSizeAtRevision - itemPair.previous.articleSizeAtRevision
-                    update(revisionsByDay:&revisionsByDay, revision: itemPair.current)
-                
-                    return revisionsByDay
-                })
+            revisionsByDay = parse(revisions: reverseRevisions, existingRevisions: revisionsByDay)
         }
         
         return revisionsByDay.keys.sort(>).flatMap() { revisionsByDay[$0] }
+    }
+    
+    private func parse(revisions revisions: [WMFPageHistoryRevision], existingRevisions: RevisionsByDay) -> RevisionsByDay {
+        return zip(revisions, revisions.dropFirst()).reduce(existingRevisions, combine: { (revisionsByDay, itemPair: RevisionCurrentPrevious) -> RevisionsByDay in
+            var revisionsByDay = revisionsByDay
+            
+            itemPair.current.revisionSize = itemPair.current.articleSizeAtRevision - itemPair.previous.articleSizeAtRevision
+            update(revisionsByDay:&revisionsByDay, revision: itemPair.current)
+            
+            return revisionsByDay
+        })
     }
     
     private func update(inout revisionsByDay revisionsByDay: RevisionsByDay, revision: WMFPageHistoryRevision) {

        }
    }
    
    private typealias RevisionCurrentPrevious = (current: WMFPageHistoryRevision, previous: WMFPageHistoryRevision)
    private typealias RevisionsByDay = [Int: WMFPageHistorySection]


        })
    }
    
    //Mark: Paging
    private var continueKey: String?
    private var rvContinueKey: String?
    var batchComplete: Bool = false
    
    private func updatePagingState(responseObject: AnyObject) {
        if let continueInfo = responseObject["continue"] as? [String: AnyObject] {
            continueKey = continueInfo["continue"] as? String
