private void processVMDeathEvent(SuspendContextImpl suspendContext, @Nullable Event event) {
    // do not destroy another process on reattach
    if (isAttached()) {
      var vmProxy = suspendContext != null ? suspendContext.getVirtualMachine() : getVirtualMachineProxy();
      VirtualMachine vm = vmProxy.getVirtualMachine();
      if (event == null || vm == event.virtualMachine()) {
        try {
          preprocessEvent(suspendContext, null);
          cancelRunToCursorBreakpoint();
        }
        finally {
          DebuggerEventThread eventThread = myEventThreads.get(vm);
          if (eventThread != null) {
            eventThread.stopListening();
            myEventThreads.remove(vm);
          }
          closeCurrentProcess(false);
        }
      }
    }

    if (event != null) {
      showStatusText(this, event);
    }
  }
private void processVMDeathEvent(SuspendContextImpl suspendContext, @Nullable Event event)