Buggy code:
public final class MethodInvocationDialog extends Dialog { public static final int ASYNC_LISTENER = 0 ; public static final int ASYNC_FUTURE_RESULT = ( MethodInvocationDialog . ASYNC_LISTENER ) + 1 ; public static final int ASYNC_FIRE_AND_GO = ( MethodInvocationDialog . ASYNC_FUTURE_RESULT ) + 1 ; public static final int OSGI_SERVICE_PROXY = ( MethodInvocationDialog . ASYNC_FIRE_AND_GO ) + 1 ; public static final int REMOTE_SERVICE_PROXY = ( MethodInvocationDialog . OSGI_SERVICE_PROXY ) + 1 ; public static final int SYNCHRONOUS = ( MethodInvocationDialog . REMOTE_SERVICE_PROXY ) + 1 ; private static final String [ ] COLUMN_PROPERTIES = new String [ ] { "Parameter" , "Argument" } ; private static final String DEFAULT_TIMEOUT_VALUE = "30000" ; private TableViewer methodsViewer ; private TableViewer parametersViewer ; private Text timeoutText ; private Combo invocationCombo ; private final RemoteMethod [ ] methods ; private Method method ; private Object [ ] methodArguments ; private int timeout ; private int invocationType ; public MethodInvocationDialog ( IShellProvider parentShell , Class cls ) { } public MethodInvocationDialog ( Shell parentShell , Class cls ) { } protected void configureShell ( Shell newShell ) { } protected Control createDialogArea ( Composite parent ) { parent = ( ( Composite ) ( super . createDialogArea ( parent ) ) ) ; final Composite composite = new Composite ( parent , SWT . NONE ) ; composite . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . FILL , true , true ) ) ; composite . setLayout ( new GridLayout ( 2 , true ) ) ; Label label = new Label ( composite , SWT . LEAD ) ; label . setText ( MethodInvocationDialog_AvailableMethodsLabel ) ; label = new Label ( composite , SWT . LEAD ) ; label . setText ( MethodInvocationDialog_ArgumentsLabel ) ; methodsViewer = new TableViewer ( composite , ( ( ( SWT . V_SCROLL ) | ( SWT . H_SCROLL ) ) | ( SWT . BORDER ) ) ) ; methodsViewer . getControl ( ) . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . FILL , true , true ) ) ; methodsViewer . setContentProvider ( new ArrayContentProvider ( ) ) ; methodsViewer . addSelectionChangedListener ( new ISelectionChangedListener ( ) { public void selectionChanged ( SelectionChangedEvent e ) { final IStructuredSelection iss = ( ( IStructuredSelection ) ( e . getSelection ( ) ) ) ; final Object element = iss . getFirstElement ( ) ; if ( element != null ) { getButton ( OK_ID ) . setEnabled ( ( ! ( timeoutText . getText ( ) . equals ( "" ) ) ) ) ; final RemoteMethod method = ( ( RemoteMethod ) ( element ) ) ; parametersViewer . setInput ( method . getParameters ( ) ) ; } } } ) ; methodsViewer . setLabelProvider ( new LabelProvider ( ) { public String getText ( Object element ) { final RemoteMethod method = ( ( RemoteMethod ) ( element ) ) ; return ( ( method . getReturnType ( ) ) + '<seq2seq4repair_space>' ) + ( method . getSignature ( ) ) ; } } ) ; <START_BUG> parametersViewer = new TableViewer ( composite , ( ( ( SWT . V_SCROLL ) | ( SWT . H_SCROLL ) ) | ( SWT . BORDER ) ) ) ; <END_BUG> parametersViewer . getControl ( ) . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . FILL , true , true ) ) ; parametersViewer . setContentProvider ( new ArrayContentProvider ( ) ) ; parametersViewer . setLabelProvider ( new ITableLabelProvider ( ) { public Image getColumnImage ( Object element , int columnIndex ) { return null ; } public String getColumnText ( Object element , int columnIndex ) { final Parameter p = ( ( Parameter ) ( element ) ) ; if ( columnIndex == 0 ) { final String name = p . getParameter ( ) . getName ( ) ; if ( ( name . charAt ( 0 ) ) == 'j' ) { return "String" ; } else { return name ; } } else { return p . getArgument ( ) ; } } public void addListener ( ILabelProviderListener listener ) { } public void dispose ( ) { } public boolean isLabelProperty ( Object element , String property ) { return true ; } public void removeListener ( ILabelProviderListener listener ) { } } ) ; parametersViewer . setCellEditors ( new CellEditor [ ] { null , new org . eclipse . jface . viewers . TextCellEditor ( parametersViewer . getTable ( ) ) } ) ; parametersViewer . setCellModifier ( new ICellModifier ( ) { public boolean canModify ( Object element , String property ) { return property . equals ( MethodInvocationDialog . COLUMN_PROPERTIES [ 1 ] ) ; } public Object getValue ( Object element , String property ) { return ( ( Parameter ) ( element ) ) . getArgument ( ) ; } public void modify ( Object element , String property , Object value ) { if ( property . equals ( MethodInvocationDialog . COLUMN_PROPERTIES [ 1 ] ) ) { if ( element instanceof TableItem ) { final TableItem item = ( ( TableItem ) ( element ) ) ; final Parameter p = ( ( Parameter ) ( item . getData ( ) ) ) ; final String argument = ( ( String ) ( value ) ) ; p . setArgument ( argument ) ; item . setText ( 1 , argument ) ; } } } } ) ; parametersViewer . setColumnProperties ( MethodInvocationDialog . COLUMN_PROPERTIES ) ; final Table table = parametersViewer . getTable ( ) ; table . setHeaderVisible ( true ) ; table . setLinesVisible ( true ) ; TableColumn column = new TableColumn ( table , SWT . LEAD ) ;

Fix:
parametersViewer = new TableViewer ( composite , ( ( ( ( SWT . V_SCROLL ) | ( SWT . FULL_SELECTION ) ) | ( SWT . H_SCROLL ) ) | ( SWT . BORDER ) ) ) ;