code: public String getUrlEncodedQueryString(){
          StringBuilder sb = new StringBuilder();
          for (Entry<String, Object> parameter : parameters.entrySet()){
              if (sb.length() > 0){
                  sb.append("&");
              }
              try {
                  StringBuilder sb2 = new StringBuilder();
                  sb2.append(parameter.getKey());
                  sb2.append("=");
                  sb2.append(URLEncoder.encode(parameter.getValue().toString(), "UTF-8"));
                  sb.append(sb2);
              }
              catch (UnsupportedEncodingException e) {
                  System.err.println(e.getMessage());
              }
          }
          for (Entry<String, List> customTrackingParameter : customTrackingParameters.entrySet()){
              for (Object o : customTrackingParameter.getValue()){
                  if (sb.length() > 0){
                      sb.append("&");
                  }
                  try {
                      StringBuilder sb2 = new StringBuilder();
                      sb2.append(URLEncoder.encode(customTrackingParameter.getKey(), "UTF-8"));
                      sb2.append("=");
                      sb2.append(URLEncoder.encode(o.toString(), "UTF-8"));
                      sb.append(sb2);
                  }
                  catch (UnsupportedEncodingException e) {
                      System.err.println(e.getMessage());
                  }
              }
          }
          
          return sb.toString();
      }
docs: Get the url encoded query string represented by this object.
  @return the url encoded query string represented by this object