/** {@inheritDoc} */
  @Override
  public void onProjectClosed(@NotNull ProjectActionEvent projectActionEvent) {
    partStack.hidePart(this);

    selectionManager.setRunner(null);

    templateContainer.setVisible(false);

    view.setEnableRunButton(false);
    view.setEnableReRunButton(false);
    view.setEnableStopButton(false);
    view.setEnableLogsButton(false);

    view.setApplicationURl(null);
    view.setDebugPort(null);
    view.setTimeout(TIMER_STUB);

    history.clear();
    runnerActions.clear();

    runnerCounter.reset();
    terminalContainer.reset();
    consoleContainer.reset();
    propertiesContainer.reset();

    getRunningProcessAction.stop();
    propertiesContainer.show((Runner) null);
  }
 private void changeURLDependingOnState(@NotNull Runner runner) {
   switch (runner.getStatus()) {
     case IN_PROGRESS:
       view.setApplicationURl(locale.uplAppWaitingForBoot());
       break;
     case IN_QUEUE:
       view.setApplicationURl(locale.uplAppWaitingForBoot());
       break;
     case STOPPED:
       view.setApplicationURl(locale.urlAppRunnerStopped());
       break;
     case FAILED:
       view.setApplicationURl(null);
       break;
     default:
       String url = runner.getApplicationURL();
       view.setApplicationURl(url == null ? locale.urlAppRunning() : url);
       setDebugPort(runner);
   }
 }