Bug 225601 Adopt API tooling for UI bundles
diff --git a/bundles/org.eclipse.ui.ide.application/.classpath b/bundles/org.eclipse.ui.ide.application/.classpath
index 751c8f2..2fbb7a2 100644
--- a/bundles/org.eclipse.ui.ide.application/.classpath
+++ b/bundles/org.eclipse.ui.ide.application/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.ui.ide.application/.project b/bundles/org.eclipse.ui.ide.application/.project
index 5fe85a9..716e130 100644
--- a/bundles/org.eclipse.ui.ide.application/.project
+++ b/bundles/org.eclipse.ui.ide.application/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.ui.ide.application/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.ide.application/.settings/org.eclipse.jdt.core.prefs
index d0aa9ae..d1f7f5a 100644
--- a/bundles/org.eclipse.ui.ide.application/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.ui.ide.application/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Tue Sep 11 09:40:26 EDT 2007
+#Thu Apr 03 13:18:13 EDT 2008
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=warning
@@ -56,7 +56,6 @@
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
diff --git a/bundles/org.eclipse.ui.ide.application/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.ide.application/META-INF/MANIFEST.MF
index 5e9dcd4..bf220fc 100644
--- a/bundles/org.eclipse.ui.ide.application/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.ide.application/META-INF/MANIFEST.MF
@@ -15,3 +15,4 @@
  org.eclipse.update.core;bundle-version="[3.1.100,4.0.0)"
 Export-Package: org.eclipse.ui.internal.ide.application;x-internal:=true,
  org.eclipse.ui.internal.ide.application.dialogs;x-internal:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEIdleHelper.java b/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEIdleHelper.java
index 370447f..7879402 100644
--- a/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEIdleHelper.java
+++ b/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEIdleHelper.java
@@ -12,7 +12,6 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.swt.SWT;
@@ -148,7 +147,7 @@
 							int nextInterval;
 							final long start = System.currentTimeMillis();
 							//don't garbage collect if background jobs are running
