docs: private void asyncSubmit(RemotingCommand requestCommand, final SubmitCallback submitCallback)
              throws JobTrackerNotFoundException {
          final CountDownLatch latch = new CountDownLatch(1);
          remotingClient.invokeAsync(requestCommand, new AsyncCallback() {
              @Override
              public void operationComplete(ResponseFuture responseFuture) {
                  try {
                      submitCallback.call(responseFuture.getResponseCommand());
                  } finally {
                      latch.countDown();
                  }
              }
          });
          try {
              latch.await(Constants.LATCH_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
          } catch (InterruptedException e) {
              throw new JobSubmitException("Submit job failed, async request timeout!", e);
          }
      }