GridData gd;  createLabel(numColumns, composite, FormatterMessages.getString("WhiteSpaceTabPage.category.label.text"));  fCategoriesViewer= new TreeViewer(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL); fCategoriesViewer.setContentProvider(new ITreeContentProvider() { public Object[] getElements(Object inputElement) { return ((Collection)inputElement).toArray(); } public Object[] getChildren(Object parentElement) { return ((Category)parentElement).children.toArray(); } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return !((Category)element).children.isEmpty(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} public void dispose() {} });  fCategoriesViewer.setLabelProvider(new LabelProvider());  gd= createGridData(numColumns, GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL, 0); gd.heightHint= fPixelConverter.convertHeightInCharsToPixels(3); fCategoriesViewer.getControl().setLayoutData(gd);  createLabel(numColumns, composite, FormatterMessages.getString("WhiteSpaceTabPage.checktable.label.text"));  fOptionsViewer= CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL); fOptionsViewer.setContentProvider(new ArrayContentProvider()); fOptionsViewer.setLabelProvider(new LabelProvider());  gd= createGridData(numColumns, GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL, 0); gd.heightHint= fPixelConverter.convertHeightInCharsToPixels(3); fOptionsViewer.getControl().setLayoutData(gd);  fCategoriesViewer.setInput(fCategories); fCategoriesViewer.expandAll();
fSwitchComponent.createContents(numColumns, composite);
	protected void doCreatePreferences(Composite composite, int numColumns) {				GridData gd;		createLabel(numColumns, composite, FormatterMessages.getString("WhiteSpaceTabPage.category.label.text")); //$NON-NLS-1$				fCategoriesViewer= new TreeViewer(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);		fCategoriesViewer.setContentProvider(new ITreeContentProvider() {			public Object[] getElements(Object inputElement) {				return ((Collection)inputElement).toArray();			}			public Object[] getChildren(Object parentElement) {				return ((Category)parentElement).children.toArray();			}			public Object getParent(Object element) { return null; }			public boolean hasChildren(Object element) {				return !((Category)element).children.isEmpty();			}			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}			public void dispose() {}		});				fCategoriesViewer.setLabelProvider(new LabelProvider());				gd= createGridData(numColumns, GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL, 0);		gd.heightHint= fPixelConverter.convertHeightInCharsToPixels(3);		fCategoriesViewer.getControl().setLayoutData(gd);				createLabel(numColumns, composite, FormatterMessages.getString("WhiteSpaceTabPage.checktable.label.text")); //$NON-NLS-1$				fOptionsViewer= CheckboxTableViewer.newCheckList(composite, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL);		fOptionsViewer.setContentProvider(new ArrayContentProvider());		fOptionsViewer.setLabelProvider(new LabelProvider());				gd= createGridData(numColumns, GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL, 0);		gd.heightHint= fPixelConverter.convertHeightInCharsToPixels(3);		fOptionsViewer.getControl().setLayoutData(gd);				fCategoriesViewer.setInput(fCategories);		fCategoriesViewer.expandAll();	}