Program: 136990
Project: 136990
Buggy source:
private Section createTableSectionPartForMapDB(Composite parentComp,String title,SimpleStatIndicator ssIndicator){
  Section columnSetElementSection=this.createSection(form,parentComp,title,null);
  Composite sectionTableComp=toolkit.createComposite(columnSetElementSection);
  if (ssIndicator.isStoreData()) {
    columnSetElementSection.setExpanded(true);
    columnSetElementSection.setEnabled(true);
    sectionTableComp.setLayoutData(new GridData(GridData.FILL_BOTH));
    sectionTableComp.setLayout(new GridLayout());
    Button filterDataBt=new Button(sectionTableComp,SWT.NONE);
    filterDataBt.setText(DefaultMessagesImpl.getString("String_Node_Str"));
    filterDataBt.setLayoutData(new GridData(SWT.CENTER,SWT.CENTER,false,false));
    filterDataBt.setEnabled(containAllMatchIndicator());
    filterDataBt.addMouseListener(new MouseListener(){
      public void mouseDoubleClick(      MouseEvent e){
      }
      public void mouseDown(      MouseEvent e){
        List<Indicator> indicatorsList=masterPage.analysisItem.getAnalysis().getResults().getIndicators();
        SelectPatternsWizard wizard=new SelectPatternsWizard(indicatorsList);
        wizard.setFilterType(filterType);
        wizard.setOldTableInputList(ColumnSetResultPage.this.tableFilterResult);
        WizardDialog dialog=new WizardDialog(null,wizard);
        dialog.setPageSize(300,400);
        wizard.setContainer(dialog);
        wizard.setWindowTitle(DefaultMessagesImpl.getString("String_Node_Str"));
        if (WizardDialog.OK == dialog.open()) {
          ColumnSetResultPage.this.tableFilterResult=wizard.getPatternSelectPage().getTableInputList();
          filterType=wizard.getPatternSelectPage().getFilterType();
          columnsElementViewer.refresh();
        }
      }
      public void mouseUp(      MouseEvent e){
      }
    }
);
    columnsElementViewer=new TableViewer(sectionTableComp,SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    Table table=columnsElementViewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    TableSectionViewerProvider provider=new TableSectionViewerProvider();
    columnsElementViewer.setContentProvider(provider);
    columnsElementViewer.addFilter(new PatternDataFilter());
    columnSetElementSection.setClient(sectionTableComp);
    columnSetElementSection.setExpanded(false);
    int pageSize=100;
    setupTableGridDataLimitedSize(table,pageSize);
    final PageableController controller=new PageableController(MapDBPageConstant.NUMBER_PER_PAGE);
    try {
      final IPageLoader<PageResult<Object[]>> pageLoader=new MapDBPageLoader<Object[]>(ssIndicator.getMapDB(StandardDBName.dataSection.name()));
      controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller,columnsElementViewer,pageLoader,PageResultContentProvider.getInstance(),null));
      ResultAndNavigationPageGraphicsRenderer resultAndPageButtonsDecorator=new ResultAndNavigationPageGraphicsRenderer(sectionTableComp,SWT.NONE,controller);
      resultAndPageButtonsDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    }
 catch (    IOError error) {
      log.warn(error.getMessage(),error);
    }
    createColumns(controller,ssIndicator);
    controller.setCurrentPage(0);
    for (    TableColumn column : table.getColumns()) {
      column.pack();
    }
  }
 else {
    columnSetElementSection.setExpanded(false);
    columnSetElementSection.setEnabled(false);
  }
  return columnSetElementSection;
}

Fixed version (ground truth):
private Section createTableSectionPartForMapDB(Composite parentComp,String title,SimpleStatIndicator ssIndicator){
  Section columnSetElementSection=this.createSection(form,parentComp,title,null);
  Composite sectionTableComp=toolkit.createComposite(columnSetElementSection);
  if (ssIndicator.isStoreData()) {
    columnSetElementSection.setExpanded(true);
    columnSetElementSection.setEnabled(true);
    sectionTableComp.setLayoutData(new GridData(GridData.FILL_BOTH));
    sectionTableComp.setLayout(new GridLayout());
    AbstractDB<Object[]> mapDB=null;
    try {
      mapDB=ssIndicator.getMapDB(StandardDBName.dataSection.name());
    }
 catch (    IOError error) {
      log.warn(error.getMessage(),error);
    }
    Button filterDataBt=new Button(sectionTableComp,SWT.NONE);
    filterDataBt.setText(DefaultMessagesImpl.getString("String_Node_Str"));
    filterDataBt.setLayoutData(new GridData(SWT.CENTER,SWT.CENTER,false,false));
    filterDataBt.setEnabled(containAllMatchIndicator() && mapDB != null);
    filterDataBt.addMouseListener(new MouseListener(){
      public void mouseDoubleClick(      MouseEvent e){
      }
      public void mouseDown(      MouseEvent e){
        List<Indicator> indicatorsList=masterPage.analysisItem.getAnalysis().getResults().getIndicators();
        SelectPatternsWizard wizard=new SelectPatternsWizard(indicatorsList);
        wizard.setFilterType(filterType);
        wizard.setOldTableInputList(ColumnSetResultPage.this.tableFilterResult);
        WizardDialog dialog=new WizardDialog(null,wizard);
        dialog.setPageSize(300,400);
        wizard.setContainer(dialog);
        wizard.setWindowTitle(DefaultMessagesImpl.getString("String_Node_Str"));
        if (WizardDialog.OK == dialog.open()) {
          ColumnSetResultPage.this.tableFilterResult=wizard.getPatternSelectPage().getTableInputList();
          filterType=wizard.getPatternSelectPage().getFilterType();
          columnsElementViewer.refresh();
        }
      }
      public void mouseUp(      MouseEvent e){
      }
    }
);
    columnsElementViewer=new TableViewer(sectionTableComp,SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    Table table=columnsElementViewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    TableSectionViewerProvider provider=new TableSectionViewerProvider();
    columnsElementViewer.setContentProvider(provider);
    columnsElementViewer.addFilter(new PatternDataFilter());
    columnSetElementSection.setClient(sectionTableComp);
    columnSetElementSection.setExpanded(false);
    int pageSize=100;
    setupTableGridDataLimitedSize(table,pageSize);
    final PageableController controller=new PageableController(MapDBPageConstant.NUMBER_PER_PAGE);
    if (mapDB != null) {
      final IPageLoader<PageResult<Object[]>> pageLoader=new MapDBPageLoader<Object[]>(mapDB);
      controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller,columnsElementViewer,pageLoader,PageResultContentProvider.getInstance(),null));
      ResultAndNavigationPageGraphicsRenderer resultAndPageButtonsDecorator=new ResultAndNavigationPageGraphicsRenderer(sectionTableComp,SWT.NONE,controller);
      resultAndPageButtonsDecorator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    }
    createColumns(controller,ssIndicator);
    controller.setCurrentPage(0);
    for (    TableColumn column : table.getColumns()) {
      column.pack();
    }
  }
 else {
    columnSetElementSection.setExpanded(false);
    columnSetElementSection.setEnabled(false);
  }
  return columnSetElementSection;
}