code: public void flush() throws InterruptedException {
      List<Entry> toFlush = new ArrayList<>(mEvictBatchSize);
      Iterator<Entry> it = mMap.values().iterator();
      while (it.hasNext()) {
        if (Thread.interrupted()) {
          throw new InterruptedException();
        }
        while (toFlush.size() < mEvictBatchSize && it.hasNext()) {
          Entry candidate = it.next();
          if (candidate.mDirty) {
            toFlush.add(candidate);
          }
        }
        flushEntries(toFlush);
        toFlush.clear();
      }
    }
docs: Flushes all data to the backing store.