@DirtyUI
  @Override
  public ActionCallback requestFocusInProject(@NotNull Component c, @Nullable Project project) {
    // if focus transfer is requested to the active project's window, we call 'requestFocus' to allow focusing detached project windows
    // (editor or tool windows), otherwise we call 'requestFocusInWindow' to avoid unexpected project switching
    Project activeProject = ProjectUtil.getActiveProject();
    if (activeProject != null) {
      if (project == null) {
        project = ProjectUtil.getProjectForComponent(c);
      }
      if (project == activeProject) {
        logFocusRequest(c, project, false);
        c.requestFocus();
        return ActionCallback.DONE;
      }
    }
    logFocusRequest(c, project, true);
    c.requestFocusInWindow();
    return ActionCallback.DONE;
  }
@DirtyUI
  @Override
  public ActionCallback requestFocusInProject(@NotNull Component c, @Nullable Project project)