diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
index 046f3dd..0b7083b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
@@ -33,6 +33,7 @@
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IStateUpdateListener;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener;
+import org.eclipse.debug.internal.ui.viewers.model.provisional.IVirtualItemListener;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IVirtualItemValidator;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.PresentationContext;
@@ -64,7 +65,7 @@
  * @since 3.5
  */
 public class InternalVirtualTreeModelViewer extends Viewer 
-    implements VirtualTree.IVirtualItemListener, 
+    implements IVirtualItemListener, 
                ITreeModelViewer, 
                IInternalTreeModelViewer
 {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
index d1f7203..3513b2a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
@@ -1,5 +1,5 @@
 /*****************************************************************
- * Copyright (c) 2009 Texas Instruments and others
+ * Copyright (c) 2009, 2011 Texas Instruments 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
@@ -19,8 +19,9 @@
  * notification for check state changes in the tree. 
  * 
  * @since 3.6
+ * @see IModelProxy
  */
-public interface ICheckboxModelProxy extends IModelProxy {
+public interface ICheckboxModelProxy {
 
     /**
      * Notifies the receiver that the given element has had its 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
index 09cb089..5581811 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 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
@@ -14,9 +14,8 @@
 
 /**
  * Request monitor used to collect the number of children for an element in a viewer.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IChildrenCountUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
index 6edbd2f..9ee12df 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
@@ -14,9 +14,8 @@
 /**
  * Context sensitive children update request for a parent and subrange of its
  * children.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IChildrenUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
index 7f6dfc4..d6258f4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 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
@@ -13,9 +13,8 @@
 
 /**
  * Request to compare an element to a previously created memento.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IElementCompareRequest extends IElementMementoRequest {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
index 6c7fab0..85232d9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 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
@@ -13,9 +13,8 @@
 
 /**
  * Context sensitive update request for whether an element has children.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IHasChildrenUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
index 0c24414..451fd2a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
@@ -16,9 +16,8 @@
 
 /**
  * Context sensitive label update request for an element.
- * <p>
- * Clients are not intended to implement this interface.
- * </p> 
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface ILabelUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
index 250f70c..adabf4e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
@@ -26,14 +26,13 @@
  * within that model for a specific presentation context. 
  * </p>
  * <p>
- * Clients may implement this interface. Implementations of this interface
- * must subclass {@link AbstractModelProxy}.
- * </p>
- * <p>
  * Note: provider methods are called in the Display thread of the viewer.
  * To avoid blocking the UI, long running operations should be performed 
  * asynchronously.
  * </p>
+ * 
+ * @noimplement Clients are not intended to implement this interface directly. Instead, clients
+ * creating and firing model deltas should create instances of {@link AbstractModelProxy}.
  * @see IModelDelta
  * @see IModelProxyFactory
  * @see IModelChangedListener
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
index 5db3dbe..7187edc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
@@ -16,10 +16,9 @@
 /**
  * Extension to the model proxy interface which allows the proxy to be initialized
  * on the viewer's Display thread
- * <p>
- * Clients may implement this interface. Implementations of this interface
- * must subclass {@link AbstractModelProxy}.
- * </p>
+ * 
+ * @noimplement Clients are not intended to implement this interface directly. Instead, clients
+ * creating and firing model deltas should create instances of {@link AbstractModelProxy}.
  * @since 3.8
  */
 public interface IModelProxy2 extends IModelProxy {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
index f2a5be0..baa6971 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 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
@@ -15,9 +15,8 @@
 
 /**
  * A context sensitive viewer update request.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IViewerUpdate extends IRequest {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
new file mode 100644
index 0000000..4f59447
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
@@ -0,0 +1,28 @@
+package org.eclipse.debug.internal.ui.viewers.model.provisional;
+
+/**
+ * Interface for listeners that need to be notified when items 
+ * are disposed or revealed.  It  should be implemented by the viewer.
+ * 
+ * @see VirtualTreeModelViewer
+ * @since 3.8
+ */
+public interface IVirtualItemListener {
+    
+    /**
+     * Called when the item has been shown in the virtual viewer's 
+     * view-port.  This indicates to the viewer that it should check
+     * the item's status and request needed data.
+     * 
+     * @param item The item that was revealed.
+     */
+    public void revealed(VirtualItem item);
+    
+    /**
+     * Called when an item is disposed.  It tells the viewer to
+     * clean up any remaining mappings and cached data of this item.
+     * 
+     * @param item The itam that was disposed.
+     */
+    public void disposed(VirtualItem item);
+}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
index b4d6f50..b460c48 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
@@ -15,6 +15,7 @@
  * A validator to be used with a VirtualTreeModelViewer to determine which viewer
  * items should be updated by the viewer.   
  * 
+ * @see VirtualTreeModelViewer
  * @since 3.8
  */
 public interface IVirtualItemValidator {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
index d06ff9a..f595c60 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
@@ -21,7 +21,7 @@
  * This class may be instantiated, but it not intended to be sub-classed.
  * </p>
  * @since 3.4
- * @noinstantiate This class is not intended to be instantiated by clients.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class ViewerInputService {
 	
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
index f28f479..0a190b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
@@ -21,6 +21,7 @@
  * Virtual item, which is analogous to the SWT's tree item.  This class is used
  * by the {@link VirtualTreeModelViewer}. 
  * 
+ * @see VirtualTreeModelViewer
  * @since 3.8
  */
 public class VirtualItem {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
index a670a30..661a1ea 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
@@ -21,9 +21,8 @@
  * Tree of virtual items that is analogous to SWT's tree control.  The tree is used
  * by the {@link VirtualTreeModelViewer}. 
  * 
- * @since 3.8
- * 
  * @see VirtualTreeModelViewer
+ * @since 3.8
  */
 public class VirtualTree extends VirtualItem {
 
@@ -55,30 +54,6 @@
     }
     
     /**
-     * Interface for listeners that need to be notified when items 
-     * are disposed or revealed.  It  should be implemented by the viewer.
-     */
-    public static interface IVirtualItemListener {
-        
-        /**
-         * Called when the item has been shown in the virtual viewer's 
-         * view-port.  This indicates to the viewer that it should check
-         * the item's status and request needed data.
-         * 
-         * @param item The item that was revealed.
-         */
-        public void revealed(VirtualItem item);
-        
-        /**
-         * Called when an item is disposed.  It tells the viewer to
-         * clean up any remaining mappings and cached data of this item.
-         * 
-         * @param item The itam that was disposed.
-         */
-        public void disposed(VirtualItem item);
-    }
-    
-    /**
      * Set of listeners of the virtual tree.
      */
     private Set fVirtualItemListeners = new HashSet(1);
