DefaultActionGroup () { final ActionManager actionManager = ActionManager.getInstance(); final DefaultActionGroup group = new DefaultActionGroup(); final AnAction backAction = new AnAction() { @Override public void actionPerformed(@NotNull AnActionEvent e) { myHistory.back(); } @Override public void update(@NotNull AnActionEvent e) { e.getPresentation().setEnabled(myHistory.canGoBack()); } @Override public @NotNull ActionUpdateThread getActionUpdateThread() { return ActionUpdateThread.EDT; } }; ActionUtil.copyFrom(backAction, IdeActions.ACTION_GOTO_BACK); group.add(backAction); final AnAction forwardAction = new AnAction() { @Override public void actionPerformed(@NotNull AnActionEvent e) { myHistory.forward(); } @Override public void update(@NotNull AnActionEvent e) { e.getPresentation().setEnabled(myHistory.canGoForward()); } @Override public @NotNull ActionUpdateThread getActionUpdateThread() { return ActionUpdateThread.EDT; } }; ActionUtil.copyFrom(forwardAction, IdeActions.ACTION_GOTO_FORWARD); group.add(forwardAction); group.add(actionManager.getAction("CommanderSwapPanels")); group.add(actionManager.getAction("CommanderSyncViews")); return group; }