@Override public synchronized InputStream getWritebackFilter( InputStream in, String key, int pos, final Callback<Boolean> complete) throws IOException { validate(key); DiskLruCacheEntry entry = lruEntries.get(key); if (entry == null) { entry = new DiskLruCacheEntry(this, key); lruEntries.put(key, entry); } boolean readable = entry.isReadable(); InputStream wrapper = entry.getWritebackFilter(in, pos, complete); // flush the index before creating files to prevent file leaks if (wrapper != null) { writeIndex(readable ? UPDATE : WRITE, entry); return wrapper; // } return in; }