Program: 90616
Project: 90616
Buggy source:
protected void handleServletRequestParams(){
  if (!reqParamsProcessed && servletRequest != null && targetWindow != null && type != URLType.Portal) {
    reqParamsProcessed=true;
    try {
      servletRequest.setCharacterEncoding("String_Node_Str");
    }
 catch (    Exception e) {
    }
    Map<String,String[]> parms=servletRequest.getParameterMap();
    if (!parms.isEmpty()) {
      String ptype=PortalURLParameter.PARAM_TYPE_RENDER;
      if (type == URLType.Action || type == URLType.AjaxAction || type == URLType.PartialAction) {
        ptype=PortalURLParameter.PARAM_TYPE_ACTION;
      }
 else       if (type == URLType.Resource) {
        ptype=PortalURLParameter.PARAM_TYPE_RESOURCE;
      }
      for (      String parm : parms.keySet()) {
        if (type == URLType.Render && targetWindow != null) {
          int index=prpMapper.getIndex(targetWindow,parm);
          if (index >= 0) {
            prpMapper.setValues(index,parms.get(parm));
            if (isDebug) {
              StringBuilder txt=new StringBuilder("String_Node_Str");
              txt.append(parm).append("String_Node_Str").append(Arrays.toString(parms.get(parm)));
              txt.append("String_Node_Str" + cloneId);
              LOG.debug(txt.toString());
            }
            continue;
          }
        }
        PortalURLParameter pup=new PortalURLParameter(targetWindow,parm,parms.get(parm),ptype);
        if (parameters.contains(pup)) {
          parameters.remove(pup);
        }
        parameters.add(pup);
        if (isDebug) {
          StringBuilder txt=new StringBuilder("String_Node_Str");
          txt.append(parm).append("String_Node_Str").append(Arrays.toString(parms.get(parm)));
          txt.append(parm).append("String_Node_Str").append(ptype);
          txt.append("String_Node_Str" + cloneId);
          LOG.debug(txt.toString());
        }
      }
    }
  }
}

Fixed version (ground truth):
protected void handleServletRequestParams(){
  if (!reqParamsProcessed && servletRequest != null && targetWindow != null && type != URLType.Portal) {
    reqParamsProcessed=true;
    try {
      servletRequest.setCharacterEncoding("String_Node_Str");
    }
 catch (    Exception e) {
    }
    Map<String,String[]> parms=servletRequest.getParameterMap();
    if (!parms.isEmpty()) {
      String ptype=PortalURLParameter.PARAM_TYPE_RENDER;
      if (type == URLType.Action || type == URLType.AjaxAction || type == URLType.PartialAction) {
        ptype=PortalURLParameter.PARAM_TYPE_ACTION;
      }
 else       if (type == URLType.Resource) {
        ptype=PortalURLParameter.PARAM_TYPE_RESOURCE;
      }
      for (      String parm : parms.keySet()) {
        if (type == URLType.Render && targetWindow != null) {
          int index=prpMapper.getIndex(targetWindow,parm);
          if (index >= 0) {
            prpMapper.setValues(index,parms.get(parm));
            if (isDebug) {
              StringBuilder txt=new StringBuilder("String_Node_Str");
              txt.append(parm).append("String_Node_Str").append(Arrays.toString(parms.get(parm)));
              txt.append("String_Node_Str" + cloneId);
              LOG.debug(txt.toString());
            }
            continue;
          }
        }
        PortalURLParameter pup=new PortalURLParameter(targetWindow,parm,parms.get(parm),ptype);
        if (parameters.contains(pup)) {
          parameters.remove(pup);
        }
        parameters.add(pup);
        if (isDebug) {
          StringBuilder txt=new StringBuilder("String_Node_Str");
          txt.append(parm).append("String_Node_Str").append(Arrays.toString(parms.get(parm)));
          txt.append("String_Node_Str").append(ptype);
          txt.append("String_Node_Str" + cloneId);
          LOG.debug(txt.toString());
        }
      }
    }
  }
}