Lambda conversions.

Change-Id: I63eb3d6e711383b83eaf6d35d560a135f8830bc8
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/ds/org.eclipse.pde.ds.annotations/src/org/eclipse/pde/ds/internal/annotations/AnnotationVisitor.java b/ds/org.eclipse.pde.ds.annotations/src/org/eclipse/pde/ds/internal/annotations/AnnotationVisitor.java
index 0823ae5..50717dd 100644
--- a/ds/org.eclipse.pde.ds.annotations/src/org/eclipse/pde/ds/internal/annotations/AnnotationVisitor.java
+++ b/ds/org.eclipse.pde.ds.annotations/src/org/eclipse/pde/ds/internal/annotations/AnnotationVisitor.java
@@ -433,17 +433,14 @@
 					final IDocument doc = document;
 					final CoreException[] ex = new CoreException[1];
 					final CountDownLatch latch = new CountDownLatch(1);
-					bufferManager.execute(new Runnable() {
-						@Override
-						public void run() {
-							try {
-								performEdit(doc, edit);
-							} catch (CoreException e) {
-								ex[0] = e;
-							}
-
-							latch.countDown();
+					bufferManager.execute(() -> {
+						try {
+							performEdit(doc, edit);
+						} catch (CoreException e) {
+							ex[0] = e;
 						}
+
+						latch.countDown();
 					});
 
 					try {
diff --git a/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/cheatsheet/simple/details/SimpleCSHelpDetails.java b/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/cheatsheet/simple/details/SimpleCSHelpDetails.java
index 0839f80..ca9e0d0 100755
--- a/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/cheatsheet/simple/details/SimpleCSHelpDetails.java
+++ b/ua/org.eclipse.pde.ua.ui/src/org/eclipse/pde/internal/ua/ui/editor/cheatsheet/simple/details/SimpleCSHelpDetails.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2010 IBM Corporation and others.
+ * Copyright (c) 2006, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,8 +25,6 @@
 import org.eclipse.pde.internal.ui.parts.ComboPart;
 import org.eclipse.pde.internal.ui.util.FileExtensionsFilter;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.graphics.Color;
@@ -201,30 +199,27 @@
 		});
 		// Attribute: href
 		// Attribute: contextId
-		fHelpText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				// Block UI updates
-				if (fBlockListeners) {
-					return;
-				}
-				// Ensure data object is defined
-				if (fHelpObject == null) {
-					return;
-				}
-				String selection = fHelpCombo.getSelection();
-				if (selection.equals(F_HELP_CONTEXT_ID)) {
-					// Help context ID was selected, save the field contents
-					// as such
-					fHelpObject.setContextId(fHelpText.getText());
-				} else {
-					// Help document link was selected, save the field contents
-					// as such
-					fHelpObject.setHref(fHelpText.getText());
-				}
-				// Update tooltip
-				fHelpText.setToolTipText(fHelpText.getText());
+		fHelpText.addModifyListener(e -> {
+			// Block UI updates
+			if (fBlockListeners) {
+				return;
 			}
+			// Ensure data object is defined
+			if (fHelpObject == null) {
+				return;
+			}
+			String selection = fHelpCombo.getSelection();
+			if (selection.equals(F_HELP_CONTEXT_ID)) {
+				// Help context ID was selected, save the field contents
+				// as such
+				fHelpObject.setContextId(fHelpText.getText());
+			} else {
+				// Help document link was selected, save the field contents
+				// as such
+				fHelpObject.setHref(fHelpText.getText());
+			}
+			// Update tooltip
+			fHelpText.setToolTipText(fHelpText.getText());
 		});
 
 		fHelpBrowse.addSelectionListener(new SelectionAdapter() {
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserModelChangeListener.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserModelChangeListener.java
index 0cd4c96..0bb133f 100644
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserModelChangeListener.java
+++ b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserModelChangeListener.java
@@ -22,12 +22,7 @@
 
 	@Override
 	public void modelChanged(final ModelChangeDelta[] delta) {
-		fRegistryBrowser.getSite().getWorkbenchWindow().getWorkbench().getDisplay().asyncExec(new Runnable() {
-			@Override
-			public void run() {
-				update(delta);
-			}
-		});
+		fRegistryBrowser.getSite().getWorkbenchWindow().getWorkbench().getDisplay().asyncExec(() -> update(delta));
 	}
 
 	private boolean topLevelElement(Object object) {
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/importWizard/java/$wizardPageClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/importWizard/java/$wizardPageClassName$.java
index fdec293..1ea078f 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/importWizard/java/$wizardPageClassName$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.1/importWizard/java/$wizardPageClassName$.java
@@ -11,8 +11,6 @@
 import org.eclipse.jface.preference.FileFieldEditor;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
@@ -46,11 +44,9 @@
 		fileSelectionArea.setLayout(fileSelectionLayout);
 		
 		editor = new FileFieldEditor("fileSelect","Select File: ",fileSelectionArea); //$NON-NLS-1$ //$NON-NLS-2$
-		editor.getTextControl(fileSelectionArea).addModifyListener(new ModifyListener(){
-			public void modifyText(ModifyEvent e) {
-				IPath path = new Path($wizardPageClassName$.this.editor.getStringValue());
-				setFileName(path.lastSegment());
-			}
+		editor.getTextControl(fileSelectionArea).addModifyListener(e -> {
+			IPath path = new Path($wizardPageClassName$.this.editor.getStringValue());
+			setFileName(path.lastSegment());
 		});
 %if wizardFileFilters == "All"
 		String[] extensions = new String[] { "*.*" }; //$NON-NLS-1$
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/multiPageEditor/java/$editorClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/multiPageEditor/java/$editorClassName$.java
index b177915..b5743f3 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/multiPageEditor/java/$editorClassName$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.1/multiPageEditor/java/$editorClassName$.java
@@ -187,16 +187,14 @@
 	 */
 	public void resourceChanged(final IResourceChangeEvent event){
 		if(event.getType() == IResourceChangeEvent.PRE_CLOSE){
-			Display.getDefault().asyncExec(new Runnable(){
-				public void run(){
-					IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
-					for (int i = 0; i<pages.length; i++){
-						if(((FileEditorInput)editor.getEditorInput()).getFile().getProject().equals(event.getResource())){
-							IEditorPart editorPart = pages[i].findEditor(editor.getEditorInput());
-							pages[i].closeEditor(editorPart,true);
-						}
+			Display.getDefault().asyncExec(() -> {
+				IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
+				for (int i = 0; i<pages.length; i++){
+					if(((FileEditorInput)editor.getEditorInput()).getFile().getProject().equals(event.getResource())){
+						IEditorPart editorPart = pages[i].findEditor(editor.getEditorInput());
+						pages[i].closeEditor(editorPart,true);
 					}
-				}            
+				}
 			});
 		}
 	}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardClassName$.java
index bb31260..e646ecc 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardClassName$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardClassName$.java
@@ -56,15 +56,13 @@
 	public boolean performFinish() {
 		final String containerName = page.getContainerName();
 		final String fileName = page.getFileName();
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					doFinish(containerName, fileName, monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
+		IRunnableWithProgress op = monitor -> {
+			try {
+				doFinish(containerName, fileName, monitor);
+			} catch (CoreException e) {
+				throw new InvocationTargetException(e);
+			} finally {
+				monitor.done();
 			}
 		};
 		try {
@@ -111,14 +109,12 @@
 		}
 		monitor.worked(1);
 		monitor.setTaskName("Opening file for editing...");
-		getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchPage page =
-					PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				try {
-					IDE.openEditor(page, file, true);
-				} catch (PartInitException e) {
-				}
+		getShell().getDisplay().asyncExec(() -> {
+			IWorkbenchPage page =
+				PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+			try {
+				IDE.openEditor(page, file, true);
+			} catch (PartInitException e) {
 			}
 		});
 		monitor.worked(1);
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardPageClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardPageClassName$.java
index 0dffc10..49b7ab7 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardPageClassName$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.1/newWizard/java/$wizardPageClassName$.java
@@ -8,8 +8,6 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.WizardPage;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.GridData;
@@ -58,12 +56,7 @@
 		containerText = new Text(container, SWT.BORDER | SWT.SINGLE);
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		containerText.setLayoutData(gd);
-		containerText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				dialogChanged();
-			}
-		});
+		containerText.addModifyListener(e -> dialogChanged());
 
 		Button button = new Button(container, SWT.PUSH);
 		button.setText("Browse...");
@@ -78,11 +71,7 @@
 		fileText = new Text(container, SWT.BORDER | SWT.SINGLE);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		fileText.setLayoutData(gd);
-		fileText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				dialogChanged();
-			}
-		});
+		fileText.addModifyListener(e -> dialogChanged());
 		initialize();
 		dialogChanged();
 		setControl(container);
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java
index 1dcfacd..9a36c4e 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java
@@ -32,11 +32,9 @@
 			return;
 		final IWorkbench workbench = PlatformUI.getWorkbench();
 		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
+		display.syncExec(() -> {
+			if (!display.isDisposed())
+				workbench.close();
 		});
 	}
 }
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java
index e39c921..0b16ba5 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java
@@ -31,11 +31,9 @@
 			return;
 		final IWorkbench workbench = PlatformUI.getWorkbench();
 		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
+		display.syncExec(() -> {
+			if (!display.isDisposed())
+				workbench.close();
 		});
 	}
 }
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java
index 018f588..2483c65 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java
@@ -31,11 +31,9 @@
 			return;
 		final IWorkbench workbench = PlatformUI.getWorkbench();
 		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
+		display.syncExec(() -> {
+			if (!display.isDisposed())
+				workbench.close();
 		});
 	}
 }
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java
index d7ae3fd..2483c65 100644
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java
+++ b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java
@@ -31,12 +31,9 @@
 			return;
 		final IWorkbench workbench = PlatformUI.getWorkbench();
 		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			@Override
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
+		display.syncExec(() -> {
+			if (!display.isDisposed())
+				workbench.close();
 		});
 	}
 }
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java
index 02c1a3c..5c55f80 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ExternalizeStringsResolution.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2005, 2015 IBM Corporation and others.
+ *  Copyright (c) 2005, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -27,13 +27,10 @@
 
 	@Override
 	public void run(final IMarker marker) {
-		BusyIndicator.showWhile(SWTUtil.getStandardDisplay(), new Runnable() {
-			@Override
-			public void run() {
-				GetNonExternalizedStringsAction fGetExternAction = new GetNonExternalizedStringsAction();
-				IStructuredSelection selection = new StructuredSelection(marker.getResource().getProject());
-				fGetExternAction.runGetNonExternalizedStringsAction(selection);
-			}
+		BusyIndicator.showWhile(SWTUtil.getStandardDisplay(), () -> {
+			GetNonExternalizedStringsAction fGetExternAction = new GetNonExternalizedStringsAction();
+			IStructuredSelection selection = new StructuredSelection(marker.getResource().getProject());
+			fGetExternAction.runGetNonExternalizedStringsAction(selection);
 		});
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/FormOutlinePage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/FormOutlinePage.java
index d34c6d9..4841cc9 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/FormOutlinePage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/FormOutlinePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -162,14 +162,11 @@
 			final Control control = getControl();
 			if (control == null || control.isDisposed())
 				return;
-			control.getDisplay().asyncExec(new Runnable() {
-				@Override
-				public void run() {
-					if (!fTreeViewer.getControl().isDisposed()) {
-						fTreeViewer.refresh();
-						fTreeViewer.expandAll();
-						fStale = false;
-					}
+			control.getDisplay().asyncExec(() -> {
+				if (!fTreeViewer.getControl().isDisposed()) {
+					fTreeViewer.refresh();
+					fTreeViewer.expandAll();
+					fStale = false;
 				}
 			});
 		}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/context/InputContextManager.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/context/InputContextManager.java
index 288435b..1af744c 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/context/InputContextManager.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/context/InputContextManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2003, 2015 IBM Corporation and others.
+ *  Copyright (c) 2003, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -10,8 +10,6 @@
  *******************************************************************************/
 package org.eclipse.pde.internal.ui.editor.context;
 
-import org.eclipse.core.resources.IFile;
-
 import java.util.*;
 import org.eclipse.core.resources.*;
 import org.eclipse.core.runtime.CoreException;
@@ -207,20 +205,17 @@
 		IResourceDelta delta = event.getDelta();
 
 		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				@Override
-				public boolean visit(IResourceDelta delta) {
-					int kind = delta.getKind();
-					IResource resource = delta.getResource();
-					if (resource instanceof IFile) {
-						if (kind == IResourceDelta.ADDED)
-							asyncStructureChanged((IFile) resource, true);
-						else if (kind == IResourceDelta.REMOVED)
-							asyncStructureChanged((IFile) resource, false);
-						return false;
-					}
-					return true;
+			delta.accept(delta1 -> {
+				int kind = delta1.getKind();
+				IResource resource = delta1.getResource();
+				if (resource instanceof IFile) {
+					if (kind == IResourceDelta.ADDED)
+						asyncStructureChanged((IFile) resource, true);
+					else if (kind == IResourceDelta.REMOVED)
+						asyncStructureChanged((IFile) resource, false);
+					return false;
 				}
+				return true;
 			});
 		} catch (CoreException e) {
 			PDEPlugin.logException(e);
@@ -233,12 +228,7 @@
 		Shell shell = editor.getEditorSite().getShell();
 		Display display = shell != null ? shell.getDisplay() : Display.getDefault();
 
-		display.asyncExec(new Runnable() {
-			@Override
-			public void run() {
-				structureChanged(file, added);
-			}
-		});
+		display.asyncExec(() -> structureChanged(file, added));
 	}
 
 	protected void structureChanged(IFile file, boolean added) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/FeatureFormPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/FeatureFormPage.java
index b0905b2..526e892 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/FeatureFormPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/FeatureFormPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -179,23 +179,13 @@
 		else if (href.equals("synchronize")) { //$NON-NLS-1$ {
 			getEditor().setActivePage(FeatureReferencePage.PAGE_ID);
 			final FeatureEditorContributor contributor = (FeatureEditorContributor) getPDEEditor().getContributor();
-			BusyIndicator.showWhile(e.display, new Runnable() {
-				@Override
-				public void run() {
-					contributor.getSynchronizeAction().run();
-				}
-			});
+			BusyIndicator.showWhile(e.display, () -> contributor.getSynchronizeAction().run());
 		} else if (href.equals("export")) { //$NON-NLS-1$
 			((FeatureEditor) getPDEEditor()).getFeatureExportAction().run();
 		} else if (href.equals("siteProject")) { //$NON-NLS-1$
 			getEditor().doSave(null);
 			final FeatureEditorContributor contributor = (FeatureEditorContributor) getPDEEditor().getContributor();
-			BusyIndicator.showWhile(e.display, new Runnable() {
-				@Override
-				public void run() {
-					contributor.getNewSiteAction().run();
-				}
-			});
+			BusyIndicator.showWhile(e.display, () -> contributor.getNewSiteAction().run());
 		}
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesPortabilitySection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesPortabilitySection.java
index eb0c5e6..975117b 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesPortabilitySection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesPortabilitySection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -162,12 +162,9 @@
 
 			@Override
 			public void browseButtonSelected(FormEntry entry) {
-				BusyIndicator.showWhile(fOsText.getText().getDisplay(), new Runnable() {
-					@Override
-					public void run() {
-						Choice[] choices = getOSChoices();
-						openPortabilityChoiceDialog(IEnvironment.P_OS, fOsText, choices);
-					}
+				BusyIndicator.showWhile(fOsText.getText().getDisplay(), () -> {
+					Choice[] choices = getOSChoices();
+					openPortabilityChoiceDialog(IEnvironment.P_OS, fOsText, choices);
 				});
 			}
 
@@ -188,12 +185,9 @@
 
 			@Override
 			public void browseButtonSelected(FormEntry entry) {
-				BusyIndicator.showWhile(fWsText.getText().getDisplay(), new Runnable() {
-					@Override
-					public void run() {
-						Choice[] choices = getWSChoices();
-						openPortabilityChoiceDialog(IEnvironment.P_WS, fWsText, choices);
-					}
+				BusyIndicator.showWhile(fWsText.getText().getDisplay(), () -> {
+					Choice[] choices = getWSChoices();
+					openPortabilityChoiceDialog(IEnvironment.P_WS, fWsText, choices);
 				});
 			}
 
@@ -215,12 +209,9 @@
 
 			@Override
 			public void browseButtonSelected(FormEntry entry) {
-				BusyIndicator.showWhile(fNlText.getText().getDisplay(), new Runnable() {
-					@Override
-					public void run() {
-						Choice[] choices = getNLChoices();
-						openPortabilityChoiceDialog(IEnvironment.P_NL, fNlText, choices);
-					}
+				BusyIndicator.showWhile(fNlText.getText().getDisplay(), () -> {
+					Choice[] choices = getNLChoices();
+					openPortabilityChoiceDialog(IEnvironment.P_NL, fNlText, choices);
 				});
 			}
 
@@ -241,12 +232,9 @@
 
 			@Override
 			public void browseButtonSelected(FormEntry entry) {
-				BusyIndicator.showWhile(fArchText.getText().getDisplay(), new Runnable() {
-					@Override
-					public void run() {
-						Choice[] choices = getArchChoices();
-						openPortabilityChoiceDialog(IEnvironment.P_ARCH, fArchText, choices);
-					}
+				BusyIndicator.showWhile(fArchText.getText().getDisplay(), () -> {
+					Choice[] choices = getArchChoices();
+					openPortabilityChoiceDialog(IEnvironment.P_ARCH, fArchText, choices);
 				});
 			}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesSection.java
index a789774..0d1926d 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/IncludedFeaturesSection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -208,24 +208,22 @@
 	}
 
 	private void handleNew() {
-		BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), new Runnable() {
-			@Override
-			public void run() {
-				IFeatureModel[] allModels = PDECore.getDefault().getFeatureModelManager().getModels();
-				ArrayList<IFeatureModel> newModels = new ArrayList<>();
-				for (IFeatureModel model : allModels) {
-					if (canAdd(model))
-						newModels.add(model);
-				}
-				IFeatureModel[] candidateModels = newModels.toArray(new IFeatureModel[newModels.size()]);
-				FeatureSelectionDialog dialog = new FeatureSelectionDialog(fIncludesViewer.getTable().getShell(), candidateModels, true);
-				if (dialog.open() == Window.OK) {
-					Object[] models = dialog.getResult();
-					try {
-						doAdd(models);
-					} catch (CoreException e) {
-						PDEPlugin.log(e);
-					}
+		BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), () -> {
+			IFeatureModel[] allModels = PDECore.getDefault().getFeatureModelManager().getModels();
+			ArrayList<IFeatureModel> newModels = new ArrayList<>();
+			for (IFeatureModel model : allModels) {
+				if (canAdd(model))
+					newModels.add(model);
+			}
+			IFeatureModel[] candidateModels = newModels.toArray(new IFeatureModel[newModels.size()]);
+			FeatureSelectionDialog dialog = new FeatureSelectionDialog(fIncludesViewer.getTable().getShell(),
+					candidateModels, true);
+			if (dialog.open() == Window.OK) {
+				Object[] models = dialog.getResult();
+				try {
+					doAdd(models);
+				} catch (CoreException e) {
+					PDEPlugin.log(e);
 				}
 			}
 		});
@@ -315,21 +313,11 @@
 	@Override
 	public boolean doGlobalAction(String actionId) {
 		if (actionId.equals(ActionFactory.DELETE.getId())) {
-			BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), new Runnable() {
-				@Override
-				public void run() {
-					handleDelete();
-				}
-			});
+			BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), () -> handleDelete());
 			return true;
 		}
 		if (actionId.equals(ActionFactory.SELECT_ALL.getId())) {
-			BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), new Runnable() {
-				@Override
-				public void run() {
-					handleSelectAll();
-				}
-			});
+			BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), () -> handleSelectAll());
 			return true;
 		}
 		if (actionId.equals(ActionFactory.CUT.getId())) {
@@ -395,12 +383,7 @@
 		fDeleteAction = new Action() {
 			@Override
 			public void run() {
-				BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), new Runnable() {
-					@Override
-					public void run() {
-						handleDelete();
-					}
-				});
+				BusyIndicator.showWhile(fIncludesViewer.getTable().getDisplay(), () -> handleDelete());
 			}
 		};
 		fDeleteAction.setEnabled(model.isEditable());
@@ -410,18 +393,15 @@
 
 	@Override
 	public void modelsChanged(final IFeatureModelDelta delta) {
-		getSection().getDisplay().asyncExec(new Runnable() {
-			@Override
-			public void run() {
-				if (getSection().isDisposed()) {
-					return;
-				}
-				IFeatureModel[] added = delta.getAdded();
-				IFeatureModel[] removed = delta.getRemoved();
-				IFeatureModel[] changed = delta.getChanged();
-				if (hasModels(added) || hasModels(removed) || hasModels(changed))
-					markStale();
+		getSection().getDisplay().asyncExec(() -> {
+			if (getSection().isDisposed()) {
+				return;
 			}
+			IFeatureModel[] added = delta.getAdded();
+			IFeatureModel[] removed = delta.getRemoved();
+			IFeatureModel[] changed = delta.getChanged();
+			if (hasModels(added) || hasModels(removed) || hasModels(changed))
+				markStale();
 		});
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/InfoSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/InfoSection.java
index 36abc29..ab4efbe 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/InfoSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/feature/InfoSection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -17,7 +17,7 @@
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.jface.text.*;
 import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.viewers.*;
+import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.pde.core.IEditable;
 import org.eclipse.pde.core.IModelChangedEvent;
 import org.eclipse.pde.internal.core.ifeature.*;
@@ -31,7 +31,6 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.*;
 import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.*;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -163,12 +162,7 @@
 		Label label = toolkit.createLabel(page, PDEUIMessages.FeatureEditor_InfoSection_url);
 		label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
 		fUrlText = toolkit.createText(page, null, SWT.SINGLE);
-		fUrlText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				infoModified();
-			}
-		});
+		fUrlText.addModifyListener(e -> infoModified());
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		fUrlText.setLayoutData(gd);
 		label = toolkit.createLabel(page, PDEUIMessages.FeatureEditor_InfoSection_text);
@@ -179,12 +173,7 @@
 		fSourceViewer = new SourceViewer(page, null, styles);
 		fSourceViewer.configure(fSourceConfiguration);
 		fSourceViewer.setDocument(fDocument);
-		fSourceViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateSelection(event.getSelection());
-			}
-		});
+		fSourceViewer.addSelectionChangedListener(event -> updateSelection(event.getSelection()));
 		StyledText styledText = fSourceViewer.getTextWidget();
 		styledText.setFont(JFaceResources.getTextFont());
 		styledText.setMenu(getPage().getPDEEditor().getContextMenu());
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointDetails.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointDetails.java
index fc20535..abf1eae 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointDetails.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointDetails.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -38,7 +38,6 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.*;
 import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
 import org.eclipse.ui.forms.IFormPart;
 import org.eclipse.ui.forms.events.HyperlinkAdapter;
 import org.eclipse.ui.forms.events.HyperlinkEvent;
@@ -181,20 +180,18 @@
 						return false;
 					}
 				});
