Source:
<code>private void showTreeViewer() { if (treeViewer != null) { return; } if (label != null) { label.dispose(); label = null; } treeViewer = new TreeViewer(composite, SWT.NONE); composite.layout(); final DocumentType doctype = vexEditor.getDocumentType(); if (doctype == null) { return; } final String ns = doctype.getConfig().getUniqueIdentifer(); final Bundle bundle = Platform.getBundle(ns); final String providerClassName = doctype.getOutlineProvider(); if (bundle != null && providerClassName != null) { try { final Class<?> clazz = bundle.loadClass(providerClassName); outlineProvider = (IOutlineProvider) clazz.newInstance(); } catch (final Exception ex) { final String message = Messages.getString("DocumentOutlinePage.loadingError"); VexPlugin.getDefault().log(IStatus.WARNING, MessageFormat.format(message, new Object[] { providerClassName, ns, ex })); } } if (outlineProvider == null) { <START> outlineProvider = new DefaultOutlineProvider(); <END> if (outlineProvider instanceof IToolBarContributor) { ((IToolBarContributor) outlineProvider).registerToolBarActions(this, getSite().getActionBars()); } } outlineProvider.init(vexEditor); treeViewer.setContentProvider(outlineProvider.getContentProvider()); treeViewer.setLabelProvider(outlineProvider.getLabelProvider()); treeViewer.setAutoExpandLevel(2); filterActionGroup.setViewer(treeViewer); treeViewer.setUseHashlookup(true); final IDocument document = vexEditor.getVexWidget().getDocument(); treeViewer.setInput(document); document.addDocumentListener(documentListener); treeViewer.addSelectionChangedListener(selectionListener); }</code><technical_language>I get this: if outline Provider null? toolbar actions registered for other providers DefaultOutlineProvider</technical_language>

Target:
private void showTreeViewer() { if (treeViewer != null) { return; } if (label != null) { label.dispose(); label = null; } treeViewer = new TreeViewer(composite, SWT.NONE); composite.layout(); final DocumentType doctype = vexEditor.getDocumentType(); if (doctype == null) { return; } final String ns = doctype.getConfig().getUniqueIdentifer(); final Bundle bundle = Platform.getBundle(ns); final String providerClassName = doctype.getOutlineProvider(); if (bundle != null && providerClassName != null) { try { final Class<?> clazz = bundle.loadClass(providerClassName); outlineProvider = (IOutlineProvider) clazz.newInstance(); } catch (final Exception ex) { final String message = Messages.getString("DocumentOutlinePage.loadingError"); VexPlugin.getDefault().log(IStatus.WARNING, MessageFormat.format(message, new Object[] { providerClassName, ns, ex })); } } if (outlineProvider == null) { outlineProvider = new DefaultOutlineProvider(); } if (outlineProvider instanceof IToolBarContributor) { ((IToolBarContributor) outlineProvider).registerToolBarActions(this, getSite().getActionBars()); } outlineProvider.init(vexEditor); treeViewer.setContentProvider(outlineProvider.getContentProvider()); treeViewer.setLabelProvider(outlineProvider.getLabelProvider()); treeViewer.setAutoExpandLevel(2); filterActionGroup.setViewer(treeViewer); treeViewer.setUseHashlookup(true); final IDocument document = vexEditor.getVexWidget().getDocument(); treeViewer.setInput(document); document.addDocumentListener(documentListener); treeViewer.addSelectionChangedListener(selectionListener); }