code: private static Request build(final Request req,
          final String hdr, final String val) throws IOException {
          final Request request;
          if (new RqHeaders.Base(req).header(hdr).iterator().hasNext()) {
              request = req;
          } else {
              request = new RqWithHeader(req, hdr, val);
          }
          return request;
      }
docs: Builds the request with the default header if it is not already present.
  @param req Original request.
  @param hdr Header name.
  @param val Header value.
  @return The new request.
  @throws IOException in case of request errors