-				dialog.setValidator(new ISelectionStatusValidator() {
-					@Override
-					public IStatus validate(Object[] selection) {
-						IPluginModelBase model = (IPluginModelBase) getPage().getPDEEditor().getAggregateModel();
-						String pluginName = model.getPluginBase().getId();
+				dialog.setValidator(selection -> {
+					IPluginModelBase model = (IPluginModelBase) getPage().getPDEEditor().getAggregateModel();
+					String pluginName = model.getPluginBase().getId();
 
-						if (selection == null || selection.length != 1 || !(selection[0] instanceof IFile))
-							return new Status(IStatus.ERROR, pluginName, IStatus.ERROR, PDEUIMessages.ManifestEditor_ExtensionPointDetails_validate_errorStatus, null);
-						IFile file = (IFile) selection[0];
-						String ext = file.getFullPath().getFileExtension();
-						if ("exsd".equals(ext) || "mxsd".equals(ext)) //$NON-NLS-1$ //$NON-NLS-2$
-							return new Status(IStatus.OK, pluginName, IStatus.OK, "", null); //$NON-NLS-1$
+					if (selection == null || selection.length != 1 || !(selection[0] instanceof IFile))
 						return new Status(IStatus.ERROR, pluginName, IStatus.ERROR, PDEUIMessages.ManifestEditor_ExtensionPointDetails_validate_errorStatus, null);
-					}
+					IFile file = (IFile) selection[0];
+					String ext = file.getFullPath().getFileExtension();
+					if ("exsd".equals(ext) || "mxsd".equals(ext)) //$NON-NLS-1$ //$NON-NLS-2$
+						return new Status(IStatus.OK, pluginName, IStatus.OK, "", null); //$NON-NLS-1$
+					return new Status(IStatus.ERROR, pluginName, IStatus.ERROR,
+							PDEUIMessages.ManifestEditor_ExtensionPointDetails_validate_errorStatus, null);
 				});
 				dialog.setDoubleClickSelects(true);
 				dialog.setStatusLineAboveButtons(true);
@@ -342,31 +339,25 @@
 		final IWorkbenchWindow ww = PDEPlugin.getActiveWorkbenchWindow();
 
 		Display d = ww.getShell().getDisplay();
-		d.asyncExec(new Runnable() {
-			@Override
-			public void run() {
-				try {
-					String editorId = IPDEUIConstants.SCHEMA_EDITOR_ID;
-					ww.getActivePage().openEditor(new FileEditorInput(file), editorId);
-				} catch (PartInitException e) {
-					PDEPlugin.logException(e);
-				}
+		d.asyncExec(() -> {
+			try {
+				String editorId = IPDEUIConstants.SCHEMA_EDITOR_ID;
+				ww.getActivePage().openEditor(new FileEditorInput(file), editorId);
+			} catch (PartInitException e) {
+				PDEPlugin.logException(e);
 			}
 		});
 	}
 
 	private void generateSchema() {
 		final IProject project = getPage().getPDEEditor().getCommonProject();
-		BusyIndicator.showWhile(getPage().getPartControl().getDisplay(), new Runnable() {
-			@Override
-			public void run() {
-				NewSchemaFileWizard wizard = new NewSchemaFileWizard(project, fInput, true);
-				WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
-				dialog.create();
-				SWTUtil.setDialogSize(dialog, 400, 450);
-				if (dialog.open() == Window.OK)
-					update();
-			}
+		BusyIndicator.showWhile(getPage().getPartControl().getDisplay(), () -> {
+			NewSchemaFileWizard wizard = new NewSchemaFileWizard(project, fInput, true);
+			WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
+			dialog.create();
+			SWTUtil.setDialogSize(dialog, 400, 450);
+			if (dialog.open() == Window.OK)
+				update();
 		});
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java
index 2556e90..aa5afd1 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionPointsSection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2017 IBM Corporation and others.
+ * Copyright (c) 2003, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -274,15 +274,13 @@
 	private void handleNew() {
 		IFile file = ((IFileEditorInput) getPage().getPDEEditor().getEditorInput()).getFile();
 		final IProject project = file.getProject();
-		BusyIndicator.showWhile(pointTable.getTable().getDisplay(), new Runnable() {
-			@Override
-			public void run() {
-				NewExtensionPointWizard wizard = new NewExtensionPointWizard(project, (IPluginModelBase) getPage().getModel(), (ManifestEditor) getPage().getPDEEditor());
-				WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
-				dialog.create();
-				SWTUtil.setDialogSize(dialog, 400, 450);
-				dialog.open();
-			}
+		BusyIndicator.showWhile(pointTable.getTable().getDisplay(), () -> {
+			NewExtensionPointWizard wizard = new NewExtensionPointWizard(project,
+					(IPluginModelBase) getPage().getModel(), (ManifestEditor) getPage().getPDEEditor());
+			WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
+			dialog.create();
+			SWTUtil.setDialogSize(dialog, 400, 450);
+			dialog.open();
 		});
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionsSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionsSection.java
index 4bdc35e..39b93d7 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionsSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionsSection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -54,8 +54,6 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.BusyIndicator;
 import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.graphics.*;
 import org.eclipse.swt.internal.BidiUtil;
 import org.eclipse.swt.widgets.*;
@@ -277,13 +275,10 @@
 		fFilteredTree.createUIListenerEntryFilter(this);
 		final Text filterText = fFilteredTree.getFilterControl();
 		if (filterText != null) {
-			filterText.addModifyListener(new ModifyListener() {
-				@Override
-				public void modifyText(ModifyEvent e) {
-					StructuredViewer viewer = getStructuredViewerPart().getViewer();
-					IStructuredSelection ssel = viewer.getStructuredSelection();
-					updateButtons(ssel.size() != 1 ? null : ssel);
-				}
+			filterText.addModifyListener(e -> {
+				StructuredViewer viewer = getStructuredViewerPart().getViewer();
+				IStructuredSelection ssel = viewer.getStructuredSelection();
+				updateButtons(ssel.size() != 1 ? null : ssel);
 			});
 		}
 	}
@@ -641,21 +636,19 @@
 
 	private void handleNew() {
 		final IProject project = getPage().getPDEEditor().getCommonProject();
-		BusyIndicator.showWhile(fExtensionTree.getTree().getDisplay(), new Runnable() {
-			@Override
-			public void run() {
-				((ManifestEditor) getPage().getEditor()).ensurePluginContextPresence();
-				NewExtensionWizard wizard = new NewExtensionWizard(project, (IPluginModelBase) getPage().getModel(), (ManifestEditor) getPage().getPDEEditor()) {
-					@Override
-					public boolean performFinish() {
-						return super.performFinish();
-					}
-				};
-				WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
-				dialog.create();
-				SWTUtil.setDialogSize(dialog, 500, 500);
-				dialog.open();
-			}
+		BusyIndicator.showWhile(fExtensionTree.getTree().getDisplay(), () -> {
+			((ManifestEditor) getPage().getEditor()).ensurePluginContextPresence();
+			NewExtensionWizard wizard = new NewExtensionWizard(project, (IPluginModelBase) getPage().getModel(),
+					(ManifestEditor) getPage().getPDEEditor()) {
+				@Override
+				public boolean performFinish() {
+					return super.performFinish();
+				}
+			};
+			WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
+			dialog.create();
+			SWTUtil.setDialogSize(dialog, 500, 500);
+			dialog.open();
 		});
 	}
 
@@ -665,14 +658,11 @@
 		try {
 			final IExtensionEditorWizard wizard = (IExtensionEditorWizard) element.createExecutableExtension("class"); //$NON-NLS-1$
 			wizard.init(project, model, selection);
-			BusyIndicator.showWhile(fExtensionTree.getTree().getDisplay(), new Runnable() {
-				@Override
-				public void run() {
-					WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
-					dialog.create();
-					SWTUtil.setDialogSize(dialog, 500, 500);
-					dialog.open();
-				}
+			BusyIndicator.showWhile(fExtensionTree.getTree().getDisplay(), () -> {
+				WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
+				dialog.create();
+				SWTUtil.setDialogSize(dialog, 500, 500);
+				dialog.open();
 			});
 		} catch (CoreException e) {
 			PDEPlugin.logException(e);
@@ -691,14 +681,11 @@
 			IProject project = getPage().getPDEEditor().getCommonProject();
 			IPluginModelBase model = (IPluginModelBase) getPage().getModel();
 			final ExtensionEditorWizard wizard = new ExtensionEditorWizard(project, model, selection);
-			BusyIndicator.showWhile(fExtensionTree.getTree().getDisplay(), new Runnable() {
-				@Override
-				public void run() {
-					WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
-					dialog.create();
-					SWTUtil.setDialogSize(dialog, 500, 500);
-					dialog.open();
-				}
+			BusyIndicator.showWhile(fExtensionTree.getTree().getDisplay(), () -> {
+				WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
+				dialog.create();
+				SWTUtil.setDialogSize(dialog, 500, 500);
+				dialog.open();
 			});
 		}
 	}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ImportPackageSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ImportPackageSection.java
index 5444150..2f3f15a 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ImportPackageSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ImportPackageSection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2005, 2017 IBM Corporation and others.
+ *  Copyright (c) 2005, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -415,17 +415,14 @@
 
 	private void handleAdd() {
 		final ConditionalListSelectionDialog dialog = new ConditionalListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(), new ImportPackageDialogLabelProvider(), PDEUIMessages.ImportPackageSection_dialogButtonLabel);
-		Runnable runnable = new Runnable() {
-			@Override
-			public void run() {
-				setElements(dialog);
-				dialog.setMultipleSelection(true);
-				dialog.setMessage(PDEUIMessages.ImportPackageSection_exported);
-				dialog.setTitle(PDEUIMessages.ImportPackageSection_selection);
-				dialog.create();
-				PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IHelpContextIds.IMPORT_PACKAGES);
-				SWTUtil.setDialogSize(dialog, 400, 500);
-			}
+		Runnable runnable = () -> {
+			setElements(dialog);
+			dialog.setMultipleSelection(true);
+			dialog.setMessage(PDEUIMessages.ImportPackageSection_exported);
+			dialog.setTitle(PDEUIMessages.ImportPackageSection_selection);
+			dialog.create();
+			PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(), IHelpContextIds.IMPORT_PACKAGES);
+			SWTUtil.setDialogSize(dialog, 400, 500);
 		};
 
 		BusyIndicator.showWhile(Display.getCurrent(), runnable);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/InformationSection.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/InformationSection.java
index e42c566..e5ec099 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/InformationSection.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/targetdefinition/InformationSection.java
Binary files differ
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsWizardPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsWizardPage.java
index 14e1ad2..5c2a3b4 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsWizardPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/ExternalizeStringsWizardPage.java
@@ -33,7 +33,6 @@
 import org.eclipse.pde.internal.ui.wizards.ListUtil;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -167,25 +166,22 @@
 				return change.equals(fErrorElement);
 			}
 		};
-		fModifyListener = new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				String localization = fLocalizationText.getText();
-				if (StringHelper.isValidLocalization(localization)) {
-					setEnabled(fLocalizationText, true);
-					setPageComplete(hasCheckedElements());
-					setErrorMessage(null);
-					if (fCurrSelection instanceof ModelChange) {
-						((ModelChange) fCurrSelection).setBundleLocalization(fLocalizationText.getText());
-					} else if (fCurrSelection instanceof ModelChangeFile) {
-						((ModelChangeFile) fCurrSelection).getModel().setBundleLocalization(fLocalizationText.getText());
-					}
-				} else {
-					setEnabled(fLocalizationText, false);
-					fLocalizationText.setEditable(true);
-					setPageComplete(false);
-					setErrorMessage(PDEUIMessages.ExternalizeStringsWizardPage_badLocalizationError);
+		fModifyListener = e -> {
+			String localization = fLocalizationText.getText();
+			if (StringHelper.isValidLocalization(localization)) {
+				setEnabled(fLocalizationText, true);
+				setPageComplete(hasCheckedElements());
+				setErrorMessage(null);
+				if (fCurrSelection instanceof ModelChange) {
+					((ModelChange) fCurrSelection).setBundleLocalization(fLocalizationText.getText());
+				} else if (fCurrSelection instanceof ModelChangeFile) {
+					((ModelChangeFile) fCurrSelection).getModel().setBundleLocalization(fLocalizationText.getText());
 				}
+			} else {
+				setEnabled(fLocalizationText, false);
+				fLocalizationText.setEditable(true);
+				setPageComplete(false);
+				setErrorMessage(PDEUIMessages.ExternalizeStringsWizardPage_badLocalizationError);
 			}
 		};
 		fColorManager = ColorManager.getDefault();
@@ -240,18 +236,8 @@
 		GridData gd = new GridData(GridData.FILL_BOTH);
 		gd.heightHint = 250;
 		fInputViewer.getTree().setLayoutData(gd);
-		fInputViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged(event);
-			}
-		});
-		fInputViewer.addCheckStateListener(new ICheckStateListener() {
-			@Override
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				setPageComplete(hasCheckedElements());
-			}
-		});
+		fInputViewer.addSelectionChangedListener(event -> handleSelectionChanged(event));
+		fInputViewer.addCheckStateListener(event -> setPageComplete(hasCheckedElements()));
 		fInputViewer.setComparator(ListUtil.PLUGIN_COMPARATOR);
 
 		Composite buttonComposite = new Composite(fileComposite, SWT.NONE);
@@ -330,35 +316,23 @@
 		fPropertiesViewer.setCellEditors(createCellEditors());
 		fPropertiesViewer.setColumnProperties(TABLE_PROPERTIES);
 		fPropertiesViewer.setCellModifier(new ExternalizeStringsCellModifier());
-		fPropertiesViewer.setContentProvider(new IStructuredContentProvider() {
-			@Override
-			public Object[] getElements(Object inputElement) {
-				if (fInputViewer.getSelection() instanceof IStructuredSelection) {
-					Object selection = fInputViewer.getStructuredSelection().getFirstElement();
-					if (selection instanceof ModelChangeFile) {
-						ModelChangeFile cf = (ModelChangeFile) selection;
-						return (cf).getModel().getChangesInFile(cf.getFile()).toArray();
-					}
+		fPropertiesViewer.setContentProvider((IStructuredContentProvider) inputElement -> {
+			if (fInputViewer.getSelection() instanceof IStructuredSelection) {
+				Object selection = fInputViewer.getStructuredSelection().getFirstElement();
+				if (selection instanceof ModelChangeFile) {
+					ModelChangeFile cf = (ModelChangeFile) selection;
+					return (cf).getModel().getChangesInFile(cf.getFile()).toArray();
 				}
-				return new Object[0];
 			}
-
+			return new Object[0];
 		});
 		fPropertiesViewer.setLabelProvider(new ExternalizeStringsLabelProvider());
-		fPropertiesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				handlePropertySelection();
-			}
-		});
-		fPropertiesViewer.addCheckStateListener(new ICheckStateListener() {
-			@Override
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				Object element = event.getElement();
-				if (element instanceof ModelChangeElement) {
-					((ModelChangeElement) element).setExternalized(event.getChecked());
-					fPropertiesViewer.update(element, null);
-				}
+		fPropertiesViewer.addSelectionChangedListener(event -> handlePropertySelection());
+		fPropertiesViewer.addCheckStateListener(event -> {
+			Object element = event.getElement();
+			if (element instanceof ModelChangeElement) {
+				((ModelChangeElement) element).setExternalized(event.getChecked());
+				fPropertiesViewer.update(element, null);
 			}
 		});
 		fPropertiesViewer.setInput(new Object());
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardLocalePage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardLocalePage.java
index 138e2cc..77b3ffb 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardLocalePage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardLocalePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2016 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,8 +30,6 @@
 import org.eclipse.pde.internal.ui.wizards.ListUtil;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -207,42 +205,23 @@
 	}
 
 	private void addViewerListeners() {
-		fAvailableListViewer.addDoubleClickListener(new IDoubleClickListener() {
-			@Override
-			public void doubleClick(DoubleClickEvent event) {
-				handleAdd();
-			}
+		fAvailableListViewer.addDoubleClickListener(event -> handleAdd());
+
+		fSelectedListViewer.addDoubleClickListener(event -> handleRemove());
+
+		fAvailableListViewer.addSelectionChangedListener(event -> {
+			if (!fBlockSelectionListeners)
+				updateSelectionBasedEnablement(event.getSelection(), true);
 		});
 
-		fSelectedListViewer.addDoubleClickListener(new IDoubleClickListener() {
-			@Override
-			public void doubleClick(DoubleClickEvent event) {
-				handleRemove();
-			}
+		fSelectedListViewer.addSelectionChangedListener(event -> {
+			if (!fBlockSelectionListeners)
+				updateSelectionBasedEnablement(event.getSelection(), false);
 		});
 
-		fAvailableListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (!fBlockSelectionListeners)
-					updateSelectionBasedEnablement(event.getSelection(), true);
-			}
-		});
-
-		fSelectedListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (!fBlockSelectionListeners)
-					updateSelectionBasedEnablement(event.getSelection(), false);
-			}
-		});
-
-		fFilterText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				fFilterJob.cancel();
-				fFilterJob.schedule(200);
-			}
+		fFilterText.addModifyListener(e -> {
+			fFilterJob.cancel();
+			fFilterJob.schedule(200);
 		});
 
 	}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardOpenOperation.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardOpenOperation.java
index 9104ec2..a2eb0a7 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardOpenOperation.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardOpenOperation.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -43,29 +43,26 @@
 		final int[] result = new int[1];
 		final InterruptedException[] canceled = new InterruptedException[1];
 
-		Runnable r = new Runnable() {
-			@Override
-			public void run() {
-				try {
-					manager.beginRule(ResourcesPlugin.getWorkspace().getRoot(), null);
+		Runnable r = () -> {
+			try {
+				manager.beginRule(ResourcesPlugin.getWorkspace().getRoot(), null);
 
-					Dialog dialog = new WizardDialog(parent, fWizard);
-					dialog.create();
+				Dialog dialog = new WizardDialog(parent, fWizard);
+				dialog.create();
 
-					IWizardContainer wizardContainer = (IWizardContainer) dialog;
-					if (wizardContainer.getCurrentPage() == null) {
-						//Close the dialog if there are no pages
-						result[0] = Window.CANCEL;
-					} else {
-						//Open the wizard dialog
-						result[0] = dialog.open();
-					}
-
-				} catch (OperationCanceledException e) {
-					canceled[0] = new InterruptedException(e.getMessage());
-				} finally {
-					manager.endRule(ResourcesPlugin.getWorkspace().getRoot());
+				IWizardContainer wizardContainer = (IWizardContainer) dialog;
+				if (wizardContainer.getCurrentPage() == null) {
+					// Close the dialog if there are no pages
+					result[0] = Window.CANCEL;
+				} else {
+					// Open the wizard dialog
+					result[0] = dialog.open();
 				}
+
+			} catch (OperationCanceledException e) {
+				canceled[0] = new InterruptedException(e.getMessage());
+			} finally {
+				manager.endRule(ResourcesPlugin.getWorkspace().getRoot());
 			}
 		};
 		BusyIndicator.showWhile(parent.getDisplay(), r);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardPluginPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardPluginPage.java
index 8555088..1fd3020 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardPluginPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/InternationalizeWizardPluginPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2017 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -34,8 +34,6 @@
 import org.eclipse.pde.internal.ui.wizards.ListUtil;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -185,12 +183,7 @@
 		fTemplateText = new Text(comp, SWT.BORDER);
 		fTemplateText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 		fTemplateText.setText(template != null ? template : NLSFragmentGenerator.PLUGIN_NAME_MACRO + ".nl1"); //$NON-NLS-1$
-		fTemplateText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				pageChanged();
-			}
-		});
+		fTemplateText.addModifyListener(e -> pageChanged());
 
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 2;
@@ -366,42 +359,23 @@
 	}
 
 	private void addViewerListeners() {
-		fAvailableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			@Override
-			public void doubleClick(DoubleClickEvent event) {
-				handleAdd();
-			}
+		fAvailableViewer.addDoubleClickListener(event -> handleAdd());
+
+		fSelectedViewer.addDoubleClickListener(event -> handleRemove());
+
+		fAvailableViewer.addSelectionChangedListener(event -> {
+			if (!fBlockSelectionListeners)
+				updateSelectionBasedEnablement(event.getSelection(), true);
 		});
 
-		fSelectedViewer.addDoubleClickListener(new IDoubleClickListener() {
-			@Override
-			public void doubleClick(DoubleClickEvent event) {
-				handleRemove();
-			}
+		fSelectedViewer.addSelectionChangedListener(event -> {
+			if (!fBlockSelectionListeners)
+				updateSelectionBasedEnablement(event.getSelection(), false);
 		});
 
-		fAvailableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (!fBlockSelectionListeners)
-					updateSelectionBasedEnablement(event.getSelection(), true);
-			}
-		});
-
-		fSelectedViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				if (!fBlockSelectionListeners)
-					updateSelectionBasedEnablement(event.getSelection(), false);
-			}
-		});
-
-		fFilterText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				fFilterJob.cancel();
-				fFilterJob.schedule(200);
-			}
+		fFilterText.addModifyListener(e -> {
+			fFilterJob.cancel();
+			fFilterJob.schedule(200);
 		});
 
 	}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/NLSFragmentGenerator.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/NLSFragmentGenerator.java
index 1ca3360..9b0611a 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/NLSFragmentGenerator.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/nls/NLSFragmentGenerator.java
@@ -20,7 +20,6 @@
 import org.eclipse.core.resources.*;
 import org.eclipse.core.runtime.*;
 import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.wizard.IWizardContainer;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -145,20 +144,13 @@
 		try {
 			final Map<String, Object> overwrites = promptForOverwrite(plugins, locales);
 
-			container.run(false, false, new IRunnableWithProgress() {
-				@Override
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					setProgressMonitor(monitor);
-					try {
-						internationalizePlugins(plugins, locales, overwrites);
-					} catch (final Exception ex) {
-						Display.getDefault().syncExec(new Runnable() {
-							@Override
-							public void run() {
-								PDEPlugin.logException(ex, ex.getMessage(), PDEUIMessages.InternationalizeWizard_NLSFragmentGenerator_errorMessage);
-							}
-						});
-					}
+			container.run(false, false, monitor -> {
+				setProgressMonitor(monitor);
+				try {
+					internationalizePlugins(plugins, locales, overwrites);
+				} catch (final Exception ex) {
+					Display.getDefault().syncExec(() -> PDEPlugin.logException(ex, ex.getMessage(),
+							PDEUIMessages.InternationalizeWizard_NLSFragmentGenerator_errorMessage));
 				}
 			});
 		} catch (Exception e) {
@@ -375,7 +367,8 @@
 					public void visit(File file) throws CoreException, FileNotFoundException {
 						worked();
 
-						String relativePath = file.getAbsolutePath().substring(installLocation.length()).replaceAll(File.separator, SLASH);
+						String relativePath = file.getAbsolutePath().substring(installLocation.length())
+								.replaceAll(File.separator, SLASH);
 						String[] segments = relativePath.split(SLASH);
 						IPath path = Path.fromPortableString(join(SLASH, segments, 0, segments.length - 1));
 						String resourceName = segments[segments.length - 1];
@@ -408,25 +401,23 @@
 		else {
 			final IProject project = plugin.getUnderlyingResource().getProject();
 
-			project.accept(new IResourceVisitor() {
-				@Override
-				public boolean visit(IResource resource) throws CoreException {
-					worked();
+			project.accept(resource -> {
+				worked();
 
-					IPath parent = resource.getFullPath().removeLastSegments(1).removeFirstSegments(1);
-					if (propertiesFilter.include(resource)) {
-						String segment = localeSpecificName(resource.getFullPath().lastSegment(), locale);
-						IPath fragmentResource = fragmentProject.getFullPath().append(parent).append(segment);
+				IPath parent = resource.getFullPath().removeLastSegments(1).removeFirstSegments(1);
+				if (propertiesFilter.include(resource)) {
+					String segment = localeSpecificName(resource.getFullPath().lastSegment(), locale);
+					IPath fragmentResource = fragmentProject.getFullPath().append(parent).append(segment);
 
-						createParents(fragmentProject, parent);
-						resource.copy(fragmentResource, true, getProgressMonitor());
-					} else if (resourceFilter.include(resource)) {
-						IPath target = localeResourceFolder.getFullPath().append(parent).append(resource.getFullPath().lastSegment());
-						createParents(fragmentProject, target.removeLastSegments(1).removeFirstSegments(1));
-						resource.copy(target, true, getProgressMonitor());
-					}
-					return true;
+					createParents(fragmentProject, parent);
+					resource.copy(fragmentResource, true, getProgressMonitor());
+				} else if (resourceFilter.include(resource)) {
+					IPath target = localeResourceFolder.getFullPath().append(parent)
+							.append(resource.getFullPath().lastSegment());
+					createParents(fragmentProject, target.removeLastSegments(1).removeFirstSegments(1));
+					resource.copy(target, true, getProgressMonitor());
 				}
+				return true;
 			});
 		}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormBrowser.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormBrowser.java
index c767273..765b268 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormBrowser.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormBrowser.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -12,8 +12,6 @@
 package org.eclipse.pde.internal.ui.parts;
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -52,13 +50,10 @@
 		ftext.marginWidth = 2;
 		ftext.marginHeight = 2;
 		ftext.setHyperlinkSettings(toolkit.getHyperlinkGroup());
-		formText.addDisposeListener(new DisposeListener() {
-			@Override
-			public void widgetDisposed(DisposeEvent e) {
-				if (toolkit != null) {
-					toolkit.dispose();
-					toolkit = null;
-				}
+		formText.addDisposeListener(e -> {
+			if (toolkit != null) {
+				toolkit.dispose();
+				toolkit = null;
 			}
 		});
 		if (text != null)
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormEntry.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormEntry.java
index dc87b3f..d40e27a 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormEntry.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/parts/FormEntry.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -184,12 +184,7 @@
 				keyReleaseOccured(e);
 			}
 		});
-		fText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				editOccured(e);
-			}
-		});
+		fText.addModifyListener(e -> editOccured(e));
 		fText.addFocusListener(new FocusAdapter() {
 			@Override
 			public void focusGained(FocusEvent e) {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/MainPreferencePage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/MainPreferencePage.java
index 3980453..d4dfb28 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/MainPreferencePage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/MainPreferencePage.java
@@ -31,8 +31,6 @@
 import org.eclipse.pde.internal.ui.launcher.BaseBlock;
 import org.eclipse.pde.internal.ui.shared.target.TargetStatus;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -214,12 +212,7 @@
 
 		fTestPluginPatternText = new Text(testGroup, SWT.BORDER | SWT.SINGLE);
 		// add some listeners for regex syntax checking
-		fTestPluginPatternText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				updateOKStatus();
-			}
-		});
+		fTestPluginPatternText.addModifyListener(e -> updateOKStatus());
 
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.widthHint = 200;
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/GeneralRenameIDWizardPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/GeneralRenameIDWizardPage.java
index 9228a2d..1e99d25 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/GeneralRenameIDWizardPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/refactoring/GeneralRenameIDWizardPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2007, 2015 IBM Corporation and others.
+ *  Copyright (c) 2007, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -17,7 +17,6 @@
 import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
 import org.eclipse.pde.internal.ui.PDEUIMessages;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -57,12 +56,9 @@
 		fNewId = new Text(composite, SWT.BORDER);
 		fNewId.setText(fInfo.getCurrentValue());
 		fNewId.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fNewId.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				fInfo.setNewValue(fNewId.getText());
-				validatePage();
-			}
+		fNewId.addModifyListener(e -> {
+			fInfo.setNewValue(fNewId.getText());
+			validatePage();
 		});
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/FilteredCheckboxTree.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/FilteredCheckboxTree.java
index ddda834..633a098 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/FilteredCheckboxTree.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/FilteredCheckboxTree.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2010, 2016 IBM Corporation and others.
+ *  Copyright (c) 2010, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -93,13 +93,10 @@
 		filterJob.addJobChangeListener(new JobChangeAdapter() {
 			@Override
 			public void done(IJobChangeEvent event) {
-					getDisplay().asyncExec(new Runnable() {
-						@Override
-						public void run() {
-							if (checkboxViewer.getTree().isDisposed())
-								return;
-							checkboxViewer.restoreLeafCheckState();
-						}
+				getDisplay().asyncExec(() -> {
+					if (checkboxViewer.getTree().isDisposed())
+						return;
+					checkboxViewer.restoreLeafCheckState();
 					});
 			}
 		});
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/dependencies/HistoryListDialog.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/dependencies/HistoryListDialog.java
index 80b335e..9c842fb 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/dependencies/HistoryListDialog.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/dependencies/HistoryListDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2016 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -27,8 +27,6 @@
 import org.eclipse.pde.internal.ui.util.SWTUtil;
 import org.eclipse.pde.internal.ui.wizards.ListUtil;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -145,12 +143,7 @@
 		fHistoryViewer = new TableViewer(table);
 		final DependenciesLabelProvider labelProvider = new DependenciesLabelProvider(false);
 		fHistoryViewer.setLabelProvider(labelProvider);
-		fHistoryViewer.getControl().addDisposeListener(new DisposeListener() {
-			@Override
-			public void widgetDisposed(DisposeEvent e) {
-				labelProvider.dispose();
-			}
-		});
+		fHistoryViewer.getControl().addDisposeListener(e -> labelProvider.dispose());
 		fHistoryViewer.setContentProvider(new ContentProvider());
 		fHistoryViewer.setInput(PDECore.getDefault().getModelManager());
 		fHistoryViewer.setComparator(ListUtil.PLUGIN_COMPARATOR);
@@ -163,22 +156,19 @@
 		}
 		fHistoryViewer.setSelection(sel);
 
-		fHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				StatusInfo status = new StatusInfo();
-				IStructuredSelection selection = fHistoryViewer.getStructuredSelection();
-				List<?> selected = selection.toList();
-				if (selected.size() != 1) {
-					status.setError(""); //$NON-NLS-1$
-					fResult = null;
-				} else {
-					fResult = (String) selected.get(0);
-				}
-				fRemoveButton.setEnabled(fHistoryList.size() > selected.size() && selected.size() != 0);
-				fHistoryStatus = status;
-				updateStatus(status);
+		fHistoryViewer.addSelectionChangedListener(event -> {
+			StatusInfo status = new StatusInfo();
+			IStructuredSelection selection = fHistoryViewer.getStructuredSelection();
+			List<?> selected = selection.toList();
+			if (selected.size() != 1) {
+				status.setError(""); //$NON-NLS-1$
+				fResult = null;
+			} else {
+				fResult = (String) selected.get(0);
 			}
+			fRemoveButton.setEnabled(fHistoryList.size() > selected.size() && selected.size() != 0);
+			fHistoryStatus = status;
+			updateStatus(status);
 		});
 		return fHistoryViewer.getControl();
 	}
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/imagebrowser/ImageBrowserView.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/imagebrowser/ImageBrowserView.java
index ae1131d..b95388f 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/imagebrowser/ImageBrowserView.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/imagebrowser/ImageBrowserView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2012, 2017 Christian Pontesegger and others.
+ *  Copyright (c) 2012, 2018 Christian Pontesegger and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -126,12 +126,9 @@
 		SWTFactory.createLabel(sourceComp, PDEUIMessages.ImageBrowserView_Source, 1);
 		sourceCombo = new ComboViewer(SWTFactory.createCombo(sourceComp, SWT.READ_ONLY, 1, null));
 		sourceCombo.setContentProvider(ArrayContentProvider.getInstance());
-		sourceCombo.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				page = 0; // reset to 1st page
-				scanImages();
-			}
+		sourceCombo.addSelectionChangedListener(event -> {
+			page = 0; // reset to 1st page
+			scanImages();
 		});
 
 		ArrayList<Object> sourceComboInput = new ArrayList<>();
@@ -180,12 +177,9 @@
 		spinMaxImages.setMinimum(1);
 		spinMaxImages.setSelection(250);
 		spinMaxImages.setLayoutData(GridDataFactory.fillDefaults().create());
-		spinMaxImages.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				page = 0; // reset to 1st page
-				scanImages();
-			}
+		spinMaxImages.addModifyListener(e -> {
+			page = 0; // reset to 1st page
+			scanImages();
 		});
 
 		Composite filterComp = SWTFactory.createComposite(topComp, 2, 1, SWT.NONE, 0, 0);
@@ -195,25 +189,22 @@
 		txtFilter = SWTFactory.createText(filterComp, SWT.BORDER | SWT.SEARCH, 1);
 		((GridData) txtFilter.getLayoutData()).widthHint = 200;
 		txtFilter.setToolTipText(PDEUIMessages.ImageBrowserView_FilterTooltip);
-		txtFilter.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				String pattern = txtFilter.getText();
-				pattern = pattern.trim();
-				// we match begging and end, user does not have to type *debug*
-				String STAR = "*"; //$NON-NLS-1$
-				if (!pattern.startsWith(STAR)) {
-					pattern = STAR + pattern;
-				}
-				if (!pattern.endsWith(STAR)) {
-					pattern += STAR;
-				}
-				mFilters.remove(textPatternFilter);
-				textPatternFilter = new StringFilter(pattern);
-				mFilters.add(textPatternFilter);
-				page = 0; // reset to 1st page
-				scanImages();
+		txtFilter.addModifyListener(e -> {
+			String pattern = txtFilter.getText();
+			pattern = pattern.trim();
+			// we match begging and end, user does not have to type *debug*
+			String STAR = "*"; //$NON-NLS-1$
+			if (!pattern.startsWith(STAR)) {
+				pattern = STAR + pattern;
 			}
+			if (!pattern.endsWith(STAR)) {
+				pattern += STAR;
+			}
+			mFilters.remove(textPatternFilter);
+			textPatternFilter = new StringFilter(pattern);
+			mFilters.add(textPatternFilter);
+			page = 0; // reset to 1st page
+			scanImages();
 		});
 
 		scrolledComposite = new ScrolledComposite(composite, SWT.BORDER | SWT.V_SCROLL);
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardTreeSelectionPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardTreeSelectionPage.java
index 8666628..6aa7d68 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardTreeSelectionPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardTreeSelectionPage.java
@@ -124,16 +124,8 @@
 			return;
 		}
 		final WizardElement finalSelection = currentSelection;
-		/*
-			BusyIndicator.showWhile(categoryTreeViewer.getControl().getDisplay(), new Runnable() {
-				public void run() {
-				*/
 		setSelectedNode(createWizardNode(finalSelection));
 		setDescriptionText(finalSelection.getDescription());
-		/*
-				}
-			});
-		*/
 	}
 
 	protected void initializeViewers() {
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/FeatureExportWizard.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/FeatureExportWizard.java
index ef11633..2992f96 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/FeatureExportWizard.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/FeatureExportWizard.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2000, 2015 IBM Corporation and others.

+ * Copyright (c) 2000, 2018 IBM Corporation and others.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -104,12 +104,9 @@
 					// If there were errors when running the ant scripts, inform the user where the logs can be found.

 					final File logLocation = new File(info.destinationDirectory, "logs.zip"); //$NON-NLS-1$

 					if (logLocation.exists()) {

-						PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {

-							@Override

-							public void run() {

-								AntErrorDialog dialog = new AntErrorDialog(logLocation);

-								dialog.open();

-							}

+						PlatformUI.getWorkbench().getDisplay().syncExec(() -> {

+							AntErrorDialog dialog = new AntErrorDialog(logLocation);

+							dialog.open();

 						});

 					}

 				} else if (event.getResult().isOK() && installAfterExport) {

diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/JARSigningTab.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/JARSigningTab.java
index 53a8c8d..40eba45 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/JARSigningTab.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/JARSigningTab.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -20,7 +20,8 @@
 import org.eclipse.pde.internal.ui.*;
 import org.eclipse.pde.internal.ui.util.SWTUtil;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -203,12 +204,7 @@
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = span;
 		text.setLayoutData(gd);
-		text.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				fPage.pageChanged();
-			}
-		});
+		text.addModifyListener(e -> fPage.pageChanged());
 		return text;
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizard.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizard.java
index 0f341f8..5dd168c 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizard.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizard.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -37,16 +37,10 @@
 		setWindowTitle(PDEUIMessages.FeatureImportWizard_title);
 	}
 
