Bug 96440 Tables laying out 3 times when trying to determine sizes
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferencePage.java
applyDialogFont(content);
        
        initializeDialogUnits(content);
        descriptionLabel = createDescriptionLabel(content);
        if (descriptionLabel != null) {
            descriptionLabel.setLayoutData(new GridData(
                    GridData.FILL_HORIZONTAL));
        }
        body = createContents(content);
        if (body != null)
            
            body.setLayoutData(new GridData(GridData.FILL_BOTH));
        Composite buttonBar = new Composite(content, SWT.NONE);
        layout = new GridLayout();
        layout.numColumns = 0;
        layout.marginHeight = 0;
        layout.marginWidth = 0;
        layout.makeColumnsEqualWidth = false;
        buttonBar.setLayout(layout);
        
        gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
        
        buttonBar.setLayoutData(gd);
        contributeButtons(buttonBar);
        
        if (createDefaultAndApplyButton) {
            layout.numColumns = layout.numColumns + 2;
			String[] labels = JFaceResources.getStrings(new String[] {
					"defaults", "apply" }); 
			int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);