code: public void writeTo(HttpRequest request) {
  		if (!initialized.get()) { // to avoid npe
  			init(null);
  		}
  		
  		long time = System.currentTimeMillis();
  		long processTime = time - contextTsCurrent.get();
  		contextMsProcess.set(contextMsProcess.get() + processTime);
  		contextTsCurrent.set(time);
  		
  		final String uri = request.getRequestLine().getUri();
  		contextRequest.set(uri);
  		
  		List<Cookie> cookiez = new ArrayList<>();
  		StringBuilder cookiesDump = new StringBuilder();
  		for (String name : forwardedCookies) {
  			Cookie c = requestCookies.get().get(name);
  			if (c != null) {
  				cookiez.add(c);
  				cookiesDump.append(c.toString()).append(";");
  			}
  		}
  		if (!cookiez.isEmpty()) { // ...or formatCookies() throws error
  			for (Header h : cookieSpec.formatCookies(cookiez)) {
  				request.addHeader(h);
  			}
  		}
  
  		request.setHeader(HEADER_X_FORWARDED_FOR, clientIp.get());
  
  		if (verbose) log.info("    Time " + String.valueOf(time - contextTsStart.get()) + " (+" + processTime + "p) >>> [" + contextUrl.get() + "] >>> " + uri + ". thread local cookies " + cookiesDump.toString());
  	}
docs: /* request - thread local cookies -> other webapp