Use jdk 5 for-each loop

Replace simple uses of Iterator with a corresponding for-loop. Also add
missing braces on loops as necessary.

Change-Id: I41b3c365ba0817028550574834223d2d72569144
Signed-off-by: chammer <carsten.hammer@t-online.de>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
index 599fdc7..135b669 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
@@ -1601,8 +1601,7 @@
 
 			boolean containsSpace = false;
 			char[] characters = arguments[i].toCharArray();
-			for (int j = 0; j < characters.length; j++) {
-				char ch = characters[j];
+			for (char ch : characters) {
 				if (ch == ' ' || ch == '\t') {
 					containsSpace = true;
 					buf.append('"');
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
index a7347bf..f54a3ad 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
@@ -122,9 +122,8 @@
 
 		//check sub-folders
 		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
+			for (ISourceContainer container : getSourceContainers()) {
+				Object[] objects = container.findSourceElements(name);
 				if (objects == null || objects.length == 0) {
 					continue;
 				}
@@ -172,15 +171,13 @@
 		if(fSubfolders) {
 			IResource[] resources = getContainer().members();
 			List<ISourceContainer> list = new ArrayList<>(resources.length);
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
+			for (IResource resource : resources) {
 				if (resource.getType() == IResource.FOLDER) {
 					list.add(new FolderSourceContainer((IFolder)resource, fSubfolders));
 				}
 			}
 			ISourceContainer[] containers = list.toArray(new ISourceContainer[list.size()]);
-			for (int i = 0; i < containers.length; i++) {
-				ISourceContainer container = containers[i];
+			for (ISourceContainer container : containers) {
 				container.init(getDirector());
 			}
 			return containers;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
index d3a27a2..223835e 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
@@ -107,9 +107,7 @@
 	 */
 	private void loadWatchExpressionDelegates() {
 		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), "watchExpressionDelegates"); //$NON-NLS-1$
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
+		for (IConfigurationElement element : extensionPoint.getConfigurationElements()) {
 			if (element.getName().equals("watchExpressionDelegate")) { //$NON-NLS-1$
 				String debugModel = element.getAttribute("debugModel"); //$NON-NLS-1$
 				if (debugModel == null || debugModel.length() == 0) {
@@ -236,8 +234,7 @@
 		Document document= LaunchManager.getDocument();
 		Element rootElement= document.createElement(WATCH_EXPRESSIONS_TAG);
 		document.appendChild(rootElement);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression= expressions[i];
+		for (IExpression expression : expressions) {
 			if (expression instanceof IWatchExpression) {
 				Element element= document.createElement(EXPRESSION_TAG);
 				element.setAttribute(TEXT_TAG, expression.getExpressionText());
@@ -275,8 +272,7 @@
 			if (fExpressions == null) {
 				fExpressions = new Vector<>(expressions.length);
 			}
-			for (int i = 0; i < expressions.length; i++) {
-				IExpression expression = expressions[i];
+			for (IExpression expression : expressions) {
 				if (fExpressions.indexOf(expression) == -1) {
 					added.add(expression);
 					fExpressions.add(expression);
@@ -336,8 +332,7 @@
 					insertionIndex++;
 				}
 				inserted = new ArrayList<>(expressions.length);
-				for (int i = 0; i < expressions.length; i++) {
-					IExpression expression = expressions[i];
+				for (IExpression expression : expressions) {
 					if (fExpressions.indexOf(expression) == -1) {
 						//Insert in the same order as the array is passed
 						fExpressions.add(insertionIndex+inserted.size(), expression);
@@ -387,10 +382,10 @@
 				insertionIndex++;
 			}
 
-			for (int i = 0; i < expressions.length; i++) {
-				int removeIndex = fExpressions.indexOf(expressions[i]);
+			for (IExpression expression : expressions) {
+				int removeIndex = fExpressions.indexOf(expression);
 				if (removeIndex >= 0){
-					movedExpressions.add(expressions[i]);
+					movedExpressions.add(expression);
 					if (removeIndex < insertionIndex){
 						insertionIndex--;
 					}
@@ -421,8 +416,7 @@
 			if (fExpressions == null) {
 				return;
 			}
-			for (int i = 0; i < expressions.length; i++) {
-				IExpression expression = expressions[i];
+			for (IExpression expression : expressions) {
 				if (fExpressions.remove(expression)) {
 					removed.add(expression);
 				}
@@ -566,8 +560,8 @@
 				fType = update;
 				for (IExpressionListener iExpressionListener : fListeners) {
 					fListener = iExpressionListener;
-					for (int j = 0; j < expressions.length; j++) {
-						fExpression = expressions[j];
+					for (IExpression expression : expressions) {
+						fExpression = expression;
 						SafeRunner.run(this);
 					}
 				}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java
index f8961d0..df143e5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java
@@ -67,9 +67,8 @@
 						getAdapter(receiver, IDebugModelProvider.class);
 			}
 			if (modelProvider != null) {
-				String[] ids = modelProvider.getModelIdentifiers();
-				for (int i = 0; i < ids.length; i++) {
-					if (ids[i].equals(expectedValue)) {
+				for (String id : modelProvider.getModelIdentifiers()) {
+					if (id.equals(expectedValue)) {
 						return true;
 					}
 				}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
index 817aa19..2a88857 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
@@ -198,8 +198,8 @@
 			}
 		}
 		// ABORT - no command processors
-		for (int i = 0; i < actions.length; i++) {
-			actions[i].setEnabled(false);
+		for (IEnabledTarget action : actions) {
+			action.setEnabled(false);
 		}
 	}
 
@@ -252,8 +252,7 @@
 	 */
 	private Map<IDebugCommandHandler, List<Object>> collate(Object[] elements, Class<?> handlerType) {
 		Map<IDebugCommandHandler, List<Object>> map = new HashMap<>();
-		for (int i = 0; i < elements.length; i++) {
-			Object element = elements[i];
+		for (Object element : elements) {
 			IDebugCommandHandler handler = getHandler(element, handlerType);
 			if (handler == null) {
 				return null;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
index 73e9c12..b81101e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
@@ -139,9 +139,7 @@
 	 */
 	private void loadDebugModelContextBindings() {
 		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_DEBUG_MODEL_CONTEXT_BINDINGS);
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
+		for (IConfigurationElement element : extensionPoint.getConfigurationElements()) {
 			String modelIdentifier = element.getAttribute(ATTR_DEBUG_MODEL_ID);
 			String contextId = element.getAttribute(ATTR_CONTEXT_ID);
 			synchronized (this) {
@@ -215,16 +213,15 @@
 				alreadyEnabled = new HashSet<>();
 				fLaunchToModelIds.put(launch, alreadyEnabled);
 			}
-			for (int i = 0; i < modelIds.length; i++) {
-				String id = modelIds[i];
+			for (String id : modelIds) {
 				if (!alreadyEnabled.contains(id)) {
 					alreadyEnabled.add(id);
 					toEnable.add(id);
 				}
 			}
 		}
-		for (int i = 0; i < toEnable.size(); i++) {
-			activateModel(toEnable.get(i), launch);
+		for (String element : toEnable) {
+			activateModel(element, launch);
 		}
 
 		enableActivitiesFor(modelIds);
@@ -338,8 +335,7 @@
 	@Override
 	public void launchesTerminated(ILaunch[] launches) {
 		// disable activated contexts
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
+		for (ILaunch launch : launches) {
 			List<IContextActivation> activations;
 			synchronized(this) {
 				activations = fLanuchToContextActivations.remove(launch);
@@ -385,8 +381,7 @@
 		List<String> workbenchContexts = new ArrayList<>();
 		String[] modelIds = getDebugModelIds(target);
 		if (modelIds != null) {
-			for (int i = 0; i < modelIds.length; i++) {
-				String modelId = modelIds[i];
+			for (String modelId : modelIds) {
 				synchronized (this) {
 					List<String> contextIds = fModelToContextIds.get(modelId);
 					if (contextIds != null) {
@@ -410,8 +405,7 @@
 	 */
 	private void enableActivitiesFor(String[] modelIds) {
 		Set<String> activities = null;
-		for (int i = 0; i < modelIds.length; i++) {
-			String id = modelIds[i];
+		for (String id : modelIds) {
 			if (!fModelsEnabledForActivities.contains(id)) {
 				Set<String> ids = fModelToActivities.get(id);
 				if (ids == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
index 2252c2b..7b99a07 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
@@ -18,7 +18,6 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -251,10 +250,9 @@
 				}
 			}
 
-			outer: for (Iterator<String> itr = fListenersByPartId.keySet().iterator(); itr.hasNext();) {
-				String listenerPartId = itr.next();
-				for (int i = 0; i < fProviders.size(); i++) {
-					String providerPartId = getCombinedPartId(fProviders.get(i).getPart());
+			outer: for (String listenerPartId : fListenersByPartId.keySet()) {
+				for (IDebugContextProvider provider : fProviders) {
+					String providerPartId = getCombinedPartId(provider.getPart());
 					if ((listenerPartId == null && providerPartId == null) ||
 						(listenerPartId != null && listenerPartId.equals(providerPartId)))
 					{
@@ -285,10 +283,9 @@
 				retVal = new ListenerList<>();
 			}
 
-			outer: for (Iterator<String> itr = fPostListenersByPartId.keySet().iterator(); itr.hasNext();) {
-				String listenerPartId = itr.next();
-				for (int i = 0; i < fProviders.size(); i++) {
-					String providerPartId = getCombinedPartId(fProviders.get(i).getPart());
+			outer: for (String listenerPartId : fPostListenersByPartId.keySet()) {
+				for (IDebugContextProvider provider : fProviders) {
+					String providerPartId = getCombinedPartId(provider.getPart());
 					if ((listenerPartId == null && providerPartId == null) || (listenerPartId != null && listenerPartId.equals(providerPartId))) {
 						continue outer;
 					}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/DebugTextHover.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/DebugTextHover.java
index 9ca00b6..fae00ba 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/DebugTextHover.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/DebugTextHover.java
@@ -85,9 +85,7 @@
 	 */
 	private static String replaceHTMLChars(String variableText) {
 		StringBuilder buffer= new StringBuilder(variableText.length());
-		char[] characters = variableText.toCharArray();
-		for (int i = 0; i < characters.length; i++) {
-			char character= characters[i];
+		for (char character : variableText.toCharArray()) {
 			switch (character) {
 				case '<':
 					buffer.append("&lt;"); //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java
index dc4f6f3..a0086d7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java
@@ -262,9 +262,7 @@
 			if (view != null) {
 				// copy over properties
 				IPresentationContext copy = ((TreeModelViewer)view.getViewer()).getPresentationContext();
-				String[] properties = copy.getProperties();
-				for (int i = 0; i < properties.length; i++) {
-					String key = properties[i];
+				for (String key : copy.getProperties()) {
 					fContext.setProperty(key, copy.getProperty(key));
 				}
 			}
@@ -276,9 +274,8 @@
 				// copy over filters
 				StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
 				if (structuredViewer != null) {
-					ViewerFilter[] filters = structuredViewer.getFilters();
-					for (int i = 0; i < filters.length; i++) {
-						fViewer.addFilter(filters[i]);
+					for (ViewerFilter filter : structuredViewer.getFilters()) {
+						fViewer.addFilter(filter);
 					}
 				}
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
index ea34ebb..3c27738 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
@@ -16,7 +16,6 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Vector;
 
@@ -122,11 +121,9 @@
 				map = ((DelegatingModelPresentation) current).getAttributes();
 			}
 			if(map != null) {
-				Object key = null;
 				IDebugModelPresentation newpres = labelprovider.getPresentation();
-				for (Iterator<String> iter = map.keySet().iterator(); iter.hasNext();) {
-					key = iter.next();
-					newpres.setAttribute((String) key, map.get(key));
+				for (String key : map.keySet()) {
+					newpres.setAttribute(key, map.get(key));
 				}
 			}
 		}
@@ -147,12 +144,10 @@
 	 * Performs the initialization of the viewer from a selection
 	 */
 	private void initViewerState() {
-		Object[] items = fSelection.toArray();
 		fViewer.setGrayedElements(new Object[] {});
 		fViewer.setCheckedElements(new Object[] {});
 		ArrayList<IBreakpoint> list = new ArrayList<>();
-		for(int i = 0; i < items.length; i++) {
-			Object item = items[i];
+		for (Object item : fSelection.toArray()) {
 			IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(item, IBreakpoint.class);
 			if(breakpoint != null) {
 				list.add(breakpoint);
@@ -161,8 +156,8 @@
 				getBreakpointsFromContainers((IBreakpointContainer)item, list);
 			}
 		}
-		for(int i = 0; i < list.size(); i++) {
-			updateCheckedState(list.get(i), true);
+		for (IBreakpoint element : list) {
+			updateCheckedState(element, true);
 		}
 	}
 
@@ -182,11 +177,10 @@
 	 * @return the selection from the viewer with no duplicates
 	 */
 	public IStructuredSelection getCheckedElements() {
-		Object[] list = fViewer.getCheckedElements();
 		Vector<Object> selected = new Vector<>();
-		for(int i = 0; i < list.length; i++) {
-			if(!selected.contains(list[i])) {
-				selected.addElement(list[i]);
+		for (Object element : fViewer.getCheckedElements()) {
+			if(!selected.contains(element)) {
+				selected.addElement(element);
 			}
 		}
 		return new StructuredSelection(selected);
@@ -207,9 +201,8 @@
 	 */
 	private Widget[] searchItems(Object element) {
 		ArrayList<TreeItem> list = new ArrayList<>();
-		TreeItem[] items = fTree.getItems();
-		for (int i = 0; i < items.length; i++) {
-			findAllOccurrences(items[i], element, list);
+		for (TreeItem item : fTree.getItems()) {
+			findAllOccurrences(item, element, list);
 		}
 		return list.toArray(new Widget[0]);
 	}
@@ -224,9 +217,8 @@
 		if (element.equals(item.getData())) {
 				list.add(item);
 		}
-		TreeItem[] items = item.getItems();
-		for (int i = 0; i < items.length; i++) {
-			findAllOccurrences(items[i], element, list);
+		for (TreeItem childItem : item.getItems()) {
+			findAllOccurrences(childItem, element, list);
 		}
 	}
 
@@ -239,10 +231,9 @@
 	private void updateCheckedState(Object obj, boolean enable) {
 		IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(obj, IBreakpoint.class);
 		if (breakpoint != null) {
-			Widget[] list = searchItems(obj);
 			TreeItem item = null;
-			for(int i = 0; i < list.length; i++) {
-				item = (TreeItem)list[i];
+			for (Widget element : searchItems(obj)) {
+				item = (TreeItem)element;
 				item.setChecked(enable);
 				refreshParents(item);
 			}
@@ -250,8 +241,8 @@
 		else if (obj instanceof BreakpointContainer) {
 			ArrayList<IBreakpoint> bps = new ArrayList<>();
 			getBreakpointsFromContainers((BreakpointContainer)obj, bps);
-			for(int j = 0; j < bps.size(); j++) {
-				updateCheckedState(bps.get(j), enable);
+			for (IBreakpoint bp : bps) {
+				updateCheckedState(bp, enable);
 			}
 		}
 	 }
@@ -291,10 +282,9 @@
 	 * @return treu is any one or more children is grayed, false otherwise
 	 */
 	private int getNumberChildrenGrayed(TreeItem parent) {
-		TreeItem[] children = parent.getItems();
 		int count = 0;
-		for(int i = 0; i < children.length; i++) {
-			if(children[i].getGrayed()) {
+		for (TreeItem element : parent.getItems()) {
+			if(element.getGrayed()) {
 				count++;
 			}
 		}
@@ -307,10 +297,9 @@
 	 * @return true if all children are checked, false otherwise
 	 */
 	private int getNumberChildrenChecked(TreeItem parent) {
-		TreeItem[] children = parent.getItems();
 		int count = 0;
-		for(int i = 0; i < children.length; i++) {
-			if(children[i].getChecked()) {
+		for (TreeItem element : parent.getItems()) {
+			if(element.getChecked()) {
 				count++;
 			}
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
index 2d3ea76..51813e8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
@@ -60,21 +60,21 @@
 
 		@Override
 		public void update(ILabelUpdate[] updates) {
-			for (int i = 0; i < updates.length; i++) {
-				String[] columnIds = updates[i].getColumnIds();
+			for (ILabelUpdate update : updates) {
+				String[] columnIds = update.getColumnIds();
 				if (columnIds == null) {
-					updateLabel(updates[i], 0);
+					updateLabel(update, 0);
 				} else {
 					for (int j = 0; j < columnIds.length; j++) {
 						if (IDebugUIConstants.COLUMN_ID_VARIABLE_NAME.equals(columnIds[j])) {
-							updateLabel(updates[i], j);
+							updateLabel(update, j);
 						} else {
-							updates[i].setLabel(IInternalDebugCoreConstants.EMPTY_STRING, j);
+							update.setLabel(IInternalDebugCoreConstants.EMPTY_STRING, j);
 						}
 					}
 				}
 
-				updates[i].done();
+				update.done();
 			}
 		}
 
@@ -148,21 +148,21 @@
 	 * @since 3.4
 	 */
 	private void findDelegates(Map<IElementContentProvider, List<IViewerUpdate>> delegateMap, List<IViewerUpdate> notDelegated, IViewerUpdate[] updates) {
-		for (int i = 0; i < updates.length; i++) {
-			if (updates[i] instanceof ViewerUpdateMonitor && !((ViewerUpdateMonitor)updates[i]).isDelegated() && updates[i].getElement() instanceof IExpression){
-				IElementContentProvider delegate = ViewerAdapterService.getContentProvider(((IExpression)updates[i].getElement()).getValue());
+		for (IViewerUpdate update : updates) {
+			if (update instanceof ViewerUpdateMonitor && !((ViewerUpdateMonitor)update).isDelegated() && update.getElement() instanceof IExpression){
+				IElementContentProvider delegate = ViewerAdapterService.getContentProvider(((IExpression)update.getElement()).getValue());
 				if (delegate != null){
 					List<IViewerUpdate> updateList = delegateMap.get(delegate);
 					if (updateList == null){
 						updateList = new ArrayList<>();
 						delegateMap.put(delegate, updateList);
 					}
-					((ViewerUpdateMonitor)updates[i]).setDelegated(true);
-					updateList.add(updates[i]);
+					((ViewerUpdateMonitor)update).setDelegated(true);
+					updateList.add(update);
 					continue;
 				}
 			}
-			notDelegated.add(updates[i]);
+			notDelegated.add(update);
 		}
 	}
 
@@ -174,8 +174,8 @@
 			if (expression.hasErrors()) {
 				String[] messages = expression.getErrorMessages();
 				LinkedHashSet<ErrorMessageElement> set = new LinkedHashSet<>(messages.length);
-				for (int i = 0; i < messages.length; i++) {
-					set.add(new ErrorMessageElement(messages[i]));
+				for (String message : messages) {
+					set.add(new ErrorMessageElement(message));
 				}
 				return set.toArray();
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java
index a6b1241..2f3171d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java
@@ -55,21 +55,21 @@
 
 		@Override
 		public void update(ILabelUpdate[] updates) {
-			for (int i = 0; i < updates.length; i++) {
-				String[] columnIds = updates[i].getColumnIds();
+			for (ILabelUpdate update : updates) {
+				String[] columnIds = update.getColumnIds();
 				if (columnIds == null) {
-					updateLabel(updates[i], 0);
+					updateLabel(update, 0);
 				} else {
 					for (int j = 0; j < columnIds.length; j++) {
 						if (IDebugUIConstants.COLUMN_ID_VARIABLE_NAME.equals(columnIds[j])) {
-							updateLabel(updates[i], j);
+							updateLabel(update, j);
 						} else {
-							updates[i].setLabel(IInternalDebugCoreConstants.EMPTY_STRING, j);
+							update.setLabel(IInternalDebugCoreConstants.EMPTY_STRING, j);
 						}
 					}
 				}
 
-				updates[i].done();
+				update.done();
 			}
 		}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
index ee7f585..ba0b93b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
@@ -57,9 +57,7 @@
 			@Override
 			public IStatus runInUIThread(IProgressMonitor monitor) {
 				if (!isDisposed()) {
-					IWorkbenchWindow[] workbenchWindows = PlatformUI.getWorkbench().getWorkbenchWindows();
-					for (int i = 0; i < workbenchWindows.length; i++) {
-						IWorkbenchWindow window = workbenchWindows[i];
+					for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
 						// Virtual viewer may have a null control.
 						Control control = viewer.getControl();
 						if (control != null && control.getShell().equals(window.getShell())) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
index 68eec9d..82407f3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
@@ -94,8 +94,7 @@
 		fTimer.cancel();
 		fTimerTasks.clear();
 		DebugPlugin.getDefault().removeDebugEventListener(this);
-		for (int i = 0; i < fHandlers.length; i++) {
-			DebugEventHandler handler = fHandlers[i];
+		for (DebugEventHandler handler : fHandlers) {
 			handler.dispose();
 		}
 	}
@@ -112,11 +111,9 @@
 		if (isDisposed()) {
 			return;
 		}
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
+		for (DebugEvent event : events) {
 			if (containsEvent(event)) {
-				for (int j = 0; j < fHandlers.length; j++) {
-					DebugEventHandler handler = fHandlers[j];
+				for (DebugEventHandler handler : fHandlers) {
 					if (isDisposed()) {
 						return;
 					}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
index 3dd39e4..abe9732 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
@@ -82,14 +82,10 @@
 	 */
 	private List<ITerminate> collectTargets(IProcess process) {
 		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunch[] launches = launchManager.getLaunches();
 		List<ITerminate> targets = new ArrayList<>();
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			IProcess[] processes = launch.getProcesses();
-			for (int j = 0; j < processes.length; j++) {
-				IProcess process2 = processes[j];
-				if (process2.equals(process)) {
+		for (ILaunch launch : launchManager.getLaunches()) {
+			for (IProcess proc : launch.getProcesses()) {
+				if (proc.equals(process)) {
 					IDebugTarget[] debugTargets = launch.getDebugTargets();
 					Collections.addAll(targets, debugTargets);
 					return targets; // all possible targets have been terminated for the launch.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
index 870b464..af04b51 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
@@ -85,26 +85,26 @@
 		fDropType = DROP_TYPE_DEFAULT;
 		event.detail = DND.DROP_NONE;
 
-		for (int i = 0; i < event.dataTypes.length; i++) {
-			if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataTypes[i])) {
+		for (TransferData dataType : event.dataTypes) {
+			if (LocalSelectionTransfer.getTransfer().isSupportedType(dataType)) {
 				if (isExpressionDrop()){
-					event.currentDataType = event.dataTypes[i];
+					event.currentDataType = dataType;
 					event.detail = DND.DROP_MOVE;
 					fDropType = DROP_TYPE_EXPRESSION;
 					break;
 				} else if (isVariableDrop()){
-					event.currentDataType = event.dataTypes[i];
+					event.currentDataType = dataType;
 					event.detail = DND.DROP_COPY;
 					fDropType = DROP_TYPE_VARIABLE;
 					break;
 				} else if (isWatchAdaptableElementDrop()){
-					event.currentDataType = event.dataTypes[i];
+					event.currentDataType = dataType;
 					event.detail = DND.DROP_COPY;
 					fDropType = DROP_TYPE_WATCH_ADAPTABLE_ELEMENT;
 					break;
 				}
-			} else if (TextTransfer.getInstance().isSupportedType(event.dataTypes[i])) {
-				event.currentDataType = event.dataTypes[i];
+			} else if (TextTransfer.getInstance().isSupportedType(dataType)) {
+				event.currentDataType = dataType;
 				event.detail = DND.DROP_COPY;
 				fDropType = DROP_TYPE_DEFAULT;
 				break;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
index d86750f..d49abd0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
@@ -579,9 +579,8 @@
 	 * @return whether the new name should be used or not
 	 */
 	private boolean canRenameVariable(String newVariableName) {
-		TableItem[] items = environmentTable.getTable().getItems();
-		for (int i = 0; i < items.length; i++) {
-			EnvironmentVariable existingVariable = (EnvironmentVariable) items[i].getData();
+		for (TableItem item : environmentTable.getTable().getItems()) {
+			EnvironmentVariable existingVariable = (EnvironmentVariable) item.getData();
 			if (existingVariable.getName().equals(newVariableName)) {
 
 				boolean overWrite = MessageDialog.openQuestion(getShell(),