Buggy code:
public class FileTransfersView extends ViewPart { public static final Vector transfers = new Vector ( ) ; public static final String ID = "org.eclipse.ecf.filetransfer.ui.FileTransfersView" ; private static final String [ ] COLUMNS = new String [ ] { "Name" , "Download" , "Upload" , "Local<seq2seq4repair_space>File" , "Done" } ; private static final int [ ] WIDTHS = new int [ ] { 250 , 100 , 100 , 350 , 40 } ; static final Object [ ] EMPTY_ARRAY = new Object [ 0 ] ; private static final double GIGABYTE = Math . pow ( 2 , 30 ) ; private static final double MEGABYTE = Math . pow ( 2 , 20 ) ; private static final double KILOBYTE = Math . pow ( 2 , 10 ) ; private static final int NAME = 0 ; private static final int DOWNLOADED = ( FileTransfersView . NAME ) + 1 ; private static final int UPLOADED = ( FileTransfersView . DOWNLOADED ) + 1 ; private static final int FILENAME = ( FileTransfersView . UPLOADED ) + 1 ; private static final int DONE = ( FileTransfersView . FILENAME ) + 1 ; static class FileTransferEntry { IFileTransfer fileTransfer ; String localFileName ; public FileTransferEntry ( IFileTransfer fileTransfer , String localFileName ) { } public FileTransferEntry ( IFileTransfer fileTransfer ) { } public IFileTransfer getFileTransfer ( ) { } public String getLocalFileName ( ) { } public boolean equals ( Object o ) { } public int hashCode ( ) { } } public static FileTransfersView addTransfer ( IFileTransfer transfer ) { } public static FileTransfersView addTransfer ( IFileTransfer transfer , String localFileName ) { } TableViewer viewer ; private Table table ; private Action resumeAction ; private Action pauseAction ; private Action removeAction ; private Action launchAction ; static String getTwoDigitNumber ( long value ) { } private static FileTransfersView instance ; public FileTransfersView ( ) { } public void dispose ( ) { } public void createPartControl ( Composite parent ) { <START_BUG> viewer = new TableViewer ( parent , ( ( ( ( SWT . MULTI ) | ( SWT . H_SCROLL ) ) | ( SWT . V_SCROLL ) ) | ( SWT . VIRTUAL ) ) ) ; <END_BUG> viewer . setContentProvider ( new FileTransfersView . ViewContentProvider ( ) ) ; viewer . setLabelProvider ( new FileTransfersView . ViewLabelProvider ( ) ) ; viewer . setSorter ( new ViewerSorter ( ) ) ; viewer . setInput ( getViewSite ( ) ) ; table = viewer . getTable ( ) ; for ( int i = 0 ; i < ( FileTransfersView . WIDTHS . length ) ; i ++ ) { TableColumn col = new TableColumn ( table , SWT . LEFT ) ; col . setText ( FileTransfersView . COLUMNS [ i ] ) ; col . setWidth ( FileTransfersView . WIDTHS [ i ] ) ; } Iterator iterator = FileTransfersView . transfers . iterator ( ) ; while ( iterator . hasNext ( ) ) { add ( ( ( FileTransfersView . FileTransferEntry ) ( iterator . next ( ) ) ) ) ; } makeActions ( ) ; hookContextMenu ( ) ; table . setLinesVisible ( true ) ; table . setHeaderVisible ( true ) ; table . setLayoutData ( new GridData ( GridData . FILL_BOTH ) ) ; table . setSize ( 1000 , 1000 ) ; } private void add ( FileTransfersView . FileTransferEntry transferEntry ) { } public void update ( IFileTransfer transfer ) { } private void hookContextMenu ( ) { } void fillContextMenu ( IMenuManager manager ) { } private void makeActions ( ) { } void enableActions ( ) { } public void setFocus ( ) { } class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { public String getColumnText ( Object obj , int index ) { } public Image getColumnImage ( Object obj , int index ) { } } class ViewContentProvider implements IStructuredContentProvider { public void inputChanged ( Viewer v , Object oldInput , Object newInput ) { } public void dispose ( ) { } public Object [ ] getElements ( Object inputElement ) { } } }

Fix:
viewer = new TableViewer ( parent , ( ( ( ( ( SWT . MULTI ) | ( SWT . H_SCROLL ) ) | ( SWT . V_SCROLL ) ) | ( SWT . VIRTUAL ) ) | ( SWT . FULL_SELECTION ) ) ) ;