docs: private final CacheEntry internalFilterEntry(String cacheName, InvalidationTableList invalidationTableList, CacheEntry cacheEntry) {
  		InvalidateByIdEvent idEvent = null;
  		if (cacheEntry == null) {
  			if (tc.isDebugEnabled()) {
  				Tr.debug(tc, "internalFilterEntry(): Filtered cacheName=" + cacheName + " CE == NULL");
  			}
  			return null;
  		} else if (cacheEntry.id == null) {		
  			if (tc.isDebugEnabled()) {
  				Tr.debug(tc, "internalFilterEntry(): Filtered cacheName=" + cacheName + " id == NULL");
  			}
  		    return null;
  		}
  
  		long timeStamp = cacheEntry.getTimeStamp();
  		idEvent = (InvalidateByIdEvent) invalidationTableList.presentIdSet.get(cacheEntry.id);
  		if ((idEvent != null) && (idEvent.getTimeStamp() > timeStamp)) {
  			if (tc.isDebugEnabled()) {
  				Tr.debug(tc, "internalFilterEntry(): Filtered Found a more recent InvalidateByIdEvent for the cacheEntry in presentIdSet. cacheName=" + cacheName + " id=" + cacheEntry.id);
  			}
  			return null;
  		}
  		if (collision(invalidationTableList.presentTemplateSet, cacheEntry.getTemplates(), timeStamp) || collision(invalidationTableList.presentIdSet, cacheEntry.getDataIds(), timeStamp)) {
  			if (tc.isDebugEnabled()) {
  				Tr.debug(tc, "internalFilterEntry(): Filtered due to preexisting invalidations due to dependencies and templates in present template and IdSet. cacheName=" + cacheName + " id=" + cacheEntry.id);
  			}
  			return null;
  		}
  		if (timeStamp > lastTimeCleared) {
  			return cacheEntry;
  		}
  		//else check past values as well
  		idEvent = (InvalidateByIdEvent) invalidationTableList.pastIdSet.get(cacheEntry.id);
  
  		if ((idEvent != null) && (idEvent.getTimeStamp() > timeStamp)) {
  			if (tc.isDebugEnabled()) {
  				Tr.debug(tc, "internalFilterEntry(): Filtered Found a more recent InvalidateByIdEvent for the cacheEntry in pastIdSet. cacheName=" + cacheName + " id=" + cacheEntry.id);
  			}
  			return null;
  		}
  		if (collision(invalidationTableList.pastTemplateSet, cacheEntry.getTemplates(), timeStamp) || collision(invalidationTableList.pastIdSet, cacheEntry.getDataIds(), timeStamp)) {
  			if (tc.isDebugEnabled()) {
  				Tr.debug(tc, "internalFilterEntry(): Filtered due to preexisting invalidations due to dependencies and templates in past template and IdSet. cacheName=" + cacheName + " id=" + cacheEntry.id);
  			}
  			return null;
  		}
  		return cacheEntry;
  	}