code: private Collection<DiskStorage.Entry> getSortedEntries(Collection<DiskStorage.Entry> allEntries) {
      final long threshold = mClock.now() + DiskStorageCache.FUTURE_TIMESTAMP_THRESHOLD_MS;
      ArrayList<DiskStorage.Entry> sortedList = new ArrayList<>(allEntries.size());
      ArrayList<DiskStorage.Entry> listToSort = new ArrayList<>(allEntries.size());
      for (DiskStorage.Entry entry : allEntries) {
        if (entry.getTimestamp() > threshold) {
          sortedList.add(entry);
        } else {
          listToSort.add(entry);
        }
      }
      Collections.sort(listToSort, mEntryEvictionComparatorSupplier.get());
      sortedList.addAll(listToSort);
      return sortedList;
    }
docs: If any file timestamp is in the future (beyond now + FUTURE_TIMESTAMP_THRESHOLD_MS), we will
  set its effective timestamp to 0 (the beginning of unix time), thus sending it to the head of
  the queue for eviction (entries with the lowest timestamps are evicted first). This is a
  safety check in case we get files that are written with a future timestamp.
  We are adding a small delta (this constant) to account for network time changes, timezone
  changes, etc.