code: public Map<String, String> getHeaders() {
      final Map<String, String> headers = new HashMap<String, String>(
          request.headers().entries().size());
      for (final Entry<String, String> header : request.headers().entries()) {
        // http://tools.ietf.org/html/rfc2616#section-4.2
        if (headers.containsKey(header.getKey())) {
          headers.put(header.getKey(), 
              headers.get(header.getKey()) + "," + header.getValue());
        } else {
          headers.put(header.getKey(), header.getValue());
        }
      }
      return headers;
    }
docs: Copies the header list so modifications won't affect the original set.
  Note that it flattens duplicate headers keys as comma separated lists
  per the RFC
  @return The full set of headers for this query