private void doAddHeaderValue(String name, Object value, boolean replace) {
   HeaderValueHolder header = HeaderValueHolder.getByName(this.headers, name);
   Assert.notNull(value, "Header value must not be null");
   if (header == null) {
     header = new HeaderValueHolder();
     this.headers.put(name, header);
   }
   if (replace) {
     header.setValue(value);
   } else {
     header.addValue(value);
   }
 }