docs: public static HttpStatus fromStatusLine(final String statusLine) throws IllegalArgumentException
  	{
  		/*
  		 * According to RFC 7230, a valid HTTP status line always looks like
  		 * 
  		 * HTTP-Version SP Status-Code SP Reason-Phrase CRLF
  		 * 
  		 * This method method scans for the two spaces and tries to convert the string in between to a number.
  		 */
  
  		// the status code starts one character after the first space
  		final int start = statusLine.indexOf(' ') + 1;
  		if (start > 0)
  		{
  
  			final int end = statusLine.indexOf(' ', start);
  			if (end > 0)
  			{
  
  				try
  				{
  					final int status = Integer.parseInt(statusLine.substring(start, end));
  
  					// valid status codes are between 100 and 999
  					if (status < 100 || status > 999)
  					{
  						throw new IllegalArgumentException("Illegal status code " + status);
  					}
  
  					if (STATUS_CODES.containsKey(status))
  					{
  						return fromStatusCode(status);
  					}
  
  					return new HttpStatus(status, end < statusLine.length() ? statusLine.substring(end + 1) : "Unknown" /* this would be invalid actually */);
  				}
  				catch (NumberFormatException e)
  				{
  					throw new IllegalArgumentException("could not parse status code", e);
  				}
  			}
  		}
  		throw new IllegalArgumentException("Malformed status line: " + statusLine);
  	}