code: public static List<Response> executeBatchAndWait(RequestBatch requests) {
          Validate.notEmptyAndContainsNoNulls(requests, "requests");
  
          HttpURLConnection connection = null;
          try {
              connection = toHttpConnection(requests);
          } catch (Exception ex) {
              List<Response> responses = Response.constructErrorResponses(requests.getRequests(), null, new FacebookException(ex));
              runCallbacks(requests, responses);
              return responses;
          }
  
          List<Response> responses = executeConnectionAndWait(connection, requests);
          return responses;
      }
docs: Executes requests on the current thread as a single batch and returns the responses.
  <p/>
  This should only be used if you have transitioned off the UI thread.
  
  @param requests
  the batch of Requests to execute
  
  @return a list of Response objects representing the results of the requests; responses are returned in the same
  order as the requests were specified.
  
  @throws FacebookException
  If there was an error in the protocol used to communicate with the service
  @throws IllegalArgumentException if the passed in RequestBatch is empty
  @throws NullPointerException if the passed in RequestBatch or any of its contents are null