@Override
  public final void selectIn(@NotNull SelectInContext context, boolean requestFocus) {
    if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
      SelectInProjectViewImplKt.getLOG().debug(
        "SelectInTargetPsiWrapper.selectIn: Select in " + this +
        ", requestFocus=" + requestFocus +
        " using context " + context
      );
    }
    ReadAction.nonBlocking(() -> {
        VirtualFile file = context.getVirtualFile();
        Object selector = context.getSelectorInFile();
        if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
          SelectInProjectViewImplKt.getLOG().debug("File is " + file + ", selector is " + selector);
        }
        if (selector == null) {
          selector = PsiUtilCore.findFileSystemItem(myProject, file);
          if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
            SelectInProjectViewImplKt.getLOG().debug("Falling back to selector " + selector);
          }
        }
        if (selector instanceof PsiElement) {
          PsiUtilCore.ensureValid((PsiElement)selector);
          PsiElement original = ((PsiElement)selector).getOriginalElement();
          if (original != null && !original.isValid()) {
            throw new PsiInvalidElementAccessException(original, "Returned by " + selector + " of " + selector.getClass());
          }
          return new ComputedContext(file, selector, original);
        }
        else {
          return new ComputedContext(file, selector, null);
        }
      })
      .expireWith(myProject)
      .finishOnUiThread(ModalityState.current(), computed -> {
        var file = computed.file;
        var selector = computed.selector;
        var original = computed.original;
        if (selector instanceof PsiElement) {
          try (var ignored = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) {
            if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
              SelectInProjectViewImplKt.getLOG().debug("Selecting " + original);
            }
            select(original, requestFocus);
          }
        }
        else {
          if (SelectInProjectViewImplKt.getLOG().isDebugEnabled()) {
            SelectInProjectViewImplKt.getLOG().debug("Selecting non-PSI selector " + selector + " in file " + file);
          }
          select(selector, file, requestFocus);
        }
      })
      .submit(AppExecutorUtil.getAppExecutorService());
  }
@Override
  public final void selectIn(@NotNull SelectInContext context, boolean requestFocus)