Bug 511712 - Run cleanup action on eclipse.platform.ui/bundles to use
enhanced for loop - Part8

Conflicts:
	bundles/org.eclipse.ui.workbench/Eclipse
UI/org/eclipse/ui/internal/SaveableHelper.java
	bundles/org.eclipse.ui.workbench/Eclipse
UI/org/eclipse/ui/internal/WorkbenchPlugin.java

Change-Id: I933241802be8afae332f5256cb10ff2f220b6f37
Signed-off-by: David Weiser <david.weiser@vogella.com>
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseUnrelatedProjectsAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseUnrelatedProjectsAction.java
index 986c26a..a1ef56d 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseUnrelatedProjectsAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseUnrelatedProjectsAction.java
@@ -70,18 +70,18 @@
 	private static DisjointSet<IProject> buildConnectedComponents(IProject[] projects) {
 		//initially each vertex is in a set by itself
 		DisjointSet<IProject> set = new DisjointSet<>();
-		for (int i = 0; i < projects.length; i++) {
-			set.makeSet(projects[i]);
+		for (IProject project : projects) {
+			set.makeSet(project);
 		}
-		for (int i = 0; i < projects.length; i++) {
+		for (IProject project : projects) {
 			try {
-				IProject[] references = projects[i].getReferencedProjects();
+				IProject[] references = project.getReferencedProjects();
 				//each reference represents an edge in the project reference
 				//digraph from projects[i] -> references[j]
-				for (int j = 0; j < references.length; j++) {
-					IProject setOne = set.findSet(projects[i]);
+				for (IProject reference : references) {
+					IProject setOne = set.findSet(project);
 					//note that referenced projects may not exist in the workspace
-					IProject setTwo = set.findSet(references[j]);
+					IProject setTwo = set.findSet(reference);
 					//these two projects are related, so join their sets
 					if (setOne != null && setTwo != null && setOne != setTwo) {
 						set.union(setOne, setTwo);
@@ -229,8 +229,7 @@
 			IResourceDelta delta = event.getDelta();
 			if (delta != null) {
 				IResourceDelta[] projDeltas = delta.getAffectedChildren(IResourceDelta.CHANGED);
-				for (int i = 0; i < projDeltas.length; ++i) {
-					IResourceDelta projDelta = projDeltas[i];
+				for (IResourceDelta projDelta : projDeltas) {
 					//changing either the description or the open state can affect enablement
 					if ((projDelta.getFlags() & (IResourceDelta.OPEN | IResourceDelta.DESCRIPTION)) != 0) {
 						selectionChanged(getStructuredSelection());
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
index a2ebeaa..941d933 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
@@ -214,14 +214,11 @@
 		MultiStatus multiStatus = new MultiStatus(PlatformUI.PLUGIN_ID,
 				IStatus.OK, getProblemsMessage(), null);
 
-		for (int i = 0; i < stores.length; i++) {
-			if (stores[i].fetchInfo().exists() == false) {
-				String message = NLS
-						.bind(
-								IDEWorkbenchMessages.CopyFilesAndFoldersOperation_resourceDeleted,
-								stores[i].getName());
-				IStatus status = new Status(IStatus.ERROR,
-						PlatformUI.PLUGIN_ID, IStatus.OK, message, null);
+		for (IFileStore store : stores) {
+			if (store.fetchInfo().exists() == false) {
+				String message = NLS.bind(IDEWorkbenchMessages.CopyFilesAndFoldersOperation_resourceDeleted,
+								store.getName());
+				IStatus status = new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, IStatus.OK, message, null);
 				multiStatus.add(status);
 			}
 		}
@@ -239,8 +236,7 @@
 		MultiStatus multiStatus = new MultiStatus(PlatformUI.PLUGIN_ID,
 				IStatus.OK, getProblemsMessage(), null);
 
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
+		for (IResource resource : resources) {
 			if (resource != null && !resource.isVirtual()) {
 				URI location = resource.getLocationURI();
 				String message = null;
@@ -377,11 +373,9 @@
 			IResource[] copyResources, ArrayList existing) {
 		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
 
-		for (int i = 0; i < copyResources.length; i++) {
-			IResource source = copyResources[i];
-			IPath newDestinationPath = destinationPath.append(source.getName());
-			IResource newDestination = workspaceRoot
-					.findMember(newDestinationPath);
+		for (IResource resource : copyResources) {
+			IPath newDestinationPath = destinationPath.append(resource.getName());
+			IResource newDestination = workspaceRoot.findMember(newDestinationPath);
 			IFolder folder;
 
 			if (newDestination == null) {
@@ -389,7 +383,7 @@
 			}
 			folder = getFolder(newDestination);
 			if (folder != null) {
-				IFolder sourceFolder = getFolder(source);
+				IFolder sourceFolder = getFolder(resource);
 
 				if (sourceFolder != null) {
 					try {
@@ -407,7 +401,7 @@
 						existing.add(file);
 					}
 					if (getValidateConflictSource()) {
-						IFile sourceFile = getFile(source);
+						IFile sourceFile = getFile(resource);
 						if (sourceFile != null) {
 							existing.add(sourceFile);
 						}
@@ -437,30 +431,29 @@
 		SubMonitor subMonitor = SubMonitor.convert(monitor,
 				IDEWorkbenchMessages.CopyFilesAndFoldersOperation_CopyResourcesTask, resources.length);
 
-		for (int i = 0; i < resources.length; i++) {
+		for (IResource resource : resources) {
 			SubMonitor iterationMonitor = subMonitor.split(1).setWorkRemaining(100);
-			IResource source = resources[i];
-			IPath destinationPath = destination.append(source.getName());
-			IWorkspace workspace = source.getWorkspace();
+			IPath destinationPath = destination.append(resource.getName());
+			IWorkspace workspace = resource.getWorkspace();
 			IWorkspaceRoot workspaceRoot = workspace.getRoot();
 			IResource existing = workspaceRoot.findMember(destinationPath);
-			if (source.getType() == IResource.FOLDER && existing != null) {
+			if (resource.getType() == IResource.FOLDER && existing != null) {
 				// the resource is a folder and it exists in the destination,
 				// copy the
 				// children of the folder.
-				if (homogenousResources(source, existing)) {
-					IResource[] children = ((IContainer) source).members();
+				if (homogenousResources(resource, existing)) {
+					IResource[] children = ((IContainer) resource).members();
 					copy(children, destinationPath, iterationMonitor.split(100));
 				} else {
 					// delete the destination folder, copying a linked folder
 					// over an unlinked one or vice versa. Fixes bug 28772.
 					delete(existing, iterationMonitor.split(10));
-					source.copy(destinationPath, IResource.SHALLOW, iterationMonitor.split(90));
+					resource.copy(destinationPath, IResource.SHALLOW, iterationMonitor.split(90));
 				}
 			} else {
 				if (existing != null) {
-					if (homogenousResources(source, existing)) {
-						copyExisting(source, existing, iterationMonitor.split(100));
+					if (homogenousResources(resource, existing)) {
+						copyExisting(resource, existing, iterationMonitor.split(100));
 					} else {
 						if (existing != null) {
 							// Copying a linked resource over unlinked or vice
@@ -470,25 +463,25 @@
 						}
 						iterationMonitor.setWorkRemaining(100);
 
-						if ((createLinks || createVirtualFoldersAndLinks) && (source.isLinked() == false)
-								&& (source.isVirtual() == false)) {
-							if (source.getType() == IResource.FILE) {
+						if ((createLinks || createVirtualFoldersAndLinks) && (resource.isLinked() == false)
+								&& (resource.isVirtual() == false)) {
+							if (resource.getType() == IResource.FILE) {
 								IFile file = workspaceRoot.getFile(destinationPath);
-								file.createLink(createRelativePath(source.getLocationURI(), file), 0,
+								file.createLink(createRelativePath(resource.getLocationURI(), file), 0,
 										iterationMonitor.split(100));
 							} else {
 								IFolder folder = workspaceRoot.getFolder(destinationPath);
 								if (createVirtualFoldersAndLinks) {
 									folder.create(IResource.VIRTUAL, true, iterationMonitor.split(1));
-									IResource[] members = ((IContainer) source).members();
+									IResource[] members = ((IContainer) resource).members();
 									if (members.length > 0)
 										copy(members, destinationPath, iterationMonitor.split(99));
 								} else
-									folder.createLink(createRelativePath(source.getLocationURI(), folder), 0,
+									folder.createLink(createRelativePath(resource.getLocationURI(), folder), 0,
 											iterationMonitor.split(100));
 							}
 						} else
-							source.copy(destinationPath, IResource.SHALLOW, iterationMonitor.split(100));
+							resource.copy(destinationPath, IResource.SHALLOW, iterationMonitor.split(100));
 					}
 				}
 			}
@@ -1248,15 +1241,13 @@
 			IContainer destination) {
 		IPath destinationLocation = destination.getLocation();
 
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i];
-			if (sourceResource.getParent().equals(destination)) {
+		for (IResource resource : sourceResources) {
+			if (resource.getParent().equals(destination)) {
 				return true;
 			} else if (destinationLocation != null) {
 				// do thorough check to catch linked resources. Fixes bug 29913.
-				IPath sourceLocation = sourceResource.getLocation();
-				IPath destinationResource = destinationLocation
-						.append(sourceResource.getName());
+				IPath sourceLocation = resource.getLocation();
+				IPath destinationResource = destinationLocation.append(resource.getName());
 				if (sourceLocation != null
 						&& sourceLocation.isPrefixOf(destinationResource)) {
 					return true;
@@ -1495,8 +1486,7 @@
 		}
 		IContainer firstParent = null;
 		URI destinationLocation = destination.getLocationURI();
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i];
+		for (IResource sourceResource : sourceResources) {
 			if (firstParent == null) {
 				firstParent = sourceResource.getParent();
 			} else if (firstParent.equals(sourceResource.getParent()) == false) {
@@ -1649,22 +1639,21 @@
 								IDEWorkbenchMessages.CopyFilesAndFoldersOperation_internalError,
 								exception.getLocalizedMessage());
 			}
-			for (int i = 0; i < sourceStores.length; i++) {
-				IFileStore sourceStore = sourceStores[i];
-				IFileStore sourceParentStore = sourceStore.getParent();
+			for (IFileStore fileStore : sourceStores) {
+				IFileStore parentFileStore = fileStore.getParent();
 
-				if (sourceStore != null) {
-					if (destinationStore.equals(sourceStore)
-							|| (sourceParentStore != null && destinationStore
-							.equals(sourceParentStore))) {
+				if (fileStore != null) {
+					if (destinationStore.equals(fileStore)
+							|| (parentFileStore != null && destinationStore
+							.equals(parentFileStore))) {
 						return NLS
 								.bind(
 										IDEWorkbenchMessages.CopyFilesAndFoldersOperation_importSameSourceAndDest,
-										sourceStore.getName());
+										fileStore.getName());
 					}
 					// work around bug 16202. replacement for
 					// sourcePath.isPrefixOf(destinationPath)
-					if (sourceStore.isParentOf(destinationStore)) {
+					if (fileStore.isParentOf(destinationStore)) {
 						return IDEWorkbenchMessages.CopyFilesAndFoldersOperation_destinationDescendentError;
 					}
 				}
@@ -1702,10 +1691,8 @@
 			// prevent merging linked folders that point to the same
 			// file system folder
 			try {
-				IResource[] members = destination.members();
-				for (int j = 0; j < members.length; j++) {
-					if (sourceLocation.equals(members[j].getLocation())
-							&& source.getName().equals(members[j].getName())) {
+				for (IResource resource : destination.members()) {
+					if (sourceLocation.equals(resource.getLocation()) && source.getName().equals(resource.getName())) {
 						return NLS
 								.bind(
 										IDEWorkbenchMessages.CopyFilesAndFoldersOperation_sameSourceAndDest,
@@ -1741,11 +1728,10 @@
 
 		// Check to see if we would be overwriting a parent folder.
 		// Cancel entire copy operation if we do.
-		for (int i = 0; i < sourceResources.length; i++) {
-			final IResource sourceResource = sourceResources[i];
+		for (final IResource resource : sourceResources) {
 			final IPath destinationPath = destination.getFullPath().append(
-					sourceResource.getName());
-			final IPath sourcePath = sourceResource.getFullPath();
+					resource.getName());
+			final IPath sourcePath = resource.getFullPath();
 
 			IResource newResource = workspaceRoot.findMember(destinationPath);
 			if (newResource != null && destinationPath.isPrefixOf(sourcePath)) {
@@ -1759,27 +1745,26 @@
 			}
 		}
 		// Check for overwrite conflicts
-		for (int i = 0; i < sourceResources.length; i++) {
-			final IResource source = sourceResources[i];
+		for (final IResource resource : sourceResources) {
 			final IPath destinationPath = destination.getFullPath().append(
-					source.getName());
+					resource.getName());
 
 			IResource newResource = workspaceRoot.findMember(destinationPath);
 			if (newResource != null) {
 				if (overwrite != IDialogConstants.YES_TO_ALL_ID
 						|| (newResource.getType() == IResource.FOLDER && homogenousResources(
-								source, destination) == false)) {
-					overwrite = checkOverwrite(source, newResource);
+								resource, destination) == false)) {
+					overwrite = checkOverwrite(resource, newResource);
 				}
 				if (overwrite == IDialogConstants.YES_ID
 						|| overwrite == IDialogConstants.YES_TO_ALL_ID) {
-					copyItems.add(source);
+					copyItems.add(resource);
 				} else if (overwrite == IDialogConstants.CANCEL_ID) {
 					canceled = true;
 					return null;
 				}
 			} else {
-				copyItems.add(source);
+				copyItems.add(resource);
 			}
 		}
 		return (IResource[]) copyItems.toArray(new IResource[copyItems.size()]);
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
index f5f5b07..29eb0de 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
@@ -229,9 +229,9 @@
      */
     /* package */boolean verifyBuildersAvailable(IProject[] roots) {
         try {
-            for (int i = 0; i < roots.length; i++) {
-                if (roots[i].isAccessible()) {
-					if (roots[i].getDescription().getBuildSpec().length > 0) {
+            for (IProject root : roots) {
+                if (root.isAccessible()) {
+					if (root.getDescription().getBuildSpec().length > 0) {
 						return true;
 					}
 				}
@@ -275,8 +275,7 @@
                 IDEWorkbenchMessages.GlobalBuildAction_BuildRunningTitle,
                 IDEWorkbenchMessages.GlobalBuildAction_BuildRunningMessage);
         if (cancel) {
-            for (int i = 0; i < buildJobs.length; i++) {
-                Job job = buildJobs[i];
+            for (Job job : buildJobs) {
                 job.cancel();
             }
         }
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
index 6762cf0..9142176 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
@@ -77,42 +77,41 @@
 	@Override
 	protected void copy(IResource[] resources, IPath destination, IProgressMonitor monitor) throws CoreException {
 		SubMonitor subMonitor = SubMonitor.convert(monitor, resources.length);
-		for (int i = 0; i < resources.length; i++) {
+		for (IResource resource : resources) {
 			SubMonitor iterationMonitor = subMonitor.split(1).setWorkRemaining(100);
-			IResource source = resources[i];
-			IPath destinationPath = destination.append(source.getName());
-			IWorkspace workspace = source.getWorkspace();
+			IPath destinationPath = destination.append(resource.getName());
+			IWorkspace workspace = resource.getWorkspace();
 			IWorkspaceRoot workspaceRoot = workspace.getRoot();
 			IResource existing = workspaceRoot.findMember(destinationPath);
-			if (source.getType() == IResource.FOLDER && existing != null) {
+			if (resource.getType() == IResource.FOLDER && existing != null) {
 				// the resource is a folder and it exists in the destination,
 				// move the children of the folder.
-				if (homogenousResources(source, existing)) {
-					IResource[] children = ((IContainer) source).members();
+				if (homogenousResources(resource, existing)) {
+					IResource[] children = ((IContainer) resource).members();
 					copy(children, destinationPath, iterationMonitor.split(50));
-					delete(source, iterationMonitor.split(50));
+					delete(resource, iterationMonitor.split(50));
 				} else {
 					// delete the destination folder, moving a linked folder
 					// over an unlinked one or vice versa. Fixes bug 28772.
 					delete(existing, iterationMonitor.split(50));
-					source.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY,
+					resource.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY,
 							iterationMonitor.split(50));
 				}
 			} else {
 				// if we're merging folders, we could be overwriting an existing
 				// file
 				if (existing != null) {
-					if (homogenousResources(source, existing)) {
-						moveExisting(source, existing, iterationMonitor.split(100));
+					if (homogenousResources(resource, existing)) {
+						moveExisting(resource, existing, iterationMonitor.split(100));
 					} else {
 						// Moving a linked resource over unlinked or vice versa.
 						// Can't use setContents here. Fixes bug 28772.
 						delete(existing, iterationMonitor.split(50));
-						source.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY,
+						resource.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY,
 								iterationMonitor.split(50));
 					}
 				} else {
-					source.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY,
+					resource.move(destinationPath, IResource.SHALLOW | IResource.KEEP_HISTORY,
 							iterationMonitor.split(100));
 				}
 			}
@@ -210,27 +209,25 @@
 			IResource[] sourceResources) {
 		IPath destinationLocation = destination.getLocation();
 
-		for (int i = 0; i < sourceResources.length; i++) {
-			IResource sourceResource = sourceResources[i];
-
+		for (IResource sourceRessource : sourceResources) {
 			// is the source being copied onto itself?
-			if (sourceResource.getParent().equals(destination)) {
+			if (sourceRessource.getParent().equals(destination)) {
 				return NLS
 						.bind(
 								IDEWorkbenchMessages.MoveFilesAndFoldersOperation_sameSourceAndDest,
-								sourceResource.getName());
+								sourceRessource.getName());
 			}
 			// test if linked source is copied onto itself. Fixes bug 29913.
 			if (destinationLocation != null) {
-				IPath sourceLocation = sourceResource.getLocation();
+				IPath sourceLocation = sourceRessource.getLocation();
 				IPath destinationResource = destinationLocation
-						.append(sourceResource.getName());
+						.append(sourceRessource.getName());
 				if (sourceLocation != null
 						&& sourceLocation.isPrefixOf(destinationResource)) {
 					return NLS
 							.bind(
 									IDEWorkbenchMessages.MoveFilesAndFoldersOperation_sameSourceAndDest,
-									sourceResource.getName());
+									sourceRessource.getName());
 				}
 			}
 		}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
index 5cf56c0..405c7e4 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
@@ -107,9 +107,9 @@
         IResource[] copiedResources = operation.copyResources(resources,
                 destination);
 
-        for (int i = 0; i < copiedResources.length; i++) {
+        for (IResource copiedResource : copiedResources) {
             destinations.add(destination.getFullPath().append(
-                    copiedResources[i].getName()));
+                    copiedResource.getName()));
         }
     }
 
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
index a3ad694..7b70b54 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
@@ -106,9 +106,8 @@
         // Remove all.
         innerMgr.removeAll();
 
-        IContributionItem[] items = getContributionItems();
-        for (int i = 0; i < items.length; i++) {
-            innerMgr.add(items[i]);
+		for (IContributionItem item : getContributionItems()) {
+            innerMgr.add(item);
         }
     }
 
@@ -153,9 +152,8 @@
 				}
 			}
 		}
-		IWizardCategory[] categories = category.getCategories();
-		for (int i = 0; i < categories.length; i++) {
-			if (hasWizards(categories[i])) {
+		for (IWizardCategory wizardCategory : category.getCategories()) {
+			if (hasWizards(wizardCategory)) {
 				return true;
 			}
 		}
@@ -191,8 +189,8 @@
 		if (action instanceof NewWizardShortcutAction) {
 			IWizardDescriptor wizardDescriptor= ((NewWizardShortcutAction) action).getWizardDescriptor();
 			String [] tags = wizardDescriptor.getTags();
-			for (int i = 0; i < tags.length; i++) {
-				if (WorkbenchWizardElement.TAG_PROJECT.equals(tags[i])) {
+			for (String tag : tags) {
+				if (WorkbenchWizardElement.TAG_PROJECT.equals(tag)) {
 					return true;
 				}
 			}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
index 9bacb47..34860ab 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
@@ -189,8 +189,7 @@
 			IResourceDelta delta = event.getDelta();
 			if (delta != null) {
 				IResourceDelta[] projDeltas = delta.getAffectedChildren(IResourceDelta.CHANGED);
-				for (int i = 0; i < projDeltas.length; ++i) {
-					IResourceDelta projDelta = projDeltas[i];
+				for (IResourceDelta projDelta : projDeltas) {
 					if ((projDelta.getFlags() & IResourceDelta.OPEN) != 0) {
 						if (sel.contains(projDelta.getResource())) {
 							selectionChanged(getStructuredSelection());
@@ -254,8 +253,8 @@
 				}
 				if (openProjectReferences) {
 					SubMonitor loopMonitor = subMonitor.split(1).setWorkRemaining(references.length);
-					for (int i = 0; i < references.length; i++) {
-						doOpenWithReferences(references[i], loopMonitor.split(1));
+					for (IProject reference : references) {
+						doOpenWithReferences(reference, loopMonitor.split(1));
 					}
 				}
 			}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
index 6c1255d..d8fb6e5 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
@@ -244,8 +244,7 @@
         //if the same editor goes to two mappings.
 		List<IEditorDescriptor> alreadyMapped = new ArrayList<>();
 
-        for (int i = 0; i < editors.length; i++) {
-			IEditorDescriptor editor= editors[i];
+		for (IEditorDescriptor editor : editors) {
             if (!alreadyMapped.contains(editor)) {
                 createMenuItem(menu, editor, preferredEditor);
 				if (defaultEditor != null && editor.getId().equals(defaultEditor.getId())) {
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
index 8a05199..9acdb39 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
@@ -123,10 +123,10 @@
 
         AboutInfo[] features = IDEWorkbenchPlugin.getDefault()
                 .getFeatureInfos();
-        for (int i = 0; i < features.length; i++) {
-            URL url = features[i].getWelcomePageURL();
+        for (AboutInfo feature : features) {
+            URL url = feature.getWelcomePageURL();
             if (url != null && (productUrl == null || !url.toString().equals(productUrl.toString()))) {
-				welcomeFeatures.add(features[i]);
+				welcomeFeatures.add(feature);
 			}
         }
 
@@ -176,8 +176,7 @@
     private AboutInfo findFeature(String featureId) throws WorkbenchException {
         AboutInfo[] features = IDEWorkbenchPlugin.getDefault()
                 .getFeatureInfos();
-        for (int i = 0; i < features.length; i++) {
-            AboutInfo info = features[i];
+        for (AboutInfo info : features) {
             if (info.getFeatureId().equals(featureId)) {
                 return info;
             }
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
index 586a42b..98b9142 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
@@ -151,8 +151,7 @@
         boolean noneSkipped = true;
         List selectedChildren = new ArrayList();
 
-        for (int i = 0; i < itemsToCheck.length; i++) {
-            IResource resourceToCheck = itemsToCheck[i];
+        for (IResource resourceToCheck : itemsToCheck) {
             ResourceAttributes checkAttributes = resourceToCheck.getResourceAttributes();
             if (!yesToAllSelected && shouldCheck(resourceToCheck)
             		&& checkAttributes!=null
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
index 774798d..ce4d50d 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
@@ -264,8 +264,8 @@
 			checkLocationDeleted((IProject) resource);
 		} else if (resource.getType() == IResource.ROOT) {
 			IProject[] projects = ((IWorkspaceRoot) resource).getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				checkLocationDeleted(projects[i]);
+			for (IProject project : projects) {
+				checkLocationDeleted(project);
 			}
 		}
 		resource.refreshLocal(IResource.DEPTH_INFINITE, monitor);
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
index 7959634..a93d6c7 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
@@ -134,15 +134,15 @@
 				}
 
 				if (traversals != null) {
-					for (int i = 0; i < traversals.length; i++) {
-						IResource[] traversalResources = traversals[i].getResources();
+					for (ResourceTraversal traversal : traversals) {
+						IResource[] traversalResources = traversal.getResources();
 						if (traversalResources != null) {
 							resourcesFoundForThisSelection = true;
 							if (resources == null) {
 								resources = new ArrayList<>(getStructuredSelection().size());
 							}
-							for (int j = 0; j < traversalResources.length; j++) {
-								resources.add(traversalResources[j]);
+							for (IResource traversalResource : traversalResources) {
+								resources.add(traversalResource);
 							}
 						}
 					}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
index e8a825c..e42d33f 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
@@ -296,9 +296,8 @@
         		boolean canPaste = false;
             	if (activeTextControl.getEditable()) {
             		Clipboard clipboard = new Clipboard(activeTextControl.getDisplay());
-            		TransferData[] td = clipboard.getAvailableTypes();
-            		for (int i = 0; i < td.length; ++i) {
-            			if (TextTransfer.getInstance().isSupportedType(td[i])) {
+					for (TransferData transferData : clipboard.getAvailableTypes()) {
+						if (TextTransfer.getInstance().isSupportedType(transferData)) {
             				canPaste = true;
             				break;
             			}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
index c1b9fae..edb6601 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
@@ -443,8 +443,8 @@
 				if (jobFamilies == null || family == null) {
 					return false;
 				}
-				for (int i = 0; i < jobFamilies.length; i++) {
-					if (family.equals(jobFamilies[i])) {
+				for (Object jobFamily : jobFamilies) {
+					if (family.equals(jobFamily)) {
 						return true;
 					}
 				}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FilteredResourcesSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FilteredResourcesSelectionDialog.java
index 61b284f..1801234 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FilteredResourcesSelectionDialog.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FilteredResourcesSelectionDialog.java
@@ -349,9 +349,9 @@
 
 		List resultToReturn = new ArrayList();
 
-		for (int i = 0; i < result.length; i++) {
-			if (result[i] instanceof IResource) {
-				resultToReturn.add((result[i]));
+		for (Object element : result) {
+			if (element instanceof IResource) {
+				resultToReturn.add((element));
 			}
 		}
 
@@ -517,8 +517,7 @@
 					progressMonitor);
 
 			if (visitor.visit(container.createProxy())) {
-				for (int i= 0; i < members.length; i++) {
-					IResource member = members[i];
+				for (IResource member : members) {
 					if (member.isAccessible())
 						member.accept(visitor, IResource.NONE);
 					progressMonitor.worked(1);
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
index d9e0c75..a396cd9 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
@@ -346,9 +346,9 @@
 			IProject project = container.getProject();
 			String[] natureIds = project.getDescription().getNatureIds();
 
-			for (int i = 0; i < natureIds.length; i++) {
+			for (String natureId : natureIds) {
 				IProjectNatureDescriptor descriptor = workspace
-						.getNatureDescriptor(natureIds[i]);
+						.getNatureDescriptor(natureId);
 				if (descriptor != null
 						&& descriptor.isLinkingAllowed() == false) {
 					return false;
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
index 308f6df..5ee3a8c 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
@@ -158,8 +158,8 @@
                 //Also try and reset the size of the columns as appropriate
                 TableColumn[] columns = selectionGroup.getListTable()
                         .getColumns();
-                for (int i = 0; i < columns.length; i++) {
-                    columns[i].pack();
+                for (TableColumn column : columns) {
+                    column.pack();
                 }
             }
         });
@@ -186,10 +186,10 @@
 
                     //filter out the desired resource types
                     ArrayList results = new ArrayList();
-                    for (int i = 0; i < members.length; i++) {
+                    for (IResource member : members) {
                         //And the test bits with the resource types to see if they are what we want
-                        if ((members[i].getType() & resourceType) > 0) {
-                            results.add(members[i]);
+                        if ((member.getType() & resourceType) > 0) {
+                            results.add(member);
                         }
                     }
                     return results.toArray();
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
index af39900..cacc96a 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
@@ -540,9 +540,8 @@
 
         if (newSelectedTypes != null) { // ie.- did not press Cancel
             List result = new ArrayList(newSelectedTypes.length);
-            for (int i = 0; i < newSelectedTypes.length; i++) {
-				result.add(((IFileEditorMapping) newSelectedTypes[i])
-                        .getExtension());
+            for (Object newSelectedType : newSelectedTypes) {
+				result.add(((IFileEditorMapping) newSelectedType).getExtension());
 			}
             setTypesToExport(result);
         }
@@ -693,8 +692,8 @@
                     if (selectedTypes.length > 0) {
 						typesToExportField.setText(selectedTypes[0]);
 					}
-                    for (int i = 0; i < selectedTypes.length; i++) {
-						typesToExportField.add(selectedTypes[i]);
+                    for (String selectedType : selectedTypes) {
+						typesToExportField.add(selectedType);
 					}
                 }
             }
@@ -748,16 +747,16 @@
         try {
             IResource[] members = resource.members();
 
-            for (int i = 0; i < members.length; i++) {
-                if (members[i].getType() == IResource.FILE) {
-                    IFile currentFile = (IFile) members[i];
+            for (IResource member : members) {
+                if (member.getType() == IResource.FILE) {
+                    IFile currentFile = (IFile) member;
                     if (hasExportableExtension(currentFile.getFullPath()
                             .toString())) {
 						selectedResources.add(currentFile);
 					}
                 }
-                if (members[i].getType() == IResource.FOLDER) {
-                    selectAppropriateFolderContents((IContainer) members[i]);
+                if (member.getType() == IResource.FOLDER) {
+                    selectAppropriateFolderContents((IContainer) member);
                 }
             }
         } catch (CoreException e) {
@@ -783,8 +782,8 @@
             selectedResources = new ArrayList();
             if (resource instanceof IWorkspaceRoot) {
                 IProject[] projects = ((IWorkspaceRoot) resource).getProjects();
-                for (int i = 0; i < projects.length; i++) {
-                    selectAppropriateFolderContents(projects[i]);
+                for (IProject project : projects) {
+                    selectAppropriateFolderContents(project);
                 }
             } else if (resource instanceof IFile) {
                 IFile file = (IFile) resource;
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
index 7ca6eea..dd67501 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
@@ -279,9 +279,9 @@
         List input = new ArrayList();
         IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
                 .getProjects();
-        for (int i = 0; i < projects.length; i++) {
-            if (projects[i].isOpen()) {
-				input.add(projects[i]);
+        for (IProject project : projects) {
+            if (project.isOpen()) {
+				input.add(project);
 			}
         }
 
@@ -369,10 +369,7 @@
 
                 // filter out the desired resource types
                 List<IResource> results = new ArrayList<>();
-                for (int i = 0; i < members.length; i++) {
-                    // And the test bits with the resource types to see if they
-                    // are what we want
-                    IResource resource = members[i];
+                for (IResource resource : members) {
                     if (!showLinkedResources && resource.isLinked()) {
                         continue;
                     }
@@ -489,8 +486,8 @@
 
         if (newSelectedTypes != null) { // ie.- did not press Cancel
             this.selectedTypes = new ArrayList(newSelectedTypes.length);
-            for (int i = 0; i < newSelectedTypes.length; i++) {
-                this.selectedTypes.add(newSelectedTypes[i]);
+            for (Object newSelectedType : newSelectedTypes) {
+                this.selectedTypes.add(newSelectedType);
             }
             setupSelectionsBasedOnSelectedTypes();
         }
@@ -648,8 +645,7 @@
             return;
         }
 
-        for (int i = 0; i < resources.length; i++) {
-            IResource resource = resources[i];
+        for (IResource resource : resources) {
             if (resource.getType() == IResource.FILE) {
                 if (hasExportableExtension(resource.getName())) {
                     hasFiles = true;
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
index 8e778a7..c9be3ef 100644
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
+++ b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
@@ -421,8 +421,8 @@
         Object[] newSelectedTypes = dialog.getResult();
         if (newSelectedTypes != null) { // ie.- did not press Cancel
             this.selectedTypes = new ArrayList(newSelectedTypes.length);
-            for (int i = 0; i < newSelectedTypes.length; i++) {
-				this.selectedTypes.add(newSelectedTypes[i]);
+            for (Object newSelectedType : newSelectedTypes) {
+				this.selectedTypes.add(newSelectedType);
 			}
 
             setupSelectionsBasedOnSelectedTypes();
@@ -591,10 +591,9 @@
      * @return boolean
      */
     private boolean noOpenProjects() {
-        IProject[] projects = IDEWorkbenchPlugin.getPluginWorkspace().getRoot()
-                .getProjects();
-        for (int i = 0; i < projects.length; i++) {
-            if (projects[i].isOpen()) {
+		IProject[] projects = IDEWorkbenchPlugin.getPluginWorkspace().getRoot().getProjects();
+        for (IProject project : projects) {
+            if (project.isOpen()) {
 				return false;
 			}
         }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java
index e07d8e2..b9b3b8e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ObjectActionContributorManager.java
@@ -99,9 +99,8 @@
 
         // Second pass, add the contributions that are applicable to
         // the selection.
-		for (Iterator<IObjectActionContributor> it = contributors.iterator(); it.hasNext();) {
-			IObjectActionContributor contributor = it.next();
-            if (contributor.contributeObjectActions(part, popupMenu, selProv,
+		for (IObjectActionContributor contributor : contributors) {
+			if (contributor.contributeObjectActions(part, popupMenu, selProv,
                     overrides)) {
 				actualContributions = true;
 				alreadyContributed.add(contributor);
@@ -132,10 +131,10 @@
 	@Override
 	public void addExtension(IExtensionTracker tracker, IExtension addedExtension) {
         IConfigurationElement[] addedElements = addedExtension.getConfigurationElements();
-        for (int i = 0; i < addedElements.length; i++) {
+        for (IConfigurationElement addedElement : addedElements) {
             ObjectActionContributorReader reader = new ObjectActionContributorReader();
             reader.setManager(this);
-            reader.readElement(addedElements[i]);
+            reader.readElement(addedElement);
         }
     }
 
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 35f0ed3..1728244 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
@@ -250,12 +250,11 @@
     private void internalComputeInterfaceOrder(Class[] interfaces, List result,
             Map seen) {
         List newInterfaces = new ArrayList(seen.size());
-        for (int i = 0; i < interfaces.length; i++) {
-            Class interfac = interfaces[i];
-            if (seen.get(interfac) == null) {
-                result.add(interfac);
-                seen.put(interfac, interfac);
-                newInterfaces.add(interfac);
+        for (Class currentInterface : interfaces) {
+            if (seen.get(currentInterface) == null) {
+                result.add(currentInterface);
+                seen.put(currentInterface, currentInterface);
+                newInterfaces.add(currentInterface);
             }
         }
         for (Iterator newList = newInterfaces.iterator(); newList.hasNext();) {
@@ -526,8 +525,8 @@
             result.add(clazz);
             // add all the interfaces it implements
             Class[] interfaces = clazz.getInterfaces();
-            for (int i = 0; i < interfaces.length; i++) {
-                result.add(interfaces[i]);
+            for (Class currentInterface : interfaces) {
+                result.add(currentInterface);
             }
             // get the superclass
             clazz = clazz.getSuperclass();
@@ -551,9 +550,9 @@
 
     @Override
 	public void removeExtension(IExtension source, Object[] objects) {
-        for (int i = 0; i < objects.length; i++) {
-            if (objects[i] instanceof ContributorRecord) {
-                ContributorRecord contributorRecord = (ContributorRecord) objects[i];
+        for (Object object : objects) {
+            if (object instanceof ContributorRecord) {
+                ContributorRecord contributorRecord = (ContributorRecord) object;
                 unregisterContributor((contributorRecord).contributor, (contributorRecord).objectClassName);
                 contributorRecordSet.remove(contributorRecord);
             }
@@ -859,9 +858,7 @@
         IAdapterManager adapterMgr = Platform.getAdapterManager();
         for (Iterator list = classList.iterator(); list.hasNext();) {
             Class clazz = ((Class) list.next());
-            String[] adapters = adapterMgr.computeAdapterTypes(clazz);
-            for (int i = 0; i < adapters.length; i++) {
-                String adapter = adapters[i];
+			for (String adapter : adapterMgr.computeAdapterTypes(clazz)) {
                 if (!result.contains(adapter)) {
                     result.add(adapter);
                 }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java
index 8e59801..36f3af8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PageListenerList.java
@@ -60,15 +60,14 @@
      * Notifies the listener that a part has been activated.
      */
     public void firePageActivated(final IWorkbenchPage page) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPageListener l = (IPageListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPageListener pageListener = (IPageListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.pageActivated(page);
+					pageListener.pageActivated(page);
                 }
-            }, l, page, "activated::"); //$NON-NLS-1$
+			}, pageListener, page, "activated::"); //$NON-NLS-1$
         }
     }
 
@@ -76,15 +75,14 @@
      * Notifies the listener that a part has been closed
      */
     public void firePageClosed(final IWorkbenchPage page) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPageListener l = (IPageListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPageListener pageListener = (IPageListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.pageClosed(page);
+					pageListener.pageClosed(page);
                 }
-            }, l, page, "closed::"); //$NON-NLS-1$
+			}, pageListener, page, "closed::"); //$NON-NLS-1$
         }
     }
 
@@ -92,15 +90,14 @@
      * Notifies the listener that a part has been opened.
      */
     public void firePageOpened(final IWorkbenchPage page) {
-        Object[] listeners = getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            final IPageListener l = (IPageListener) listeners[i];
+		for (Object listener : getListeners()) {
+			final IPageListener pageListener = (IPageListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.pageOpened(page);
+					pageListener.pageOpened(page);
                 }
-            }, l, page, "opened::"); //$NON-NLS-1$
+			}, pageListener, page, "opened::"); //$NON-NLS-1$
         }
     }
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java
index b821d04..a160501 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList.java
@@ -64,15 +64,14 @@
      * Notifies the listener that a part has been activated.
      */
     public void firePartActivated(final IWorkbenchPart part) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener l = (IPartListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener partListener = (IPartListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partActivated(part);
+					partListener.partActivated(part);
                 }
-            }, l, part, "activated::"); //$NON-NLS-1$
+			}, partListener, part, "activated::"); //$NON-NLS-1$
         }
     }
 
@@ -80,15 +79,14 @@
      * Notifies the listener that a part has been brought to top.
      */
     public void firePartBroughtToTop(final IWorkbenchPart part) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener l = (IPartListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener partListener = (IPartListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partBroughtToTop(part);
+					partListener.partBroughtToTop(part);
                 }
-            }, l, part, "broughtToTop::"); //$NON-NLS-1$
+			}, partListener, part, "broughtToTop::"); //$NON-NLS-1$
         }
     }
 
@@ -96,15 +94,14 @@
      * Notifies the listener that a part has been closed
      */
     public void firePartClosed(final IWorkbenchPart part) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener l = (IPartListener) array[i];
+		for (Object element : getListeners()) {
+			final IPartListener partListener = (IPartListener) element;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partClosed(part);
+					partListener.partClosed(part);
                 }
-            }, l, part, "closed::"); //$NON-NLS-1$
+			}, partListener, part, "closed::"); //$NON-NLS-1$
         }
     }
 
@@ -112,15 +109,14 @@
      * Notifies the listener that a part has been deactivated.
      */
     public void firePartDeactivated(final IWorkbenchPart part) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener l = (IPartListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener partListener = (IPartListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partDeactivated(part);
+					partListener.partDeactivated(part);
                 }
-            }, l, part, "deactivated::"); //$NON-NLS-1$
+			}, partListener, part, "deactivated::"); //$NON-NLS-1$
         }
     }
 
@@ -128,15 +124,14 @@
      * Notifies the listener that a part has been opened.
      */
     public void firePartOpened(final IWorkbenchPart part) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener l = (IPartListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener partListener = (IPartListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partOpened(part);
+					partListener.partOpened(part);
                 }
-            }, l, part, "opened::"); //$NON-NLS-1$
+			}, partListener, part, "opened::"); //$NON-NLS-1$
         }
     }
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java
index 6c36b2e..61daec7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PartListenerList2.java
@@ -62,15 +62,14 @@
      * Notifies the listener that a part has been activated.
      */
     public void firePartActivated(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener = (IPartListener2) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partActivated(ref);
+					partListener.partActivated(ref);
                 }
-            }, l, ref, "activated::"); //$NON-NLS-1$
+			}, partListener, ref, "activated::"); //$NON-NLS-1$
         }
     }
 
@@ -78,15 +77,14 @@
      * Notifies the listener that a part has been brought to top.
      */
     public void firePartBroughtToTop(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener = (IPartListener2) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partBroughtToTop(ref);
+					partListener.partBroughtToTop(ref);
                 }
-            }, l, ref, "broughtToTop::"); //$NON-NLS-1$
+			}, partListener, ref, "broughtToTop::"); //$NON-NLS-1$
         }
     }
 
@@ -94,15 +92,14 @@
      * Notifies the listener that a part has been closed
      */
     public void firePartClosed(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener = (IPartListener2) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partClosed(ref);
+					partListener.partClosed(ref);
                 }
-            }, l, ref, "closed::"); //$NON-NLS-1$
+			}, partListener, ref, "closed::"); //$NON-NLS-1$
         }
     }
 
@@ -110,15 +107,14 @@
      * Notifies the listener that a part has been deactivated.
      */
     public void firePartDeactivated(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener = (IPartListener2) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partDeactivated(ref);
+					partListener.partDeactivated(ref);
                 }
-            }, l, ref, "deactivated::"); //$NON-NLS-1$
+			}, partListener, ref, "deactivated::"); //$NON-NLS-1$
         }
     }
 
@@ -126,15 +122,14 @@
      * Notifies the listener that a part has been opened.
      */
     public void firePartOpened(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener = (IPartListener2) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partOpened(ref);
+					partListener.partOpened(ref);
                 }
-            }, l, ref, "opened::"); //$NON-NLS-1$
+			}, partListener, ref, "opened::"); //$NON-NLS-1$
         }
     }
 
@@ -142,11 +137,10 @@
      * Notifies the listener that a part has been opened.
      */
     public void firePartHidden(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l;
-            if (array[i] instanceof IPartListener2) {
-				l = (IPartListener2) array[i];
+		for (Object element : getListeners()) {
+			final IPartListener2 partListener;
+            if (element instanceof IPartListener2) {
+				partListener = (IPartListener2) element;
 			} else {
 				continue;
 			}
@@ -154,9 +148,9 @@
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partHidden(ref);
+					partListener.partHidden(ref);
                 }
-            }, l, ref, "hidden::"); //$NON-NLS-1$
+			}, partListener, ref, "hidden::"); //$NON-NLS-1$
         }
     }
 
@@ -164,11 +158,10 @@
      * Notifies the listener that a part has been opened.
      */
     public void firePartVisible(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l;
-            if (array[i] instanceof IPartListener2) {
-				l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener;
+			if (listener instanceof IPartListener2) {
+				partListener = (IPartListener2) listener;
 			} else {
 				continue;
 			}
@@ -176,9 +169,9 @@
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partVisible(ref);
+					partListener.partVisible(ref);
                 }
-            }, l, ref, "visible::"); //$NON-NLS-1$
+			}, partListener, ref, "visible::"); //$NON-NLS-1$
         }
     }
 
@@ -186,11 +179,10 @@
      * Notifies the listener that a part has been opened.
      */
     public void firePartInputChanged(final IWorkbenchPartReference ref) {
-        Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPartListener2 l;
-            if (array[i] instanceof IPartListener2) {
-				l = (IPartListener2) array[i];
+		for (Object listener : getListeners()) {
+			final IPartListener2 partListener;
+			if (listener instanceof IPartListener2) {
+				partListener = (IPartListener2) listener;
 			} else {
 				continue;
 			}
@@ -198,9 +190,9 @@
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.partInputChanged(ref);
+					partListener.partInputChanged(ref);
                 }
-            }, l, ref, "inputChanged::"); //$NON-NLS-1$
+			}, partListener, ref, "inputChanged::"); //$NON-NLS-1$
         }
     }
 
@@ -212,11 +204,10 @@
     }
 
 	public void firePageChanged(final PageChangedEvent event) {
-		Object[] array = getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final IPageChangedListener l;
-            if (array[i] instanceof IPageChangedListener) {
-				l = (IPageChangedListener) array[i];
+		for (Object listener : getListeners()) {
+			final IPageChangedListener partListener;
+			if (listener instanceof IPageChangedListener) {
+				partListener = (IPageChangedListener) listener;
 			} else {
 				continue;
 			}
@@ -224,7 +215,7 @@
             SafeRunnable.run(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.pageChanged(event);
+					partListener.pageChanged(event);
                 }
             });
         }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveExtensionReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveExtensionReader.java
index 38c64ef..35ccd5a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveExtensionReader.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveExtensionReader.java
@@ -101,8 +101,7 @@
      */
     private boolean processExtension(IConfigurationElement element) {
         IConfigurationElement[] children = element.getChildren();
-        for (int nX = 0; nX < children.length; nX++) {
-            IConfigurationElement child = children[nX];
+        for (IConfigurationElement child : children) {
             String type = child.getName();
             if (includeTag(type)) {
                 boolean result = false;
@@ -360,8 +359,8 @@
      */
     public void setIncludeOnlyTags(String[] tags) {
         includeOnlyTags = new HashSet();
-        for (int i = 0; i < tags.length; i++) {
-            includeOnlyTags.add(tags[i]);
+        for (String tag : tags) {
+            includeOnlyTags.add(tag);
         }
     }
 }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java
index d07e3d2..892bb08 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PerspectiveListenerList.java
@@ -66,15 +66,14 @@
      */
     public void firePerspectiveActivated(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            final IPerspectiveListener l = (IPerspectiveListener) array[nX];
+		for (Object listener : getListeners()) {
+			final IPerspectiveListener perspectiveListener = (IPerspectiveListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.perspectiveActivated(page, perspective);
+					perspectiveListener.perspectiveActivated(page, perspective);
                 }
-            }, l, perspective, "activated::"); //$NON-NLS-1$
+			}, perspectiveListener, perspective, "activated::"); //$NON-NLS-1$
         }
     }
 
@@ -85,16 +84,15 @@
      */
     public void firePerspectivePreDeactivate(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            if (array[nX] instanceof IPerspectiveListener4) {
-                final IPerspectiveListener4 l4 = (IPerspectiveListener4) array[nX];
+		for (Object listener : getListeners()) {
+			if (listener instanceof IPerspectiveListener4) {
+				final IPerspectiveListener4 perspectiveListener = (IPerspectiveListener4) listener;
                 fireEvent(new SafeRunnable() {
                     @Override
 					public void run() {
-                        l4.perspectivePreDeactivate(page, perspective);
+						perspectiveListener.perspectivePreDeactivate(page, perspective);
                     }
-                }, l4, perspective, "pre-deactivate::"); //$NON-NLS-1$
+				}, perspectiveListener, perspective, "pre-deactivate::"); //$NON-NLS-1$
             }
         }
     }
@@ -106,16 +104,15 @@
      */
     public void firePerspectiveDeactivated(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            if (array[nX] instanceof IPerspectiveListener3) {
-                final IPerspectiveListener3 l3 = (IPerspectiveListener3) array[nX];
+		for (Object listener : getListeners()) {
+			if (listener instanceof IPerspectiveListener3) {
+				final IPerspectiveListener3 perspectiveListener = (IPerspectiveListener3) listener;
                 fireEvent(new SafeRunnable() {
                     @Override
 					public void run() {
-                        l3.perspectiveDeactivated(page, perspective);
+						perspectiveListener.perspectiveDeactivated(page, perspective);
                     }
-                }, l3, perspective, "deactivated::"); //$NON-NLS-1$
+				}, perspectiveListener, perspective, "deactivated::"); //$NON-NLS-1$
             }
         }
     }
@@ -125,15 +122,14 @@
      */
     public void firePerspectiveChanged(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective, final String changeId) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            final IPerspectiveListener l = (IPerspectiveListener) array[nX];
+		for (Object listener : getListeners()) {
+			final IPerspectiveListener perspectiveListener = (IPerspectiveListener) listener;
             fireEvent(new SafeRunnable() {
                 @Override
 				public void run() {
-                    l.perspectiveChanged(page, perspective, changeId);
+					perspectiveListener.perspectiveChanged(page, perspective, changeId);
                 }
-            }, l, perspective, "changed::"); //$NON-NLS-1$
+			}, perspectiveListener, perspective, "changed::"); //$NON-NLS-1$
         }
     }
 
@@ -146,17 +142,16 @@
     public void firePerspectiveChanged(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective,
             final IWorkbenchPartReference partRef, final String changeId) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            if (array[nX] instanceof IPerspectiveListener2) {
-                final IPerspectiveListener2 l2 = (IPerspectiveListener2) array[nX];
+		for (Object listener : getListeners()) {
+			if (listener instanceof IPerspectiveListener2) {
+				final IPerspectiveListener2 perspectiveListener = (IPerspectiveListener2) listener;
                 fireEvent(new SafeRunnable() {
                     @Override
 					public void run() {
-                        l2.perspectiveChanged(page, perspective, partRef,
+						perspectiveListener.perspectiveChanged(page, perspective, partRef,
                                 changeId);
                     }
-                }, l2, perspective, "changed::"); //$NON-NLS-1$
+				}, perspectiveListener, perspective, "changed::"); //$NON-NLS-1$
             }
         }
     }
@@ -168,16 +163,15 @@
      */
     public void firePerspectiveClosed(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            if (array[nX] instanceof IPerspectiveListener3) {
-                final IPerspectiveListener3 l3 = (IPerspectiveListener3) array[nX];
+		for (Object listener : getListeners()) {
+			if (listener instanceof IPerspectiveListener3) {
+				final IPerspectiveListener3 perspectiveListener = (IPerspectiveListener3) listener;
                 fireEvent(new SafeRunnable() {
                     @Override
 					public void run() {
-                        l3.perspectiveClosed(page, perspective);
+						perspectiveListener.perspectiveClosed(page, perspective);
                     }
-                }, l3, perspective, "closed::"); //$NON-NLS-1$
+				}, perspectiveListener, perspective, "closed::"); //$NON-NLS-1$
             }
         }
     }
@@ -189,16 +183,15 @@
      */
     public void firePerspectiveOpened(final IWorkbenchPage page,
             final IPerspectiveDescriptor perspective) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            if (array[nX] instanceof IPerspectiveListener3) {
-                final IPerspectiveListener3 l3 = (IPerspectiveListener3) array[nX];
+		for (Object listener : getListeners()) {
+			if (listener instanceof IPerspectiveListener3) {
+				final IPerspectiveListener3 perspectiveListener = (IPerspectiveListener3) listener;
                 fireEvent(new SafeRunnable() {
                     @Override
 					public void run() {
-                        l3.perspectiveOpened(page, perspective);
+						perspectiveListener.perspectiveOpened(page, perspective);
                     }
-                }, l3, perspective, "opened::"); //$NON-NLS-1$
+				}, perspectiveListener, perspective, "opened::"); //$NON-NLS-1$
             }
         }
     }
@@ -211,16 +204,15 @@
     public void firePerspectiveSavedAs(final IWorkbenchPage page,
             final IPerspectiveDescriptor oldPerspective,
             final IPerspectiveDescriptor newPerspective) {
-        Object[] array = getListeners();
-        for (int nX = 0; nX < array.length; nX++) {
-            if (array[nX] instanceof IPerspectiveListener3) {
-                final IPerspectiveListener3 l3 = (IPerspectiveListener3) array[nX];
+		for (Object listener : getListeners()) {
+			if (listener instanceof IPerspectiveListener3) {
+				final IPerspectiveListener3 perspectiveListener = (IPerspectiveListener3) listener;
                 fireEvent(new SafeRunnable() {
                     @Override
 					public void run() {
-                        l3.perspectiveSavedAs(page, oldPerspective, newPerspective);
+						perspectiveListener.perspectiveSavedAs(page, oldPerspective, newPerspective);
                     }
-                }, l3, newPerspective, "saveAs::"); //$NON-NLS-1$
+				}, perspectiveListener, newPerspective, "saveAs::"); //$NON-NLS-1$
             }
         }
     }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java
index 5115fc7..ec26277 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PlatformUIPreferenceListener.java
@@ -83,10 +83,7 @@
 				.equals(propertyName)) {
 			// IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore();
 			IWorkbench workbench = PlatformUI.getWorkbench();
-			IWorkbenchWindow[] workbenchWindows = workbench
-					.getWorkbenchWindows();
-			for (int i = 0; i < workbenchWindows.length; i++) {
-				IWorkbenchWindow window = workbenchWindows[i];
+			for (IWorkbenchWindow window : workbench.getWorkbenchWindows()) {
 				if (window instanceof WorkbenchWindow) {
 					// ((WorkbenchWindow) window)
 					// .setPerspectiveBarLocation(apiStore
@@ -103,10 +100,7 @@
 			// IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS);
 
 			IWorkbench workbench = PlatformUI.getWorkbench();
-			IWorkbenchWindow[] workbenchWindows = workbench
-					.getWorkbenchWindows();
-			for (int i = 0; i < workbenchWindows.length; i++) {
-				IWorkbenchWindow window = workbenchWindows[i];
+			for (IWorkbenchWindow window : workbench.getWorkbenchWindows()) {
 				if (window instanceof WorkbenchWindow) {
 					// ((WorkbenchWindow) window).setBannerCurve(newValue);
 				}
@@ -146,9 +140,7 @@
 						}
 						// Get default editors which are not OS or internal
 						// editors
-						IFileEditorMapping[] maps = editorRegistry.getFileEditorMappings();
-						for (int j = 0; j < maps.length; j++) {
-							IFileEditorMapping fileEditorMapping = maps[j];
+						for (IFileEditorMapping fileEditorMapping : editorRegistry.getFileEditorMappings()) {
 							IEditorDescriptor descriptor = fileEditorMapping.getDefaultEditor();
 							if (descriptor != null && !editorMap.containsKey(descriptor.getId())) {
 								editorMap.put(descriptor.getId(), descriptor);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java
index 5936917..04439ea 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionBuilder.java
@@ -332,12 +332,12 @@
 
             // Create separators.
             IConfigurationElement[] children = menuElement.getChildren();
-            for (int i = 0; i < children.length; i++) {
-                String childName = children[i].getName();
+            for (IConfigurationElement element : children) {
+                String childName = element.getName();
                 if (childName.equals(IWorkbenchRegistryConstants.TAG_SEPARATOR)) {
-                    contributeSeparator(newMenu, children[i]);
+                    contributeSeparator(newMenu, element);
                 } else if (childName.equals(IWorkbenchRegistryConstants.TAG_GROUP_MARKER)) {
-                    contributeGroupMarker(newMenu, children[i]);
+                    contributeGroupMarker(newMenu, element);
                 }
             }
         }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java
index 83bc184..85cff9d 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PluginActionSetBuilder.java
@@ -222,8 +222,7 @@
             builder.readActionExtensions(set, window);
             builders[i] = builder;
         }
-        for (int i = 0; i < builders.length; i++) {
-            PluginActionSetBuilder builder = builders[i];
+        for (PluginActionSetBuilder builder : builders) {
             builder.processAdjunctContributions();
         }
     }
@@ -491,14 +490,13 @@
                 // Loop thru all the current groups looking for the first
                 // group whose id > than the current action set id. Insert
                 // current marker just before this item then.
-                for (int i = 0; i < items.length; i++) {
-                    IContributionItem item = items[i];
+                for (IContributionItem item : items) {
                     if (item.isSeparator() || item.isGroupMarker()) {
                         if (item instanceof IActionSetContributionItem) {
                             String testId = ((IActionSetContributionItem) item)
                                     .getActionSetId();
                             if (actionSetId.compareTo(testId) < 0) {
-                                menu.insertBefore(items[i].getId(), marker);
+                                menu.insertBefore(item.getId(), marker);
                                 return;
                             }
                         }
@@ -630,25 +628,25 @@
             IContributionItem[] items = menuMgr.getItems();
             ArrayList itemsToRemove = new ArrayList();
             String id;
-            for (int i = 0; i < items.length; i++) {
-				if (items[i] instanceof IMenuManager) {
-                    revokeActionSetFromMenu((IMenuManager) items[i],
+            for (IContributionItem item : items) {
+				if (item instanceof IMenuManager) {
+                    revokeActionSetFromMenu((IMenuManager) item,
                             actionsetId);
-                } else if (items[i] instanceof ActionSetContributionItem) {
-                    id = ((ActionSetContributionItem) items[i])
+                } else if (item instanceof ActionSetContributionItem) {
+                    id = ((ActionSetContributionItem) item)
                             .getActionSetId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
-                } else if (items[i] instanceof Separator) {
-                    id = ((Separator) items[i]).getId();
+                } else if (item instanceof Separator) {
+                    id = ((Separator) item).getId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
-                } else if (items[i] instanceof GroupMarker) {
-                    id = ((GroupMarker) items[i]).getId();
+                } else if (item instanceof GroupMarker) {
+                    id = ((GroupMarker) item).getId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
                 }
 			}
@@ -666,24 +664,24 @@
             IContributionItem[] items = coolbarMgr.getItems();
             ArrayList itemsToRemove = new ArrayList();
             String id;
-            for (int i = 0; i < items.length; i++) {
-                id = items[i].getId();
+            for (IContributionItem item : items) {
+                id = item.getId();
                 if (actionsetId.equals(id)) {
-                    itemsToRemove.add(items[i]);
+                    itemsToRemove.add(item);
                     continue;
                 }
-                if (items[i] instanceof IToolBarManager) {
-                    revokeActionSetFromToolbar((IToolBarManager) items[i],
+                if (item instanceof IToolBarManager) {
+                    revokeActionSetFromToolbar((IToolBarManager) item,
                             actionsetId);
-                } else if (items[i] instanceof IToolBarContributionItem) {
-                    id = ((IToolBarContributionItem) items[i]).getId();
+                } else if (item instanceof IToolBarContributionItem) {
+                    id = ((IToolBarContributionItem) item).getId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
-                } else if (items[i] instanceof GroupMarker) {
-                    id = ((GroupMarker) items[i]).getId();
+                } else if (item instanceof GroupMarker) {
+                    id = ((GroupMarker) item).getId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
                 }
             }
@@ -700,27 +698,27 @@
             IContributionItem[] items = toolbarMgr.getItems();
             ArrayList itemsToRemove = new ArrayList();
             String id;
-            for (int i = 0; i < items.length; i++) {
-                id = items[i].getId();
+            for (IContributionItem item : items) {
+                id = item.getId();
                 if (id.equals(actionsetId)) {
-                    itemsToRemove.add(items[i]);
+                    itemsToRemove.add(item);
                     continue;
                 }
-                if (items[i] instanceof PluginActionCoolBarContributionItem) {
-                    id = ((PluginActionCoolBarContributionItem) items[i])
+                if (item instanceof PluginActionCoolBarContributionItem) {
+                    id = ((PluginActionCoolBarContributionItem) item)
                             .getActionSetId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
-                } else if (items[i] instanceof ActionContributionItem) {
-                    id = ((ActionContributionItem) items[i]).getId();
+                } else if (item instanceof ActionContributionItem) {
+                    id = ((ActionContributionItem) item).getId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
-                } else if (items[i] instanceof GroupMarker) {
-                    id = ((GroupMarker) items[i]).getId();
+                } else if (item instanceof GroupMarker) {
+                    id = ((GroupMarker) item).getId();
                     if (actionsetId.equals(id)) {
-						itemsToRemove.add(items[i]);
+						itemsToRemove.add(item);
 					}
                 }
             }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java
index 83b6721..c178a1f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/PopupMenuExtender.java
@@ -450,11 +450,11 @@
 
 	private void gatherContributions(final IMenuManager mgr) {
 		final IContributionItem[] items = mgr.getItems();
-		for (int i = 0; i < items.length; i++) {
-			if (items[i] instanceof PluginActionContributionItem) {
-				actionContributionCache.add((PluginActionContributionItem) items[i]);
-			} else if (items[i] instanceof IMenuManager) {
-				gatherContributions(((IMenuManager) items[i]));
+		for (IContributionItem item : items) {
+			if (item instanceof PluginActionContributionItem) {
+				actionContributionCache.add((PluginActionContributionItem) item);
+			} else if (item instanceof IMenuManager) {
+				gatherContributions(((IMenuManager) item));
 			}
 		}
 	}
@@ -464,8 +464,8 @@
 			PluginActionContributionItem[] items = actionContributionCache
 					.toArray(new PluginActionContributionItem[actionContributionCache.size()]);
 			actionContributionCache.clear();
-			for (int i = 0; i < items.length; i++) {
-				items[i].dispose();
+			for (PluginActionContributionItem item : items) {
+				item.dispose();
 			}
 		}
 
@@ -592,8 +592,7 @@
 		}
 		//check the delta to see if there are any viewer contribution changes.  if so, null our builder to cause reparsing on the next menu show
 		IExtensionDelta [] deltas = event.getExtensionDeltas();
-		for (int i = 0; i < deltas.length; i++) {
-			IExtensionDelta delta = deltas[i];
+		for (IExtensionDelta delta : deltas) {
 			IExtensionPoint extensionPoint = delta.getExtensionPoint();
 			if (extensionPoint.getContributor().getName().equals(WorkbenchPlugin.PI_WORKBENCH)
 					&& extensionPoint.getSimpleIdentifier().equals(
@@ -601,8 +600,7 @@
 
 				boolean clearPopups = false;
 				IConfigurationElement [] elements = delta.getExtension().getConfigurationElements();
-				for (int j = 0; j < elements.length; j++) {
-					IConfigurationElement element = elements[j];
+				for (IConfigurationElement element : elements) {
 					if (element.getName().equals(IWorkbenchRegistryConstants.TAG_VIEWER_CONTRIBUTION)) {
 						clearPopups = true;
 						break;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveableHelper.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveableHelper.java
index de439f2..085c209 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveableHelper.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveableHelper.java
@@ -169,10 +169,8 @@
 	 *   was canceled or an error occurred while saving.
 	 */
 	private static boolean saveModels(ISaveablesSource modelSource, final IWorkbenchWindow window, final boolean confirm) {
-		Saveable[] selectedModels = modelSource.getActiveSaveables();
 		final ArrayList<Saveable> dirtyModels = new ArrayList<>();
-		for (int i = 0; i < selectedModels.length; i++) {
-			Saveable model = selectedModels[i];
+		for (Saveable model : modelSource.getActiveSaveables()) {
 			if (model.isDirty()) {
 				dirtyModels.add(model);
 			}
@@ -186,8 +184,7 @@
 			IProgressMonitor monitorWrap = new EventLoopProgressMonitor(monitor);
 			SubMonitor subMonitor = SubMonitor.convert(monitorWrap, WorkbenchMessages.Save, dirtyModels.size());
 			try {
-				for (Iterator<Saveable> i = dirtyModels.iterator(); i.hasNext();) {
-					Saveable model = i.next();
+				for (Saveable model : dirtyModels) {
 					// handle case where this model got saved as a result of
 					// saving another
 					if (!model.isDirty()) {
@@ -308,9 +305,7 @@
 	 * @since 3.2
 	 */
 	public static boolean needsSave(ISaveablesSource modelSource) {
-		Saveable[] selectedModels = modelSource.getActiveSaveables();
-		for (int i = 0; i < selectedModels.length; i++) {
-			Saveable model = selectedModels[i];
+		for (Saveable model : modelSource.getActiveSaveables()) {
 			if (model.isDirty() && !((InternalSaveable)model).isSavingInBackground()) {
 				return true;
 			}
@@ -383,8 +378,7 @@
 				final IWorkbenchPart[] parts = saveablesList.getPartsForSaveable(model);
 
 				// this will cause the parts tabs to show the ongoing background operation
-				for (int i = 0; i < parts.length; i++) {
-					IWorkbenchPart workbenchPart = parts[i];
+				for (IWorkbenchPart workbenchPart : parts) {
 					IWorkbenchSiteProgressService progressService = Adapters.adapt(workbenchPart.getSite(),
 							IWorkbenchSiteProgressService.class);
 					progressService.showBusyForFamily(model);
@@ -421,11 +415,11 @@
 
 	private static void notifySaveAction(final IWorkbenchPart[] parts) {
 		Set<IWorkbenchWindow> wwindows = new HashSet<>();
-		for (int i = 0; i < parts.length; i++) {
-			wwindows.add(parts[i].getSite().getWorkbenchWindow());
+		for (IWorkbenchPart part : parts) {
+			wwindows.add(part.getSite().getWorkbenchWindow());
 		}
-		for (Iterator<IWorkbenchWindow> it = wwindows.iterator(); it.hasNext();) {
-			WorkbenchWindow wwin = (WorkbenchWindow) it.next();
+		for (IWorkbenchWindow iWorkbenchWindow : wwindows) {
+			WorkbenchWindow wwin = (WorkbenchWindow) iWorkbenchWindow;
 			wwin.fireBackgroundSaveStarted();
 		}
 	}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveablesList.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveablesList.java
index 62c278e..8d20eff 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveablesList.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SaveablesList.java
@@ -228,8 +228,8 @@
 			Saveable[] models = event.getSaveables();
 			Map<Saveable, Integer> modelsDecrementing = new HashMap<>();
 			Set<Saveable> modelsClosing = new HashSet<>();
-			for (int i = 0; i < models.length; i++) {
-				incrementRefCount(modelsDecrementing, models[i]);
+			for (Saveable model : models) {
+				incrementRefCount(modelsDecrementing, model);
 			}
 
 			fillModelsClosing(modelsClosing, modelsDecrementing);
@@ -269,8 +269,7 @@
 	 */
 	private void removeModels(Object source, Saveable[] modelArray) {
 		List<Saveable> removed = new ArrayList<>();
-		for (int i = 0; i < modelArray.length; i++) {
-			Saveable model = modelArray[i];
+		for (Saveable model : modelArray) {
 			if (removeModel(source, model)) {
 				removed.add(model);
 			}
@@ -288,8 +287,7 @@
 	 */
 	private void addModels(Object source, Saveable[] modelArray) {
 		List<Saveable> added = new ArrayList<>();
-		for (int i = 0; i < modelArray.length; i++) {
-			Saveable model = modelArray[i];
+		for (Saveable model : modelArray) {
 			if (addModel(source, model)) {
 				added.add(model);
 			}
@@ -382,10 +380,8 @@
 					continue;
 				}
 			}
-			Saveable[] modelsFromSource = getSaveables(part);
-			for (int i = 0; i < modelsFromSource.length; i++) {
-				incrementRefCount(postCloseInfo.modelsDecrementing,
-						modelsFromSource[i]);
+			for (Saveable saveableModel : getSaveables(part)) {
+				incrementRefCount(postCloseInfo.modelsDecrementing, saveableModel);
 			}
 		}
 		fillModelsClosing(postCloseInfo.modelsClosing,
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShellPool.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShellPool.java
index b6677df..730b485 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShellPool.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShellPool.java
@@ -12,7 +12,6 @@
 
 import java.util.Iterator;
 import java.util.LinkedList;
-
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.ShellAdapter;
@@ -71,10 +70,7 @@
                         // The shell can 'cancel' the close by setting
                         // the 'doit' to false...if so, do nothing
                         if (e.doit) {
-                            Control[] children = s.getChildren();
-	                        for (int i = 0; i < children.length; i++) {
-	                            Control control = children[i];
-
+						for (Control control : s.getChildren()) {
 	                            control.dispose();
 	                        }
 	                        availableShells.add(s);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowInMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowInMenu.java
index 9a0e26d..c1adbea 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowInMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowInMenu.java
@@ -17,7 +17,6 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import org.eclipse.core.runtime.Adapters;
 import org.eclipse.e4.core.commands.ExpressionContext;
 import org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer;
@@ -141,8 +140,7 @@
 			item.setText(NO_TARGETS_MSG);
 			item.setEnabled(false);
 		} else {
-			for (int i = 0; i < items.length; i++) {
-				IContributionItem item = items[i];
+			for (IContributionItem item : items) {
 				if (item.isVisible()) {
 					if (index == -1) {
 						item.fill(menu, -1);
@@ -186,8 +184,8 @@
 		}
 
 		IViewDescriptor[] viewDescs = getViewDescriptors(sourcePart);
-		for (int i = 0; i < viewDescs.length; ++i) {
-			IContributionItem cci = getContributionItem(viewDescs[i]);
+		for (IViewDescriptor viewDesc : viewDescs) {
+			IContributionItem cci = getContributionItem(viewDesc);
 			if (cci != null) {
 				innerMgr.add(cci);
 			}
@@ -364,8 +362,8 @@
 		ArrayList<Object> ids = getShowInPartIds(sourcePart);
 		ArrayList<IViewDescriptor> descs = new ArrayList<>();
 		IViewRegistry reg = WorkbenchPlugin.getDefault().getViewRegistry();
-		for (Iterator<Object> i = ids.iterator(); i.hasNext();) {
-			String id = (String) i.next();
+		for (Object object : ids) {
+			String id = (String) object;
 			IViewDescriptor desc = reg.find(id);
 			if (desc != null) {
 				descs.add(desc);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java
index e81cdb4..62bea4e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/ShowViewMenu.java
@@ -321,8 +321,8 @@
 			item.setText(NO_TARGETS_MSG);
 			item.setEnabled(false);
 		} else {
-			for (int i = 0; i < items.length; i++) {
-				items[i].fill(menu, index++);
+			for (IContributionItem item : items) {
+				item.fill(menu, index++);
 			}
 		}
 	}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlavePartService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlavePartService.java
index 8dd838f..44e41f0 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlavePartService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlavePartService.java
@@ -92,14 +92,12 @@
 
 	@Override
 	public void dispose() {
-		Object list[] = listeners.getListeners();
-		for (int i = 0; i < list.length; i++) {
-			Object obj = list[i];
-			if (obj instanceof IPartListener) {
-				parent.removePartListener((IPartListener) obj);
+		for (Object listener : listeners.getListeners()) {
+			if (listener instanceof IPartListener) {
+				parent.removePartListener((IPartListener) listener);
 			}
-			if (obj instanceof IPartListener2) {
-				parent.removePartListener((IPartListener2) obj);
+			if (listener instanceof IPartListener2) {
+				parent.removePartListener((IPartListener2) listener);
 			}
 		}
 		listeners.clear();
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlaveSelectionService.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlaveSelectionService.java
index 51deb29..13c812a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlaveSelectionService.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SlaveSelectionService.java
@@ -107,30 +107,23 @@
 
 	@Override
 	public void dispose() {
-		Object list[] = listeners.getListeners();
-
-		for (int i = 0; i < list.length; i++) {
-			parentSelectionService
-					.removeSelectionListener((ISelectionListener) list[i]);
+		for (Object listener : listeners.getListeners()) {
+			parentSelectionService.removeSelectionListener((ISelectionListener) listener);
 		}
 		listeners.clear();
 
-		list = postListeners.getListeners();
-		for (int i = 0; i < list.length; i++) {
-			parentSelectionService
-					.removePostSelectionListener((ISelectionListener) list[i]);
+		for (Object listener : postListeners.getListeners()) {
+			parentSelectionService.removePostSelectionListener((ISelectionListener) listener);
 		}
 		postListeners.clear();
 
 		for (Entry<ISelectionListener, String> entry : listenersToPartId.entrySet()) {
-			parentSelectionService.removeSelectionListener(
-					entry.getValue(), entry.getKey());
+			parentSelectionService.removeSelectionListener(entry.getValue(), entry.getKey());
 		}
 		listenersToPartId.clear();
 
 		for (Entry<ISelectionListener, String> entry : postListenersToPartId.entrySet()) {
-			parentSelectionService.removePostSelectionListener(
-					entry.getValue(), entry.getKey());
+			parentSelectionService.removePostSelectionListener(entry.getValue(), entry.getKey());
 		}
 		postListenersToPartId.clear();
 	}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java
index 0f030f5..ec881d4 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SwitchToWindowMenu.java
@@ -91,8 +91,7 @@
 
         // Add one item for each window.
         int count = 1;
-        for (int i = 0; i < array.length; i++) {
-            final IWorkbenchWindow window = array[i];
+		for (IWorkbenchWindow window : array) {
             // can encounter disposed shells if this update is in response to a shell closing
             if (!window.getShell().isDisposed()) {
                 String name = calcText(count, window);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java
index 874edc6..a893ff2 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WindowPartSelectionTracker.java
@@ -49,9 +49,8 @@
         super(partId);
         setWindow(window);
         window.addPageListener(this);
-        IWorkbenchPage[] pages = window.getPages();
-        for (int i = 0; i < pages.length; i++) {
-            pageOpened(pages[i]);
+		for (IWorkbenchPage page : window.getPages()) {
+            pageOpened(page);
         }
     }
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java
index 6368729..6de48f7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchColors.java
@@ -25,8 +25,8 @@
      * Dispose all color pre-allocated by the workbench.
      */
     private static void disposeWorkbenchColors() {
-        for (int i = 0; i < workbenchColors.length; i++) {
-            workbenchColors[i].dispose();
+        for (Color workbenchColor : workbenchColors) {
+            workbenchColor.dispose();
         }
         workbenchColors = null;
     }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchIntroManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchIntroManager.java
index 0e9bb9f..6eec1b6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchIntroManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchIntroManager.java
@@ -60,9 +60,9 @@
 
 			@Override
 			public void removeExtension(IExtension source, Object[] objects) {
-                for (int i = 0; i < objects.length; i++) {
-                    if (objects[i] instanceof IIntroPart) {
-                        closeIntro((IIntroPart) objects[i]);
+                for (Object object : objects) {
+                    if (object instanceof IIntroPart) {
+                        closeIntro((IIntroPart) object);
                     }
                 }
 
@@ -244,12 +244,9 @@
      * cannot be found.
      */
     /*package*/ViewIntroAdapterPart getViewIntroAdapterPart() {
-		IWorkbenchWindow[] windows = this.workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			WorkbenchWindow window = (WorkbenchWindow) windows[i];
-			MUIElement introPart = window.modelService
-.find(IIntroConstants.INTRO_VIEW_ID,
-					window.getModel());
+		for (IWorkbenchWindow iWorkbenchWindow : this.workbench.getWorkbenchWindows()) {
+			WorkbenchWindow window = (WorkbenchWindow) iWorkbenchWindow;
+			MUIElement introPart = window.modelService.find(IIntroConstants.INTRO_VIEW_ID, window.getModel());
 			if (introPart instanceof MPlaceholder) {
 				MPlaceholder introPH = (MPlaceholder) introPart;
 				MPart introModelPart = (MPart) introPH.getRef();
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
index f3d1738..c8def24 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java
@@ -786,15 +786,15 @@
 			if (part != null) {
 				IActionSetDescriptor[] partActionSets = WorkbenchPlugin.getDefault()
 						.getActionSetRegistry().getActionSetsFor(part.getSite().getId());
-				for (int i = 0; i < partActionSets.length; i++) {
-					newActionSets.add(partActionSets[i]);
+				for (IActionSetDescriptor partActionSetDescriptor : partActionSets) {
+					newActionSets.add(partActionSetDescriptor);
 				}
 			}
 			if (editor != null && editor != part) {
 				IActionSetDescriptor[] editorActionSets = WorkbenchPlugin.getDefault()
 						.getActionSetRegistry().getActionSetsFor(editor.getSite().getId());
-				for (int i = 0; i < editorActionSets.length; i++) {
-					newActionSets.add(editorActionSets[i]);
+				for (IActionSetDescriptor editorActionSetDescriptor : editorActionSets) {
+					newActionSets.add(editorActionSetDescriptor);
 				}
 			}
 			return newActionSets;
@@ -1065,15 +1065,13 @@
 			return null;
 		}
 
-		for (Iterator<ViewReference> it = viewReferences.iterator(); it.hasNext();) {
-			IViewReference reference = it.next();
+		for (IViewReference reference : viewReferences) {
 			if (part == reference.getPart(false)) {
 				return ((WorkbenchPartReference) reference).getModel();
 			}
 		}
 
-		for (Iterator<EditorReference> it = editorReferences.iterator(); it.hasNext();) {
-			IEditorReference reference = it.next();
+		for (IEditorReference reference : editorReferences) {
 			if (part == reference.getPart(false)) {
 				return ((WorkbenchPartReference) reference).getModel();
 			}
@@ -1361,8 +1359,7 @@
         IEditorReference editors[] = getEditorReferences();
         IEditorReference savedEditors[] = new IEditorReference[editors.length];
         int j = 0;
-        for (int i = 0; i < editors.length; i++) {
-            IEditorReference editor = editors[i];
+		for (IEditorReference editor : editors) {
             if (!editor.isDirty()) {
                 savedEditors[j++] = editor;
             }
@@ -1397,9 +1394,7 @@
 		// or cannot
 		// be closed at this time
 		ArrayList<IEditorReference> editorRefs = new ArrayList<>();
-		for (int i = 0; i < refArray.length; i++) {
-			IEditorReference reference = refArray[i];
-
+		for (IEditorReference reference : refArray) {
 			// If we're in the middle of creating this part, this is a
 			// programming error. Abort the entire
 			// close operation. This usually occurs if someone tries to open a
@@ -2765,9 +2760,9 @@
 				IMemento[] workingSetChildren = workingSetMem
 						.getChildren(IWorkbenchConstants.TAG_WORKING_SET);
 				List<IWorkingSet> workingSetList = new ArrayList<>(workingSetChildren.length);
-				for (int i = 0; i < workingSetChildren.length; i++) {
+				for (IMemento memento : workingSetChildren) {
 					IWorkingSet set = getWorkbenchWindow().getWorkbench().getWorkingSetManager()
-							.getWorkingSet(workingSetChildren[i].getID());
+							.getWorkingSet(memento.getID());
 					if (set != null) {
 						workingSetList.add(set);
 					}
@@ -3600,9 +3595,7 @@
 	public ISaveablePart[] getDirtyParts() {
 		List<ISaveablePart> result = new ArrayList<>(3);
 		IWorkbenchPartReference[] allParts = getSortedParts(true, true, true);
-		for (int i = 0; i < allParts.length; i++) {
-			IWorkbenchPartReference reference = allParts[i];
-
+		for (IWorkbenchPartReference reference : allParts) {
 			IWorkbenchPart part = reference.getPart(false);
 			ISaveablePart saveable = SaveableHelper.getSaveable(part);
 			if (saveable != null && !result.contains(saveable)) {
@@ -3662,8 +3655,8 @@
 		}
 		// saveAll below expects a mutable list
 		List<IWorkbenchPart> dirtyParts = new ArrayList<>(parts.length);
-		for (int i = 0; i < parts.length; i++) {
-			dirtyParts.add(parts[i]);
+		for (IWorkbenchPart part : parts) {
+			dirtyParts.add(part);
 		}
 
 		// If confirmation is required ..
@@ -3810,9 +3803,7 @@
 		ArrayList<Saveable> result = new ArrayList<>();
 		HashSet<Saveable> seen = new HashSet<>();
 		for (IWorkbenchPart part : parts) {
-			Saveable[] saveables = getSaveables(part);
-			for (int j = 0; j < saveables.length; j++) {
-				Saveable saveable = saveables[j];
+			for (Saveable saveable : getSaveables(part)) {
 				if (saveable.isDirty() && !seen.contains(saveable)) {
 					seen.add(saveable);
 					if (!closing
@@ -3827,10 +3818,8 @@
 			SaveablesList saveablesList = (SaveablesList) PlatformUI.getWorkbench().getService(
 					ISaveablesLifecycleListener.class);
 			ISaveablesSource[] nonPartSources = saveablesList.getNonPartSources();
-			for (int i = 0; i < nonPartSources.length; i++) {
-				Saveable[] saveables = nonPartSources[i].getSaveables();
-				for (int j = 0; j < saveables.length; j++) {
-					Saveable saveable = saveables[j];
+			for (ISaveablesSource nonPartSource : nonPartSources) {
+				for (Saveable saveable : nonPartSource.getSaveables()) {
 					if (saveable.isDirty() && !seen.contains(saveable)) {
 						seen.add(saveable);
 						result.add(saveable);
@@ -3882,8 +3871,7 @@
 		}
 		IWorkbenchPartReference[] pagePartRefs = ((WorkbenchPage) page).getSortedParts();
 		HashSet<IWorkbenchPart> pagePartsWithSameModels = new HashSet<>();
-		for (int i = 0; i < pagePartRefs.length; i++) {
-			IWorkbenchPartReference partRef = pagePartRefs[i];
+		for (IWorkbenchPartReference partRef : pagePartRefs) {
 			IWorkbenchPart part = partRef.getPart(false);
 			if (part != null) {
 				Saveable[] models = getSaveables(part);
@@ -4233,10 +4221,10 @@
 
 		IStickyViewDescriptor[] stickyViews = getWorkbenchWindow().getWorkbench().getViewRegistry()
 				.getStickyViews();
-		for (int i = 0; i < stickyViews.length; i++) {
-			if (stickyViews[i].getLocation() == IPageLayout.RIGHT) {
+		for (IStickyViewDescriptor stickyView : stickyViews) {
+			if (stickyView.getLocation() == IPageLayout.RIGHT) {
 				MStackElement viewModel = ModeledPageLayout.createViewModel(application,
-						stickyViews[i].getId(), false, this, partService, true);
+						stickyView.getId(), false, this, partService, true);
 				stickyFolder.getChildren().add(viewModel);
 			}
 		}
@@ -4668,11 +4656,11 @@
 		// filter out any duplicates if necessary
 		if (newWorkingSets.length > 1) {
 			Set<IWorkingSet> setOfSets = new HashSet<>();
-			for (int i = 0; i < newWorkingSets.length; i++) {
-				if (newWorkingSets[i] == null) {
+			for (IWorkingSet workingSet : newWorkingSets) {
+				if (workingSet == null) {
 					throw new IllegalArgumentException();
 				}
-				setOfSets.add(newWorkingSets[i]);
+				setOfSets.add(workingSet);
 			}
 			newWorkingSets = setOfSets.toArray(new IWorkingSet[setOfSets.size()]);
 		}
@@ -5530,8 +5518,7 @@
 		if (perspective == null)
 			return ""; //$NON-NLS-1$
 
-		String result = perspective.getPersistedState()
-.get(ModeledPageLayout.HIDDEN_ITEMS_KEY);
+		String result = perspective.getPersistedState().get(ModeledPageLayout.HIDDEN_ITEMS_KEY);
 		if (result == null)
 			return ""; //$NON-NLS-1$
 
@@ -5586,17 +5573,14 @@
 		if (persp == null)
 			return;
 
-		List<String> tags = persp.getTags();
 		List<String> existingNewWizards = new ArrayList<>();
-		for (Iterator<String> iterator = tags.iterator(); iterator.hasNext();) {
-			String string = iterator.next();
-			if (string.contains(tagPrefix))
-				existingNewWizards.add(string);
+		for (String tag : persp.getTags()) {
+			if (tag.contains(tagPrefix))
+				existingNewWizards.add(tag);
 		}
 
 		List<String> newWizards = new ArrayList<>(wizards.size());
-		for (Iterator<String> iterator = wizards.iterator(); iterator.hasNext();) {
-			String wizardName = iterator.next();
+		for (String wizardName : wizards) {
 			newWizards.add(tagPrefix + wizardName);
 		}
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java
index 2c76da9..04422d8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPlugin.java
@@ -493,10 +493,10 @@
         IConfigurationElement targetElement = null;
         IConfigurationElement[] configElements = extensionPoint
                 .getConfigurationElements();
-        for (int j = 0; j < configElements.length; j++) {
-            String strID = configElements[j].getAttribute("id"); //$NON-NLS-1$
+        for (IConfigurationElement configElement : configElements) {
+            String strID = configElement.getAttribute("id"); //$NON-NLS-1$
             if (targetID.equals(strID)) {
-                targetElement = configElements[j];
+                targetElement = configElement;
                 break;
             }
         }
@@ -847,11 +847,11 @@
 		}
 		if (bidiParams != null) {
 			String[] bidiProps = bidiParams.split(";"); //$NON-NLS-1$
-			for (int i = 0; i < bidiProps.length; ++i) {
-				int eqPos = bidiProps[i].indexOf("="); //$NON-NLS-1$
-				if ((eqPos > 0) && (eqPos < bidiProps[i].length() - 1)) {
-					String nameProp = bidiProps[i].substring(0, eqPos);
-					String valProp = bidiProps[i].substring(eqPos + 1);
+			for (String bidiProp : bidiProps) {
+				int eqPos = bidiProp.indexOf("="); //$NON-NLS-1$
+				if ((eqPos > 0) && (eqPos < bidiProp.length() - 1)) {
+					String nameProp = bidiProp.substring(0, eqPos);
+					String valProp = bidiProp.substring(eqPos + 1);
 					if (nameProp.equals(BIDI_SUPPORT_OPTION)) {
 						BidiUtils.setBidiSupport("y".equals(valProp)); //$NON-NLS-1$
 					} else if (nameProp.equalsIgnoreCase(BIDI_TEXTDIR_OPTION)) {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
index ad89f47..bf1e4aa 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
@@ -1487,9 +1487,7 @@
 		final Shell shell = getShell();
 		if (shell != null) {
 			final Expression expression = new ActiveShellExpression(shell);
-			for (Iterator<Entry<String, ActionHandler>> iterator = handlersByCommandId.entrySet()
-					.iterator(); iterator.hasNext();) {
-				Entry<String, ActionHandler> entry = iterator.next();
+			for (Entry<String, ActionHandler> entry : handlersByCommandId.entrySet()) {
 				String commandId = entry.getKey();
 				IHandler handler = entry.getValue();
 				newHandlers.add(handlerService.activateHandler(commandId, handler, expression));
@@ -1524,10 +1522,9 @@
 	private void firePropertyChanged(final String property, final Object oldValue,
 			final Object newValue) {
 		PropertyChangeEvent event = new PropertyChangeEvent(this, property, oldValue, newValue);
-		Object[] listeners = genericPropertyListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IPropertyChangeListener listener = (IPropertyChangeListener) listeners[i];
-			listener.propertyChange(event);
+		for (Object listener : genericPropertyListeners.getListeners()) {
+			IPropertyChangeListener propertyChangeListener = (IPropertyChangeListener) listener;
+			propertyChangeListener.propertyChange(event);
 		}
 	}
 
@@ -1706,12 +1703,11 @@
 	 */
 	private void allowUpdates(IMenuManager menuManager) {
 		menuManager.markDirty();
-		final IContributionItem[] items = menuManager.getItems();
-		for (int i = 0; i < items.length; i++) {
-			if (items[i] instanceof IMenuManager) {
-				allowUpdates((IMenuManager) items[i]);
-			} else if (items[i] instanceof SubContributionItem) {
-				final IContributionItem innerItem = ((SubContributionItem) items[i]).getInnerItem();
+		for (IContributionItem item : menuManager.getItems()) {
+			if (item instanceof IMenuManager) {
+				allowUpdates((IMenuManager) item);
+			} else if (item instanceof SubContributionItem) {
+				final IContributionItem innerItem = ((SubContributionItem) item).getInnerItem();
 				if (innerItem instanceof IMenuManager) {
 					allowUpdates((IMenuManager) innerItem);
 				}
@@ -2282,8 +2278,7 @@
 		IEvaluationService es = serviceLocator
 				.getService(IEvaluationService.class);
 		IEvaluationContext currentState = es.getCurrentState();
-		for (int i = 0; i < refs.length; i++) {
-			EvaluationReference reference = refs[i];
+		for (EvaluationReference reference : refs) {
 			reference.setPostingChanges(true);
 
 			boolean os = reference.evaluate(currentState);
@@ -2449,9 +2444,8 @@
 
 	private final void fireActionSetsChanged() {
 		if (actionSetListeners != null) {
-			final Object[] listeners = actionSetListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				final IActionSetsListener listener = (IActionSetsListener) listeners[i];
+			for (Object listener : actionSetListeners.getListeners()) {
+				final IActionSetsListener actionSetsListener = (IActionSetsListener) listener;
 				final WorkbenchPage currentPage = (WorkbenchPage) getActivePage();
 				final IActionSetDescriptor[] newActionSets;
 				if (currentPage == null) {
@@ -2460,7 +2454,7 @@
 					newActionSets = currentPage.getActionSets();
 				}
 				final ActionSetsEvent event = new ActionSetsEvent(newActionSets);
-				listener.actionSetsChanged(event);
+				actionSetsListener.actionSetsChanged(event);
 			}
 		}
 	}
@@ -2851,10 +2845,9 @@
 	}
 
 	/* package */void fireBackgroundSaveStarted() {
-		Object[] listeners = backgroundSaveListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IBackgroundSaveListener listener = (IBackgroundSaveListener) listeners[i];
-			listener.handleBackgroundSaveStarted();
+		for (Object listener : backgroundSaveListeners.getListeners()) {
+			IBackgroundSaveListener backgroundSaveListener = (IBackgroundSaveListener) listener;
+			backgroundSaveListener.handleBackgroundSaveStarted();
 		}
 	}
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java
index 57f63a9..209a7ea 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java
@@ -155,8 +155,7 @@
 		IMemento[] itemMementos = workingSetMemento
 				.getChildren(IWorkbenchConstants.TAG_ITEM);
 		final Set items = new HashSet();
-		for (int i = 0; i < itemMementos.length; i++) {
-			final IMemento itemMemento = itemMementos[i];
+		for (final IMemento itemMemento : itemMementos) {
 			final String factoryID = itemMemento
 					.getString(IWorkbenchConstants.TAG_FACTORY_ID);