Program: 90660
Project: 90660
Buggy source:
/** 
 * Fire Event for the portlet associated with the given portlet window and eventName
 * @param portletWindow  the portlet window.
 * @param request  the servlet request.
 * @param response  the servlet response.
 * @param eventName the event name
 * @throws PortletException
 * @throws IOException
 * @throws PortletContainerException
 * @see {@link javax.portlet.EventPortlet#processEvent(javax.portlet.EventRequest,javax.portlet.EventResponse)}
 */
public void fireEvent(HttpServletRequest request,HttpServletResponse response,PortletWindow window,Event event) throws PortletException, IOException {
  ensureInitialized();
  InternalPortletWindow internalPortletWindow=new PortletWindowImpl(servletContext,window);
  debugWithName("String_Node_Str" + window.getPortletName());
  EventRequestImpl eventRequest=new EventRequestImpl(this,internalPortletWindow,request,event);
  EventResponseImpl eventResponse=new EventResponseImpl(this,internalPortletWindow,request,response);
  PortletInvoker invoker=new PortletInvoker(internalPortletWindow);
  invoker.event(eventRequest,eventResponse);
  debugWithName("String_Node_Str" + window.getPortletName());
  String location=eventResponse.getRedirectLocation();
  if (location == null) {
    debugWithName("String_Node_Str");
    PortletURLProvider redirectURL=requiredContainerServices.getPortalCallbackService().getPortletURLProvider(request,internalPortletWindow);
    saveChangedParameters(eventRequest,eventResponse,redirectURL);
    redirectURL.savePortalURL(request);
  }
}

Fixed version (ground truth):
/** 
 * Fire Event for the portlet associated with the given portlet window and eventName
 * @param portletWindow  the portlet window.
 * @param request  the servlet request.
 * @param response  the servlet response.
 * @param eventName the event name
 * @throws PortletException
 * @throws IOException
 * @throws PortletContainerException
 * @see {@link javax.portlet.EventPortlet#processEvent(javax.portlet.EventRequest,javax.portlet.EventResponse)}
 */
public void fireEvent(HttpServletRequest request,HttpServletResponse response,PortletWindow window,Event event) throws PortletException, IOException {
  ensureInitialized();
  InternalPortletWindow internalPortletWindow=new InternalPortletWindowImpl(PortletContextManager.getPortletContext(servletContext,window.getContextPath()),window);
  debugWithName("String_Node_Str" + window.getPortletName());
  EventRequestImpl eventRequest=new EventRequestImpl(this,internalPortletWindow,request,event);
  EventResponseImpl eventResponse=new EventResponseImpl(this,internalPortletWindow,request,response);
  PortletInvokerService invoker=optionalContainerServices.getPortletInvokerService();
  try {
    ContainerInvocation.setInvocation(this,internalPortletWindow);
    invoker.event(request,response,internalPortletWindow);
  }
  finally {
    ContainerInvocation.clearInvocation();
  }
  debugWithName("String_Node_Str" + window.getPortletName());
  String location=eventResponse.getRedirectLocation();
  if (location == null) {
    debugWithName("String_Node_Str");
    PortletURLProvider redirectURL=requiredContainerServices.getPortalCallbackService().getPortletURLProvider(request,internalPortletWindow);
    saveChangedParameters(eventRequest,eventResponse,redirectURL);
    redirectURL.savePortalURL(request);
  }
}