/**
  * Create a HttpPost for the given configuration.
  *
  * <p>The default implementation creates a standard HttpPost with
  * "application/x-java-serialized-object" as "Content-Type" header.
  *
  * @param config the HTTP invoker configuration that specifies the target service
  * @return the HttpPost instance
  * @throws java.io.IOException if thrown by I/O methods
  */
 protected HttpPost createHttpPost(HttpInvokerClientConfiguration config) throws IOException {
   HttpPost httpPost = new HttpPost(config.getServiceUrl());
   LocaleContext localeContext = LocaleContextHolder.getLocaleContext();
   if (localeContext != null) {
     Locale locale = localeContext.getLocale();
     if (locale != null) {
       httpPost.addHeader(HTTP_HEADER_ACCEPT_LANGUAGE, StringUtils.toLanguageTag(locale));
     }
   }
   if (isAcceptGzipEncoding()) {
     httpPost.addHeader(HTTP_HEADER_ACCEPT_ENCODING, ENCODING_GZIP);
   }
   return httpPost;
 }