code: public void expireOldEntries ()
    {
      // Expire old entries
      final ICommonsList <IReIndexWorkItem> aExpiredItems = m_aReIndexList.getAndRemoveAllEntries (IReIndexWorkItem::isExpired);
      if (aExpiredItems.isNotEmpty ())
      {
        LOGGER.info ("Expiring " + aExpiredItems.size () + " re-index work items and move them to the dead list");
  
        for (final IReIndexWorkItem aItem : aExpiredItems)
        {
          // remove them from the overall list but move to dead item list
          m_aRWLock.writeLocked ( () -> m_aUniqueItems.remove (aItem.getWorkItem ()));
  
          // move all to the dead item list
          m_aDeadList.addItem ((ReIndexWorkItem) aItem);
          LOGGER.info ("Added " + aItem.getLogText () + " to the dead list");
        }
      }
    }
docs: Expire all re-index entries that are in the list for a too long time. This
  is called from a scheduled job only. All respective items are move from the
  re-index list to the dead list.