@Override public void run(){
  while (!isInterrupted()) {
    try {
      ValueHolder<K,V> ref=(ValueHolder<K,V>)_queue.remove();
      _table.remove(ref.getKey());
    }
 catch (    InterruptedException e) {
      interrupt();
      break;
    }
  }
}

@ Override public void run ( ) { while ( ! isInterrupted ( ) ) { try { ValueHolder < K , V > ref = ( ValueHolder < K , V > ) _queue . remove ( ) ; _table . remove ( ref . getKey ( ) ) ; } catch ( InterruptedException e ) { interrupt ( ) ; break ; } } }
block on the queue until an entry is been cleaned by the gc
