void select(
    @NotNull Supplier<Object> elementSupplier,
    @NotNull VirtualFile virtualFile,
    boolean requestFocus,
    @Nullable ActionCallback result
  ) {
    if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
      SelectInProjectViewImplKt.getLOG().debug(
        "ProjectViewImpl.select: " +
        "elementSupplier=" + elementSupplier +
        ", file=" + virtualFile +
        ", requestFocus=" + requestFocus +
        ", result=" + result
      );
    }
    SelectInProjectViewImplKt.getLOG().debug("Starting a read action in background to retrieve the element from the supplier");
    ReadAction
      .nonBlocking(elementSupplier::get)
      .finishOnUiThread(
        ModalityState.defaultModalityState(),
        element -> {
          if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
            SelectInProjectViewImplKt.getLOG().debug("Retrieved the element from the supplier: " + element);
          }
          var callback = selectCB(element, virtualFile, requestFocus);
          if (result != null) {
            callback.notify(result);
          }
        }
      ).coalesceBy("ProjectViewImpl.select", this)
      .submit(AppExecutorUtil.getAppExecutorService());
  }
void select(
    @NotNull Supplier<Object> elementSupplier,
    @NotNull VirtualFile virtualFile,
    boolean requestFocus,
    @Nullable ActionCallback result
  )