+ /**
+ * Returns an ordering that sorts torrent files by whether they are new
+ * (according to {@link #newTorrentFiles}) or not. New files will be sorted
+ * first.
+ *
+ * @return An ordering for “new files first”
+ */
+ private Ordering<TorrentFile> sortNewFirst() {
+ return new Ordering<TorrentFile>() {
+
+ @Override
+ public int compare(TorrentFile leftTorrentFile, TorrentFile rightTorrentFile) {
+ if (newTorrentFiles.contains(leftTorrentFile) && !newTorrentFiles.contains(rightTorrentFile)) {
+ return -1;
+ }
+ if (!newTorrentFiles.contains(leftTorrentFile) && newTorrentFiles.contains(rightTorrentFile)) {
+ return 1;
+ }
+ return 0;
+ }
+ };
+ }
+