code: public void reIndexParticipantData ()
    {
      final LocalDateTime aNow = PDTFactory.getCurrentLocalDateTime ();
  
      // Get and remove all items to re-index "now"
      final List <IReIndexWorkItem> aReIndexNowItems = m_aReIndexList.getAndRemoveAllEntries (aWorkItem -> aWorkItem.isRetryPossible (aNow));
  
      if (LOGGER.isDebugEnabled ())
        LOGGER.debug ("Re-indexing " + aReIndexNowItems.size () + " work items");
  
      for (final IReIndexWorkItem aReIndexItem : aReIndexNowItems)
      {
        LOGGER.info ("Try to re-index " + aReIndexItem.getLogText ());
  
        PDIndexExecutor.executeWorkItem (m_aStorageMgr,
                                         aReIndexItem.getWorkItem (),
                                         1 + aReIndexItem.getRetryCount (),
                                         aSuccessItem -> _onReIndexSuccess (aSuccessItem),
                                         aFailureItem -> _onReIndexFailure (aReIndexItem));
      }
    }
docs: Re-index all entries that are ready to be re-indexed now. This is called
  from a scheduled job only.