docs: public Future<Void> runAsync(final WaiterParameters<Input> waiterParameters, final WaiterHandler callback)
              throws AmazonServiceException, WaiterTimedOutException, WaiterUnrecoverableException {
  
          return executorService.submit(new java.util.concurrent.Callable<Void>() {
              @Override
              public Void call() throws Exception {
                  try {
                      run(waiterParameters);
                      callback.onWaitSuccess(waiterParameters.getRequest());
                  } catch (Exception ex) {
                      callback.onWaitFailure(ex);
  
                      throw ex;
                  }
                  return null;
              }
          });
  
      }