layout.addColumnData(columnLayouts[i]);
TableColumn tc = new TableColumn(getTable(), SWT.NONE,i);
tc.setResizable(columnLayouts[i].resizable);
tc.setText(columnHeaders[i]);
final int j = i;
tc.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
ViewerSorter oldSorter = viewer.getSorter();
if(oldSorter instanceof ColumnBasedSorter) {
ColumnBasedSorter sorter = (ColumnBasedSorter) oldSorter;
if(sorter.getColumn() == j) {