Bug 36155 Workbench Help set on wrong Composite
In BuildPathsPropertyPage and SourceAttachmentPropertyPage the Workbench Help is set on the parent Composite passed to createContents(Composite parent) rather than on the control that is returned from getControl(). As a result the Help for the preference page cannot be used in when performHelp() is called. In JavadocConfigurationPropertyPage and JavaElementInfoPage the Workbench Help is set on a different composite, but still not the control that is returned from getControl().
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/TemplatePreferencePage.java
}
		});
		fPatternViewer= createViewer(parent);
		
		fFormatButton= new Button(parent, SWT.CHECK);
		fFormatButton.setText(TemplateMessages.getString("TemplatePreferencePage.use.code.formatter")); 
        GridData gd1= new GridData();
        gd1.horizontalSpan= 2;
        fFormatButton.setLayoutData(gd1);
		fTableViewer.setInput(fTemplates);
		fTableViewer.setAllChecked(false);
		fTableViewer.setCheckedElements(getEnabledTemplates());		
		IPreferenceStore prefs= JavaPlugin.getDefault().getPreferenceStore();
		fFormatButton.setSelection(prefs.getBoolean(PREF_FORMAT_TEMPLATES));
		updateButtons();
        configureTableResizing(innerParent, buttons, table, column1, column2, column3);
		WorkbenchHelp.setHelp(parent, IJavaHelpContextIds.TEMPLATE_PREFERENCE_PAGE);
		
		Dialog.applyDialogFont(parent);		
		return parent;
	}
    
     /**
     * Correctly resizes the table so no phantom columns appear
     */
    private static void configureTableResizing(final Composite parent, final Composite buttons, final Table table, final TableColumn column1, final TableColumn column2, final TableColumn column3) {
        parent.addControlListener(new ControlAdapter() {
            public void controlResized(ControlEvent e) {
                Rectangle area= parent.getClientArea();
                Point preferredSize= table.computeSize(SWT.DEFAULT, SWT.DEFAULT);