Program: 140030
Project: 140030
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();
                if (chart != null) {
                  GridData gd=new GridData(GridData.FILL_BOTH);
                  ChartPanel chartPanel=ChartUtils.createAWTSWTComp(composite,gd,chart);
                  addMouseListenerForChart(chartPanel,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) {
    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();
                if (chart != null) {
                  GridData gd=new GridData();
                  gd.widthHint=450;
                  gd.heightHint=240;
                  ChartPanel chartPanel=ChartUtils.createAWTSWTComp(composite,gd,chart);
                  addMouseListenerForChart(chartPanel,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();
    }
  }
}