code: AddressBuilderQuery queryLiteral(String query)
     {
        if (query != null)
        {
           if (query.startsWith("?"))
              query = query.substring(1);
  
           /*
            * Linked hash map is important here in order to retain the order of query parameters.
            */
           Map<CharSequence, List<CharSequence>> params = new LinkedHashMap<CharSequence, List<CharSequence>>();
           query = decodeHTMLAmpersands(query);
           int index = 0;
  
           while ((index = query.indexOf('&')) >= 0 || !query.isEmpty())
           {
              String pair = query;
              if (index >= 0)
              {
                 pair = query.substring(0, index);
                 query = query.substring(index);
                 if (!query.isEmpty())
                    query = query.substring(1);
              }
              else
                 query = "";
  
              String name;
              String value;
              int pos = pair.indexOf('=');
              // for "n=", the value is "", for "n", the value is null
              if (pos == -1)
              {
                 name = pair;
                 value = null;
              }
              else
              {
                 name = pair.substring(0, pos);
                 value = pair.substring(pos + 1, pair.length());
              }
  
              List<CharSequence> list = params.get(name);
              if (list == null)
              {
                 list = new ArrayList<CharSequence>();
                 params.put(name, list);
              }
              list.add(value);
           }
  
           for (Entry<CharSequence, List<CharSequence>> entry : params.entrySet()) {
              query(entry.getKey(), entry.getValue().toArray());
           }
        }
        return new AddressBuilderQuery(this);
     }
docs: Set a literal query string without additional encoding or decoding. A leading '?' character is optional; the
  builder will add one if necessary.