Bug 150597 Patch that adds enhancements to GridDataFactory
bundles/org.eclipse.jface/src/org/eclipse/jface/layout/LayoutGenerator.java
if (wrapping) {
                if (containsText) {
                    hHint = wrapSize;
                    grabHorizontal = true;
                }
            }
        }
        int vAlign = SWT.FILL;
        
        
        
        if (!vScroll && !wrapping && !userEditable && containsText) {
            vAlign = SWT.CENTER;
        }
        GridDataFactory.fillDefaults().grab(grabHorizontal, vScroll).align(SWT.FILL, vAlign).hint(hHint, vScroll ? defaultSize.y : SWT.DEFAULT).applyTo(control);
        return;
    }
    private static boolean hasMethod(Control control, String name, Class[] parameterTypes) {
        Class c = control.getClass();
        try {
            return c.getMethod(name, parameterTypes) != null;
        } catch (SecurityException e) {
            return false;
        } catch (NoSuchMethodException e) {
            return false;
        }
    }
}