void (boolean primary) { if (primary == myPrimary) { // nothing to do return; } CardLayout cl = (CardLayout)(getLayout()); cl.show(this, primary ? PRIMARY_CONSOLE_PANEL : SECONDARY_CONSOLE_PANEL); IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(getSubConsoleView(primary).getComponent(), true)); myPrimary = primary; for (DuplexConsoleListener listener : myListeners) { listener.consoleEnabled(primary); } }