code: public static Map<String, String> parseParameterList(String _str, boolean decode, String charset) {
  	// return lucee.commons.net.HTTPUtil.toURI(strUrl,port);
  	Map<String, String> data = new HashMap<String, String>();
  	StringList list = ListUtil.toList(_str, '&');
  	String str;
  	int index;
  	while (list.hasNext()) {
  	    str = list.next();
  	    index = str.indexOf('=');
  	    if (index == -1) {
  		data.put(decode(str, decode), "");
  	    }
  	    else {
  		data.put(decode(str.substring(0, index), decode), decode(str.substring(index + 1), decode));
  	    }
  	}
  	return data;
      }
docs: /*
  public static ContentType getContentType(HttpMethod http) { Header[] headers =
  http.getResponseHeaders(); for(int i=0;i<headers.length;i++){
  if("Content-Type".equalsIgnoreCase(headers[i].getName())){ String[] mimeCharset =
  splitMimeTypeAndCharset(headers[i].getValue()); String[] typeSub =
  splitTypeAndSubType(mimeCharset[0]); return new
  ContentTypeImpl(typeSub[0],typeSub[1],mimeCharset[1]); } } return null; }