Bug 509477 - Use lambdas in org.eclipse.ui.workbench - part 5

Change-Id: Ieae17ee1035ed43c8ff19187c78537e226ff1e8b
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
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 df054e0..83b6721 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
@@ -431,12 +431,9 @@
     			// has been fired.
     			// This is less threatening if the popup: menu
     			// contributions aren't tied to the evaluation service
-				workbench.getDisplay().asyncExec(new Runnable() {
-					@Override
-					public void run() {
-						final Workbench realWorkbench = (Workbench) workbench;
-						runCleanUp(realWorkbench);
-					}
+				workbench.getDisplay().asyncExec(() -> {
+					final Workbench realWorkbench = (Workbench) workbench;
+					runCleanUp(realWorkbench);
 				});
 			}
     	}
@@ -613,12 +610,7 @@
 				}
 
 				if (clearPopups) {
-					display.syncExec(new Runnable() {
-						@Override
-						public void run() {
-							clearStaticActions();
-						}
-					});
+					display.syncExec(() -> clearStaticActions());
 				}
 			}
 		}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/about/ProductInfoDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/about/ProductInfoDialog.java
index 9829111..73ed279 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/about/ProductInfoDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/about/ProductInfoDialog.java
@@ -12,8 +12,6 @@
 
 import org.eclipse.core.runtime.Assert;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
@@ -65,13 +63,7 @@
 		item.setData(page);
 		item.setData(ID, page.getId());
 		page.setPageContainer(this);
-		item.addDisposeListener(new DisposeListener() {
-
-			@Override
-			public void widgetDisposed(DisposeEvent e) {
-				page.dispose();
-			}
-		});
+		item.addDisposeListener(e -> page.dispose());
 		control.layout(true, true);
 	}
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java
index 40f84ef..1694862 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/activities/ProxyActivityManager.java
@@ -16,7 +16,6 @@
 import org.eclipse.ui.activities.ActivityManagerEvent;
 import org.eclipse.ui.activities.IActivity;
 import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IActivityManagerListener;
 import org.eclipse.ui.activities.ICategory;
 import org.eclipse.ui.activities.IIdentifier;
 
@@ -31,26 +30,22 @@
         this.activityManager = activityManager;
 
         this.activityManager
