 			return
 		}
 		
+		// TODO: statusesTable needs to cache status changes.
 		queue.update { (database) in
 			self.statusesTable.markArticleIDs(Set(articleIDs), statusKey, flag, database)
 		}


		return d
	}

	func findNewParsedItems(_ parsedItems: [String: ParsedItem], _ statuses: [String: ArticleStatus], _ articles: [String: Article]) -> [String: ParsedItem] {

		// If there’s no existing status or Article, then it’s completely new.

		assert(Thread.isMainThread)

		var d = [String: ParsedItem]()

		for (articleID, parsedItem) in parsedItems {
			if statuses[articleID] == nil && articles[articleID] == nil {
				d[articleID] = parsedItem
			}
		}

		return d
	}

	func findExistingParsedItems(_ parsedItems: [String: ParsedItem], _ statuses: [String: ArticleStatus], _ articles: [String: Article]) -> [String: ParsedItem] {

		return [String: ParsedItem]() //TODO
	}
}


		return articlesWithResultSet(resultSet, database)
	}

	// MARK: Save New Articles

	func saveNewArticles(_ articles: Set<Article>, _ database: FMDatabase) {
