@Override public void run(){
  while (exitWhenFinished == false || trackers.size() > 0) {
    try {
      Tracker tracker=(Tracker)q.remove();
      trackers.remove(tracker);
      if (!tracker.delete()) {
        deleteFailures.add(tracker.getPath());
      }
      tracker.clear();
    }
 catch (    InterruptedException e) {
      continue;
    }
  }
}

@ Override public void run ( ) { while ( exitWhenFinished == false || trackers . size ( ) > 0 ) { try { Tracker tracker = ( Tracker ) q . remove ( ) ; trackers . remove ( tracker ) ; if ( ! tracker . delete ( ) ) { deleteFailures . add ( tracker . getPath ( ) ) ; } tracker . clear ( ) ; } catch ( InterruptedException e ) { continue ; } } }
run the reaper thread that will delete files as their associated marker objects are reclaimed by the garbage collector .