-                .addActivityManagerListener(new IActivityManagerListener() {
-                    @Override
-					public void activityManagerChanged(
-                            ActivityManagerEvent activityManagerEvent) {
-                        ActivityManagerEvent proxyActivityManagerEvent = new ActivityManagerEvent(
-                                ProxyActivityManager.this, activityManagerEvent
-                                        .haveDefinedActivityIdsChanged(),
-                                activityManagerEvent
-                                        .haveDefinedCategoryIdsChanged(),
-                                activityManagerEvent
-                                        .haveEnabledActivityIdsChanged(),
-                                activityManagerEvent
-                                        .getPreviouslyDefinedActivityIds(),
-                                activityManagerEvent
-                                        .getPreviouslyDefinedCategoryIds(),
-                                activityManagerEvent
-                                        .getPreviouslyEnabledActivityIds());
-                        fireActivityManagerChanged(proxyActivityManagerEvent);
-                    }
-                });
+                .addActivityManagerListener(activityManagerEvent -> {
+                  ActivityManagerEvent proxyActivityManagerEvent = new ActivityManagerEvent(
+				    ProxyActivityManager.this, activityManagerEvent
+				            .haveDefinedActivityIdsChanged(),
+				    activityManagerEvent
+				            .haveDefinedCategoryIdsChanged(),
+				    activityManagerEvent
+				            .haveEnabledActivityIdsChanged(),
+				    activityManagerEvent
+				            .getPreviouslyDefinedActivityIds(),
+				    activityManagerEvent
+				            .getPreviouslyDefinedCategoryIds(),
+				    activityManagerEvent
+				            .getPreviouslyEnabledActivityIds());
+                  fireActivityManagerChanged(proxyActivityManagerEvent);
+               });
     }
 
     @Override
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceStoreAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceStoreAdapter.java
index 4e7de5c..b587376 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceStoreAdapter.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferenceStoreAdapter.java
@@ -13,7 +13,6 @@
 import java.util.Set;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
 
 /**
  * @since 3.1
@@ -22,12 +21,7 @@
 
     private IPreferenceStore store;
 
-    private IPropertyChangeListener listener = new IPropertyChangeListener() {
-        @Override
-		public void propertyChange(PropertyChangeEvent event) {
-            firePropertyChange(event.getProperty());
-        }
-    };
+    private IPropertyChangeListener listener = event -> firePropertyChange(event.getProperty());
 
     public PreferenceStoreAdapter(IPreferenceStore toConvert) {
         this.store = toConvert;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferencesAdapter.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferencesAdapter.java
index 3247b65..05e2900 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferencesAdapter.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/preferences/PreferencesAdapter.java
@@ -20,12 +20,7 @@
 public final class PreferencesAdapter extends PropertyMapAdapter {
     private Preferences store;
 
-    private Preferences.IPropertyChangeListener listener = new Preferences.IPropertyChangeListener() {
-        @Override
-		public void propertyChange(Preferences.PropertyChangeEvent event) {
-            firePropertyChange(event.getProperty());
-        }
-    };
+    private Preferences.IPropertyChangeListener listener = event -> firePropertyChange(event.getProperty());
 
     public PreferencesAdapter(Preferences toConvert) {
         this.store = toConvert;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java
index cbb298a..7b488cc 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressAnimationItem.java
@@ -27,8 +27,6 @@
 import org.eclipse.swt.accessibility.AccessibleAdapter;
 import org.eclipse.swt.accessibility.AccessibleEvent;
 import org.eclipse.swt.accessibility.AccessibleListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.MouseAdapter;
 import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseListener;
@@ -296,15 +294,12 @@
 		}
 
 		top = new Composite(parent, SWT.NULL);
-		top.addDisposeListener(new DisposeListener() {
-			@Override
-			public void widgetDisposed(DisposeEvent e) {
-				FinishedJobs.getInstance().removeListener(
-						ProgressAnimationItem.this);
-				noneImage.dispose();
-				okImage.dispose();
-				errorImage.dispose();
-			}
+		top.addDisposeListener(e -> {
+			FinishedJobs.getInstance().removeListener(
+					ProgressAnimationItem.this);
+			noneImage.dispose();
+			okImage.dispose();
+			errorImage.dispose();
 		});
 
 		boolean isCarbon = Util.isMac();
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java
index 6ec3a1b..c70dc35 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressCanvasViewer.java
@@ -18,10 +18,6 @@
 import org.eclipse.jface.viewers.IBaseLabelProvider;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.graphics.FontMetrics;
 import org.eclipse.swt.graphics.GC;
 import org.eclipse.swt.graphics.Point;
@@ -89,12 +85,7 @@
      */
     @Override
 	protected void hookControl(Control control) {
-        control.addDisposeListener(new DisposeListener() {
-            @Override
-			public void widgetDisposed(DisposeEvent event) {
-                handleDispose(event);
-            }
-        });
+        control.addDisposeListener(event -> handleDispose(event));
     }
 
     @Override
