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

    public Iterator<String> valuesIterator(final String key) {
        final List<String> values = params.get(key);
        if (values == null) {
            return emptyIterator();
        }
        return new ValuesIterator(values.iterator(), this::updateQueryParams);
    }

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

}