code: private void updateLru(CacheItem<K,V> item)
    {
      long lruCounter = _lruCounter;
      long itemCounter = item._lruCounter;
  
      long delta = (lruCounter - itemCounter) & 0x3fffffff;
  
      if (_lruTimeout < delta || delta < 0) {
        // update LRU only if not used recently
        updateLruImpl(item);
      }
    }
docs: Put item at the head of the used-twice lru list.
  This is always called while synchronized.