Program: 139931
Project: 139931
Buggy source:
private void createResultDataComposite(final Composite comp,final ColumnIndicator columnIndicator){
  if (columnIndicator.getIndicators().length != 0) {
    final TdColumn column=columnIndicator.getTdColumn();
    IRunnableWithProgress rwp=new IRunnableWithProgress(){
      public void run(      IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
        monitor.beginTask(DefaultMessagesImpl.getString("String_Node_Str",column.getName()),IProgressMonitor.UNKNOWN);
        Display.getDefault().asyncExec(new Runnable(){
          public void run(){
            Map<EIndicatorChartType,List<IndicatorUnit>> indicatorComposite=CompositeIndicator.getInstance().getIndicatorComposite(columnIndicator);
            for (            EIndicatorChartType chartType : indicatorComposite.keySet()) {
              List<IndicatorUnit> units=indicatorComposite.get(chartType);
              if (!units.isEmpty()) {
                IChartTypeStates chartTypeState=ChartTypeStatesOperator.getChartState(chartType,units);
                ChartWithData chartData=new ChartWithData(chartType,chartTypeState.getChart(),chartTypeState.getDataEntity());
                ExpandableComposite subComp=toolkit.createExpandableComposite(comp,ExpandableComposite.TWISTIE | ExpandableComposite.CLIENT_INDENT | ExpandableComposite.EXPANDED);
                subComp.setText(chartData.getChartType().getLiteral());
                subComp.setLayoutData(new GridData(GridData.FILL_BOTH));
                final Composite composite=toolkit.createComposite(subComp,SWT.NULL);
                composite.setLayout(new GridLayout(2,false));
                composite.setLayoutData(new GridData(GridData.FILL_BOTH));
                Analysis analysis=masterPage.getAnalysisHandler().getAnalysis();
                TableViewer tableviewer=chartTypeState.getTableForm(composite);
                tableviewer.setInput(chartData);
                DataExplorer dataExplorer=chartTypeState.getDataExplorer();
                ChartTableFactory.addMenuAndTip(tableviewer,dataExplorer,analysis);
                JFreeChart chart=chartTypeState.getChart();
                ChartDecorator.decorate(chart);
                if (chart != null) {
                  ChartComposite cc=new ChartComposite(composite,SWT.NONE,chart,true);
                  GridData gd=new GridData();
                  gd.widthHint=550;
                  gd.heightHint=250;
                  cc.setLayoutData(gd);
                  addMouseListenerForChart(cc,dataExplorer,analysis);
                }
                subComp.setClient(composite);
                subComp.addExpansionListener(new ExpansionAdapter(){
                  @Override public void expansionStateChanged(                  ExpansionEvent e){
                    form.reflow(true);
                  }
                }
);
              }
            }
          }
        }
);
        monitor.done();
      }
    }
;
    try {
      new ProgressMonitorDialog(null).run(true,false,rwp);
    }
 catch (    Exception ex) {
      ex.printStackTrace();
    }
  }
}

Fixed version (ground truth):
private void createResultDataComposite(final Composite comp,final ColumnIndicator columnIndicator){
  if (columnIndicator.getIndicators().length != 0) {
    Map<EIndicatorChartType,List<IndicatorUnit>> indicatorComposite=CompositeIndicator.getInstance().getIndicatorComposite(columnIndicator);
    for (    EIndicatorChartType chartType : indicatorComposite.keySet()) {
      List<IndicatorUnit> units=indicatorComposite.get(chartType);
      if (!units.isEmpty()) {
        IChartTypeStates chartTypeState=ChartTypeStatesOperator.getChartState(chartType,units);
        ChartWithData chartData=new ChartWithData(chartType,chartTypeState.getChart(),chartTypeState.getDataEntity());
        ExpandableComposite subComp=toolkit.createExpandableComposite(comp,ExpandableComposite.TWISTIE | ExpandableComposite.CLIENT_INDENT | ExpandableComposite.EXPANDED);
        subComp.setText(chartData.getChartType().getLiteral());
        subComp.setLayoutData(new GridData(GridData.FILL_BOTH));
        final Composite composite=toolkit.createComposite(subComp,SWT.NULL);
        composite.setLayout(new GridLayout(2,false));
        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
        Analysis analysis=masterPage.getAnalysisHandler().getAnalysis();
        TableViewer tableviewer=chartTypeState.getTableForm(composite);
        tableviewer.setInput(chartData);
        DataExplorer dataExplorer=chartTypeState.getDataExplorer();
        ChartTableFactory.addMenuAndTip(tableviewer,dataExplorer,analysis);
        JFreeChart chart=chartTypeState.getChart();
        ChartDecorator.decorate(chart);
        if (chart != null) {
          ChartComposite cc=new ChartComposite(composite,SWT.NONE,chart,true);
          GridData gd=new GridData();
          gd.widthHint=550;
          gd.heightHint=250;
          cc.setLayoutData(gd);
          addMouseListenerForChart(cc,dataExplorer,analysis);
        }
        subComp.setClient(composite);
        subComp.addExpansionListener(new ExpansionAdapter(){
          @Override public void expansionStateChanged(          ExpansionEvent e){
            form.reflow(true);
          }
        }
);
      }
    }
  }
}