Program: 101155
Project: 101155
Buggy source:
/** 
 * This method is called when the javax.portlet.Event is supported by the current portlet stored in the Portlet Caontainer The processEvent() method can also generates IPC events and hence the portal itself will call the ProcessEventsActionListener once again
 */
public static List<javax.portlet.Event> processEvent(UIPortlet uiPortlet,javax.portlet.Event event){
  log.info("String_Node_Str" + event.getName() + "String_Node_Str"+ uiPortlet.getWindowId());
  try {
    PortletContainerService service=uiPortlet.getApplicationComponent(PortletContainerService.class);
    PortalRequestContext context=(PortalRequestContext)WebuiRequestContext.getCurrentInstance();
    EventInput input=new EventInput();
    String baseUrl=new StringBuilder(context.getNodeURI()).append("String_Node_Str" + PortalRequestContext.UI_COMPONENT_ID).append("String_Node_Str").append(uiPortlet.getId()).toString();
    input.setBaseURL(baseUrl);
    UIPortal uiPortal=Util.getUIPortal();
    OrganizationService organizationService=uiPortlet.getApplicationComponent(OrganizationService.class);
    UserProfile userProfile=organizationService.getUserProfileHandler().findUserProfileByName(uiPortal.getOwner());
    if (userProfile != null)     input.setUserAttributes(userProfile.getUserInfoMap());
 else     input.setUserAttributes(new HashMap());
    input.setPortletMode(uiPortlet.getCurrentPortletMode());
    input.setWindowState(uiPortlet.getCurrentWindowState());
    input.setInternalWindowID(uiPortlet.getExoWindowID());
    input.setMarkup("String_Node_Str");
    input.setEvent(event);
    EventOutput output=service.processEvent((HttpServletRequest)context.getRequest(),(HttpServletResponse)context.getResponse(),input);
    setNextState(uiPortlet,output.getNextState());
    setNextMode(uiPortlet,output.getNextMode());
    return output.getEvents();
  }
 catch (  Exception e) {
    log.error("String_Node_Str" + uiPortlet.getWindowId(),e);
  }
  return null;
}

Fixed version (ground truth):
/** 
 * This method is called when the javax.portlet.Event is supported by the current portlet stored in the Portlet Caontainer The processEvent() method can also generates IPC events and hence the portal itself will call the ProcessEventsActionListener once again
 */
public static List<javax.portlet.Event> processEvent(UIPortlet uiPortlet,javax.portlet.Event event){
  log.info("String_Node_Str" + event.getName() + "String_Node_Str"+ uiPortlet.getWindowId());
  try {
    PortletContainerService service=uiPortlet.getApplicationComponent(PortletContainerService.class);
    PortalRequestContext context=(PortalRequestContext)WebuiRequestContext.getCurrentInstance();
    EventInput input=new EventInput();
    String baseUrl=new StringBuilder(context.getRequestURI()).append("String_Node_Str" + PortalRequestContext.UI_COMPONENT_ID).append("String_Node_Str").append(uiPortlet.getId()).toString();
    input.setBaseURL(baseUrl);
    UIPortal uiPortal=Util.getUIPortal();
    OrganizationService organizationService=uiPortlet.getApplicationComponent(OrganizationService.class);
    UserProfile userProfile=organizationService.getUserProfileHandler().findUserProfileByName(uiPortal.getOwner());
    if (userProfile != null)     input.setUserAttributes(userProfile.getUserInfoMap());
 else     input.setUserAttributes(new HashMap());
    input.setPortletMode(uiPortlet.getCurrentPortletMode());
    input.setWindowState(uiPortlet.getCurrentWindowState());
    input.setInternalWindowID(uiPortlet.getExoWindowID());
    input.setMarkup("String_Node_Str");
    input.setEvent(event);
    EventOutput output=service.processEvent((HttpServletRequest)context.getRequest(),(HttpServletResponse)context.getResponse(),input);
    setNextState(uiPortlet,output.getNextState());
    setNextMode(uiPortlet,output.getNextMode());
    return output.getEvents();
  }
 catch (  Exception e) {
    log.error("String_Node_Str" + uiPortlet.getWindowId(),e);
  }
  return null;
}