-	/*
-	 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
-	 */
 	@Override
 	public void init(IWorkbench workbench, IStructuredSelection selection) {
 	}
 
-	/*
-	 * @see org.eclipse.jface.wizard.IWizard#addPages
-	 */
 	@Override
 	public void addPages() {
 		setNeedsProgressMonitor(false);
@@ -63,9 +57,6 @@
 		return setting;
 	}
 
-	/*
-	 * @see Wizard#performFinish()
-	 */
 	@Override
 	public boolean performFinish() {
 		IFeatureModel[] models = fPage.getSelectedModels();
@@ -123,18 +114,15 @@
 			final String message = NLS.bind(PDEUIMessages.FeatureImportWizard_messages_exists, project.getName());
 			final int[] result = {IReplaceQuery.CANCEL};
 
-			Display.getDefault().syncExec(new Runnable() {
-				@Override
-				public void run() {
-					ReplaceDialog dialog = new ReplaceDialog(Display.getDefault().getActiveShell(), message);
-					int retVal = dialog.open();
-					if (retVal >= 0) {
-						result[0] = RETURNCODES[retVal];
-						if (retVal == 1) {
-							yesToAll = 1;
-						} else if (retVal == 3) {
-							yesToAll = -1;
-						}
+			Display.getDefault().syncExec(() -> {
+				ReplaceDialog dialog = new ReplaceDialog(Display.getDefault().getActiveShell(), message);
+				int retVal = dialog.open();
+				if (retVal >= 0) {
+					result[0] = RETURNCODES[retVal];
+					if (retVal == 1) {
+						yesToAll = 1;
+					} else if (retVal == 3) {
+						yesToAll = -1;
 					}
 				}
 			});
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizardPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizardPage.java
index 3984995..965bef8 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizardPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/FeatureImportWizardPage.java
@@ -38,8 +38,6 @@
 import org.eclipse.pde.internal.ui.util.SWTUtil;
 import org.eclipse.pde.internal.ui.wizards.ListUtil;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -190,20 +188,18 @@
 			handleReload();
 		}));
 
-		fDropLocation.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				// If the text is a combo item, immediately try to resolve, otherwise wait in case they type more
-				boolean isItem = false;
-				String[] items = fDropLocation.getItems();
-				for (String item : items) {
-					if (fDropLocation.getText().equals(item)) {
-						isItem = true;
-						break;
-					}
+		fDropLocation.addModifyListener(e -> {
+			// If the text is a combo item, immediately try to resolve,
+			// otherwise wait in case they type more
+			boolean isItem = false;
+			String[] items = fDropLocation.getItems();
+			for (String item : items) {
+				if (fDropLocation.getText().equals(item)) {
+					isItem = true;
+					break;
 				}
-				locationChanged(isItem ? 0 : TYPING_DELAY);
 			}
+			locationChanged(isItem ? 0 : TYPING_DELAY);
 		});
 
 		fBrowseButton.addSelectionListener(widgetSelectedAdapter(e -> {
@@ -404,25 +400,19 @@
 		});
 		fFeatureViewer.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
 		fFeatureViewer.setComparator(ListUtil.FEATURE_COMPARATOR);
-		fFeatureViewer.addCheckStateListener(new ICheckStateListener() {
-			@Override
-			public void checkStateChanged(CheckStateChangedEvent event) {
+		fFeatureViewer.addCheckStateListener(event -> {
+			updateCounter();
+			dialogChanged();
+		});
+		fFeatureViewer.addDoubleClickListener(event -> {
+			IStructuredSelection selection = fFeatureViewer.getStructuredSelection();
+			if (!selection.isEmpty()) {
+				Object selected = selection.getFirstElement();
+				fFeatureViewer.setChecked(selected, !fFeatureViewer.getChecked(selected));
 				updateCounter();
 				dialogChanged();
 			}
 		});
-		fFeatureViewer.addDoubleClickListener(new IDoubleClickListener() {
-			@Override
-			public void doubleClick(DoubleClickEvent event) {
-				IStructuredSelection selection = fFeatureViewer.getStructuredSelection();
-				if (!selection.isEmpty()) {
-					Object selected = selection.getFirstElement();
-					fFeatureViewer.setChecked(selected, !fFeatureViewer.getChecked(selected));
-					updateCounter();
-					dialogChanged();
-				}
-			}
-		});
 
 	}
 
@@ -445,24 +435,21 @@
 	public IFeatureModel[] getModels() {
 		final IPath home = getDropLocation();
 		final boolean useRuntimeLocation = fRuntimeLocationButton.getSelection() || TargetPlatform.getLocation().equals(fDropLocation.getText().trim());
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			@Override
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				monitor.beginTask(PDEUIMessages.FeatureImportWizard_messages_updating, IProgressMonitor.UNKNOWN);
-				ArrayList<IFeatureModel> result = new ArrayList<>();
-				if (useRuntimeLocation) {
-					IFeatureModel[] allModels = PDECore.getDefault().getFeatureModelManager().getModels();
-					for (IFeatureModel model : allModels)
-						if (model.getUnderlyingResource() == null)
-							result.add(model);
-				} else {
-					MultiStatus errors = doLoadFeatures(result, createPath(home));
-					if (errors != null && errors.getChildren().length > 0)
-						PDEPlugin.log(errors);
-				}
-				fModels = result.toArray(new IFeatureModel[result.size()]);
-				monitor.done();
+		IRunnableWithProgress runnable = monitor -> {
+			monitor.beginTask(PDEUIMessages.FeatureImportWizard_messages_updating, IProgressMonitor.UNKNOWN);
+			ArrayList<IFeatureModel> result = new ArrayList<>();
+			if (useRuntimeLocation) {
+				IFeatureModel[] allModels = PDECore.getDefault().getFeatureModelManager().getModels();
+				for (IFeatureModel model : allModels)
+					if (model.getUnderlyingResource() == null)
+						result.add(model);
+			} else {
+				MultiStatus errors = doLoadFeatures(result, createPath(home));
+				if (errors != null && errors.getChildren().length > 0)
+					PDEPlugin.log(errors);
 			}
+			fModels = result.toArray(new IFeatureModel[result.size()]);
+			monitor.done();
 		};
 
 		IProgressService pservice = PlatformUI.getWorkbench().getProgressService();
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java
index e70705e..6c578a8 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/FragmentContentPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -16,14 +16,12 @@
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.TreeSet;
-import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jdt.launching.IVMInstall;
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.window.Window;
 import org.eclipse.pde.core.plugin.*;
 import org.eclipse.pde.internal.core.PDECore;
@@ -38,7 +36,7 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.BusyIndicator;
 import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.events.*;
+import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -63,12 +61,7 @@
 	private Combo fEEChoice;
 	private final static String NO_EXECUTION_ENVIRONMENT = PDEUIMessages.PluginContentPage_noEE;
 
-	protected ModifyListener listener = new ModifyListener() {
-		@Override
-		public void modifyText(ModifyEvent e) {
-			validatePage();
-		}
-	};
+	protected ModifyListener listener = e -> validatePage();
 
 	public FragmentContentPage(String pageName, IProjectProvider provider, NewProjectCreationPage page, AbstractFieldData data) {
 		super(pageName, provider, page, data);
@@ -221,13 +214,9 @@
 		fExeEnvButton = new Button(container, SWT.PUSH);
 		fExeEnvButton.setLayoutData(new GridData());
 		fExeEnvButton.setText(PDEUIMessages.NewProjectCreationPage_environmentsButton);
-		fExeEnvButton.addListener(SWT.Selection, new Listener() {
-			@Override
-			public void handleEvent(Event event) {
-				PreferencesUtil.createPreferenceDialogOn(getShell(), "org.eclipse.jdt.debug.ui.jreProfiles", //$NON-NLS-1$
-						new String[] {"org.eclipse.jdt.debug.ui.jreProfiles"}, null).open(); //$NON-NLS-1$
-			}
-		});
+		fExeEnvButton.addListener(SWT.Selection,
+				event -> PreferencesUtil.createPreferenceDialogOn(getShell(), "org.eclipse.jdt.debug.ui.jreProfiles", //$NON-NLS-1$
+						new String[] { "org.eclipse.jdt.debug.ui.jreProfiles" }, null).open());
 	}
 
 	private Text createPluginIdContainer(Composite parent, final boolean validateRange, int span) {
@@ -240,14 +229,13 @@
 			// If the PDE models are not initialized, initialize with option to cancel
 			if (!PDECore.getDefault().areModelsInitialized()) {
 				try {
-					getContainer().run(true, true, new IRunnableWithProgress() {
-						@Override
-						public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-							// Target reloaded method clears existing models (which don't exist currently) and inits them with a progress monitor
-							PDECore.getDefault().getModelManager().targetReloaded(monitor);
-							if (monitor.isCanceled()) {
-								throw new InterruptedException();
-							}
+					getContainer().run(true, true, monitor -> {
+						// Target reloaded method clears existing models (which
+						// don't exist currently) and inits them with a progress
+						// monitor
+						PDECore.getDefault().getModelManager().targetReloaded(monitor);
+						if (monitor.isCanceled()) {
+							throw new InterruptedException();
 						}
 					});
 				} catch (InvocationTargetException ex) {
@@ -256,23 +244,20 @@
 				}
 			}
 
-			BusyIndicator.showWhile(pluginText.getDisplay(), new Runnable() {
-				@Override
-				public void run() {
-					PluginSelectionDialog dialog = new PluginSelectionDialog(pluginText.getShell(), false, false);
-					dialog.create();
-					if (dialog.open() == Window.OK) {
-						IPluginModel model = (IPluginModel) dialog.getFirstResult();
-						IPlugin plugin = model.getPlugin();
-						String version = computeInitialPluginVersion(plugin.getVersion());
-						if (validateRange) {
-							fVersionPart.setVersion(version);
-							fVersionPart.preloadFields();
-						} else {
-							fPluginVersion.setText(version);
-						}
-						pluginText.setText(plugin.getId());
+			BusyIndicator.showWhile(pluginText.getDisplay(), () -> {
+				PluginSelectionDialog dialog = new PluginSelectionDialog(pluginText.getShell(), false, false);
+				dialog.create();
+				if (dialog.open() == Window.OK) {
+					IPluginModel model = (IPluginModel) dialog.getFirstResult();
+					IPlugin plugin = model.getPlugin();
+					String version = computeInitialPluginVersion(plugin.getVersion());
+					if (validateRange) {
+						fVersionPart.setVersion(version);
+						fVersionPart.preloadFields();
+					} else {
+						fPluginVersion.setText(version);
 					}
+					pluginText.setText(plugin.getId());
 				}
 			});
 		}));
@@ -325,14 +310,13 @@
 				// If the PDE models are not initialized, initialize with option to cancel
 				if (!PDECore.getDefault().areModelsInitialized()) {
 					try {
-						getContainer().run(true, true, new IRunnableWithProgress() {
-							@Override
-							public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-								// Target reloaded method clears existing models (which don't exist currently) and inits them with a progress monitor
-								PDECore.getDefault().getModelManager().targetReloaded(monitor);
-								if (monitor.isCanceled()) {
-									throw new InterruptedException();
-								}
+						getContainer().run(true, true, monitor -> {
+							// Target reloaded method clears existing models
+							// (which don't exist currently) and inits them with
+							// a progress monitor
+							PDECore.getDefault().getModelManager().targetReloaded(monitor);
+							if (monitor.isCanceled()) {
+								throw new InterruptedException();
 							}
 						});
 					} catch (InvocationTargetException e) {
diff --git a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ProjectNamesPage.java b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ProjectNamesPage.java
index c7c439a..ada3f5c 100644
--- a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ProjectNamesPage.java
+++ b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ProjectNamesPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -19,8 +19,6 @@
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.pde.internal.ui.*;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
@@ -97,12 +95,7 @@
 		label.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER));
 		final Text text = new Text(container, SWT.SINGLE | SWT.BORDER);
 		text.setText(projectName);
-		text.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				validateEntries();
-			}
-		});
+		text.addModifyListener(e -> validateEntries());
 		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleEditor.java b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleEditor.java
index 1fe4e7c..dc4f6bc 100644
--- a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleEditor.java
+++ b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleEditor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -228,12 +228,9 @@
 
 	public void close() {
 		Display display = getSite().getShell().getDisplay();
-		display.asyncExec(new Runnable() {
-			@Override
-			public void run() {
-				if (toolkit != null) {
-					getSite().getPage().closeEditor(SampleEditor.this, false);
-				}
+		display.asyncExec(() -> {
+			if (toolkit != null) {
+				getSite().getPage().closeEditor(SampleEditor.this, false);
 			}
 		});
 	}
diff --git a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleStandbyContent.java b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleStandbyContent.java
index 66778cc..551a576 100644
--- a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleStandbyContent.java
+++ b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleStandbyContent.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -118,12 +118,8 @@
 		} else
 			selection = new StructuredSelection();
 		final ILaunchShortcut fshortcut = shortcut;
-		BusyIndicator.showWhile(form.getDisplay(), new Runnable() {
-			@Override
-			public void run() {
-				fshortcut.launch(selection, debug ? ILaunchManager.DEBUG_MODE : ILaunchManager.RUN_MODE);
-			}
-		});
+		BusyIndicator.showWhile(form.getDisplay(),
+				() -> fshortcut.launch(selection, debug ? ILaunchManager.DEBUG_MODE : ILaunchManager.RUN_MODE));
 	}
 
 	private void doBrowse() {
diff --git a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleWizard.java b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleWizard.java
index 358f67a..eb29f9f 100644
--- a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleWizard.java
+++ b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/SampleWizard.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -47,15 +47,14 @@
 
 		private int openDialog(final String file) {
 			final int[] result = {IDialogConstants.CANCEL_ID};
-			getShell().getDisplay().syncExec(new Runnable() {
-				@Override
-				public void run() {
-					String title = PDEUIMessages.SampleWizard_title;
-					String msg = NLS.bind(PDEUIMessages.SampleWizard_overwrite, file);
-					String[] options = {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.CANCEL_LABEL};
-					MessageDialog dialog = new MessageDialog(getShell(), title, null, msg, MessageDialog.QUESTION, options, 0);
-					result[0] = dialog.open();
-				}
+			getShell().getDisplay().syncExec(() -> {
+				String title = PDEUIMessages.SampleWizard_title;
+				String msg = NLS.bind(PDEUIMessages.SampleWizard_overwrite, file);
+				String[] options = { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,
+						IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.CANCEL_LABEL };
+				MessageDialog dialog = new MessageDialog(getShell(), title, null, msg, MessageDialog.QUESTION, options,
+						0);
+				result[0] = dialog.open();
 			});
 			return result[0];
 		}
diff --git a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowSampleAction.java b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowSampleAction.java
index 2eb50af..c64bf60 100644
--- a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowSampleAction.java
+++ b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowSampleAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2017 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -62,27 +62,24 @@
 		if (sampleId == null)
 			return;
 
-		Runnable r = new Runnable() {
-			@Override
-			public void run() {
-				if (!ensureSampleFeaturePresent())
-					return;
+		Runnable r = () -> {
+			if (!ensureSampleFeaturePresent())
+				return;
 
-				SampleWizard wizard = new SampleWizard();
-				try {
-					wizard.setInitializationData(null, "class", sampleId); //$NON-NLS-1$
-					wizard.setSampleEditorNeeded(false);
-					wizard.setSwitchPerspective(false);
-					wizard.setSelectRevealEnabled(false);
-					wizard.setActivitiesEnabled(false);
-					WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
-					dialog.create();
-					if (dialog.open() == Window.OK) {
-						switchToSampleStandby(wizard);
-					}
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
+			SampleWizard wizard = new SampleWizard();
+			try {
+				wizard.setInitializationData(null, "class", sampleId); //$NON-NLS-1$
+				wizard.setSampleEditorNeeded(false);
+				wizard.setSwitchPerspective(false);
+				wizard.setSelectRevealEnabled(false);
+				wizard.setActivitiesEnabled(false);
+				WizardDialog dialog = new WizardDialog(PDEPlugin.getActiveWorkbenchShell(), wizard);
+				dialog.create();
+				if (dialog.open() == Window.OK) {
+					switchToSampleStandby(wizard);
 				}
+			} catch (CoreException e) {
+				PDEPlugin.logException(e);
 			}
 		};
 
@@ -171,28 +168,25 @@
 	 * was installed successfully, and <code>false</code> otherwise.
 	 */
 	private boolean downloadFeature() {
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			@Override
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				try {
-					SubMonitor sub = SubMonitor.convert(monitor, PDEUIMessages.ShowSampleAction_installing, 100);
-					InstallOperation operation = createInstallOperation(sub.split(10));
-					operation.resolveModal(sub.split(20));
-					IStatus status = operation.getResolutionResult();
-					if (status.getSeverity() == IStatus.CANCEL) {
-						throw new InterruptedException();
-					} else if (!(status.isOK() || status.getSeverity() == IStatus.INFO)) {
-						throw new CoreException(status);
-					}
-					ProvisioningJob job = operation.getProvisioningJob(null);
-					status = job.runModal(sub.split(70));
-					if (!(status.isOK() || status.getSeverity() == IStatus.INFO)) {
-						throw new CoreException(status);
-					}
-					applyConfiguration();
-				} catch (Exception e) {
-					throw new InvocationTargetException(e);
+		IRunnableWithProgress op = monitor -> {
+			try {
+				SubMonitor sub = SubMonitor.convert(monitor, PDEUIMessages.ShowSampleAction_installing, 100);
+				InstallOperation operation = createInstallOperation(sub.split(10));
+				operation.resolveModal(sub.split(20));
+				IStatus status = operation.getResolutionResult();
+				if (status.getSeverity() == IStatus.CANCEL) {
+					throw new InterruptedException();
+				} else if (!(status.isOK() || status.getSeverity() == IStatus.INFO)) {
+					throw new CoreException(status);
 				}
+				ProvisioningJob job = operation.getProvisioningJob(null);
+				status = job.runModal(sub.split(70));
+				if (!(status.isOK() || status.getSeverity() == IStatus.INFO)) {
+					throw new CoreException(status);
+				}
+				applyConfiguration();
+			} catch (Exception e) {
+				throw new InvocationTargetException(e);
 			}
 		};
 		try {
diff --git a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowTargetPlatformAction.java b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowTargetPlatformAction.java
index 98cfb09..e2282c1 100644
--- a/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowTargetPlatformAction.java
+++ b/ui/org.eclipse.pde.ui/src_samples/org/eclipse/pde/internal/ui/samples/ShowTargetPlatformAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *  Copyright (c) 2000, 2015 IBM Corporation and others.
+ *  Copyright (c) 2000, 2018 IBM Corporation and others.
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
@@ -28,13 +28,10 @@
 		manager.addToRoot(targetNode);
 		Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
 		final PreferenceDialog dialog = new PreferenceDialog(shell, manager);
-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
-			@Override
-			public void run() {
-				dialog.create();
-				dialog.setMessage(targetNode.getLabelText());
-				dialog.open();
-			}
+		BusyIndicator.showWhile(Display.getCurrent(), () -> {
+			dialog.create();
+			dialog.setMessage(targetNode.getLabelText());
+			dialog.open();
 		});
 	}
 
diff --git a/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java b/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java
index c6c71d4..70b3e73 100644
--- a/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java
+++ b/ui/org.eclipse.ui.trace/src/org/eclipse/ui/trace/internal/TracingPreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2011, 2017 IBM Corporation and others.

+ * Copyright (c) 2011, 2018 IBM Corporation and others.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -312,18 +312,15 @@
 		GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(tracingOutputFileButton);

 		// add the 'tracing file' input field

 		tracingFileText = new Text(outputComp, SWT.SINGLE | SWT.BORDER);

-		tracingFileText.addListener(SWT.Verify, new Listener() {

+		tracingFileText.addListener(SWT.Verify, e -> {

 

-			public void handleEvent(Event e) {

-

-				String newInput = TracingPreferencePage.this.getInput(e);

-				if ((newInput == null) || newInput.equals(TracingConstants.EMPTY_STRING)) {

-					TracingPreferencePage.this.setValid(false);

-					TracingPreferencePage.this.setErrorMessage(Messages.tracingFileInvalid);

-				} else {

-					TracingPreferencePage.this.setValid(true);

-					TracingPreferencePage.this.setErrorMessage(null);

-				}

+			String newInput = TracingPreferencePage.this.getInput(e);

+			if ((newInput == null) || newInput.equals(TracingConstants.EMPTY_STRING)) {

+				TracingPreferencePage.this.setValid(false);

+				TracingPreferencePage.this.setErrorMessage(Messages.tracingFileInvalid);

+			} else {

+				TracingPreferencePage.this.setValid(true);

+				TracingPreferencePage.this.setErrorMessage(null);

 			}

 		});

 		GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(tracingFileText);

@@ -360,13 +357,8 @@
 		// add the 'max count' input field

 		maximumFileCountSpinner = new Spinner(detailsComp, SWT.SINGLE | SWT.BORDER);

 		maximumFileCountSpinner.setValues(10, 10, 100, 0, 5, 10);

-		maximumFileCountSpinner.addListener(SWT.Verify, new Listener() {

-

-			public void handleEvent(Event e) {

-

-				TracingPreferencePage.this.verifyIntInput(e, Messages.tracingFileInvalidMaxCount);

-			}

-		});

+		maximumFileCountSpinner.addListener(SWT.Verify,

+				e -> TracingPreferencePage.this.verifyIntInput(e, Messages.tracingFileInvalidMaxCount));

 		GridDataFactory.fillDefaults().applyTo(maximumFileCountSpinner);

 

 		Label spacer = new Label(detailsComp, SWT.NONE);

@@ -379,13 +371,8 @@
 		// add the 'max size' input field

 		maximumFileSizeSpinner = new Spinner(detailsComp, SWT.SINGLE | SWT.BORDER);

 		maximumFileSizeSpinner.setValues(100, 100, 10000, 0, 100, 1000);

-		maximumFileSizeSpinner.addListener(SWT.Verify, new Listener() {

-

-			public void handleEvent(Event e) {

-

-				TracingPreferencePage.this.verifyIntInput(e, Messages.tracingFileInvalidMaxSize);

-			}

-		});

+		maximumFileSizeSpinner.addListener(SWT.Verify,

+				e -> TracingPreferencePage.this.verifyIntInput(e, Messages.tracingFileInvalidMaxSize));

 		GridDataFactory.fillDefaults().applyTo(maximumFileSizeSpinner);