void init(@NotNull XDebugProcess process, @Nullable RunContentDescriptor contentToReuse) {
    LOG.assertTrue(myDebugProcess == null);
    myDebugProcess = process;
    myAlternativeSourceHandler = myDebugProcess.getAlternativeSourceHandler();
    myExecutionPointManager.setAlternativeSourceKindFlow(getAlternativeSourceKindState());

    if (myDebugProcess.checkCanInitBreakpoints()) {
      initBreakpoints();
    }
    if (myDebugProcess instanceof XDebugProcessDebuggeeInForeground debuggeeInForeground &&
        debuggeeInForeground.isBringingToForegroundApplicable()) {
      BringDebuggeeInForegroundUtilsKt.start(debuggeeInForeground, this, 1000);
    }


    myDebugProcess.getProcessHandler().addProcessListener(new ProcessAdapter() {
      @Override
      public void processTerminated(@NotNull final ProcessEvent event) {
        stopImpl();
        myDebugProcess.getProcessHandler().removeProcessListener(this);
      }
    });
    //todo make 'createConsole()' method return ConsoleView
    myConsoleView = (ConsoleView)myDebugProcess.createConsole();
    if (!myShowTabOnSuspend.get()) {
      initSessionTab(contentToReuse);
    }
  }
void init(@NotNull XDebugProcess process, @Nullable RunContentDescriptor contentToReuse)