public static String append(final CharSequence url, final Map<?, ?> params) {
    final String baseUrl = url.toString();
    if (params == null || params.isEmpty())
      return baseUrl;

    final StringBuilder result = new StringBuilder(baseUrl);

    addPathSeparator(baseUrl, result);
    addParamPrefix(baseUrl, result);

    Entry<?, ?> entry;
    Iterator<?> iterator = params.entrySet().iterator();
    entry = (Entry<?, ?>) iterator.next();
    addParam(entry.getKey().toString(), entry.getValue(), result);

    while (iterator.hasNext()) {
      result.append('&');
      entry = (Entry<?, ?>) iterator.next();
      addParam(entry.getKey().toString(), entry.getValue(), result);
    }

    return result.toString();
  }
Append given map as query parameters to the base URL
<p>
Each map entry's key will be a parameter name and the value's
{@link Object#toString()} will be the parameter value.

@param url
@param params
@return URL with appended query params
lib/src/main/java/com/github/kevinsawicki/http/HttpRequest.java