code: public static RequestAsyncTask executeConnectionAsync(Handler callbackHandler, HttpURLConnection connection,
              RequestBatch requests) {
          Validate.notNull(connection, "connection");
  
          RequestAsyncTask asyncTask = new RequestAsyncTask(connection, requests);
          requests.setCallbackHandler(callbackHandler);
          asyncTask.executeOnSettingsExecutor();
          return asyncTask;
      }
docs: Asynchronously executes requests that have already been serialized into an HttpURLConnection. No validation is
  done that the contents of the connection actually reflect the serialized requests, so it is the caller's
  responsibility to ensure that it will correctly generate the desired responses. This function will return
  immediately, and the requests will be processed on a separate thread. In order to process results of a request,
  or determine whether a request succeeded or failed, a callback must be specified (see the
  {@link #setCallback(Callback) setCallback} method)
  <p/>
  This should only be called from the UI thread.
  
  @param callbackHandler
  a Handler that will be used to post calls to the callback for each request; if null, a Handler will be
  instantiated on the calling thread
  @param connection
  the HttpURLConnection that the requests were serialized into
  @param requests
  the requests represented by the HttpURLConnection
  @return a RequestAsyncTask that is executing the request