/** {@inheritDoc} */
  @Override
  public void stopRunner(@NotNull Runner runner) {
    RunnerAction runnerAction = runnerActions.get(runner);
    if (runnerAction != null) {
      runnerAction.stop();
    }

    StopAction stopAction = actionFactory.createStop();
    stopAction.perform(runner);
  }
  /** {@inheritDoc} */
  @Override
  public void onRerunButtonClicked() {
    if (runActionPermit.isAllowed()) {

      selectedRunner.setStatus(IN_QUEUE);

      RunnerAction runnerAction = runnerActions.get(selectedRunner);
      if (runnerAction == null || runnerAction instanceof LaunchAction) {
        // Create new CheckRamAndRunAction and update selected runner
        launchRunner(selectedRunner);
      } else {
        runnerAction.perform(selectedRunner);

        update(selectedRunner);
        selectedRunner.resetCreationTime();
      }
    } else {
      runActionDenyAccessDialog.show();
    }
  }