private void purgeOne(){
synchronized (queue) {
    WeakKey key=(WeakKey)queue.poll();
    if (key != null) {
      super.remove(key.getReferenced());
    }
  }
}

private void purgeOne ( ) { synchronized ( queue ) { WeakKey key = ( WeakKey ) queue . poll ( ) ; if ( key != null ) { super . remove ( key . getReferenced ( ) ) ; } } }
purges one entry whose wrapped key has been garbage collected .
