code: public void purge() {
  		long startTime=System.currentTimeMillis();
  		long objectPurged=0;
  		
  		Set<Map.Entry<String, T>> set=map.entrySet();
  		
  		long time=System.currentTimeMillis()-minUnactiveTime;
  		
  		for (Iterator<Map.Entry<String, T>> i=set.iterator();i.hasNext();){
  			Map.Entry<String, T> entry=i.next();
  			T object=entry.getValue();
  			
  			// Check if the object has to be removed from the cache
  			if (object.getLastAccess()<time && object.canPurge() ){
  				i.remove();
  				objectPurged++;
  			}
  		}
  		
  		if (log.isInfoEnabled()){
  			if (objectPurged==0){
  				if (log.isDebugEnabled()){
  					log.info("Cache:"+name+
  							 " Purged:"+objectPurged+
  							 " Time:"+(System.currentTimeMillis()-startTime));
  				}
  			} else {
  				log.info("Cache:"+name+
  						 " Purged:"+objectPurged+
  						 " Time:"+(System.currentTimeMillis()-startTime));
  			}
  		}
  		
  	}
docs: This purge all the object expired or objects that can be purged