api-servlet/src/main/java/org/ocpsoft/rewrite/servlet/util/QueryStringBuilder.java
public QueryStringBuilder addParameterArrays(final Map<String, String[]> params)
   {
      if (params != null)
      {
         for (Entry<String, String[]> entry : params.entrySet())
         {
            List<String> values = null;
            if (entry.getValue() != null)
            {
               List<String> temp = new ArrayList<String>();
               if (entry.getValue() != null)
               {
                  for (String value : entry.getValue()) {
                     temp.add(value);
                  }
               }
               values = temp;
            }
            parameters.put(entry.getKey(), values);
         }
      }
      return this;
   }
public QueryStringBuilder addParameterArrays(final Map<String, String[]> params)
   {
      if (params != null)
      {
         for (Entry<String, String[]> entry : params.entrySet())
         {
            List<String> values = null;
            if (entry.getValue() != null)
            {
               List<String> temp = new ArrayList<String>();
               if (entry.getValue() != null)
               {
                  for (String value : entry.getValue()) {
                     temp.add(value);
                  }
               }
               values = temp;
            }
            parameters.put(entry.getKey(), values);
         }
      }
      return this;
   }
Add parameters from the given map of name=value pairs. For parameters with more than one value, each value will be
appended using the same name. If a parameter already exists, append new values to the existing list of values for
that parameter.