class HttpQuery implements Iterable<Map.Entry<String, String>> {

    public HttpQuery add(final String key, final String value) {
        validateQueryParam(key, value);
        if (getValues(key).add(value)) {
            updateQueryParams();
        }
        return this;
    }

      HttpQuery(final Map<String, List<String>> params, final Consumer<Map<String, List<String>>> queryParamsUpdater);

}