refactoring
diff --git a/org.eclipse.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
index 8c9c110..4fcc865 100644
--- a/org.eclipse.debug.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
@@ -8,9 +8,9 @@
 Bundle-Localization: plugin
 Export-Package: org.eclipse.debug.internal.ui;x-internal:=true,
  org.eclipse.debug.internal.ui.actions;x-internal:=true,
- org.eclipse.debug.internal.ui.contexts.actions;x-internal:=true,
- org.eclipse.debug.internal.ui.contexts;x-internal:=true,
  org.eclipse.debug.internal.ui.actions.breakpointGroups;x-internal:=true,
+ org.eclipse.debug.internal.ui.contexts;x-internal:=true,
+ org.eclipse.debug.internal.ui.contexts.actions;x-internal:=true,
  org.eclipse.debug.internal.ui.elements.adapters;x-internal:=true,
  org.eclipse.debug.internal.ui.launchConfigurations;x-internal:=true,
  org.eclipse.debug.internal.ui.memory;x-internal:=true,
@@ -18,6 +18,7 @@
  org.eclipse.debug.internal.ui.sourcelookup;x-internal:=true,
  org.eclipse.debug.internal.ui.sourcelookup.browsers;x-internal:=true,
  org.eclipse.debug.internal.ui.stringsubstitution;x-internal:=true,
+ org.eclipse.debug.internal.ui.viewers,
  org.eclipse.debug.internal.ui.viewers.update;x-internal:=true,
  org.eclipse.debug.internal.ui.views;x-internal:=true,
  org.eclipse.debug.internal.ui.views.breakpoints;x-internal:=true,
@@ -33,8 +34,7 @@
  org.eclipse.debug.ui.console,
  org.eclipse.debug.ui.contexts,
  org.eclipse.debug.ui.memory,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.debug.ui.viewers
+ org.eclipse.debug.ui.sourcelookup
 Require-Bundle: org.eclipse.core.expressions,
  org.eclipse.core.resources,
  org.eclipse.core.variables,
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
index 7c05400..fa0987b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
@@ -12,7 +12,7 @@
 
 import org.eclipse.debug.internal.ui.DebugPluginImages;
 import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
 import org.eclipse.jface.action.Action;
 
 /**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/FindVariableDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/FindVariableDialog.java
index 6a2f7c0..3b8e86c 100755
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/FindVariableDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/FindVariableDialog.java
@@ -18,13 +18,13 @@
 import org.eclipse.debug.core.model.IVariable;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 import org.eclipse.debug.internal.ui.actions.ActionMessages;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
 import org.eclipse.debug.internal.ui.views.DebugViewDecoratingLabelProvider;
 import org.eclipse.debug.internal.ui.views.DebugViewInterimLabelProvider;
 import org.eclipse.debug.internal.ui.views.DebugViewLabelDecorator;
 import org.eclipse.debug.internal.ui.views.variables.VariablesView;
 import org.eclipse.debug.ui.IDebugModelPresentation;
 import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.viewers.ILabelProvider;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/RemoveExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/RemoveExpressionAction.java
index 3592339..e143f3b 100755
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/RemoveExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/actions/RemoveExpressionAction.java
@@ -17,10 +17,10 @@
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.IExpressionManager;
 import org.eclipse.debug.core.model.IExpression;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
+import org.eclipse.debug.internal.ui.viewers.TreeSelection;
 import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.TreePath;
-import org.eclipse.debug.ui.viewers.TreeSelection;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.ui.progress.WorkbenchJob;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
index 73df877..2867af5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
@@ -19,12 +19,12 @@
 import org.eclipse.debug.core.model.IDebugElement;
 import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
 import org.eclipse.debug.internal.ui.LazyModelPresentation;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousLabelAdapter;
+import org.eclipse.debug.internal.ui.viewers.ILabelRequestMonitor;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
 import org.eclipse.debug.ui.IDebugModelPresentation;
 import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter;
-import org.eclipse.debug.ui.viewers.ILabelRequestMonitor;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.graphics.RGB;
@@ -38,9 +38,9 @@
 public class AsynchronousDebugLabelAdapter extends AsynchronousLabelAdapter {
 	      
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#computeLabel(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext, org.eclipse.debug.ui.viewers.ILabelRequestMonitor)
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#computeLabels(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext, org.eclipse.debug.ui.viewers.ILabelRequestMonitor)
 	 */
-	protected void computeLabel(Object element, IPresentationContext context, ILabelRequestMonitor monitor) {
+	protected void computeLabels(Object element, IPresentationContext context, ILabelRequestMonitor monitor) {
     	DelegatingModelPresentation presentation = DebugElementHelper.getPresentation();
     	// Honor view specific settings in a debug view by copying model presentation settings
     	// into the debug element helper's presentation before we get the label. This allows
@@ -62,48 +62,48 @@
 			    			Map.Entry entry = (Entry) iterator.next();
 			    			presentation.setAttribute((String) entry.getKey(), entry.getValue());
 			    		}
-			        	super.computeLabel(element, context, monitor);
+			        	super.computeLabels(element, context, monitor);
 			        	return;
 	    			}
 	    		}
 	    	}
 		}
