Bug 96440 Tables laying out 3 times when trying to determine sizes
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferencePage.java
public Point computeSize() {
        if (size != null)
            return size;
        Control control = getControl();
        if (control != null) {
            size = doComputeSize();
            return size;
        }
        return new Point(0, 0);
    }
    /**
     * Contributes additional buttons to the given composite.
     * <p>
     * The default implementation of this framework hook method does
     * nothing. Subclasses should override this method to contribute buttons 
     * to this page's button bar. For each button a subclass contributes,
     * it must also increase the parent's grid layout number of columns
     * by one; that is,
     * <pre>
     * ((GridLayout) parent.getLayout()).numColumns++);
     * </pre>
     * </p>
     *
     * @param parent the button bar
     */
    protected void contributeButtons(Composite parent) {
    }
    /**
     * Creates and returns the SWT control for the customized body 
     * of this preference page under the given parent composite.