 		}
 
 		compressionQueue.async {
-			self.compressArticleRecords(records) { compressedRecords in
-				self.save(compressedRecords, completion: completion)
-			}
+			let compressedRecords = self.compressArticleRecords(records)
+			self.save(compressedRecords, completion: completion)
 		}
 	}
 	

				if let contentText = record[CloudKitArticle.Fields.contentText] as? String {
					let data = Data(contentText.utf8) as NSData
					if let compressedData = try? data.compressed(using: .lzfse) {
						record[CloudKitArticle.Fields.contentTextData] = compressedData
						record[CloudKitArticle.Fields.contentText] = nil
					}
				}
				
			} else {
				
				result.append(record)
				
			}
		}
		
		completion(result)
	}

}

		}

		compressionQueue.async {
			let compressedModifyRecords = self.compressArticleRecords(modifyRecords)
			self.modify(recordsToSave: compressedModifyRecords, recordIDsToDelete: deleteRecordIDs) { result in
				switch result {
				case .success:
					let compressedNewRecords = self.compressArticleRecords(newRecords)
					self.saveIfNew(compressedNewRecords) { result in
						switch result {
						case .success:
							completion(.success(()))
						case .failure(let error):
							completion(.failure(error))
						}
					}
				case .failure(let error):
					self.handleModifyArticlesError(error, statusUpdates: statusUpdates, completion: completion)
				}
			}
		}
