public static void performOn(@NotNull Project project, @NotNull VirtualFile currentFile) throws IncorrectOperationException {
    LightEditorInfo editorInfo = ((LightEditorManagerImpl)LightEditService.getInstance().getEditorManager()).findOpen(currentFile);
    if (editorInfo == null) {
      return;
    }

    Project openProject = findOpenProject(currentFile);
    if (openProject != null) {
      LightEditFeatureUsagesUtil.logOpenFileInProject(project, Open);
    }
    else {
      VirtualFile projectRoot = ProjectRootSearchUtil.findProjectRoot(project, currentFile);
      if (projectRoot != null) {
        openProject = PlatformProjectOpenProcessor.Companion.doOpenProject(projectRoot.toNioPath(), OpenProjectTask.build());
      }
    }
    if (openProject != null) {
      ((LightEditServiceImpl)LightEditService.getInstance()).closeEditor(editorInfo);
      OpenFileAction.openFile(currentFile, openProject);
    }
  }
public static void performOn(@NotNull Project project, @NotNull VirtualFile currentFile)