code: private Map<String, Object> readHeaderElements(AdWordsSession adWordsSession) {
      // The order here must match the order of the SoapHeader elements in the WSDL.
      Map<String, Object> mapToFill = Maps.newLinkedHashMap();
      mapToFill.put("clientCustomerId", adWordsSession.getClientCustomerId());
      mapToFill.put("developerToken", adWordsSession.getDeveloperToken());
      mapToFill.put("userAgent", userAgentCombiner.getUserAgent(adWordsSession.getUserAgent()));
      mapToFill.put("validateOnly", adWordsSession.isValidateOnly());
      mapToFill.put("partialFailure", adWordsSession.isPartialFailure());
      return mapToFill;
    }
docs: Creates a map with data from the user's service session which is needed to
  set AdWords SOAP headers.
  
  @param adWordsSession the user's session object
  @return a map of HTTP header names to values