public ArrayList filterEntryList ( String cacheName , ArrayList incomingList ) { InvalidationTableList invalidationTableList = getInvalidationTableList ( cacheName ) ; try { invalidationTableList . readWriteLock . readLock ( ) . lock ( ) ; Iterator it = incomingList . iterator ( ) ; while ( it . hasNext ( ) ) { Object obj = it . next ( ) ; if ( obj instanceof CacheEntry ) { // ignore any "push-pull" String id's in DRS case CacheEntry cacheEntry = ( CacheEntry ) obj ; if ( internalFilterEntry ( cacheName , invalidationTableList , cacheEntry ) == null ) { if ( tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "filterEntryList(): Filtered OUT cacheName=" + cacheName + " id=" + cacheEntry . id ) ; } it . remove ( ) ; } } } return incomingList ; } finally { invalidationTableList . readWriteLock . readLock ( ) . unlock ( ) ; } }
This ensures all incoming CacheEntrys have not been invalidated .