@@ -140,52 +131,49 @@
     }
 
     private void initializeListeners() {
-        canvas.addPaintListener(new PaintListener() {
-            @Override
-			public void paintControl(PaintEvent event) {
+        canvas.addPaintListener(event -> {
 
-                GC gc = event.gc;
-                Transform transform = null;
-                if (orientation == SWT.VERTICAL) {
-	                transform = new Transform(event.display);
-	            	transform.translate(TrimUtil.TRIM_DEFAULT_HEIGHT, 0);
-	            	transform.rotate(90);
-                }
-                ILabelProvider labelProvider = (ILabelProvider) getLabelProvider();
+		    GC gc = event.gc;
+		    Transform transform = null;
+		    if (orientation == SWT.VERTICAL) {
+		        transform = new Transform(event.display);
+		    	transform.translate(TrimUtil.TRIM_DEFAULT_HEIGHT, 0);
+		    	transform.rotate(90);
+		    }
+		    ILabelProvider labelProvider = (ILabelProvider) getLabelProvider();
 
-                int itemCount = Math.min(displayedItems.length, numShowItems);
+		    int itemCount = Math.min(displayedItems.length, numShowItems);
 
-                int yOffset = 0;
-                int xOffset = 0;
-                if (numShowItems == 1) {//If there is a single item try to center it
-                    Rectangle clientArea = canvas.getParent().getClientArea();
-                    if (orientation == SWT.HORIZONTAL) {
-                    	int size = clientArea.height;
-	                    yOffset = size - (fontMetrics.getHeight());
-	                    yOffset = yOffset / 2;
-                    } else {
-                    	int size = clientArea.width;
-                    	xOffset = size - (fontMetrics.getHeight());
-                    	xOffset = xOffset / 2;
-                    }
-                }
+		    int yOffset = 0;
+		    int xOffset = 0;
+		    if (numShowItems == 1) {//If there is a single item try to center it
+		        Rectangle clientArea = canvas.getParent().getClientArea();
+		        if (orientation == SWT.HORIZONTAL) {
+		        	int size1 = clientArea.height;
+		            yOffset = size1 - (fontMetrics.getHeight());
+		            yOffset = yOffset / 2;
+		        } else {
+		        	int size2 = clientArea.width;
+		        	xOffset = size2 - (fontMetrics.getHeight());
+		        	xOffset = xOffset / 2;
+		        }
+		    }
 
-                for (int i = 0; i < itemCount; i++) {
-                    String string = labelProvider.getText(displayedItems[i]);
-                    if(string == null) {
-						string = "";//$NON-NLS-1$
-					}
-                    if (orientation == SWT.HORIZONTAL) {
-                    	gc.drawString(string, 2, yOffset + (i * fontMetrics.getHeight()), true);
-                    } else {
-		            	gc.setTransform(transform);
-                    	gc.drawString(string, xOffset + (i * fontMetrics.getHeight()), 2, true);
-                    }
-                }
-                if (transform != null)
-                	transform.dispose();
-            }
-        });
+		    for (int i = 0; i < itemCount; i++) {
+		        String string = labelProvider.getText(displayedItems[i]);
+		        if(string == null) {
+					string = "";//$NON-NLS-1$
+				}
+		        if (orientation == SWT.HORIZONTAL) {
+		        	gc.drawString(string, 2, yOffset + (i * fontMetrics.getHeight()), true);
+		        } else {
+		        	gc.setTransform(transform);
+		        	gc.drawString(string, xOffset + (i * fontMetrics.getHeight()), 2, true);
+		        }
+		    }
+		    if (transform != null)
+		    	transform.dispose();
+		});
     }
 
     @Override
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java
index b4dcb28..20122c6 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressInfoItem.java
@@ -57,10 +57,8 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.ProgressBar;
 import org.eclipse.swt.widgets.ToolBar;
 import org.eclipse.swt.widgets.ToolItem;
@@ -261,21 +259,18 @@
 				cancelOrRemove();
 			}
 		});
-		actionBar.addListener(SWT.Traverse, new Listener() {
-			@Override
-			public void handleEvent(Event event) {
-				if (indexListener == null) {
-					return;
-				}
-				int detail = event.detail;
-				if (detail == SWT.TRAVERSE_ARROW_NEXT) {
-					indexListener.selectNext();
-				}
-				if (detail == SWT.TRAVERSE_ARROW_PREVIOUS) {
-					indexListener.selectPrevious();
-				}
-
+		actionBar.addListener(SWT.Traverse, event -> {
+			if (indexListener == null) {
+				return;
 			}
+			int detail = event.detail;
+			if (detail == SWT.TRAVERSE_ARROW_NEXT) {
+				indexListener.selectNext();
+			}
+			if (detail == SWT.TRAVERSE_ARROW_PREVIOUS) {
+				indexListener.selectPrevious();
+			}
+
 		});
 		updateToolBarValues();
 
@@ -786,17 +781,14 @@
 				}
 			});
 
