Buggy code:
public class AboutFeaturesDialog extends ProductInfoDialog { private static final int TABLE_HEIGHT = 150 ; private static final int INFO_HEIGHT = 100 ; private static final int MORE_ID = ( IDialogConstants . CLIENT_ID ) + 1 ; private static final int PLUGINS_ID = ( IDialogConstants . CLIENT_ID ) + 2 ; private Table table ; private Label imageLabel ; private StyledText text ; private Composite infoArea ; private Map cachedImages = new HashMap ( ) ; private String [ ] columnTitles = new String [ ] { WorkbenchMessages . AboutFeaturesDialog_provider , WorkbenchMessages . AboutFeaturesDialog_featureName , WorkbenchMessages . AboutFeaturesDialog_version , WorkbenchMessages . AboutFeaturesDialog_featureId } ; private String productName ; private AboutBundleGroupData [ ] bundleGroupInfos ; private int lastColumnChosen = 0 ; private boolean reverseSort = false ; private AboutBundleGroupData lastSelection = null ; private Button moreButton ; private Button pluginsButton ; private static Map featuresMap ; public AboutFeaturesDialog ( Shell parentShell , String productName , AboutBundleGroupData [ ] bundleGroupInfos ) { } private void handleMoreInfoPressed ( ) { } private void handlePluginInfoPressed ( ) { } protected void buttonPressed ( int buttonId ) { } protected void configureShell ( Shell newShell ) { } protected void createButtonsForButtonBar ( Composite parent ) { } protected Control createDialogArea ( Composite parent ) { } protected void createInfoArea ( Composite parent ) { Font font = parent . getFont ( ) ; infoArea = new Composite ( parent , SWT . NULL ) ; <START_BUG> GridData data = new GridData ( GridData . FILL , GridData . CENTER , true , false ) ; <END_BUG> data . heightHint = convertVerticalDLUsToPixels ( AboutFeaturesDialog . INFO_HEIGHT ) ; infoArea . setLayoutData ( data ) ; GridLayout layout = new GridLayout ( ) ; layout . numColumns = 2 ; infoArea . setLayout ( layout ) ; imageLabel = new Label ( infoArea , SWT . NONE ) ; data = new GridData ( GridData . FILL , GridData . BEGINNING , false , false ) ; data . widthHint = 32 ; data . heightHint = 32 ; imageLabel . setLayoutData ( data ) ; imageLabel . setFont ( font ) ; text = new StyledText ( infoArea , ( ( SWT . MULTI ) | ( SWT . READ_ONLY ) ) ) ; text . setCaret ( null ) ; text . setFont ( parent . getFont ( ) ) ; data = new GridData ( GridData . FILL , GridData . BEGINNING , true , true ) ; text . setLayoutData ( data ) ; text . setFont ( font ) ; text . setCursor ( null ) ; text . setBackground ( infoArea . getBackground ( ) ) ; addListeners ( text ) ; TableItem [ ] items = table . getSelection ( ) ; if ( ( items . length ) > 0 ) updateInfoArea ( ( ( AboutBundleGroupData ) ( items [ 0 ] . getData ( ) ) ) ) ; } protected void createTable ( Composite parent ) { } public boolean close ( ) { } private void updateButtons ( AboutBundleGroupData info ) { } private void updateInfoArea ( AboutBundleGroupData info ) { } public void setInitialSelection ( AboutBundleGroupData info ) { } private void sort ( int column ) { } private void refreshTable ( ) { } private static String [ ] createRow ( AboutBundleGroupData info ) { } }

Fix:
GridData data = new GridData ( GridData . FILL , GridData . CENTER , true , true ) ;