Program: 78981
Project: 78981
Buggy source:
/** 
 * Execute a listint and create the contents. List create a serials of contents. The execution process is: <li> create an container which will contain all the contents it creates. <li> push it into the stack <li> open query <li> process action, bookmark, style and visibility <li> call the onCreate if necessary <li> call emitter to start the list <li> access the query <li> call emitter to end the list <li> close the query. <li> pop up the container.
 * @see org.eclipse.birt.report.engine.executor.ReportItemExecutor#execute(org.eclipse.birt.report.engine.ir.ReportItemDesign,org.eclipse.birt.report.engine.emitter.IReportEmitter)
 */
public void execute(ReportItemDesign item,IContentEmitter emitter){
  ListItemDesign list=(ListItemDesign)item;
  logger.log(Level.FINE,"String_Node_Str");
  IContainerContent listContent=report.createContainerContent();
  assert(listContent instanceof ContainerContent);
  IContent parent=context.getContent();
  context.pushContent(listContent);
  openResultSet(list);
  initializeContent(parent,item,listContent);
  processAction(item,listContent);
  processBookmark(item,listContent);
  processStyle(item,listContent);
  processVisibility(item,listContent);
  if (context.isInFactory()) {
    ListScriptExecutor.handleOnCreate((ContainerContent)listContent,context);
  }
  if (emitter != null) {
    emitter.startContainer(listContent);
  }
  logger.log(Level.FINE,"String_Node_Str");
  accessQuery(list,emitter);
  logger.log(Level.FINE,"String_Node_Str");
  if (emitter != null) {
    emitter.endContainer(listContent);
  }
  closeResultSet();
  context.popContent();
  logger.log(Level.FINE,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Execute a listint and create the contents. List create a serials of contents. The execution process is: <li> create an container which will contain all the contents it creates. <li> push it into the stack <li> open query <li> process action, bookmark, style and visibility <li> call the onCreate if necessary <li> call emitter to start the list <li> access the query <li> call emitter to end the list <li> close the query. <li> pop up the container.
 * @see org.eclipse.birt.report.engine.executor.ReportItemExecutor#execute(org.eclipse.birt.report.engine.ir.ReportItemDesign,org.eclipse.birt.report.engine.emitter.IReportEmitter)
 */
public void execute(ReportItemDesign item,IContentEmitter emitter){
  ListItemDesign list=(ListItemDesign)item;
  logger.log(Level.FINE,"String_Node_Str");
  IContainerContent listContent=report.createContainerContent();
  assert(listContent instanceof ContainerContent);
  IContent parent=context.getContent();
  context.pushContent(listContent);
  openResultSet(list);
  initializeContent(parent,item,listContent);
  processAction(item,listContent);
  processBookmark(item,listContent);
  processStyle(item,listContent);
  processVisibility(item,listContent);
  if (context.isInFactory()) {
    try {
      context.newScope(listContent);
      ListScriptExecutor.handleOnCreate((ContainerContent)listContent,context);
    }
  finally {
      context.exitScope();
    }
  }
  if (emitter != null) {
    emitter.startContainer(listContent);
  }
  logger.log(Level.FINE,"String_Node_Str");
  accessQuery(list,emitter);
  logger.log(Level.FINE,"String_Node_Str");
  if (emitter != null) {
    emitter.endContainer(listContent);
  }
  closeResultSet();
  context.popContent();
  logger.log(Level.FINE,"String_Node_Str");
}