Program: 67070
Project: 67070
Buggy source:
/** 
 * execute the multiline text. multiline text have two expressions define the value and type. If the value type is HTML, the value returns string in HTML. If the value type is PLAIN_TEXT, the value returns string in plain text. the handling process is: <li> create forign object <li> push it into the context <li> execute the dataset if any <li> seek to the first record <li> intialize the content <li> process style, action, bookmark, visiblity <li> evaluate the type and value <li> set the rawType to html or text. <li> call the onCreate if necessary <li> pass it to emitter <li> close the data set <li> pop the context.
 * @see org.eclipse.birt.report.engine.executor.ReportItemExecutor#excute(org.eclipse.birt.report.engine.ir.ReportItemDesign,org.eclipse.birt.report.engine.emitter.IReportEmitter)
 */
public IContent execute(){
  DynamicTextItemDesign textDesign=(DynamicTextItemDesign)getDesign();
  IForeignContent textContent=report.createForeignContent();
  setContent(textContent);
  executeQuery();
  initializeContent(textDesign,textContent);
  processStyle(textDesign,textContent);
  processBookmark(textDesign,textContent);
  processVisibility(textDesign,textContent);
  processAction(textDesign,textContent);
  processUserProperties(textDesign,textContent);
  String contentType=textDesign.getContentType();
  if (contentType == null) {
    contentType=TextItemDesign.AUTO_TEXT;
  }
  Object content=evaluate(textDesign.getContent());
  if (content != null) {
    if (IOUtil.getTypeIndex(content) == -1) {
      content=content.toString();
    }
  }
  String rawType=ForeignContent.getTextRawType(contentType,content);
  if (IForeignContent.TEXT_TYPE.equals(rawType)) {
    rawType=IForeignContent.VALUE_TYPE;
  }
  textContent.setRawType(rawType);
  textContent.setRawValue(content);
  if (context.isInFactory()) {
    handleOnCreate(textContent);
  }
  startTOCEntry(textContent);
  return textContent;
}

Fixed version (ground truth):
/** 
 * execute the multiline text. multiline text have two expressions define the value and type. If the value type is HTML, the value returns string in HTML. If the value type is PLAIN_TEXT, the value returns string in plain text. the handling process is: <li> create forign object <li> push it into the context <li> execute the dataset if any <li> seek to the first record <li> intialize the content <li> process style, action, bookmark, visiblity <li> evaluate the type and value <li> set the rawType to html or text. <li> call the onCreate if necessary <li> pass it to emitter <li> close the data set <li> pop the context.
 * @see org.eclipse.birt.report.engine.executor.ReportItemExecutor#excute(org.eclipse.birt.report.engine.ir.ReportItemDesign,org.eclipse.birt.report.engine.emitter.IReportEmitter)
 */
public IContent execute(){
  DynamicTextItemDesign textDesign=(DynamicTextItemDesign)getDesign();
  IForeignContent textContent=report.createForeignContent();
  setContent(textContent);
  executeQuery();
  initializeContent(textDesign,textContent);
  processStyle(textDesign,textContent);
  processBookmark(textDesign,textContent);
  processVisibility(textDesign,textContent);
  processAction(textDesign,textContent);
  processUserProperties(textDesign,textContent);
  String contentType=textDesign.getContentType();
  if (contentType == null) {
    contentType=TextItemDesign.AUTO_TEXT;
  }
  Object content=evaluate(textDesign.getContent());
  if (content != null) {
    if (IOUtil.getScriptObjectType(content) == -1) {
      content=content.toString();
    }
  }
  String rawType=ForeignContent.getTextRawType(contentType,content);
  if (IForeignContent.TEXT_TYPE.equals(rawType)) {
    rawType=IForeignContent.VALUE_TYPE;
  }
  textContent.setRawType(rawType);
  textContent.setRawValue(content);
  if (context.isInFactory()) {
    handleOnCreate(textContent);
  }
  startTOCEntry(textContent);
  return textContent;
}