-							if (!Platform.getJobManager().isIdle()) {
+							if (!Job.getJobManager().isIdle()) {
 								nextInterval = IDLE_INTERVAL;
 							} else if ((start - lastGC) < nextGCInterval) {
 								//don't garbage collect if we have collected within the specific interval
diff --git a/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java b/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java
index 7cd93e5..ea46277 100644
--- a/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java
+++ b/bundles/org.eclipse.ui.ide.application/src/org/eclipse/ui/internal/ide/application/IDEWorkbenchAdvisor.java
@@ -211,7 +211,7 @@
 	public void preStartup() {
 
 		// Suspend background jobs while we startup
-		Platform.getJobManager().suspend();
+		Job.getJobManager().suspend();
 
 		// Register the build actions
 		IProgressService service = PlatformUI.getWorkbench()
@@ -242,7 +242,7 @@
 			Display.getCurrent().addListener(SWT.Settings,
 					settingsChangeListener);
 		} finally {// Resume background jobs after we startup
-			Platform.getJobManager().resume();
+			Job.getJobManager().resume();
 		}
 	}
 
diff --git a/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
index 6d89907..291c141 100644
--- a/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.ide/META-INF/MANIFEST.MF
@@ -15,16 +15,16 @@
  org.eclipse.ui.ide.dialogs,
  org.eclipse.ui.ide.fileSystem,
  org.eclipse.ui.ide.undo,
- org.eclipse.ui.internal.ide;x-internal:=true,
+ org.eclipse.ui.internal.ide;x-friends:="org.eclipse.ui.ide.application",
  org.eclipse.ui.internal.ide.actions;x-internal:=true,
  org.eclipse.ui.internal.ide.commands;x-internal:=true,
- org.eclipse.ui.internal.ide.dialogs;x-internal:=true,
+ org.eclipse.ui.internal.ide.dialogs;x-friends:="org.eclipse.ui.ide.application",
  org.eclipse.ui.internal.ide.filesystem;x-internal:=true,
  org.eclipse.ui.internal.ide.handlers;x-internal:=true,
  org.eclipse.ui.internal.ide.misc;x-internal:=true,
- org.eclipse.ui.internal.ide.model;x-internal:=true,
+ org.eclipse.ui.internal.ide.model;x-friends:="org.eclipse.ui.ide.application",
  org.eclipse.ui.internal.ide.registry;x-internal:=true,
- org.eclipse.ui.internal.ide.undo;x-internal:=true,
+ org.eclipse.ui.internal.ide.undo;x-friends:="org.eclipse.ui.ide.application",
  org.eclipse.ui.internal.ide.update;x-internal:=true,
  org.eclipse.ui.internal.views.bookmarkexplorer;x-internal:=true,
  org.eclipse.ui.internal.views.framelist;x-internal:=true,
diff --git a/bundles/org.eclipse.ui.navigator.resources/.project b/bundles/org.eclipse.ui.navigator.resources/.project
index d6bb453..adf410f 100644
--- a/bundles/org.eclipse.ui.navigator.resources/.project
+++ b/bundles/org.eclipse.ui.navigator.resources/.project
@@ -19,10 +19,16 @@
 			<name>org.eclipse.pde.SchemaBuilder</name>
 			<arguments>
 			</arguments>
-		</buildCommand> 
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature> 
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.ui.navigator/.project b/bundles/org.eclipse.ui.navigator/.project
index b191e3d..d14a930 100644
--- a/bundles/org.eclipse.ui.navigator/.project
+++ b/bundles/org.eclipse.ui.navigator/.project
@@ -19,10 +19,16 @@
 			<name>org.eclipse.pde.SchemaBuilder</name>
 			<arguments>
 			</arguments>
-		</buildCommand> 
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature> 
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.ui.navigator/component.xml b/bundles/org.eclipse.ui.navigator/component.xml
deleted file mode 100644
index 5187dcf..0000000
--- a/bundles/org.eclipse.ui.navigator/component.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Common Navigator">
-   
-	<plugin
-		id="org.eclipse.ui.navigator" fragment="false" />	
-		
-	<plugin
-		id="org.eclipse.ui.navigator.resources" fragment="false" />
-
- <package name="org.eclipse.ui.navigator">
- 
-   <type name= "CommonNavigator" subclass="true"/>
-   <type name= "CommonViewer" subclass="true"/>
-   
-   <type name= "CommonNavigatorManager" subclass="false"/>  
-   <type name= "Priority" subclass="false"/>    
-   <type name= "INavigatorActionService" implements="false"/>    
-   <type name= "INavigatorContentService" implements="false"/>    
-   
-   <!--  Contracts for the framework  -->
-   <type name= "ICommonActionProvider" implements="true"/>        
-   <type name= "ICommonDropActionDelegate" implements="true"/>        
-   <type name= "ICommonLabelProvider" implements="true"/>         
-   <type name= "ICommonOpenListener" implements="true"/>        
-   <type name= "IDescriptionProvider" implements="true"/>            
-   <type name= "ILinkHelper" implements="true"/>        
-   <type name= "IMementoAware" implements="true"/>        
-   <type name= "INavigatorExtensionFilter" implements="true"/>    
-   
-   <!--  Contracts for the clients -->
-   <type name= "IExtensionStateModel" implements="false"/>    
-   <type name= "ICommonMenuConstants" implements="false"/>  
- </package>
- 
- <component-depends unrestricted="true"/>
-</component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorManager.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorManager.java
index b3ba3d8..0b67b89 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorManager.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorManager.java
@@ -140,6 +140,7 @@
 	 * @param aNavigator
 	 *            The CommonNavigator managed by this class. Requires a non-null
 	 *            value.
+	 * @param aMemento a memento for restoring state, or <code>null</code>
 	 */
 	public CommonNavigatorManager(CommonNavigator aNavigator, IMemento aMemento) {
 		super();
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorMessages.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorMessages.java
index d1f9320..1a85cfb 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorMessages.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/CommonNavigatorMessages.java
@@ -121,6 +121,7 @@
 	/** */
 	public static String FilterDialogSelectionListener_Enable_the_0_filter_;
 
+	/** */
 	public static String NavigatorContentServiceLabelProvider_Error_no_label_provider_for_0_;
 
 	static {
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/ExtensionPriorityComparator.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/ExtensionPriorityComparator.java
index e1d1327..6c3cbe4 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/ExtensionPriorityComparator.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/ExtensionPriorityComparator.java
@@ -34,6 +34,13 @@
 	
 	private final int sortAscending;
 	
+	/**
+	 * Creates an instance that sorts according to the given boolean flag.
+	 * 
+	 * @param toSortAscending
+	 *            <code>true</code> for ascending sort order or
+	 *            <code>false</code> for descending sort order.
+	 */
 	public ExtensionPriorityComparator(boolean toSortAscending) {
 		sortAscending = toSortAscending ? 1 : -1; 
 	}
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/NavigatorContentDescriptorManager.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/NavigatorContentDescriptorManager.java
index 7cbed48..78059ad 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/NavigatorContentDescriptorManager.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/NavigatorContentDescriptorManager.java
@@ -234,6 +234,7 @@
 	 * @param aVisibilityAssistant
 	 *            The relevant viewer assistant; used to filter out unbound
 	 *            content descriptors.
+	 * @param toComputeOverrides
 	 * @return the best content descriptor for the given element.
 	 */
 	public Set findDescriptorsForPossibleChild(Object anElement,
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/sorters/CommonSorterDescriptorManager.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/sorters/CommonSorterDescriptorManager.java
index ceff7b1..477cafe 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/sorters/CommonSorterDescriptorManager.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/sorters/CommonSorterDescriptorManager.java
@@ -125,8 +125,6 @@
 
 	/**
 	 * 
-	 * @param aContentService
-	 *            A content service to filter the visible filters.
 	 * @param theSource
 	 *            The source of each *value. 
 	 * @return The set of filters that are 'visible' to the given viewer
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/CommonNavigator.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/CommonNavigator.java
index 3c16b04..4c73438 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/CommonNavigator.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/CommonNavigator.java
@@ -104,6 +104,7 @@
  * <p>
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  *  
  * @since 3.2
  */
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/INavigatorContentDescriptor.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/INavigatorContentDescriptor.java
index a0e672f..e719678 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/INavigatorContentDescriptor.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/INavigatorContentDescriptor.java
@@ -27,9 +27,7 @@
  * There is only one {@link INavigatorContentDescriptor} for each extension.
  * </p>
  * 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  * 
  * @since 3.2
  * 
diff --git a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/WizardActionGroup.java b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/WizardActionGroup.java
index 66b0cad..7778efd 100644
--- a/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/WizardActionGroup.java
+++ b/bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/WizardActionGroup.java
@@ -68,6 +68,8 @@
  * Clients may instantiate, but not subclass WizardActionGroup.
  * </p>
  * 
+ * @noextend This class is not intended to be subclassed by clients.
+ * 
  * @see PlatformUI#getWorkbench()
  * @see IWorkbench#getNewWizardRegistry()
  * @see IWorkbench#getImportWizardRegistry()
diff --git a/bundles/org.eclipse.ui.workbench/.project b/bundles/org.eclipse.ui.workbench/.project
index 24b9f26..996239d 100644
--- a/bundles/org.eclipse.ui.workbench/.project
+++ b/bundles/org.eclipse.ui.workbench/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java
index 70033c7..49d92c8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars.java
@@ -53,6 +53,7 @@
  * </p><p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActionBars {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars2.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars2.java
index 0129dc5..aef6c9d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars2.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IActionBars2.java
@@ -17,6 +17,7 @@
  * cool bar manager.
  * 
  * @since 3.0 
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActionBars2 extends IActionBars {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java
index 52994dc..270ce9c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IDecoratorManager.java
@@ -25,6 +25,7 @@
  * <p>
  * This class is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IDecoratorManager extends IDelayedLabelDecorator{
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java
index 1f10e73..7d2494e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorDescriptor.java
@@ -28,6 +28,7 @@
  * </p>
  *
  * @see IEditorRegistry
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IEditorDescriptor extends IWorkbenchPartDescriptor {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java
index e9c9ceb..5aff7a0 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorReference.java
@@ -19,6 +19,7 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IEditorReference extends IWorkbenchPartReference {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java
index 97c9ca3..26c2026 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorRegistry.java
@@ -35,6 +35,7 @@
  * </p>
  * 
  * @see org.eclipse.ui.IWorkbench#getEditorRegistry()
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IEditorRegistry {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java
index 408abf0..5fb66ec 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IEditorSite.java
@@ -19,6 +19,7 @@
  * The workbench exposes its implemention of editor part sites via this 
  * interface, which is not intended to be implemented or extended by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IEditorSite extends IWorkbenchPartSite {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java
index 1e418f8..23eaccf 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFileEditorMapping.java
@@ -27,6 +27,7 @@
  * </p>
  *
  * @see IEditorRegistry#getFileEditorMappings
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IFileEditorMapping {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java
index 30868d4..41e771f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IFolderLayout.java
@@ -18,6 +18,7 @@
  * </p>
  *
  * @see IPageLayout#createFolder
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IFolderLayout extends IPlaceholderFolderLayout {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IInPlaceEditor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IInPlaceEditor.java
index 388e961..d5faf05 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IInPlaceEditor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IInPlaceEditor.java
@@ -18,6 +18,7 @@
  *
  * @see org.eclipse.ui.IEditorDescriptor#isOpenInPlace()
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IInPlaceEditor extends IEditorPart {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java
index e49be05..d03f6a3 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IKeyBindingService.java
@@ -30,6 +30,7 @@
  * @deprecated See IContextService to manage <b>scopes</b> and
  * IHandlerService to manage handlers. IAction can
  * be proxied by org.eclipse.jface.commands.ActionHandler.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IKeyBindingService {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ILocalWorkingSetManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ILocalWorkingSetManager.java
index 0496f34..d74ceb1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ILocalWorkingSetManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ILocalWorkingSetManager.java
@@ -26,6 +26,7 @@
  *
  * @see org.eclipse.ui.IWorkbench#createLocalWorkingSetManager()
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILocalWorkingSetManager extends IWorkingSetManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java
index 47bc2ea..2b38aea 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IMemento.java
@@ -39,6 +39,7 @@
  *
  * @see IPersistableElement
  * @see IElementFactory
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IMemento {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java
index c0abc06..f5de897 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationHistory.java
@@ -31,6 +31,7 @@
  * Not intended to be implemented by clients.
  * 
  * @since 2.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface INavigationHistory {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java
index 53741a0..fd13712 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INavigationLocation.java
@@ -17,6 +17,7 @@
  * instead.
  * 
  * @since 2.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface INavigationLocation {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INestableKeyBindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INestableKeyBindingService.java
index 92cf363..1a1752f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INestableKeyBindingService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/INestableKeyBindingService.java
@@ -26,6 +26,7 @@
  * @since 2.1.3
  * @deprecated This is now handled by {@link IServiceLocator} which can
  * be nested.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface INestableKeyBindingService extends IKeyBindingService {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java
index 9730dd8..0341d14 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageLayout.java
@@ -67,6 +67,7 @@
  * layout.addView(IPageLayout.ID_TASK_LIST, IPageLayout.BOTTOM, 0.66f, editorArea);
  * </pre>
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPageLayout {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java
index aef4e6d..8c0b01d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPageService.java
@@ -24,6 +24,7 @@
  * @see IWorkbenchWindow
  * @see IPageListener
  * @see IPerspectiveListener
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPageService {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java
index 0504faa..13e1d9d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPartService.java
@@ -22,6 +22,7 @@
  * </p>
  *
  * @see IWorkbenchPage
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPartService {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java
index 8fcdc3c..be0bc86 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveDescriptor.java
@@ -42,6 +42,7 @@
  * This interface is not intended to be implemented by clients.
  * </p>
  * @see IPerspectiveRegistry
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPerspectiveDescriptor {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java
index b93e4f3..96ee7da 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPerspectiveRegistry.java
@@ -21,6 +21,7 @@
  * This interface is not intended to be implemented by clients.
  * </p>
  * @see IWorkbench#getPerspectiveRegistry
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPerspectiveRegistry {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java
index 281cc38..7e48ecc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IPlaceholderFolderLayout.java
@@ -21,6 +21,7 @@
  *
  * @see IPageLayout#createPlaceholderFolder
  * @since 2.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPlaceholderFolderLayout {
 	
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java
index 471cf34..0e90403 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISelectionService.java
@@ -28,6 +28,7 @@
  * </p>
  * @see org.eclipse.ui.ISelectionListener
  * @see org.eclipse.ui.INullSelectionListener
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ISelectionService {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java
index c10ee91..9b449d7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISharedImages.java
@@ -25,6 +25,7 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ISharedImages {
     /**
@@ -58,6 +59,7 @@
 
     /**
      * Identifies the remove image in the enabled state.
+     * @since 3.4
      */
     public final static String IMG_ELCL_REMOVE = "IMG_ELCL_REMOVE"; //$NON-NLS-1$
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISizeProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISizeProvider.java
index 11a5780..48a768b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISizeProvider.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISizeProvider.java
@@ -16,6 +16,7 @@
  * a preferred size
  * 
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ISizeProvider {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISources.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISources.java
index 50e5ad3..646b14c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISources.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/ISources.java
@@ -52,9 +52,8 @@
  * the variable sources become user extensible a new conflict resolution
  * mechanism will be implemented.
  * </p>
- * <p>
- * This interface is not intended to be implemented or extended by clients.
- * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
  * 
  * @see org.eclipse.ui.ISourceProvider
  * @since 3.1
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewLayout.java
index 19c85bc..e84270b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewLayout.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewLayout.java
@@ -17,6 +17,7 @@
  * </p>
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IViewLayout {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java
index 3763db1..f30632f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewReference.java
@@ -16,6 +16,7 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IViewReference extends IWorkbenchPartReference {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java
index af2d1f6..1836989 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IViewSite.java
@@ -16,6 +16,7 @@
  * The workbench exposes its implemention of view part sites via this interface,
  * which is not intended to be implemented or extended by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IViewSite extends IWorkbenchPartSite {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java
index d73db7d..04358b2 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbench.java
@@ -78,6 +78,7 @@
  * </p>
  * 
  * @see org.eclipse.ui.PlatformUI#getWorkbench
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbench extends IAdaptable, IServiceLocator {
 	/**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java
index 7429239..500c391 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchActionConstants.java
@@ -119,6 +119,7 @@
  * Note: many of the remaining non-deprecated constants here are IDE-specific
  *   and should be deprecated and moved to a constant pool at the IDE layer
  *   (e.g. IIDEActionConstants).
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchActionConstants {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java
index 002b926..a307255 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPage.java
@@ -41,6 +41,7 @@
  * @see IPerspectiveDescriptor
  * @see IEditorPart
  * @see IViewPart
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchPage extends IPartService, ISelectionService,
 		ICompatibleWorkbenchPage {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartConstants.java
index 72cd7ea..4601f35 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartConstants.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartConstants.java
@@ -18,6 +18,7 @@
  * </p>
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchPartConstants {
 
@@ -49,6 +50,7 @@
 
     /**
      * The property id for any method on the optional <code>ISizeProvider</code> interface
+     * @since 3.4
      */
     int PROP_PREFERRED_SIZE = 0x303;
     
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java
index d5db5f8..4a94581 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartDescriptor.java
@@ -18,6 +18,7 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchPartDescriptor {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java
index 0ac758a..2a78a33 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartReference.java
@@ -21,6 +21,7 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchPartReference {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java
index d199e51..77710b6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java
@@ -21,6 +21,7 @@
  * <p>
  * This interface is not intended to be implemented or extended by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchPartSite extends IWorkbenchSite {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
index 3b8332c..665fa41 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPreferenceConstants.java
@@ -23,6 +23,7 @@
  * 
  * @see PlatformUI#PLUGIN_ID
  * @see PlatformUI#getPreferenceStore()
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchPreferenceConstants {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java
index d0e22b3..24537ea 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchSite.java
@@ -44,6 +44,7 @@
  * @see org.eclipse.ui.IWorkbenchPartSite
  * @see org.eclipse.ui.part.IPageSite
  * @since 2.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchSite extends IAdaptable, IShellProvider,
 		IServiceLocator {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java
index 46682d0..dc03665 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchWindow.java
@@ -52,6 +52,7 @@
  * </p>
  * 
  * @see IWorkbenchPage
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchWindow extends IPageService, IRunnableContext,
 		IServiceLocator, IShellProvider {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java
index 11dfc91..eccf020 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSet.java
@@ -24,6 +24,7 @@
  * @since 2.0 initial version
  * @since 3.0 now extends {@link org.eclipse.ui.IPersistableElement}
  * @since 3.2 now extends {@link org.eclipse.core.runtime.IAdaptable}
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkingSet extends IPersistableElement, IAdaptable {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java
index 2cab7fb..1cc02eb 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkingSetManager.java
@@ -31,6 +31,7 @@
  * @see IWorkingSet
  * @since 2.0 initial version
  * @since 3.0 added createWorkingSet(IMemento)
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkingSetManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java
index 5ebb0e6..5596805 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/PartInitException.java
@@ -18,6 +18,7 @@
  * <p>
  * This exception class is not intended to be subclassed by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class PartInitException extends WorkbenchException {
     
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java
index a754f55..f9c26ca 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/WorkbenchException.java
@@ -20,6 +20,7 @@
  * <p>
  * This exception class is not intended to be subclassed by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class WorkbenchException extends CoreException {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java
index 0f0bcae..df0474c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ExportResourcesAction.java
@@ -36,6 +36,7 @@
  * </p>
  * 
  * @since 2.0
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class ExportResourcesAction extends BaseSelectionListenerAction
         implements ActionFactory.IWorkbenchAction {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java
index 9c5c7fa..1074fb1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/ImportResourcesAction.java
@@ -37,6 +37,7 @@
  * </p>
  * 
  * @since 2.0
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class ImportResourcesAction extends BaseSelectionListenerAction
         implements ActionFactory.IWorkbenchAction {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java
index 1378639..3f27bda 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/LabelRetargetAction.java
@@ -24,6 +24,7 @@
  * </p>
  *
  * @since 2.0 
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class LabelRetargetAction extends RetargetAction {
     private String defaultText;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java
index 8e864e9..b770217 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/NewWizardAction.java
@@ -46,6 +46,7 @@
  * action an opportunity to deregister its listeners and to perform any other
  * cleanup.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class NewWizardAction extends Action implements
         ActionFactory.IWorkbenchAction {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java
index 0afa251..2a8b62a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewPageMenu.java
@@ -37,6 +37,7 @@
  * </p>
  * @deprecated Workbench no longer exposes the concept of "pages" in the
  * 		user ui model. See IWorkbench.showPerspective methods.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class OpenNewPageMenu extends PerspectiveMenu {
     private IAdaptable pageInput;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java
index 6bbf2ad..b3732ec 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenNewWindowMenu.java
@@ -36,6 +36,7 @@
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
  * @deprecated See IWorkbench.showPerspective methods.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class OpenNewWindowMenu extends PerspectiveMenu {
     private IAdaptable pageInput;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java
index 5d2020c..f23677f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/OpenPerspectiveMenu.java
@@ -42,6 +42,7 @@
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
  * @deprecated  See IWorkbench.showPerspective methods.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class OpenPerspectiveMenu extends PerspectiveMenu {
     private IAdaptable pageInput;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java
index b966ffc..3c3e6f8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/PerspectiveMenu.java
@@ -69,6 +69,7 @@
  */
 public abstract class PerspectiveMenu extends ContributionItem {
     /**
+     * @since 3.4
 	 * 
 	 */
 	protected static final String SHOW_PERSP_ID = "org.eclipse.ui.perspectives.showPerspective"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java
index a55e1de..a8befe5 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/actions/RetargetAction.java
@@ -42,6 +42,7 @@
  * </p>
  *
  * @since 2.0 
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class RetargetAction extends PartEventAction implements
         ActionFactory.IWorkbenchAction {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java
index 0efe306..d303e1e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivity.java
@@ -39,6 +39,7 @@
  * 
  * @since 3.0
  * @see IActivityManager
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActivity extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java
index d4ef34e..b31b4c9 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityManager.java
@@ -21,6 +21,7 @@
  * </p>
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActivityManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityPatternBinding.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityPatternBinding.java
index 17dd368..53f40fe 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityPatternBinding.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityPatternBinding.java
@@ -26,6 +26,7 @@
  * @see IActivity
  * @see IIdentifier
  * @see IActivityManager#getIdentifier(String)
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActivityPatternBinding extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityRequirementBinding.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityRequirementBinding.java
index 147b104..7bfcd91 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityRequirementBinding.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IActivityRequirementBinding.java
@@ -23,6 +23,7 @@
  * 
  * @since 3.0
  * @see IActivity
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActivityRequirementBinding extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategory.java
index 48ba3ff..61deaee 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategory.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategory.java
@@ -32,6 +32,7 @@
  * 
  * @since 3.0
  * @see IActivityManager
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ICategory extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategoryActivityBinding.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategoryActivityBinding.java
index 1cdbd3f..3375389 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategoryActivityBinding.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ICategoryActivityBinding.java
@@ -22,6 +22,7 @@
  * @since 3.0
  * @see IActivity
  * @see ICategory
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ICategoryActivityBinding extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IIdentifier.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IIdentifier.java
index 164f84d..9b6e4c9 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IIdentifier.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IIdentifier.java
@@ -33,6 +33,7 @@
  * 
  * @since 3.0
  * @see IActivityManager#getIdentifier(String)
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IIdentifier extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IMutableActivityManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IMutableActivityManager.java
index f31c405..9057c7c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IMutableActivityManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IMutableActivityManager.java
@@ -25,6 +25,7 @@
  * </p>
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IMutableActivityManager extends IActivityManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPoint.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPoint.java
index 0c1f432..ebb2c6c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPoint.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPoint.java
@@ -24,6 +24,7 @@
  * @see org.eclipse.ui.activities.ITriggerPointAdvisor
  * @see org.eclipse.ui.activities.ITriggerPointManager
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ITriggerPoint {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointAdvisor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointAdvisor.java
index 0ba2cc6..38da2b0 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointAdvisor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointAdvisor.java
@@ -19,9 +19,8 @@
  * as a consequence of this action. The advisor also has the option of vetoing
  * the operation.
  * 
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
  * 
  * @since 3.1
  * @see org.eclipse.ui.activities.ITriggerPoint
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointManager.java
index 2430442..97b2778 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/ITriggerPointManager.java
@@ -22,6 +22,7 @@
  * 
  * @see org.eclipse.ui.activities.ITriggerPoint
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ITriggerPointManager {
 	
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IWorkbenchActivitySupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IWorkbenchActivitySupport.java
index 044e2b6..2d4064f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IWorkbenchActivitySupport.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/activities/IWorkbenchActivitySupport.java
@@ -23,6 +23,7 @@
  * </p>
  *  
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchActivitySupport {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IActionBarConfigurer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IActionBarConfigurer.java
index d1f30f1..cc890ba 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IActionBarConfigurer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IActionBarConfigurer.java
@@ -28,6 +28,7 @@
  * 
  * @see org.eclipse.ui.application.WorkbenchAdvisor#fillActionBars
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IActionBarConfigurer {
     
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchConfigurer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchConfigurer.java
index 2b61b66..74f51f4 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchConfigurer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchConfigurer.java
@@ -31,6 +31,7 @@
  * 
  * @see WorkbenchAdvisor#initialize
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchConfigurer {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchWindowConfigurer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchWindowConfigurer.java
index e086430..ebb268c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchWindowConfigurer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/application/IWorkbenchWindowConfigurer.java
@@ -39,6 +39,7 @@
  * @see IWorkbenchConfigurer#getWindowConfigurer
  * @see WorkbenchAdvisor#preWindowOpen
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchWindowConfigurer {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWebBrowser.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWebBrowser.java
index f6de872..bf069a7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWebBrowser.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWebBrowser.java
@@ -22,6 +22,7 @@
  * 
  * @since 3.1
  * @see IWorkbenchBrowserSupport
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 
 public interface IWebBrowser {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWorkbenchBrowserSupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWorkbenchBrowserSupport.java
index 1e6bc8d..3fee555 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWorkbenchBrowserSupport.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/browser/IWorkbenchBrowserSupport.java
@@ -46,6 +46,7 @@
  * 
  * @see IWebBrowser
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 
 public interface IWorkbenchBrowserSupport {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/CommandException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/CommandException.java
index a61ddcb..b0773e8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/CommandException.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/CommandException.java
@@ -19,6 +19,7 @@
  * @since 3.0
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
  * @see org.eclipse.core.commands.common.CommandException
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public abstract class CommandException extends Exception {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICategory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICategory.java
index 92506e6..f06567a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICategory.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICategory.java
@@ -44,6 +44,7 @@
  * @see ICommandManager
  * @see org.eclipse.core.commands.Category
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ICategory extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommand.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommand.java
index d239ce1..cd18520 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommand.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommand.java
@@ -41,6 +41,7 @@
  * @see ICommandManager
  * @see org.eclipse.core.commands.Command
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ICommand extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommandManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommandManager.java
index 70eba54..8320525 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommandManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/ICommandManager.java
@@ -31,6 +31,7 @@
  * @see org.eclipse.ui.commands.ICommandManagerListener
  * @see org.eclipse.core.commands.CommandManager
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ICommandManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeyConfiguration.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeyConfiguration.java
index 5ed8fb1..c8c3e2d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeyConfiguration.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeyConfiguration.java
@@ -41,6 +41,7 @@
  * @see org.eclipse.jface.bindings.Scheme
  * @deprecated Please use the bindings support in the "org.eclipse.jface"
  * plug-in instead.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IKeyConfiguration extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeySequenceBinding.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeySequenceBinding.java
index de4fb5a..b82820c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeySequenceBinding.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IKeySequenceBinding.java
@@ -28,6 +28,7 @@
  * @deprecated Please use the bindings support in the "org.eclipse.jface"
  * plug-in instead.
  * @see org.eclipse.jface.bindings.keys.KeyBinding
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IKeySequenceBinding extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IWorkbenchCommandSupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IWorkbenchCommandSupport.java
index 4ede5d2..e925acc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IWorkbenchCommandSupport.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/commands/IWorkbenchCommandSupport.java
@@ -25,6 +25,7 @@
  *             <code>IHandlerService</code> instead.
  * @see org.eclipse.ui.commands.ICommandService
  * @see org.eclipse.ui.handlers.IHandlerService
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchCommandSupport {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/ContextException.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/ContextException.java
index a4028e1..caaedc4 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/ContextException.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/ContextException.java
@@ -19,6 +19,7 @@
  * @since 3.0
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
  * @see org.eclipse.core.commands.common.CommandException
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public abstract class ContextException extends Exception {
 	
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContext.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContext.java
index c061cb7..fa803d1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContext.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContext.java
@@ -35,6 +35,7 @@
  * @see org.eclipse.ui.contexts.IContextManager
  * @see org.eclipse.core.commands.contexts.Context
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IContext extends Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContextManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContextManager.java
index 460afc5..1fcff19 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContextManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IContextManager.java
@@ -27,6 +27,7 @@
  * @since 3.0
  * @deprecated Please use the "org.eclipse.core.commands" plug-in instead.
  * @see org.eclipse.core.commands.contexts.ContextManager
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IContextManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IWorkbenchContextSupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IWorkbenchContextSupport.java
index d55abaf..2b79824 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IWorkbenchContextSupport.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/contexts/IWorkbenchContextSupport.java
@@ -29,6 +29,7 @@
  *             <code>IContextService</code> instead.
  * @see org.eclipse.ui.contexts.IContextService
  * @see org.eclipse.ui.keys.IBindingService
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchContextSupport {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java
index dcd27ea..8246cb4 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetEditWizard.java
@@ -26,6 +26,7 @@
  * </p>
  * @see org.eclipse.ui.IWorkingSetManager
  * @since 2.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkingSetEditWizard extends IWizard {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetNewWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetNewWizard.java
index d0fecb7..a288b40 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetNewWizard.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetNewWizard.java
@@ -27,6 +27,7 @@
  * @see org.eclipse.ui.dialogs.IWorkingSetPage
  * 
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkingSetNewWizard extends IWizard {
 	
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java
index 3936cac..947dd42 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/IWorkingSetSelectionDialog.java
@@ -24,6 +24,7 @@
  * </p>
  * @see org.eclipse.ui.IWorkingSetManager
  * @since 2.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkingSetSelectionDialog {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java
index 6b991f5..86cb33b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/ListSelectionDialog.java
@@ -57,6 +57,7 @@
  *	dlg.open();
  * </pre>
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class ListSelectionDialog extends SelectionDialog {
     // the root element to populate the viewer with
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java
index 6d66b05..e9a74be 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/PropertyDialogAction.java
@@ -44,6 +44,7 @@
  * action can simply be added to the pop-up menu. In the event of no applicable
  * pages, the action will just open an appropriate message dialog.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class PropertyDialogAction extends SelectionProviderAction {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/handlers/IHandlerService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/handlers/IHandlerService.java
index 310a182..cab89cc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/handlers/IHandlerService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/handlers/IHandlerService.java
@@ -32,9 +32,8 @@
  * Provides services related to activating and deactivating handlers within the
  * workbench.
  * </p>
- * <p>
- * This interface is not intended to be implemented or extended by clients.
- * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
  * 
  * @since 3.1
  */
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java
index 79336cc..db9ca4f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/DialogPageContextComputer.java
@@ -24,6 +24,7 @@
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
  * @deprecated nested contexts are no longer supported by the help support system
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class DialogPageContextComputer implements IContextComputer {
     private IDialogPage page;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IWorkbenchHelpSystem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IWorkbenchHelpSystem.java
index 5950c77..daf15aa 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IWorkbenchHelpSystem.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/IWorkbenchHelpSystem.java
@@ -28,6 +28,7 @@
  * </p>
  * 
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchHelpSystem {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java
index e04a73c..b949192 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/ViewContextComputer.java
@@ -24,6 +24,7 @@
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
  * @deprecated nested contexts are no longer supported by the help support system
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class ViewContextComputer implements IContextComputer {
     private IViewPart view;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java
index 9d05867..84d3240 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/help/WorkbenchHelp.java
@@ -50,6 +50,8 @@
  * @see org.eclipse.help.HelpSystem
  * @see org.eclipse.ui.help.IWorkbenchHelpSystem
  * @see org.eclipse.ui.IWorkbench#getHelpSystem()
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class WorkbenchHelp {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroManager.java
index 3630712..c65f116 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroManager.java
@@ -30,6 +30,7 @@
  * 
  * @see org.eclipse.ui.IWorkbench#getIntroManager()
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IIntroManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroPart.java
index d7b241f..bf4b6ef 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroPart.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroPart.java
@@ -41,6 +41,7 @@
  * 
  * @see org.eclipse.ui.intro.IIntroManager#showIntro(org.eclipse.ui.IWorkbenchWindow, boolean)
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IIntroPart extends IAdaptable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroSite.java
index 014e7c1..4027d40 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/intro/IIntroSite.java
@@ -22,6 +22,7 @@
  * </p>
  *  
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IIntroSite extends IWorkbenchSite {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/IBindingService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/IBindingService.java
index 5016a7b..295bf14 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/IBindingService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/IBindingService.java
@@ -27,9 +27,8 @@
  * currently active bindings, as well as the current state of the binding
  * architecture.
  * </p>
- * <p>
- * This interface should not be implemented or extended by clients.
- * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
+ * @noextend This interface is not intended to be extended by clients.
  * 
  * @since 3.1
  */
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/Key.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/Key.java
index 9d9c73f..017fadb 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/Key.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/Key.java
@@ -37,6 +37,7 @@
  * @deprecated Please use org.eclipse.jface.bindings.keys.KeyStroke and
  *             org.eclipse.jface.bindings.keys.KeyLookupFactory
  * @since 3.0
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public abstract class Key implements Comparable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/NaturalKey.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/NaturalKey.java
index 705886f..ef62462 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/NaturalKey.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/keys/NaturalKey.java
@@ -27,6 +27,7 @@
  * @deprecated Please use org.eclipse.jface.bindings.keys.KeyStroke and
  *             org.eclipse.jface.bindings.keys.KeyLookupFactory
  * @since 3.0
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public abstract class NaturalKey extends Key {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/AdaptableList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/AdaptableList.java
index 02f2b35..1b6d4cd 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/AdaptableList.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/AdaptableList.java
@@ -28,6 +28,7 @@
  * 
  * @since 3.0
  * @see org.eclipse.ui.model.IWorkbenchAdapter
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class AdaptableList extends WorkbenchAdapter implements IAdaptable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/operations/IWorkbenchOperationSupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/operations/IWorkbenchOperationSupport.java
index 8574d7d..95d30c0 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/operations/IWorkbenchOperationSupport.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/operations/IWorkbenchOperationSupport.java
@@ -25,6 +25,7 @@
  * @since 3.1
  * 
  * @see org.eclipse.ui.IWorkbench#getOperationSupport()
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchOperationSupport {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java
index fa669a3..b2fbcb3 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CellEditorActionHandler.java
@@ -44,6 +44,7 @@
  * actionHandler.setSelectAllAction(selectAllAction);
  * </pre>
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class CellEditorActionHandler {
     private CutActionHandler cellCutAction = new CutActionHandler();
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java
index 0b00c0c..f46d32f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/CoolItemGroupMarker.java
@@ -18,6 +18,7 @@
  * <p>
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class CoolItemGroupMarker extends GroupMarker {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java
index b832085..a0fb537 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPage.java
@@ -24,6 +24,7 @@
  *
  * @see PageBookView
  * @see Page
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPage {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java
index 6649fe3..da56b74 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IPageSite.java
@@ -21,6 +21,7 @@
  * The workbench exposes its implemention of page sites via this interface,
  * which is not intended to be implemented or extended by clients.
  * </p>
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 
 public interface IPageSite extends IWorkbenchSite {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java
index 6ee30f3..15e1d7b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MessagePage.java
@@ -23,6 +23,7 @@
  * </p>
  *
  * @see PageBookView
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class MessagePage extends Page {
     private Composite pgComp;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java
index 51d26c5..b671203 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiEditorInput.java
@@ -22,6 +22,7 @@
  * 
  * This class is intended to be instantiated by clients but is 
  * not intended to be subclassed.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class MultiEditorInput implements IEditorInput {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java
index 7c5ccdf..c07c9fc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageSelectionProvider.java
@@ -31,6 +31,7 @@
  * The base implementation of <code>MultiPageEditor.init</code> creates 
  * an instance of this class.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class MultiPageSelectionProvider implements IPostSelectionProvider {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java
index c618007..2024114 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PageBook.java
@@ -24,6 +24,7 @@
  * </p>
  *
  * @see PageBookView
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class PageBook extends Composite {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java
index 338bc1b..5863daf 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/PluginTransferData.java
@@ -18,8 +18,8 @@
  * <p>
  * Clients using PluginTransfer should create an instance to contain the
  * drop data.
- * It is not intended to be subclassed by clients.
  * </p>
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class PluginTransferData {
     String extensionName;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java
index e964570..8c8dc40 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/WorkbenchPart.java
@@ -51,6 +51,7 @@
  * 
  * @see org.eclipse.ui.part.ViewPart
  * @see org.eclipse.ui.part.EditorPart
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public abstract class WorkbenchPart extends EventManager implements
 		IWorkbenchPart3, IExecutableExtension, IWorkbenchPartOrientation {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/AbstractPresentationFactory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/AbstractPresentationFactory.java
index db5029c..c0d897c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/AbstractPresentationFactory.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/AbstractPresentationFactory.java
@@ -28,6 +28,9 @@
 	
 	// Bit values for the createSash method's 'style' parameter
 	public static int SASHTYPE_NORMAL = 0;
+	/**
+	 * @since 3.4
+	 */
 	public static int SASHTYPE_FLOATING = 1<<1;
 	public static int SASHORIENTATION_HORIZONTAL = SWT.HORIZONTAL; // 1<<8
 	public static int SASHORIENTATION_VERTICAL = SWT.VERTICAL; // 1<<9
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPartMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPartMenu.java
index a764b1b..8623f6c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPartMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPartMenu.java
@@ -18,6 +18,7 @@
  * This interface is not intended to be implemented by clients.
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPartMenu {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentablePart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentablePart.java
index 0d7d89f..ac26986 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentablePart.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentablePart.java
@@ -28,6 +28,7 @@
  * 
  * @since 3.0
  * @since 3.4 now extends {@link org.eclipse.ui.ISizeProvider}
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPresentablePart extends ISizeProvider {
 
@@ -80,6 +81,7 @@
 
     /**
      * The property id for preferred size changes
+     * @since 3.4
      */
     public static final int PROP_PREFERRED_SIZE = IWorkbenchPartConstants.PROP_PREFERRED_SIZE;
     
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentationSerializer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentationSerializer.java
index 53fa7ae..e56ef75 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentationSerializer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IPresentationSerializer.java
@@ -17,6 +17,7 @@
  * Not intended to be implemented by clients
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IPresentationSerializer {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IStackPresentationSite.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IStackPresentationSite.java
index 797f270..221b58f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IStackPresentationSite.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/presentations/IStackPresentationSite.java
@@ -20,6 +20,7 @@
  * Not intended to be implemented by clients.
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IStackPresentationSite {
     public static int STATE_MINIMIZED = 0;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IProgressService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IProgressService.java
index 1332c28..65ac5c5 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IProgressService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IProgressService.java
@@ -43,6 +43,7 @@
  * @see IJobManager#setProgressProvider(org.eclipse.core.runtime.jobs.ProgressProvider)
  * 
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IProgressService extends IRunnableContext {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IWorkbenchSiteProgressService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IWorkbenchSiteProgressService.java
index aa9ebc7..03099c9 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IWorkbenchSiteProgressService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/IWorkbenchSiteProgressService.java
@@ -30,6 +30,7 @@
  * 
  * @see IWorkbenchPartSite#getAdapter(Class)
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWorkbenchSiteProgressService extends IProgressService {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/ITheme.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/ITheme.java
index 8c631a7..e4bf6b6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/ITheme.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/ITheme.java
@@ -33,6 +33,7 @@
  * 
  * @see org.eclipse.ui.IWorkbench#getThemeManager()  
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ITheme {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/IThemeManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/IThemeManager.java
index 513393b..bbde00b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/IThemeManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/themes/IThemeManager.java
@@ -29,6 +29,7 @@
  * 
  * @see org.eclipse.ui.IWorkbench#getThemeManager()
  * @since 3.0
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IThemeManager {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IStickyViewDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IStickyViewDescriptor.java
index 31b86fa..e7ca244 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IStickyViewDescriptor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IStickyViewDescriptor.java
@@ -20,6 +20,7 @@
  * @see org.eclipse.ui.views.IViewRegistry
  * @see org.eclipse.ui.views.IViewDescriptor
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IStickyViewDescriptor {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewDescriptor.java
index 91580d9..c38aea7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewDescriptor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewDescriptor.java
@@ -30,6 +30,7 @@
  * 
  * @see org.eclipse.ui.views.IViewRegistry
  * @since 3.1 
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IViewDescriptor extends IWorkbenchPartDescriptor, IAdaptable {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewRegistry.java
index 5c57edf..d2a94ef 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewRegistry.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/views/IViewRegistry.java
@@ -25,6 +25,7 @@
  * @see org.eclipse.ui.views.IViewDescriptor
  * @see org.eclipse.ui.views.IStickyViewDescriptor
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IViewRegistry {
     /**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardCategory.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardCategory.java
index a391944..110504e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardCategory.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardCategory.java
@@ -20,6 +20,7 @@
  * </p>
  * 
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWizardCategory {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardDescriptor.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardDescriptor.java
index 53e0110..8e71ba8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardDescriptor.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardDescriptor.java
@@ -24,6 +24,7 @@
  * </p>
  * 
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWizardDescriptor extends IWorkbenchPartDescriptor, IAdaptable {
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardRegistry.java
index 66901c2..9bc4c62 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardRegistry.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/wizards/IWizardRegistry.java
@@ -18,6 +18,7 @@
  * </p>
  * 
  * @since 3.1
+ * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IWizardRegistry {