code: public synchronized void stop() throws IOException, TimeoutException {
      if (this.stopped) {
        return;
      }
  
      LOGGER.info("Stopping the " + GobblinAWSClusterLauncher.class.getSimpleName());
  
      try {
        if (this.clusterId.isPresent()) {
          sendShutdownRequest();
        }
  
        disconnectHelixManager();
      } finally {
        try {
          if (this.clusterId.isPresent()) {
            cleanUpClusterWorkDirectory(this.clusterId.get());
          }
        } finally {
          this.closer.close();
        }
      }
  
      this.countDownLatch.countDown();
      this.stopped = true;
    }
docs: Stop this {@link GobblinAWSClusterLauncher} instance.
  
  @throws IOException If this {@link GobblinAWSClusterLauncher} instance fails to clean up its working directory.