@Override
  public void actionPerformed(final @NotNull AnActionEvent event) {
    DataContext dataContext = event.getDataContext();
    VirtualFile vFile = CommonDataKeys.VIRTUAL_FILE.getData(dataContext);
    Project project = CommonDataKeys.PROJECT.getData(dataContext);
    if (vFile == null || project == null) {
      return;
    }

    EditorWindow window = EditorWindow.DATA_KEY.getData(dataContext);
    List<EditorWindow> siblings = window == null ? Collections.emptyList() : window.getSiblings$intellij_platform_ide_impl();
    if (siblings.size() != 1) {
      return;
    }

    EditorComposite editorComposite = window.getSelectedComposite();
    FileEntry entry = editorComposite == null ? null : editorComposite.currentStateAsFileEntry$intellij_platform_ide_impl();
    vFile.putUserData(FileEditorManagerImpl.CLOSING_TO_REOPEN, Boolean.TRUE);
    if (closeSource) {
      window.closeFile(vFile, true, false);
    }
    ((FileEditorManagerImpl)FileEditorManagerEx.getInstanceEx(project))
      .openFileImpl$intellij_platform_ide_impl(siblings.get(0), vFile, entry, new FileEditorOpenOptions().withRequestFocus());
    vFile.putUserData(FileEditorManagerImpl.CLOSING_TO_REOPEN, null);
  }
@Override
  public void actionPerformed(final @NotNull AnActionEvent event)