public List<BatchResponse> executeBatch(BatchRequests<BatchRequest> requests) throws FacebookException {
        ensureAuthorizationEnabled();

        JSONArray jsonArray = post(buildEndpoint(""), requests.asHttpParameterArray()).asJSONArray();
        int size = jsonArray.length();
        List<BatchResponse> result = new ArrayList<BatchResponse>(size);
        for (int i = 0; i < size; i++) {
            try {
                if (jsonArray.isNull(i)) {
                    result.add(null);
                } else {
                    JSONObject json = jsonArray.getJSONObject(i);
                    result.add(new BatchResponseImpl(json));
                }
            } catch (JSONException e) {
                throw new FacebookException(e);
            }
        }
        return result;
    }