Buggy code:
public abstract class AbstractTableInformationControl { protected class NamePatternFilter extends ViewerFilter { public NamePatternFilter ( ) { } public boolean select ( Viewer viewer , Object parentElement , Object element ) { } } private static class BorderFillLayout extends Layout { final int fBorderSize ; public BorderFillLayout ( int borderSize ) { } public int getBorderSize ( ) { } protected Point computeSize ( Composite composite , int wHint , int hHint , boolean flushCache ) { } protected void layout ( Composite composite , boolean flushCache ) { } } private static final int BORDER = 1 ; private static final int RIGHT_MARGIN = 3 ; private Shell fShell ; Composite fComposite ; private Text fFilterText ; private TableViewer fTableViewer ; private StringMatcher fStringMatcher ; public AbstractTableInformationControl ( Shell parent , int shellStyle , int controlStyle ) { } protected abstract TableViewer createTableViewer ( Composite parent , int style ) { } protected TableViewer getTableViewer ( ) { } protected Text createFilterText ( Composite parent ) { <START_BUG> fFilterText = new Text ( parent , SWT . FLAT ) ; <END_BUG> GridData data = new GridData ( ) ; GC gc = new GC ( parent ) ; gc . setFont ( parent . getFont ( ) ) ; FontMetrics fontMetrics = gc . getFontMetrics ( ) ; gc . dispose ( ) ; data . heightHint = Dialog . convertHeightInCharsToPixels ( fontMetrics , 1 ) ; data . horizontalAlignment = GridData . FILL ; data . verticalAlignment = GridData . BEGINNING ; fFilterText . setLayoutData ( data ) ; fFilterText . addKeyListener ( new KeyListener ( ) { public void keyPressed ( KeyEvent e ) { if ( ( e . keyCode ) == 13 ) gotoSelectedElement ( ) ; if ( ( e . keyCode ) == ( SWT . ARROW_DOWN ) ) fTableViewer . getTable ( ) . setFocus ( ) ; if ( ( e . keyCode ) == ( SWT . ARROW_UP ) ) fTableViewer . getTable ( ) . setFocus ( ) ; if ( ( e . character ) == 27 ) dispose ( ) ; } public void keyReleased ( KeyEvent e ) { } } ) ; Label separator = new Label ( parent , ( ( ( SWT . SEPARATOR ) | ( SWT . HORIZONTAL ) ) | ( SWT . LINE_DOT ) ) ) ; separator . setLayoutData ( new GridData ( GridData . FILL_HORIZONTAL ) ) ; return fFilterText ; } private void setInfoSystemColor ( ) { } private void installFilter ( ) { } protected void stringMatcherUpdated ( ) { } protected void setMatcherString ( String pattern ) { } protected StringMatcher getMatcher ( ) { } protected Object getSelectedElement ( ) { } protected IStructuredSelection getSelectedElements ( ) { } protected abstract void gotoSelectedElement ( ) { } protected abstract void deleteSelectedElements ( ) { } protected void selectFirstMatch ( ) { } private Object findElement ( TableItem [ ] items ) { } public abstract void setInput ( Object information ) { } protected void inputChanged ( Object newInput , Object newSelection ) { } public void setVisible ( boolean visible ) { } public void dispose ( ) { } public boolean hasContents ( ) { } public void setSizeConstraints ( int maxWidth , int maxHeight ) { } public Point computeSizeHint ( ) { } public void setLocation ( Point location ) { } public void setSize ( int width , int height ) { } public void addDisposeListener ( DisposeListener listener ) { } public void removeDisposeListener ( DisposeListener listener ) { } public void setForegroundColor ( Color foreground ) { } public void setBackgroundColor ( Color background ) { } public boolean isFocusControl ( ) { } public void setFocus ( ) { } public void addFocusListener ( FocusListener listener ) { } public void removeFocusListener ( FocusListener listener ) { } }

Fix:
fFilterText = new Text ( parent , SWT . NONE ) ;