code: private Map<String, String[]> createToolParams(CmsWorkplace wp, String url, Map<String, String[]> params) {
  
          Map<String, String[]> newParams = new HashMap<String, String[]>();
          // add query parameters to the parameter map if required
          if (url.indexOf("?") > 0) {
              String query = url.substring(url.indexOf("?"));
              Map<String, String[]> reqParameters = CmsRequestUtil.createParameterMap(query);
              newParams.putAll(reqParameters);
          }
          if (params != null) {
              newParams.putAll(params);
          }
  
          // put close link if not set
          if (!newParams.containsKey(CmsDialog.PARAM_CLOSELINK)) {
              Map<String, String[]> argMap = resolveAdminTool(
                  getCurrentRoot(wp).getKey(),
                  getCurrentToolPath(wp)).getHandler().getParameters(wp);
              newParams.put(
                  CmsDialog.PARAM_CLOSELINK,
                  new String[] {linkForToolPath(wp.getJsp(), getCurrentToolPath(wp), argMap)});
          }
          return newParams;
      }
docs: Creates a parameter map from the given url and additional parameters.<p>
  
  @param wp the workplace context
  @param url the url to create the parameter map for (extracting query params)
  @param params additional parameter map
  
  @return the new parameter map