-    	super.computeLabel(element, context, monitor);
+    	super.computeLabels(element, context, monitor);
     }
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getLabel(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getLabels(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
 	 */
-	protected String getLabel(Object element, IPresentationContext context) throws CoreException {
-		return DebugElementHelper.getLabel(element);
+	protected String[] getLabels(Object element, IPresentationContext context) throws CoreException {
+		return new String[] {DebugElementHelper.getLabel(element)};
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getImageDescriptor(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getImageDescriptors(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
 	 */
-	protected ImageDescriptor getImageDescriptor(Object element, IPresentationContext context) throws CoreException {
-		return DebugElementHelper.getImageDescriptor(element);
+	protected ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException {
+		return new ImageDescriptor[] {DebugElementHelper.getImageDescriptor(element)};
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getFontData(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getFontDatas(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
 	 */
-	protected FontData getFontData(Object element, IPresentationContext context) throws CoreException {
-		return DebugElementHelper.getFont(element);
+	protected FontData[] getFontDatas(Object element, IPresentationContext context) throws CoreException {
+		return new FontData[] {DebugElementHelper.getFont(element)};
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getForeground(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getForegrounds(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
 	 */
-	protected RGB getForeground(Object element, IPresentationContext context) throws CoreException {
-		return DebugElementHelper.getForeground(element);
+	protected RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException {
+		return new RGB[] {DebugElementHelper.getForeground(element)};
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getBackground(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getBackgrounds(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
 	 */
-	protected RGB getBackground(Object element, IPresentationContext context) throws CoreException {
-		return DebugElementHelper.getBackground(element);
+	protected RGB[] getBackgrounds(Object element, IPresentationContext context) throws CoreException {
+		return new RGB[] {DebugElementHelper.getBackground(element)};
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetTreeContentAdapter.java
index a0bfb1c..eeeb01d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DebugTargetTreeContentAdapter.java
@@ -13,9 +13,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IDebugTarget;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class DebugTargetTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerTreeContentAdapter.java
index 04077b8..865cfa8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionManagerTreeContentAdapter.java
@@ -13,9 +13,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.IExpressionManager;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class ExpressionManagerTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionTreeContentAdapter.java
index 1d3ba3b..d35c000 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ExpressionTreeContentAdapter.java
@@ -13,7 +13,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IExpression;
 import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 
 /**
  *
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerTreeContentAdapter.java
index c906054..aa8a536 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LauchManagerTreeContentAdapter.java
@@ -13,9 +13,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class LauchManagerTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchTreeContentAdapter.java
index e6dfc1b..7cebf9a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/LaunchTreeContentAdapter.java
@@ -13,9 +13,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class LaunchTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessTreeAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessTreeAdapter.java
index 650892f..2c4fc02 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessTreeAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ProcessTreeAdapter.java
@@ -11,9 +11,9 @@
 package org.eclipse.debug.internal.ui.elements.adapters;
 
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class ProcessTreeAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupTreeContentAdapter.java
index e2fbcbb..477fbcf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupTreeContentAdapter.java
@@ -2,9 +2,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IRegisterGroup;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class RegisterGroupTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameTreeContentAdapter.java
index a05c637..79790ee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameTreeContentAdapter.java
@@ -13,9 +13,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class StackFrameTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadTreeContentAdapter.java
index f3cca6a..4f25a4d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/ThreadTreeContentAdapter.java
@@ -13,9 +13,9 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IThread;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class ThreadTreeContentAdapter extends AsynchronousTreeContentAdapter {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java
index e37f695..917b94c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableLabelAdapter.java
@@ -15,8 +15,8 @@
 import org.eclipse.debug.core.model.IVariable;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.internal.ui.views.launch.DebugElementHelper;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 import org.eclipse.swt.graphics.RGB;
 
 /**
@@ -29,18 +29,18 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#getForeground(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext)
 	 */
-	protected RGB getForeground(Object element, IPresentationContext context) throws CoreException {
+	protected RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException {
         if (element instanceof IVariable) {
         	IVariable variable = (IVariable) element;
         	try {
 				if (variable.hasValueChanged()) {
-					return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CHANGED_VARIABLE_COLOR).getRGB();
+					return new RGB[] {DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CHANGED_VARIABLE_COLOR).getRGB()};
 				}
 			} catch (DebugException e) {
 			}
-			return DebugElementHelper.getForeground(element);
+			return new RGB[] {DebugElementHelper.getForeground(element)};
         }
-        return super.getForeground(element, context);
+        return super.getForegrounds(element, context);
 	}
 
 	
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableTreeContentAdapter.java
index d78fb88..1e37a15 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableTreeContentAdapter.java
@@ -22,11 +22,11 @@
 import org.eclipse.debug.core.model.IIndexedValue;
 import org.eclipse.debug.core.model.IValue;
 import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.internal.ui.views.variables.IndexedVariablePartition;
 import org.eclipse.debug.internal.ui.views.variables.VariablesView;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 import org.eclipse.ui.IWorkbenchPart;
 
 public class VariableTreeContentAdapter extends AsynchronousTreeContentAdapter {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AbstractModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractModelProxy.java
similarity index 96%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AbstractModelProxy.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractModelProxy.java
index d0c517c..eec03e2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AbstractModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractModelProxy.java
@@ -1,4 +1,4 @@
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.core.runtime.ISafeRunnable;
 import org.eclipse.core.runtime.Platform;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousLabelAdapter.java
similarity index 80%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousLabelAdapter.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousLabelAdapter.java
index d698ef2..0059c19 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousLabelAdapter.java
@@ -9,7 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -38,14 +38,14 @@
 		if (requiresUIJob()) {
 			job = new UIJob("Retrieving labels") { //$NON-NLS-1$
 				public IStatus runInUIThread(IProgressMonitor monitor) {
-					computeLabel(element, context, result);
+					computeLabels(element, context, result);
 					return Status.OK_STATUS;
 				}
 			};
 		} else {
 			job = new Job("Retrieving labels") { //$NON-NLS-1$
 				protected IStatus run(IProgressMonitor monitor) {
-					computeLabel(element, context, result);
+					computeLabels(element, context, result);
 					return Status.OK_STATUS;
 				}
 			};
@@ -72,22 +72,22 @@
 	 * @param context presentation context
 	 * @param result monitor to report results to
 	 */
-	protected void computeLabel(Object element, IPresentationContext context, ILabelRequestMonitor monitor) {
+	protected void computeLabels(Object element, IPresentationContext context, ILabelRequestMonitor monitor) {
 		if (!monitor.isCanceled()) {
 			IStatus status = Status.OK_STATUS;
 			try {
-				monitor.setLabel(getLabel(element, context));
+				monitor.setLabels(getLabels(element, context));
 				if (!monitor.isCanceled()) {
-					monitor.setImageDescriptor(getImageDescriptor(element, context));
+					monitor.setImageDescriptors(getImageDescriptors(element, context));
 				}
 				if (!monitor.isCanceled()) {
-					monitor.setFontData(getFontData(element, context));
+					monitor.setFontDatas(getFontDatas(element, context));
 				}
 				if (!monitor.isCanceled()) {
-					monitor.setBackground(getBackground(element, context));
+					monitor.setBackgrounds(getBackgrounds(element, context));
 				}
 				if (!monitor.isCanceled()) {
-					monitor.setForeground(getForeground(element, context));
+					monitor.setForegrounds(getForegrounds(element, context));
 				}
 			} catch (CoreException e) {
 				status = e.getStatus();
@@ -107,7 +107,7 @@
 	 * @return label
 	 * @exception CoreException if an exception occurrs computing label
 	 */
-    protected abstract String getLabel(Object element, IPresentationContext context) throws CoreException;
+    protected abstract String[] getLabels(Object element, IPresentationContext context) throws CoreException;
     
     /**
      * Returns an image descriptor for the given element in the specified context
@@ -118,7 +118,7 @@
      * @return image descriptor or <code>null</code>
      * @throws CoreException if an exception occurrs computing image descriptor
      */
-    protected abstract ImageDescriptor getImageDescriptor(Object element, IPresentationContext context) throws CoreException;
+    protected abstract ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException;
     
     /**
      * Returns font data for the given element in the specified context or <code>null</code>
@@ -129,7 +129,7 @@
      * @return font data or <code>null</code>
      * @throws CoreException if an exception occurrs computing font data
      */
-    protected abstract FontData getFontData(Object element, IPresentationContext context) throws CoreException;
+    protected abstract FontData[] getFontDatas(Object element, IPresentationContext context) throws CoreException;
     
     /**
      * Returns a foreground color for the given element in the specified context or <code>null</code>
@@ -140,7 +140,7 @@
      * @return color or <code>null</code>
      * @throws CoreException if an exception occurrs computing color
      */
-    protected abstract RGB getForeground(Object element, IPresentationContext context) throws CoreException;
+    protected abstract RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException;
     
     /**
      * Returns a background color for the given element in the specified context or <code>null</code>
@@ -151,5 +151,5 @@
      * @return color or <code>null</code>
      * @throws CoreException if an exception occurrs computing color
      */
-    protected abstract RGB getBackground(Object element, IPresentationContext context) throws CoreException;
+    protected abstract RGB[] getBackgrounds(Object element, IPresentationContext context) throws CoreException;
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
similarity index 98%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
index 3f5a440..b80774c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeContentAdapter.java
similarity index 98%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousTreeContentAdapter.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeContentAdapter.java
index 89def4a..add2918 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeContentAdapter.java
@@ -9,7 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousTreeViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java
similarity index 96%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousTreeViewer.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java
index 44b6d5b..1866a56 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousTreeViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTreeViewer.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -20,6 +20,7 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.ViewerSorter;
@@ -28,6 +29,8 @@
 import org.eclipse.swt.events.MouseListener;
 import org.eclipse.swt.events.TreeEvent;
 import org.eclipse.swt.events.TreeListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.FontData;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.graphics.RGB;
@@ -744,11 +747,15 @@
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#setColor(org.eclipse.swt.widgets.Widget,
 	 *      org.eclipse.swt.graphics.RGB, org.eclipse.swt.graphics.RGB)
 	 */
-	void setColor(Widget widget, RGB foreground, RGB background) {
+	void setColors(Widget widget, RGB[] foregrounds, RGB[] backgrounds) {
 		if (widget instanceof TreeItem) {
 			TreeItem item = (TreeItem) widget;
-			item.setForeground(getColor(foreground));
-			item.setBackground(getColor(background));
+			Color[] fgs = getColor(foregrounds);
+			Color[] bgs = getColor(backgrounds);
+			for (int i = 0; i < bgs.length; i++) {
+				item.setForeground(i, fgs[i]);
+				item.setBackground(i, bgs[i]);	
+			}
 		}
 	}
 
@@ -758,10 +765,13 @@
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousViewer#setFont(org.eclipse.swt.widgets.Widget,
 	 *      org.eclipse.swt.graphics.FontData)
 	 */
-	void setFont(Widget widget, FontData fontData) {
+	void setFonts(Widget widget, FontData[] fontData) {
 		if (widget instanceof TreeItem) {
 			TreeItem item = (TreeItem) widget;
-			item.setFont(getFont(fontData));
+			Font[] fonts = getFonts(fontData);
+			for (int i = 0; i < fonts.length; i++) {
+				item.setFont(i, fonts[i]);	
+			}
 		}
 	}
 
@@ -871,4 +881,12 @@
 
 	}
 
+	void setLabels(Widget widget, String[] text, ImageDescriptor[] image) {
+		if (widget instanceof TreeItem) {
+			TreeItem item = (TreeItem) widget;
+			item.setText(text);
+			item.setImage(getImages(image));
+		}
+	}
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousViewer.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
index e6cdf8f..085581f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/AsynchronousViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -505,6 +505,17 @@
 		}
 	}
 
+	Image[] getImages(ImageDescriptor[] descriptors) {
+		if (descriptors == null || descriptors.length == 0) {
+			return new Image[0];
+		}
+		Image[] images = new Image[descriptors.length];
+		for (int i = 0; i < images.length; i++) {
+			images[i] = getImage(descriptors[i]);
+		}
+		return images;
+	}
+	
 	/**
 	 * Returns an image for the given image descriptor or <code>null</code>. Adds the image
 	 * to a cache of images if it does not already exist. The cache is cleared when this viewer
@@ -525,6 +536,18 @@
 		return image;
 	}
 
+	Font[] getFonts(FontData[] fontDatas) {
+		if (fontDatas == null) {
+			return new Font[0];
+		}
+		
+		Font[] fonts = new Font[fontDatas.length];
+		for (int i = 0; i < fonts.length; i++) {
+			fonts[i] = getFont(fontDatas[i]);
+		}
+		return fonts;
+	}
+	
 	/**
 	 * Returns a font for the given font data or <code>null</code>. Adds the font to this viewer's font 
 	 * cache which is disposed when this viewer is disposed.
@@ -544,6 +567,16 @@
 		return font;
 	}
 	
+	Color[] getColor(RGB[] rgb) {
+		if (rgb == null) {
+			return new Color[0];
+		}
+		Color[] colors = new Color[rgb.length];
+		for (int i = 0; i < colors.length; i++) {
+			colors[i] = getColor(rgb[i]);
+		}
+		return colors;
+	}
 	/**
 	 * Returns a color for the given RGB or <code>null</code>. Adds the color to this viewer's color 
 	 * cache which is disposed when this viewer is disposed.
@@ -830,7 +863,7 @@
 	 * @param foreground foreground color of the widget or <code>null</code> if default
 	 * @param background background color of the widget or <code>null</code> if default
 	 */
-	abstract void setColor(Widget widget, RGB foreground, RGB background);
+	abstract void setColors(Widget widget, RGB foreground[], RGB background[]);
 	
 	/**
 	 * Sets the label attributes of the given widget.
@@ -839,13 +872,7 @@
 	 * @param text label text
 	 * @param image label image or <code>null</code>
 	 */
-	void setLabel(Widget widget, String text, ImageDescriptor image) {
-		if (widget instanceof Item) {
-			Item item = (Item) widget;
-			item.setText(text);
-			item.setImage(getImage(image));
-		}
-	}
+	abstract void setLabels(Widget widget, String[] text, ImageDescriptor[] image);
 	
 	/**
 	 * Sets the font attributes of the given widget.
@@ -853,7 +880,7 @@
 	 * @param widget widget to update
 	 * @param font font of the widget or <code>null</code> if default.
 	 */
-	abstract void setFont(Widget widget, FontData font);
+	abstract void setFonts(Widget widget, FontData[] font);
 	
 	/**
 	 * Returns the parent widget of the give widget or <code>null</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
similarity index 97%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ChildrenRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
index 606beca..adbb563 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ChildrenRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ContainerRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java
similarity index 97%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ContainerRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java
index 5523ed5..c7ba88e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ContainerRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ContainerRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.swt.widgets.Widget;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/DefaultElementComparer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/DefaultElementComparer.java
similarity index 96%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/DefaultElementComparer.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/DefaultElementComparer.java
index c82de7d..46593e6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/DefaultElementComparer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/DefaultElementComparer.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.jface.viewers.IElementComparer;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousLabelAdapter.java
similarity index 96%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousLabelAdapter.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousLabelAdapter.java
index fb644aa..e0bf9ac 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousLabelAdapter.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * Provides labels for elements. Note that implementations
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousRequestMonitor.java
similarity index 97%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousRequestMonitor.java
index 22efa52..8d2638e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousTreeContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousTreeContentAdapter.java
similarity index 97%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousTreeContentAdapter.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousTreeContentAdapter.java
index 38aedb9..65f4ef6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IAsynchronousTreeContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IAsynchronousTreeContentAdapter.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * Provides content for elements in a tree viewer. Note that implementations
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IChildrenRequestMonitor.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IChildrenRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IChildrenRequestMonitor.java
index 17e7b8e..2acb16b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IChildrenRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IChildrenRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * A request monitor that collects children from an asynchronous tree content adapter.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IContainerRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IContainerRequestMonitor.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IContainerRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IContainerRequestMonitor.java
index 60abfa7..e1aff02 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IContainerRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IContainerRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * A request monitor that collects whether an element contains
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ILabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelRequestMonitor.java
similarity index 81%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ILabelRequestMonitor.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelRequestMonitor.java
index 5dccbad..b729764 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/ILabelRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelRequestMonitor.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.graphics.FontData;
@@ -29,34 +29,34 @@
 	 * 
 	 * @param text
 	 */
-    public void setLabel(String text);
+    public void setLabels(String[] text);
     
     /**
      * Sets the font of the label.
      * 
      * @param fontData
      */
-    public void setFontData(FontData fontData);
+    public void setFontDatas(FontData[] fontData);
     
     /**
      * Sets the image of the label.
      * 
      * @param image
      */
-    public void setImageDescriptor(ImageDescriptor image);
+    public void setImageDescriptors(ImageDescriptor[] image);
     
     /**
      * Sets the foreground color of the label.
      * 
      * @param foreground
      */
-    public void setForeground(RGB foreground);
+    public void setForegrounds(RGB[] foreground);
     
     /**
      * Sets the background color of the label.
      * 
      * @param background
      */
-    public void setBackground(RGB background);
+    public void setBackgrounds(RGB[] background);
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelChangedListener.java
similarity index 94%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelChangedListener.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelChangedListener.java
index be7e3da..c8f4eef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelChangedListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelChangedListener.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * A model changed listener is notified of changes in a model.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelDelta.java
similarity index 97%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelDelta.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelDelta.java
index 552779d..4e7e5e9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelDelta.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelDelta.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * Describes a change within a model. A delta is a hierarchical description of a change
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelDeltaNode.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelDeltaNode.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelDeltaNode.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelDeltaNode.java
index 0b34f61..a672eea 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelDeltaNode.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelDeltaNode.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.debug.internal.ui.viewers.update.ModelDeltaNode;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelProxy.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelProxy.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelProxy.java
index 7d77b32..b1a18dd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelProxy.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelProxyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelProxyFactory.java
similarity index 93%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelProxyFactory.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelProxyFactory.java
index 7f42065..9a1d646 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelProxyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelProxyFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 /**
  * 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelSelectionPolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelSelectionPolicy.java
similarity index 97%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelSelectionPolicy.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelSelectionPolicy.java
index cd461ef..40f1e75 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IModelSelectionPolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IModelSelectionPolicy.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.jface.viewers.ISelection;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IPresentationContext.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IPresentationContext.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IPresentationContext.java
index d3256ee..89db461 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IPresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IPresentationContext.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.ui.IWorkbenchPart;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IUpdatePolicy.java
similarity index 94%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IUpdatePolicy.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IUpdatePolicy.java
index 3f46ede..0930535 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IUpdatePolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IUpdatePolicy.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IUpdatePolicyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IUpdatePolicyFactory.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IUpdatePolicyFactory.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IUpdatePolicyFactory.java
index 2613079..ba4fb84 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/IUpdatePolicyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/IUpdatePolicyFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 
 /**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
new file mode 100644
index 0000000..72cb349
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.debug.internal.ui.viewers;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Widget;
+
+/**
+ * Implementation of an <code>ILabelRequestMonitor</code>. Collects label
+ * attributes from an asynchronous label adapter.
+ * <p>
+ * Not intended to be subclassed or instantiated by clients. For use speficially
+ * with <code>AsynchronousViewer</code>.
+ * </p>
+ * 
+ * @since 3.2
+ */
+class LabelRequestMonitor extends AsynchronousRequestMonitor implements ILabelRequestMonitor {
+
+	/**
+	 * Retrieved label text. Only <code>null</code> if cancelled or failed.
+	 */
+	private String[] fLabels;
+
+	/**
+	 * Retrieved image descriptor or <code>null</code>
+	 */
+	private ImageDescriptor[] fImageDescriptors;
+
+	/**
+	 * Retrieved font data or <code>null</code>
+	 */
+	private FontData[] fFontDatas;
+
+	/**
+	 * Retieved colors or <code>null</code>
+	 */
+	private RGB[] fForegrounds;
+	private RGB[] fBackgrounds;
+
+	/**
+	 * Cosntructs a request to upate the label of the given widget in the give
+	 * viewer.
+	 * 
+	 * @param widget widget to update
+	 * @param viewer viewer containing the widget
+	 */
+	LabelRequestMonitor(Widget widget, AsynchronousViewer viewer) {
+		super(widget, viewer);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
+	 */
+	protected void performUpdate() {
+		AsynchronousViewer viewer = getViewer();
+		Widget widget = getWidget();
+		viewer.setLabels(widget, fLabels, fImageDescriptors);
+		viewer.setColors(widget, fForegrounds, fBackgrounds);
+		viewer.setFonts(widget, fFontDatas);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
+	 */
+	protected boolean contains(AsynchronousRequestMonitor update) {
+		return update instanceof LabelRequestMonitor && update.getWidget() == getWidget();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setLabel(java.lang.String)
+	 */
+	public void setLabels(String[] text) {
+		fLabels = text;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setFontData(org.eclipse.swt.graphics.FontData)
+	 */
+	public void setFontDatas(FontData[] fontData) {
+		fFontDatas = fontData;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
+	 */
+	public void setImageDescriptors(ImageDescriptor[] image) {
+		fImageDescriptors = image;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setForeground(org.eclipse.swt.graphics.RGB)
+	 */
+	public void setForegrounds(RGB[] foreground) {
+		fForegrounds = foreground;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setBackground(org.eclipse.swt.graphics.RGB)
+	 */
+	public void setBackgrounds(RGB[] background) {
+		fBackgrounds = background;
+	}
+
+}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/PresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/PresentationContext.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java
index 8fb6ffb..0b07010 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/PresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PresentationContext.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.ui.IWorkbenchPart;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/TreePath.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreePath.java
similarity index 98%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/TreePath.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreePath.java
index 5c9a569..d0145be 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/TreePath.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreePath.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import org.eclipse.jface.util.Assert;
 import org.eclipse.jface.viewers.IElementComparer;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/TreeSelection.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeSelection.java
similarity index 98%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/TreeSelection.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeSelection.java
index ce3189f..1cb7534 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/TreeSelection.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TreeSelection.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
+package org.eclipse.debug.internal.ui.viewers;
 
 import java.util.ArrayList;
 import java.util.Iterator;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/AbstractUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/AbstractUpdatePolicy.java
index 431af33..8ead852 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/AbstractUpdatePolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/AbstractUpdatePolicy.java
@@ -10,8 +10,8 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.update;
 
-import org.eclipse.debug.ui.viewers.AsynchronousViewer;
-import org.eclipse.debug.ui.viewers.IUpdatePolicy;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousViewer;
+import org.eclipse.debug.internal.ui.viewers.IUpdatePolicy;
 
 /**
  * @since 3.2
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
index f40c5fc..95ee466 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
@@ -12,8 +12,8 @@
 
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelProxy;
 
 /**
  * Handles debug events for an event update policy in a viewer.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
index e6718e5..fdac9e8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
@@ -13,9 +13,9 @@
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.IModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IModelProxy;
 
 
 /**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
index a9bb19d..fb79eaf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
@@ -7,10 +7,10 @@
 import org.eclipse.debug.core.model.IDebugTarget;
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.viewers.AbstractModelProxy;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.AbstractModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 
 public class DebugTargetProxy extends AbstractModelProxy implements IDebugEventSetListener {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
index 8ecc3b2..ffedccc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
@@ -5,10 +5,10 @@
 import org.eclipse.debug.core.model.IDebugTarget;
 import org.eclipse.debug.core.model.IProcess;
 import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.internal.ui.viewers.IModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelProxyFactory;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.IModelProxy;
-import org.eclipse.debug.ui.viewers.IModelProxyFactory;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 
 public class DefaultModelProxyFactory implements IModelProxyFactory {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
index 36f4d0b..68db304 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
@@ -12,9 +12,9 @@
 
 import org.eclipse.debug.core.model.IDebugElement;
 import org.eclipse.debug.core.model.IStackFrame;
+import org.eclipse.debug.internal.ui.viewers.IModelSelectionPolicy;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.IModelSelectionPolicy;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ui.IWorkbenchPart;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicy.java
index 906686b..1204a3a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicy.java
@@ -12,13 +12,13 @@
 
 import java.util.ArrayList;
 
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.AsynchronousViewer;
-import org.eclipse.debug.ui.viewers.IModelChangedListener;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.TreePath;
-import org.eclipse.debug.ui.viewers.TreeSelection;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousViewer;
+import org.eclipse.debug.internal.ui.viewers.IModelChangedListener;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
+import org.eclipse.debug.internal.ui.viewers.TreeSelection;
 
 /**
  * Update policy for the launch manager.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicyFactory.java
index ab744c5..4f265b8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultUpdatePolicyFactory.java
@@ -10,9 +10,9 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.update;
 
-import org.eclipse.debug.ui.viewers.IPresentationContext;
-import org.eclipse.debug.ui.viewers.IUpdatePolicy;
-import org.eclipse.debug.ui.viewers.IUpdatePolicyFactory;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.IUpdatePolicy;
+import org.eclipse.debug.internal.ui.viewers.IUpdatePolicyFactory;
 
 /**
  * @since 3.2
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
index ea360d5..d258990 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
@@ -18,8 +18,8 @@
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.ui.viewers.AbstractModelProxy;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.AbstractModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 
 /**
  * @since 3.2
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
index b9fbe27..91db2de 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
@@ -4,10 +4,10 @@
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.ui.viewers.AbstractModelProxy;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.AbstractModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 
 public class LaunchManagerProxy extends AbstractModelProxy implements ILaunchesListener2 {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
index fda6b96..4300f15 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
@@ -4,10 +4,10 @@
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.ui.viewers.AbstractModelProxy;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.AbstractModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 
 public class LaunchProxy extends AbstractModelProxy implements ILaunchesListener2 {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDelta.java
index 7201a1d..b80c337 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDelta.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDelta.java
@@ -3,8 +3,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
 
 public class ModelDelta implements IModelDelta {
 	
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDeltaNode.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDeltaNode.java
index 270b5fb..d14618d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDeltaNode.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ModelDeltaNode.java
@@ -3,7 +3,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
 
 public class ModelDeltaNode implements IModelDeltaNode {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
index a50c475..9742b28 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
@@ -4,10 +4,10 @@
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.IDebugEventSetListener;
 import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.viewers.AbstractModelProxy;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.AbstractModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 
 public class ProcessProxy extends AbstractModelProxy implements IDebugEventSetListener {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
index ae4b746..c8f5fee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
@@ -14,9 +14,9 @@
 import org.eclipse.debug.core.DebugException;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelDeltaNode;
-import org.eclipse.debug.ui.viewers.IModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelDeltaNode;
+import org.eclipse.debug.internal.ui.viewers.IModelProxy;
 
 /**
  * @since 3.2
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
index 70f60ca..ce13ee6c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
@@ -13,8 +13,8 @@
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.ui.viewers.IModelDelta;
-import org.eclipse.debug.ui.viewers.IModelProxy;
+import org.eclipse.debug.internal.ui.viewers.IModelDelta;
+import org.eclipse.debug.internal.ui.viewers.IModelProxy;
 
 /**
  *
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
index 22032fc..ceeb583 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
@@ -21,8 +21,8 @@
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.IDebugEventSetListener;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
 import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
 import org.eclipse.jface.viewers.IBasicPropertyConstants;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
index d397023..6363d9a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
@@ -15,9 +15,9 @@
 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.TreePath;
-import org.eclipse.debug.ui.viewers.TreeSelection;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
+import org.eclipse.debug.internal.ui.viewers.TreeSelection;
 import org.eclipse.swt.widgets.TreeItem;
 
 /**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java
index 100906b..ccf3bb6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java
@@ -22,6 +22,16 @@
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
 import org.eclipse.debug.internal.ui.VariablesViewModelPresentation;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.IAsynchronousLabelAdapter;
+import org.eclipse.debug.internal.ui.viewers.IAsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IChildrenRequestMonitor;
+import org.eclipse.debug.internal.ui.viewers.IContainerRequestMonitor;
+import org.eclipse.debug.internal.ui.viewers.ILabelRequestMonitor;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
+import org.eclipse.debug.internal.ui.viewers.PresentationContext;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
+import org.eclipse.debug.internal.ui.viewers.TreeSelection;
 import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
 import org.eclipse.debug.internal.ui.views.variables.IndexedVariablePartition;
 import org.eclipse.debug.internal.ui.views.variables.VariablesView;
@@ -29,16 +39,6 @@
 import org.eclipse.debug.ui.IDebugModelPresentation;
 import org.eclipse.debug.ui.IDebugUIConstants;
 import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.IAsynchronousLabelAdapter;
-import org.eclipse.debug.ui.viewers.IAsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IChildrenRequestMonitor;
-import org.eclipse.debug.ui.viewers.IContainerRequestMonitor;
-import org.eclipse.debug.ui.viewers.ILabelRequestMonitor;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
-import org.eclipse.debug.ui.viewers.PresentationContext;
-import org.eclipse.debug.ui.viewers.TreePath;
-import org.eclipse.debug.ui.viewers.TreeSelection;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.jface.viewers.ViewerFilter;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
index 38cd1f1..38eae90 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
@@ -35,15 +35,15 @@
 import org.eclipse.debug.internal.ui.elements.adapters.ThreadTreeContentAdapter;
 import org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter;
 import org.eclipse.debug.internal.ui.elements.adapters.VariableTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IAsynchronousLabelAdapter;
+import org.eclipse.debug.internal.ui.viewers.IAsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IModelProxyFactory;
+import org.eclipse.debug.internal.ui.viewers.IModelSelectionPolicy;
+import org.eclipse.debug.internal.ui.viewers.IUpdatePolicyFactory;
 import org.eclipse.debug.internal.ui.viewers.update.DefaultModelProxyFactory;
 import org.eclipse.debug.internal.ui.viewers.update.DefaultSelectionPolicy;
 import org.eclipse.debug.internal.ui.viewers.update.DefaultUpdatePolicyFactory;
 import org.eclipse.debug.ui.contexts.ISourceDisplayAdapter;
-import org.eclipse.debug.ui.viewers.IAsynchronousLabelAdapter;
-import org.eclipse.debug.ui.viewers.IAsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IModelProxyFactory;
-import org.eclipse.debug.ui.viewers.IModelSelectionPolicy;
-import org.eclipse.debug.ui.viewers.IUpdatePolicyFactory;
 import org.eclipse.ui.model.IWorkbenchAdapter;
 import org.eclipse.ui.model.IWorkbenchAdapter2;
 import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
index 53c9dc8..bf99085 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
@@ -51,6 +51,10 @@
 import org.eclipse.debug.internal.ui.sourcelookup.EditSourceLookupPathAction;
 import org.eclipse.debug.internal.ui.sourcelookup.LookupSourceAction;
 import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupResult;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.PresentationContext;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
+import org.eclipse.debug.internal.ui.viewers.TreeSelection;
 import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
 import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
 import org.eclipse.debug.ui.DebugUITools;
@@ -60,10 +64,6 @@
 import org.eclipse.debug.ui.contexts.IDebugContextListener;
 import org.eclipse.debug.ui.contexts.IDebugContextProvider;
 import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.PresentationContext;
-import org.eclipse.debug.ui.viewers.TreePath;
-import org.eclipse.debug.ui.viewers.TreeSelection;
 import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.IToolBarManager;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
index f7eb8ab..6a4230b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
@@ -31,10 +31,10 @@
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.debug.core.model.IThread;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
+import org.eclipse.debug.internal.ui.viewers.TreeSelection;
 import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.TreePath;
-import org.eclipse.debug.ui.viewers.TreeSelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ui.progress.WorkbenchJob;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
index 0d7c670..cf1c52e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
@@ -9,11 +9,11 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.IAsynchronousTreeContentAdapter;
+import org.eclipse.debug.internal.ui.viewers.IPresentationContext;
 import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.IAsynchronousTreeContentAdapter;
-import org.eclipse.debug.ui.viewers.IPresentationContext;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.model.IWorkbenchAdapter;
 import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
index 90f13f6..7f7f8c0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
@@ -47,6 +47,8 @@
 import org.eclipse.debug.internal.ui.contexts.DebugContextManager;
 import org.eclipse.debug.internal.ui.contexts.actions.FindVariableAction;
 import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.PresentationContext;
 import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
 import org.eclipse.debug.internal.ui.views.AbstractViewerState;
 import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
@@ -54,8 +56,6 @@
 import org.eclipse.debug.ui.IDebugUIConstants;
 import org.eclipse.debug.ui.IValueDetailListener;
 import org.eclipse.debug.ui.contexts.IDebugContextListener;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.PresentationContext;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuListener;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
index 587be4a..54a4bc6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
@@ -3,8 +3,8 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.IAsynchronousRequestMonitor;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.IAsynchronousRequestMonitor;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.progress.UIJob;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
index 9756d4f..6f64291 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
@@ -17,9 +17,9 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.internal.ui.viewers.AsynchronousTreeViewer;
+import org.eclipse.debug.internal.ui.viewers.TreePath;
 import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.debug.ui.viewers.AsynchronousTreeViewer;
-import org.eclipse.debug.ui.viewers.TreePath;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeItem;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/LabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/LabelRequestMonitor.java
deleted file mode 100644
index 3633302..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/viewers/LabelRequestMonitor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.viewers;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Implementation of an <code>ILabelRequestMonitor</code>. Collects label
- * attributes from an asynchronous label adapter. 
- * <p>
- * Not intended to be subclassed or instantiated by clients. For use
- * speficially with <code>AsynchronousViewer</code>.
- * </p>
- * @since 3.2
- */
-class LabelRequestMonitor extends AsynchronousRequestMonitor implements ILabelRequestMonitor {
-
-	/**
-	 * Retrieved label text. Only <code>null</code> if cancelled or failed.
-	 */
-    private String fText;
-    
-    /**
-     * Retrieved image descriptor or <code>null</code>
-     */
-    private ImageDescriptor fImageDescriptor;
-    
-    /**
-     * Retrieved font data or <code>null</code>
-     */
-    private FontData fFontData; 
-    
-    /**
-     * Retieved colors or <code>null</code>
-     */
-    private RGB fForeground;
-    private RGB fBackground;
-
-    /**
-     * Cosntructs a request to upate the label of the given widget in the
-     * give viewer.
-     * 
-     * @param widget widget to update
-     * @param viewer viewer containing the widget
-     */
-    LabelRequestMonitor(Widget widget, AsynchronousViewer viewer) {
-        super(widget, viewer);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
-     */
-    protected void performUpdate() {
-    	AsynchronousViewer viewer = getViewer();
-		Widget widget = getWidget();
-		viewer.setLabel(widget, fText, fImageDescriptor);
-    	viewer.setColor(widget, fForeground, fBackground);
-    	viewer.setFont(widget, fFontData);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
-     */
-    protected boolean contains(AsynchronousRequestMonitor update) {
-        return update instanceof LabelRequestMonitor && update.getWidget() == getWidget();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setLabel(java.lang.String)
-     */
-    public void setLabel(String text) {
-        fText = text;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setFontData(org.eclipse.swt.graphics.FontData)
-     */
-    public void setFontData(FontData fontData) {
-        fFontData = fontData;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
-     */
-    public void setImageDescriptor(ImageDescriptor image) {
-        fImageDescriptor = image;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setForeground(org.eclipse.swt.graphics.RGB)
-     */
-    public void setForeground(RGB foreground) {
-        fForeground = foreground;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setBackground(org.eclipse.swt.graphics.RGB)
-     */
-    public void setBackground(RGB background) {
-        fBackground = background;
-    }
-
-}