code: @Override
  	public String valueString(String headerValue)
  	{
  		// make sure the value is valid
  		for (int i = 0, count = headerValue.length(); i < count; ++i)
  		{
  			char c = headerValue.charAt(i);
  			if ((c < 0x20 || c > 0xff) && c != 0x09)
  			{
  				throw new IllegalArgumentException(String.format("String '%s' contains non-printable or non-ASCII characters, which is not allowed in headers",
  					headerValue));
  			}
  		}
  		return headerValue;
  	}
docs: {@inheritDoc}
  <p />
  The given headerValue must not contain any characters that are not allowed in headers. Basically that means only characters in the ASCII range 0x20-0xff
  and the tab character (0x09) are allowed.
  
  <pre>
  field-value    = *( field-content / obs-fold )
  field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
  field-vchar    = VCHAR / obs-text
  
  obs-fold       = CRLF 1*( SP / HTAB )
  ; obsolete line folding
  ; see Section 3.2.4
  VCHAR          = %x21-7E
  ; visible (printing) characters
  obs-text       = %x80-FF
  </pre>