Bug 528831: Use static inner classes where possible - Part 6

If an an inner class, but does not use its embedded reference to the
object which created it. This reference makes the instances of the class
larger, and may keep the reference to the creator object alive longer
than necessary. If possible, the class should be made static.

Signed-off-by: Matthias Becker <ma.becker@sap.com>
Change-Id: Ic2d02e8a0e6e02d88d0f7a1d2708ae7a83c7ce3c
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java
index 8d94b5b..cda2964 100755
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java
+++ b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/internal/views/properties/tabbed/view/TabbedPropertyRegistryFactory.java
@@ -25,7 +25,7 @@
  */
 public class TabbedPropertyRegistryFactory {
 
-	class CacheData {
+	static class CacheData {
 		TabbedPropertyRegistry registry;
 		List references;
 	}
diff --git a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
index aa35f08..04fa8d4 100644
--- a/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
+++ b/bundles/org.eclipse.ui.views.properties.tabbed/src/org/eclipse/ui/views/properties/tabbed/TabbedPropertySheetPage.java
@@ -135,7 +135,7 @@
 		}
 	};
 
-	private class TabbedPropertySheetPageContributorFromSelection
+	private static class TabbedPropertySheetPageContributorFromSelection
 		implements ITabbedPropertySheetPageContributor {
 
 		private String contributorId;
@@ -165,7 +165,7 @@
 	/**
 	 * Label provider for the ListViewer.
 	 */
-	class TabbedPropertySheetPageLabelProvider
+	static class TabbedPropertySheetPageLabelProvider
 		extends LabelProvider {
 
 		@Override
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/BasicWorkingSetElementAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/BasicWorkingSetElementAdapter.java
index 904fae0..f5b3df2 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/BasicWorkingSetElementAdapter.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/BasicWorkingSetElementAdapter.java
@@ -14,7 +14,6 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
-
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IAdapterManager;
 import org.eclipse.core.runtime.IConfigurationElement;
@@ -53,7 +52,7 @@
 public final class BasicWorkingSetElementAdapter implements
 		IWorkingSetElementAdapter, IExecutableExtension {
 
-	private class Type {
+	private static class Type {
 		private static final int NONE = 0;
 		private static final int ADAPT = 1;
 		String className;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java
index d0576ba..1614a7d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/dialogs/FilteredItemsSelectionDialog.java
@@ -1749,7 +1749,7 @@
 	 * Used in ItemsListContentProvider, separates history and non-history
 	 * items.
 	 */
-	private class ItemsListSeparator {
+	private static class ItemsListSeparator {
 
 		private String name;
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java
index 5e2b638..85a697b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ActionPresentation.java
@@ -33,7 +33,7 @@
 
     private HashMap invisibleBars = new HashMap(3);
 
-    private class SetRec {
+	private static class SetRec {
         public SetRec(IActionSet set,
                 SubActionBars bars) {
             this.set = set;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarToTrimManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarToTrimManager.java
index 1d1e68e..a2305f6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarToTrimManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/CoolBarToTrimManager.java
@@ -63,7 +63,7 @@
  */
 public class CoolBarToTrimManager extends ContributionManager implements ICoolBarManager2 {
 
-	private final class ToolBarContributionItemExtension extends ToolBarContributionItem {
+	private static final class ToolBarContributionItemExtension extends ToolBarContributionItem {
 		private final MToolBar tb;
 
 		private ToolBarContributionItemExtension(IToolBarManager toolBarManager, MToolBar tb) {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
index bb85fc5..4cd8148 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
@@ -928,7 +928,7 @@
 	}
 
 	/** Class used to store items to be displayed */
-	public class FilteredTableItem {
+	public static class FilteredTableItem {
 		String text;
 		Image image;
 		String tooltipText;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/HeapStatus.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/HeapStatus.java
index 9c9071a..243e5e2 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/HeapStatus.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/HeapStatus.java
@@ -580,7 +580,7 @@
         }
     }
 
-    class CloseHeapStatusAction extends Action{
+    static class CloseHeapStatusAction extends Action{
 
     	CloseHeapStatusAction(){
     		super(WorkbenchMessages.WorkbenchWindow_close );
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java
index 1728244..3db841a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectContributorManager.java
@@ -58,7 +58,7 @@
 	/**
 	 * @since 3.1
 	 */
-	private class ContributorRecord {
+	private static class ContributorRecord {
 		/**
 		 * @param contributor
 		 * @param targetType
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java
index 03a4a9f..aac2324 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/RectangleAnimationImageFeedback.java
@@ -13,7 +13,6 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-
 import org.eclipse.jface.util.Geometry;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.GC;
@@ -23,7 +22,6 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.AnimationEngine;
 
 /**
  * Creates an animation effect where the interpolated rectangles are displayed using Canvas
@@ -35,7 +33,7 @@
  */
 public class RectangleAnimationImageFeedback extends
 		RectangleAnimationFeedbackBase {
-	private class ImageCanvas extends Canvas {
+	private static class ImageCanvas extends Canvas {
 		private Image image;
 
 		/**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java
index 08c3772..9538fca 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ReferenceCounter.java
@@ -30,7 +30,7 @@
     /**
      * Capture the information about an object.
      */
-    public class RefRec {
+    public static class RefRec {
         public RefRec(Object id, Object value) {
             this.id = id;
             this.value = value;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UILockListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UILockListener.java
index 57d4223..14b3dc6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UILockListener.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/UILockListener.java
@@ -29,7 +29,7 @@
     /**
      * The Queue is the construct that keeps track of Semaphores.
      */
-    public class Queue {
+    public static class Queue {
         private static final int BASE_SIZE = 8;
 
         protected PendingSyncExec[] elements = new PendingSyncExec[BASE_SIZE];
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ModifyWorkingSetDelegate.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ModifyWorkingSetDelegate.java
index 7ba5d96..48af2c8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ModifyWorkingSetDelegate.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/actions/ModifyWorkingSetDelegate.java
@@ -18,7 +18,6 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExecutableExtension;
@@ -55,7 +54,7 @@
 public class ModifyWorkingSetDelegate extends
 		AbstractWorkingSetPulldownDelegate implements IExecutableExtension, IActionDelegate2 {
 
-	public class NewWorkingSetAction extends Action {
+	public static class NewWorkingSetAction extends Action {
 
 		/**
 		 * Create a new instance of this action.
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContentTypesPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContentTypesPreferencePage.java
index 2262b49..0da16d9 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContentTypesPreferencePage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ContentTypesPreferencePage.java
@@ -113,7 +113,7 @@
 
 	private Set<Image> disposableEditorIcons = new HashSet<>();
 
-	private class Spec {
+	private static class Spec {
 		/**
 		 * the spec text: file name, extension or pattern
 		 */
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java
index 7b42f5c..de0b940 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ExportWizard.java
@@ -39,7 +39,7 @@
     private IStructuredSelection selection;
 
     //the list selection page
-    class SelectionPage extends WorkbenchWizardListSelectionPage {
+    static class SelectionPage extends WorkbenchWizardListSelectionPage {
         SelectionPage(IWorkbench w, IStructuredSelection ss, AdaptableList e,
                 String s) {
             super(w, ss, e, s, WorkbenchTriggerPoints.EXPORT_WIZARDS);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportExportPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportExportPage.java
index a0f5acc..e3f3e66 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportExportPage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportExportPage.java
@@ -55,7 +55,7 @@
 	/*
 	 * Class to create a control that shows a categorized tree of wizard types.
 	 */
-	protected class CategorizedWizardSelectionTree {
+	protected static class CategorizedWizardSelectionTree {
 		private final static int SIZING_LISTS_HEIGHT = 200;
 
 		private IWizardCategory wizardCategories;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java
index 841b14d..8803c7d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ImportWizard.java
@@ -37,7 +37,7 @@
 public class ImportWizard extends Wizard {
 
     //the list selection page
-    class SelectionPage extends WorkbenchWizardListSelectionPage {
+	static class SelectionPage extends WorkbenchWizardListSelectionPage {
         SelectionPage(IWorkbench w, IStructuredSelection ss, AdaptableList e,
                 String s) {
             super(w, ss, e, s, WorkbenchTriggerPoints.IMPORT_WIZARDS);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java
index 83ef276..77a7885 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/PropertyPageContributorManager.java
@@ -38,7 +38,7 @@
 public class PropertyPageContributorManager extends ObjectContributorManager {
 	private static PropertyPageContributorManager sharedInstance = null;
 
-	private class CategorizedPageNode {
+	private static class CategorizedPageNode {
 		RegistryPageContributor contributor;
 
 		CategorizedPageNode parent;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ModeledPageLayout.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ModeledPageLayout.java
index b1a6739..46a10c8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ModeledPageLayout.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/e4/compatibility/ModeledPageLayout.java
@@ -99,7 +99,7 @@
 
 	private ModeledPageLayoutUtils layoutUtils;
 
-	private class ViewActivator implements IIdentifierListener {
+	private static class ViewActivator implements IIdentifierListener {
 		private MUIElement element;
 
 		public ViewActivator(MUIElement element) {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/NewKeysPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/NewKeysPreferencePage.java
index 8e516bc..84be293 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/NewKeysPreferencePage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/NewKeysPreferencePage.java
@@ -191,7 +191,7 @@
 	 * display elements in the tree according to the selected criteria.
 	 *
 	 */
-	protected class CategoryFilterTree extends FilteredTree {
+	protected static class CategoryFilterTree extends FilteredTree {
 
 		private CategoryPatternFilter filter;
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceTransferElement.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceTransferElement.java
index eafdee7..aa81c48 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceTransferElement.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceTransferElement.java
@@ -141,7 +141,7 @@
 				.getContributor().getName() : null;
 	}
 
-	class PreferenceFilter implements IPreferenceFilter {
+	static class PreferenceFilter implements IPreferenceFilter {
 
 		private String[] scopes;
 		private Map mappings;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
index 881001f..8f7701c 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
@@ -1102,7 +1102,7 @@
 		updater.refreshAll();
 	}
 
-	private class RunnableWithStatus implements Runnable {
+	private static class RunnableWithStatus implements Runnable {
 		IStatus status = Status.OK_STATUS;
 		private final IRunnableContext context;
 		private final IRunnableWithProgress runnable;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java
index 1666d5a..9a6cf99 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/ActionSetRegistry.java
@@ -36,7 +36,7 @@
     /**
      * @since 3.1
      */
-    private class ActionSetPartAssociation {
+	private static class ActionSetPartAssociation {
         /**
          * @param partId
          * @param actionSetId
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java
index 2157360..4753bd3 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/WizardsRegistryReader.java
@@ -67,7 +67,7 @@
 
     private WorkbenchWizardElement[] primaryWizards = new WorkbenchWizardElement[0];
 
-    private class CategoryNode {
+	private static class CategoryNode {
         private Category category;
 
         private String path;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/DeferredTreeContentManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/DeferredTreeContentManager.java
index a3c4ff4..1c1b0fc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/DeferredTreeContentManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/progress/DeferredTreeContentManager.java
@@ -62,7 +62,7 @@
 	 * @since 3.1
 	 *
 	 */
-	class DeferredContentFamily {
+	static class DeferredContentFamily {
 		protected DeferredTreeContentManager manager;
 		protected Object element;