Sending multiple query parameters from Client - Cascaded or Iterated programming

You can see the following sample if you want to send multiple query parameters from the client side to the server.

About this task

Note: Normally, the way to put multiple query parameters in a WebTarget object is by using the following cascaded programming mode:
javax.ws.rs.core.Response response = client.target(...).queryParam(key, value).queryParam(key, value).queryParam(key, value).request.get(); 
However, in some cases, the cascaded programming mode does not apply because the number of key value pairs is flexible and cannot be predicated. For these cases, you can use the following iteration based programming mode:
Map<String, String> queryStrings;
...
javax.ws.rs.client.WebTarget  target = client.target(....);
	for (String key: queryStrings.keySet()){		
	  	String value = queryStrings.get(key);
			target = target.queryParam(key, value);  //It is important to know queryParam method won't update current WebTarget object, but return a new one. 
		}
	} 
	javax.ws.rs.core.Response response = target.request().get();