Program: 140212
Project: 140212
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("String_Node_Str" + column.getName(),IProgressMonitor.UNKNOWN);
        Display.getDefault().asyncExec(new Runnable(){
          public void run(){
            for (            ChartWithData chartData : IndicatorChartFactory.createChart(columnIndicator,true)) {
              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));
              final Analysis analysis=masterPage.getAnalysisHandler().getAnalysis();
              ChartTableFactory.createTable(composite,chartData,analysis);
              final JFreeChart chart=chartData.getChart();
              final EIndicatorChartType chartType=chartData.getChartType();
              if (chart != null) {
                Composite frameComp=toolkit.createComposite(composite,SWT.EMBEDDED);
                frameComp.setLayout(new GridLayout());
                GridData gd=new GridData();
                gd.heightHint=230;
                gd.widthHint=460;
                if (chartData.getChartType() == EIndicatorChartType.SUMMARY_STATISTICS) {
                  gd=new GridData();
                  gd.heightHint=500;
                  gd.widthHint=150;
                }
                frameComp.setLayoutData(gd);
                Frame frame=SWT_AWT.new_Frame(frameComp);
                frame.setLayout(new java.awt.GridLayout());
                ChartPanel chartPanel=new ChartPanel(chart);
                addMouseListenerForChart(chartPanel,chartType,analysis);
                frame.add(chartPanel);
                frame.pack();
                frame.validate();
              }
              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("String_Node_Str" + column.getName(),IProgressMonitor.UNKNOWN);
        Display.getDefault().asyncExec(new Runnable(){
          public void run(){
            for (            ChartWithData chartData : IndicatorChartFactory.createChart(columnIndicator,true)) {
              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));
              final Analysis analysis=masterPage.getAnalysisHandler().getAnalysis();
              ChartTableFactory.createTable(composite,chartData,analysis);
              final JFreeChart chart=chartData.getChart();
              final EIndicatorChartType chartType=chartData.getChartType();
              if (chart != null) {
                Composite frameComp=toolkit.createComposite(composite,SWT.EMBEDDED);
                frameComp.setLayout(new GridLayout());
                GridData gd=new GridData();
                gd.heightHint=230;
                gd.widthHint=460;
                if (chartData.getChartType() == EIndicatorChartType.SUMMARY_STATISTICS) {
                  gd=new GridData();
                  gd.heightHint=450;
                  gd.widthHint=150;
                }
                frameComp.setLayoutData(gd);
                Frame frame=SWT_AWT.new_Frame(frameComp);
                frame.setLayout(new java.awt.GridLayout());
                ChartPanel chartPanel=new ChartPanel(chart);
                addMouseListenerForChart(chartPanel,chartType,analysis);
                frame.add(chartPanel);
                frame.pack();
                frame.validate();
              }
              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();
    }
  }
}