private void rebuildList() {
    ThreadingAssertions.assertEventDispatchThread();

    myListRenderingAlarm.cancelAllRequests();
    myResultsList.getEmptyText().setText(FindBundle.message("empty.text.searching"));

    if (DumbService.getInstance(myProject).isDumb()) {
      myResultsList.setEmptyText(IdeBundle.message("run.anything.indexing.mode.not.supported"));
      return;
    }

    ReadAction.nonBlocking(() -> new RunAnythingCalcThread(myProject, getDataContext(), getSearchPattern()).compute())
      .coalesceBy(this)
      .finishOnUiThread(ModalityState.defaultModalityState(), model ->
        myListRenderingAlarm.addRequest(() -> {
          addListDataListener(model);
          myResultsList.setModel(model);
          model.update();
        }, 150))
      .submit(myExecutorService);
  }
private void rebuildList()