@Override
 public void remove(Directory dir, boolean deleteAfterCoreClose) throws IOException {
   synchronized (this) {
     CacheValue val = byDirectoryCache.get(dir);
     if (val == null) {
       throw new IllegalArgumentException("Unknown directory " + dir);
     }
     val.setDeleteOnClose(true, deleteAfterCoreClose);
   }
 }
 @Override
 public void remove(String path, boolean deleteAfterCoreClose) throws IOException {
   synchronized (this) {
     CacheValue val = byPathCache.get(normalize(path));
     if (val == null) {
       throw new IllegalArgumentException("Unknown directory " + path);
     }
     val.setDeleteOnClose(true, deleteAfterCoreClose);
   }
 }