code: public void splitQueryAndUnescape(I invocation,
                                      byte []rawURIBytes,
                                      int uriLength)
      throws IOException
    {
      for (int i = 0; i < uriLength; i++) {
        if (rawURIBytes[i] == '?') {
          i++;
  
          // XXX: should be the host encoding?
          String queryString = byteToChar(rawURIBytes, i, uriLength - i,
                                          "ISO-8859-1");
          invocation.setQueryString(queryString);
  
          uriLength = i - 1;
          break;
        }
      }
  
      String rawURIString = byteToChar(rawURIBytes, 0, uriLength, "ISO-8859-1");
      invocation.setRawURI(rawURIString);
      
      String decodedURI = normalizeUriEscape(rawURIBytes, 0, uriLength, _encoding);
  
      decodedURI = decodeURI(rawURIString, decodedURI, invocation);
  
      String uri = normalizeUri(decodedURI);
  
      invocation.setURI(uri);
    }
docs: Splits out the query string and unescape the value.