code: private void prune()
  	{
  		if (useSoftReferences)
  		{
  			Iterator<Map.Entry<String, Object>> it = cache.entrySet().iterator();
  
  			while (it.hasNext())
  			{
  				final Map.Entry<String, Object> entry = it.next();
  
  				if (dereference(entry.getValue()) == null)
  					it.remove();
  			}
  		}
  	}
docs: Finds stale entries in the map