I've answered my own question, but it left me with a lot of curiosity.
Why is the convention to build strings joined with commas (e.g in SolrQuery.addValueToParam) rather than to use the array option? All these params are Map<String, String[]>, so why cram multiples into the first slot with commas ?