@Override
  public @NotNull ActionCallback requestDefaultFocus(boolean forced) {
    Component toFocus = null;
    IdeFrame lastFocusedFrame = myLastFocusedFrame;
    if (lastFocusedFrame == null) {
      for (Window window : Window.getWindows()) {
        if (window instanceof RootPaneContainer && ((RootPaneContainer)window).getRootPane() != null && window.isActive()) {
          Component toFocusOptional = getFocusTargetFor(((RootPaneContainer)window).getRootPane());
          if (toFocusOptional != null) {
            toFocus = toFocusOptional;
          }
          break;
        }
      }
    }
    else {
      LOG.assertTrue(lastFocusedFrame instanceof Window);
      toFocus = myLastFocused.get(lastFocusedFrame);
      if (toFocus == null || !toFocus.isShowing()) {
        toFocus = getFocusTargetFor(lastFocusedFrame.getComponent());
      }
    }

    if (toFocus != null) {
      return requestFocusInProject(toFocus, null);
    }
    return ActionCallback.DONE;
  }
@Override
  public @NotNull ActionCallback requestDefaultFocus(boolean forced)