docs: @Override
      public void actionPerformed(ActionEvent e) {
          if (!enabled) return;
          if (e.getActionCommand().equals("ContextSwitch")) {
              Dim.ContextData contextData = debugGui.dim.currentContextData();
              if (contextData == null) { return; }
              int frameIndex = context.getSelectedIndex();
              context.setToolTipText(toolTips.get(frameIndex));
              int frameCount = contextData.frameCount();
              if (frameIndex >= frameCount) {
                  return;
              }
              Dim.StackFrame frame = contextData.getFrame(frameIndex);
              Object scope = frame.scope();
              Object thisObj = frame.thisObj();
              thisTable.resetTree(new VariableModel(debugGui.dim, thisObj));
              VariableModel scopeModel;
              if (scope != thisObj) {
                  scopeModel = new VariableModel(debugGui.dim, scope);
              } else {
                  scopeModel = new VariableModel();
              }
              localsTable.resetTree(scopeModel);
              debugGui.dim.contextSwitch(frameIndex);
              debugGui.showStopLine(frame);
              tableModel.updateModel();
          }
      }