-			link.addListener(SWT.Resize, new Listener() {
-				@Override
-				public void handleEvent(Event event) {
+			link.addListener(SWT.Resize, event -> {
 
-					Object text = link.getData(TEXT_KEY);
-					if (text == null)
-						return;
+				Object text = link.getData(TEXT_KEY);
+				if (text == null)
+					return;
 
-					updateText((String) text, link);
+				updateText((String) text, link);
 
-				}
 			});
 			taskEntries.add(link);
 		} else {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
index a072e4c..c0ff8a1 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
@@ -415,13 +415,10 @@
 	}
 
 	private INotificationListener createNotificationListener() {
-		return new StatusManager.INotificationListener(){
-			@Override
-			public void statusManagerNotified(int type, StatusAdapter[] adapters) {
-				if(type == INotificationTypes.HANDLED){
-					FinishedJobs.getInstance().removeErrorJobs();
-					StatusAdapterHelper.getInstance().clear();
-				}
+		return (type, adapters) -> {
+			if(type == INotificationTypes.HANDLED){
+				FinishedJobs.getInstance().removeErrorJobs();
+				StatusAdapterHelper.getInstance().clear();
 			}
 		};
 	}
@@ -845,20 +842,17 @@
 		final InvocationTargetException[] invokes = new InvocationTargetException[1];
 		final InterruptedException[] interrupt = new InterruptedException[1];
 		// Show a busy cursor until the dialog opens.
-		Runnable dialogWaitRunnable = new Runnable() {
-			@Override
-			public void run() {
-				try {
-					dialog.setOpenOnRun(false);
-					setUserInterfaceActive(false);
-					dialog.run(true, true, runnable);
-				} catch (InvocationTargetException e) {
-					invokes[0] = e;
-				} catch (InterruptedException e) {
-					interrupt[0] = e;
-				} finally {
-					setUserInterfaceActive(true);
-				}
+		Runnable dialogWaitRunnable = () -> {
+			try {
+				dialog.setOpenOnRun(false);
+				setUserInterfaceActive(false);
+				dialog.run(true, true, runnable);
+			} catch (InvocationTargetException e1) {
+				invokes[0] = e1;
+			} catch (InterruptedException e2) {
+				interrupt[0] = e2;
+			} finally {
+				setUserInterfaceActive(true);
 			}
 		};
 		busyCursorWhile(dialogWaitRunnable, dialog);
@@ -1032,12 +1026,7 @@
 			final ISchedulingRule rule) throws InvocationTargetException, InterruptedException {
 		final RunnableWithStatus runnableWithStatus = new RunnableWithStatus(context, runnable, rule);
 		final Display display = Display.getDefault();
-		display.syncExec(new Runnable() {
-			@Override
-			public void run() {
-				BusyIndicator.showWhile(display, runnableWithStatus);
-			}
-		});
+		display.syncExec(() -> BusyIndicator.showWhile(display, runnableWithStatus));
 
 		IStatus status = runnableWithStatus.getStatus();
 		if (!status.isOK()) {
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java
index 864db7b..0bdf290 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManagerUtil.java
@@ -15,7 +15,6 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Arrays;
-import java.util.Comparator;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.QualifiedName;
 import org.eclipse.core.runtime.jobs.Job;
@@ -73,12 +72,7 @@
 			 */
 			for (int retries = 3; retries > 0; retries--) {
 				try {
-					Arrays.sort(elements, new Comparator<Object>() {
-						@Override
-						public int compare(Object a, Object b) {
-							return ProgressViewerComparator.this.compare(viewer, a, b);
-						}
-					});
+					Arrays.sort(elements, (a, b) -> ProgressViewerComparator.this.compare(viewer, a, b));
 					return; // success
 				} catch (IllegalArgumentException e) {
 					// retry
@@ -611,13 +605,7 @@
 	 * @return IShellProvider
 	 */
 	static IShellProvider getShellProvider() {
-		return new IShellProvider() {
-
-			@Override
-			public Shell getShell() {
-				return getDefaultParent();
-			}
-		};
+		return () -> getDefaultParent();
 	}
 
 	/**
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java
index acedb63..6c9bb5e 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java
@@ -26,8 +26,6 @@
 import org.eclipse.swt.custom.BusyIndicator;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
 import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Button;
@@ -77,14 +75,11 @@
 	protected void configureShell(Shell shell) {
 		super.configureShell(shell);
 		shell.setText(job.getName());
-		shell.addTraverseListener(new TraverseListener() {
-			@Override
-			public void keyTraversed(TraverseEvent e) {
-				if (e.detail == SWT.TRAVERSE_ESCAPE) {
-					cancelPressed();
-					e.detail = SWT.TRAVERSE_NONE;
-					e.doit = true;
-				}
+		shell.addTraverseListener(e -> {
+			if (e.detail == SWT.TRAVERSE_ESCAPE) {
+				cancelPressed();
+				e.detail = SWT.TRAVERSE_NONE;
+				e.doit = true;
 			}
 		});
 	}
@@ -199,19 +194,16 @@
 		// start with a quick busy indicator. Lock the UI as we
 		// want to preserve modality
 		BusyIndicator.showWhile(PlatformUI.getWorkbench().getDisplay(),
-				new Runnable() {
-					@Override
-					public void run() {
-						try {
-							synchronized (jobIsDone) {
-								if (job.getState() != Job.NONE) {
-									jobIsDone.wait(ProgressManagerUtil.SHORT_OPERATION_TIME);
-								}
+				() -> {
+					try {
+						synchronized (jobIsDone) {
+							if (job.getState() != Job.NONE) {
+								jobIsDone.wait(ProgressManagerUtil.SHORT_OPERATION_TIME);
 							}
-						} catch (InterruptedException e) {
-							// Do not log as this is a common operation from the
-							// lock listener
 						}
+					} catch (InterruptedException e) {
+						// Do not log as this is a common operation from the
+						// lock listener
 					}
 				});
 		job.removeJobChangeListener(jobListener);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java
index c636944..fbf67be 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorJobsDialog.java
@@ -303,20 +303,17 @@
 					return;
 				}
 
-                PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
-                    @Override
-					public void run() {
-						//Reset the watch if it is not safe to open
-						 if (!ProgressManagerUtil.safeToOpen(ProgressMonitorJobsDialog.this,null)){
-							  watchTicks();
-							  return;
-						 }
+                PlatformUI.getWorkbench().getDisplay().syncExec(() -> {
+					//Reset the watch if it is not safe to open
+					 if (!ProgressManagerUtil.safeToOpen(ProgressMonitorJobsDialog.this,null)){
+						  watchTicks();
+						  return;
+					 }
 
-                        if (!alreadyClosed) {
-							open();
-						}
-                    }
-                });
+				    if (!alreadyClosed) {
+						open();
+					}
+				});
             }
 
             @Override
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressView.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressView.java
index 252ef71..b3be11b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressView.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressView.java
@@ -12,7 +12,6 @@
 package org.eclipse.ui.internal.progress;
 
 import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.IToolBarManager;
 import org.eclipse.jface.action.MenuManager;
@@ -89,13 +88,10 @@
 		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
 		Menu menu = menuMgr.createContextMenu(viewer.getControl());
 		menuMgr.add(cancelAction);
-		menuMgr.addMenuListener(new IMenuListener() {
-			@Override
-			public void menuAboutToShow(IMenuManager manager) {
-				JobInfo info = getSelectedInfo();
-				if (info == null) {
-					return;
-				}
+		menuMgr.addMenuListener(manager -> {
+			JobInfo info = getSelectedInfo();
+			if (info == null) {
+				return;
 			}
 		});
 		menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageParameterValues.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageParameterValues.java
index a0171b5..d8550d7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageParameterValues.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferencePageParameterValues.java
@@ -15,8 +15,6 @@
 import java.util.TreeMap;
 
 import org.eclipse.core.commands.IParameterValues;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.preference.IPreferenceNode;
 import org.eclipse.jface.preference.PreferenceManager;
@@ -45,14 +43,10 @@
 
 	public PreferencePageParameterValues() {
 		Platform.getExtensionRegistry().addRegistryChangeListener(
-				new IRegistryChangeListener() {
-
-					@Override
-					public void registryChanged(IRegistryChangeEvent event) {
-						if (event.getExtensionDeltas(PlatformUI.PLUGIN_ID,
-								IWorkbenchRegistryConstants.PL_PREFERENCES).length > 0) {
-							preferenceMap = null;
-						}
+				event -> {
+					if (event.getExtensionDeltas(PlatformUI.PLUGIN_ID,
+							IWorkbenchRegistryConstants.PL_PREFERENCES).length > 0) {
+						preferenceMap = null;
 					}
 				});
 	}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferenceTransferRegistryReader.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferenceTransferRegistryReader.java
index 13d7ca6..5a6d887 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferenceTransferRegistryReader.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/registry/PreferenceTransferRegistryReader.java
@@ -15,7 +15,6 @@
 import com.ibm.icu.text.Collator;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -82,14 +81,11 @@
 		readPreferenceTransfers();
 		PreferenceTransferElement[] transfers = new PreferenceTransferElement[preferenceTransfers
 				.size()];
-		Collections.sort(preferenceTransfers, new Comparator() {
-			@Override
-			public int compare(Object o1, Object o2) {
-				String name1 = ((PreferenceTransferElement) o1).getName();
-				String name2 = ((PreferenceTransferElement) o2).getName();
+		Collections.sort(preferenceTransfers, (o1, o2) -> {
+			String name1 = ((PreferenceTransferElement) o1).getName();
+			String name2 = ((PreferenceTransferElement) o2).getName();
 
-				return Collator.getInstance().compare(name1, name2);
-			}
+			return Collator.getInstance().compare(name1, name2);
 		});
 		preferenceTransfers.toArray(transfers);
 		return transfers;
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/services/PreferencePersistence.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/services/PreferencePersistence.java
index b0325aa..9c79c98 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/services/PreferencePersistence.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/services/PreferencePersistence.java
@@ -432,12 +432,9 @@
 	protected PreferencePersistence() {
 		super();
 
-		preferenceChangeListener = new IPropertyChangeListener() {
-			@Override
-			public final void propertyChange(final PropertyChangeEvent event) {
-				if (isChangeImportant(event)) {
-					read();
-				}
+		preferenceChangeListener = event -> {
+			if (isChangeImportant(event)) {
+				read();
 			}
 		};
 	}