code: @Override
      public synchronized void run() {
          List<FileNode> tmp;
  
          tmp = delete;
          delete = null;
          for (FileNode node : tmp) {
              tryDelete(node);
          }
          for (Runnable runnable : onShutdown) {
              runnable.run();
          }
      }
docs: --