@Override
  protected void doDestroyProcess() {
    if (myProcess instanceof SelfKiller selfKiller) {
      if (!selfKiller.tryDestroyGracefully()) {
        super.doDestroyProcess();
      }
      return;
    }
    boolean gracefulTerminationAttempted = shouldKillProcessSoftly() && canDestroyProcessGracefully() && destroyProcessGracefully();
    if (!gracefulTerminationAttempted) {
      // execute default process destroy
      super.doDestroyProcess();
    }
  }
@Override
  protected void doDestroyProcess()