Program: 52759
Project: 52759
Buggy source:
protected Composite createPricesTable(Composite parent){
  Composite container=new Composite(parent,SWT.NONE);
  TableColumnLayout layout=new TableColumnLayout();
  container.setLayout(layout);
  prices=new TableViewer(container,SWT.FULL_SELECTION | SWT.MULTI);
  ColumnEditingSupport.prepare(prices);
  ShowHideColumnHelper support=new ShowHideColumnHelper(SecurityListView.class.getSimpleName() + "String_Node_Str",getPreferenceStore(),prices,layout);
  Column column=new Column(Messages.ColumnDate,SWT.None,80);
  column.setLabelProvider(new ColumnLabelProvider(){
    @Override public String getText(    Object element){
      return Values.Date.format(((SecurityPrice)element).getTime());
    }
  }
);
  ColumnViewerSorter.create(SecurityPrice.class,"String_Node_Str").attachTo(column,SWT.UP);
  new DateEditingSupport(SecurityPrice.class,"String_Node_Str").addListener(this).attachTo(column);
  support.addColumn(column);
  column=new Column(Messages.ColumnQuote,SWT.RIGHT,80);
  column.setLabelProvider(new ColumnLabelProvider(){
    @Override public String getText(    Object element){
      return Values.Quote.format(((SecurityPrice)element).getValue());
    }
  }
);
  ColumnViewerSorter.create(SecurityPrice.class,"String_Node_Str").attachTo(column);
  new ValueEditingSupport(SecurityPrice.class,"String_Node_Str",Values.Quote).addListener(this).attachTo(column);
  support.addColumn(column);
  support.createColumns();
  prices.getTable().setHeaderVisible(true);
  prices.getTable().setLinesVisible(true);
  prices.setContentProvider(new SimpleListContentProvider(true));
  hookContextMenu(prices.getTable(),new IMenuListener(){
    public void menuAboutToShow(    IMenuManager manager){
      fillPricesContextMenu(manager);
    }
  }
);
  return container;
}

Fixed version (ground truth):
protected Composite createPricesTable(Composite parent){
  Composite container=new Composite(parent,SWT.NONE);
  TableColumnLayout layout=new TableColumnLayout();
  container.setLayout(layout);
  prices=new TableViewer(container,SWT.FULL_SELECTION | SWT.MULTI);
  ColumnEditingSupport.prepare(prices);
  ShowHideColumnHelper support=new ShowHideColumnHelper(SecurityListView.class.getSimpleName() + "String_Node_Str",getPreferenceStore(),prices,layout);
  Column column=new Column(Messages.ColumnDate,SWT.None,80);
  column.setLabelProvider(new ColumnLabelProvider(){
    @Override public String getText(    Object element){
      return Values.Date.format(((SecurityPrice)element).getTime());
    }
  }
);
  ColumnViewerSorter.create(SecurityPrice.class,"String_Node_Str").attachTo(column,SWT.UP);
  new DateEditingSupport(SecurityPrice.class,"String_Node_Str").addListener(this).attachTo(column);
  support.addColumn(column);
  column=new Column(Messages.ColumnQuote,SWT.RIGHT,80);
  column.setLabelProvider(new ColumnLabelProvider(){
    @Override public String getText(    Object element){
      return Values.Quote.format(((SecurityPrice)element).getValue());
    }
  }
);
  ColumnViewerSorter.create(SecurityPrice.class,"String_Node_Str").attachTo(column);
  new ValueEditingSupport(SecurityPrice.class,"String_Node_Str",Values.Quote).addListener(this).attachTo(column);
  support.addColumn(column);
  support.createColumns();
  prices.getTable().setHeaderVisible(true);
  prices.getTable().setLinesVisible(true);
  prices.setContentProvider(new SimpleListContentProvider(true));
  ViewerHelper.pack(prices);
  hookContextMenu(prices.getTable(),new IMenuListener(){
    public void menuAboutToShow(    IMenuManager manager){
      fillPricesContextMenu(manager);
    }
  }
);
  return container;
}