Program: 70797
Project: 70797
Buggy source:
public void buildUI(Composite parent){
  super.buildUI(parent);
  ComboPropertyDescriptorProvider layoutProvider=new ComboPropertyDescriptorProvider(ReportDesignHandle.LAYOUT_PREFERENCE_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  ComboSection layoutSection=new ComboSection(layoutProvider.getDisplayName(),container,true);
  layoutSection.setProvider(layoutProvider);
  layoutSection.setWidth(500);
  layoutSection.setGridPlaceholder(2,true);
  addSection(PageSectionId.REPORT_LAYOUT_PREFERENCE,layoutSection);
  ComboPropertyDescriptorProvider biDiOrientatonProvider=new ComboPropertyDescriptorProvider(ReportDesignHandle.BIDI_ORIENTATION_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  ComboSection biDiOrientatonSection=new ComboSection(biDiOrientatonProvider.getDisplayName(),container,true);
  biDiOrientatonSection.setProvider(biDiOrientatonProvider);
  biDiOrientatonSection.setWidth(500);
  biDiOrientatonSection.setGridPlaceholder(2,true);
  addSection(PageSectionId.REPORT_BIDI_ORIENTATION,biDiOrientatonSection);
  TextPropertyDescriptorProvider displayProvider=new TextPropertyDescriptorProvider(ModuleHandle.DISPLAY_NAME_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  TextSection displaySection=new TextSection(displayProvider.getDisplayName(),container,true);
  displaySection.setProvider(displayProvider);
  displaySection.setWidth(500);
  displaySection.setGridPlaceholder(2,true);
  addSection(PageSectionId.REPORT_DISPLAY,displaySection);
  TextPropertyDescriptorProvider prvImageProvider=new TextPropertyDescriptorProvider(ReportDesignHandle.ICON_FILE_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  prvImageSection=new TextAndTwoButtonSection(prvImageProvider.getDisplayName(),container,true);
  prvImageSection.setProvider(prvImageProvider);
  prvImageSection.addSecondSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      ThumbnailBuilder dialog=new ThumbnailBuilder();
      dialog.setImageName(prvImageSection.getTextControl().getText());
      ReportDesignHandle handle=(ReportDesignHandle)SessionHandleAdapter.getInstance().getReportDesignHandle();
      dialog.setReportDesignHandle(handle);
      if (dialog.open() != Dialog.OK) {
        Image image=dialog.getImage();
        if (image != null) {
          image.dispose();
          image=null;
        }
        return;
      }
      if (dialog.shouldSetThumbnail()) {
        Image image=dialog.getImage();
        ImageData imageData=image.getImageData();
        ImageLoader imageLoader=new ImageLoader();
        imageLoader.data=new ImageData[1];
        imageLoader.data[0]=imageData;
        ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
        imageLoader.save(outputStream,SWT.IMAGE_PNG);
        try {
          handle.setThumbnail(outputStream.toByteArray());
        }
 catch (        SemanticException e1) {
          ExceptionHandler.handle(e1);
        }
        if (image != null) {
          image.dispose();
          image=null;
        }
        prvImageSection.setStringValue(dialog.getImageName());
        prvImageSection.forceFocus();
      }
 else {
        if (handle.getThumbnail() != null && handle.getThumbnail().length != 0) {
          try {
            handle.deleteThumbnail();
          }
 catch (          SemanticException e1) {
            ExceptionHandler.handle(e1);
          }
        }
        prvImageSection.setStringValue("String_Node_Str");
        prvImageSection.forceFocus();
      }
    }
  }
);
  prvImageSection.setWidth(500);
  prvImageSection.setSecondButtonText("String_Node_Str");
  prvImageSection.setSecondButtonTooltipText(Messages.getString("String_Node_Str"));
  addSection(PageSectionId.REPORT_PRVIMAGE,prvImageSection);
  createSections();
  layoutSections();
}

Fixed version (ground truth):
public void buildUI(Composite parent){
  super.buildUI(parent);
  ComboPropertyDescriptorProvider layoutProvider=new ComboPropertyDescriptorProvider(ReportDesignHandle.LAYOUT_PREFERENCE_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  ComboSection layoutSection=new ComboSection(layoutProvider.getDisplayName(),container,true);
  layoutSection.setProvider(layoutProvider);
  layoutSection.setWidth(500);
  layoutSection.setGridPlaceholder(2,true);
  addSection(PageSectionId.REPORT_LAYOUT_PREFERENCE,layoutSection);
  ComboPropertyDescriptorProvider biDiOrientatonProvider=new ComboPropertyDescriptorProvider(ReportDesignHandle.BIDI_ORIENTATION_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  ComboSection biDiOrientatonSection=new ComboSection(biDiOrientatonProvider.getDisplayName(),container,true);
  biDiOrientatonSection.setProvider(biDiOrientatonProvider);
  biDiOrientatonSection.setWidth(500);
  biDiOrientatonSection.setGridPlaceholder(2,true);
  addSection(PageSectionId.REPORT_BIDI_ORIENTATION,biDiOrientatonSection);
  TextPropertyDescriptorProvider displayProvider=new TextPropertyDescriptorProvider(ModuleHandle.DISPLAY_NAME_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  TextSection displaySection=new TextSection(displayProvider.getDisplayName(),container,true);
  displaySection.setProvider(displayProvider);
  displaySection.setWidth(500);
  displaySection.setGridPlaceholder(2,true);
  addSection(PageSectionId.REPORT_DISPLAY,displaySection);
  TextPropertyDescriptorProvider prvImageProvider=new TextPropertyDescriptorProvider(ReportDesignHandle.ICON_FILE_PROP,ReportDesignConstants.REPORT_DESIGN_ELEMENT);
  prvImageSection=new TextAndTwoButtonSection(prvImageProvider.getDisplayName(),container,true);
  prvImageSection.setProvider(prvImageProvider);
  prvImageSection.addSecondSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      ThumbnailBuilder dialog=new ThumbnailBuilder();
      dialog.setImageName(prvImageSection.getTextControl().getText());
      ReportDesignHandle handle=(ReportDesignHandle)SessionHandleAdapter.getInstance().getReportDesignHandle();
      dialog.setReportDesignHandle(handle);
      if (dialog.open() != Dialog.OK) {
        Image image=dialog.getImage();
        if (image != null) {
          image.dispose();
          image=null;
        }
        return;
      }
      if (dialog.shouldSetThumbnail()) {
        Image image=dialog.getImage();
        if (image != null) {
          ImageData imageData=image.getImageData();
          ImageLoader imageLoader=new ImageLoader();
          imageLoader.data=new ImageData[1];
          imageLoader.data[0]=imageData;
          ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
          imageLoader.save(outputStream,SWT.IMAGE_PNG);
          try {
            handle.setThumbnail(outputStream.toByteArray());
          }
 catch (          SemanticException e1) {
            ExceptionHandler.handle(e1);
          }
          image.dispose();
          image=null;
        }
        prvImageSection.setStringValue(dialog.getImageName());
        prvImageSection.forceFocus();
      }
 else {
        if (handle.getThumbnail() != null && handle.getThumbnail().length != 0) {
          try {
            handle.deleteThumbnail();
          }
 catch (          SemanticException e1) {
            ExceptionHandler.handle(e1);
          }
        }
        prvImageSection.setStringValue("String_Node_Str");
        prvImageSection.forceFocus();
      }
    }
  }
);
  prvImageSection.setWidth(500);
  prvImageSection.setSecondButtonText("String_Node_Str");
  prvImageSection.setSecondButtonTooltipText(Messages.getString("String_Node_Str"));
  addSection(PageSectionId.REPORT_PRVIMAGE,prvImageSection);
  createSections();
  layoutSections();
}