private void updateOnSelectionChanged(@NotNull Project project) {
    ThreadingAssertions.assertEventDispatchThread();
    if (myCurrentUsageContextPanel != null) {
      var dataContext = createAsyncDataContext(DataManager.getInstance().getDataContext(myRootPanel));
      ReadAction.nonBlocking(() -> {
          List<UsageInfo> result;
          try {
            result = ContainerUtil.notNullize(USAGE_INFO_LIST_KEY.getData(dataContext));
          }
          catch (IndexNotReadyException ignore) {
            result = Collections.emptyList();
          }
          return result;
        })
        .expireWith(this)
        .finishOnUiThread(ModalityState.current(), usageInfos -> {
          myCurrentUsageContextPanel.updateLayout(project, usageInfos, this);
        })
        .submit(updateRequests);
    }
  }
private void updateOnSelectionChanged(@NotNull Project project)