code: def _async_index_impl(self):
      
      start = time.time()
      logger.info('TextPlugin computing index_impl() in a new thread')
      self._index_cached = self.index_impl()
      self._index_impl_thread = None
      self._index_impl_lock.release()
      elapsed = time.time() - start
      logger.info(
          'TextPlugin index_impl() thread ending after %0.3f sec', elapsed)
docs: Computes index_impl() asynchronously on a separate thread.