diff --git a/bundles/org.eclipse.e4.tools.bundle.spy/src/org/eclipse/e4/tools/bundles/spy/BundleSpyPart.java b/bundles/org.eclipse.e4.tools.bundle.spy/src/org/eclipse/e4/tools/bundles/spy/BundleSpyPart.java
index f152db2..4a4306f 100644
--- a/bundles/org.eclipse.e4.tools.bundle.spy/src/org/eclipse/e4/tools/bundles/spy/BundleSpyPart.java
+++ b/bundles/org.eclipse.e4.tools.bundle.spy/src/org/eclipse/e4/tools/bundles/spy/BundleSpyPart.java
@@ -30,9 +30,7 @@
 import org.eclipse.jface.resource.ImageRegistry;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
 import org.eclipse.jface.viewers.Viewer;
@@ -218,12 +216,7 @@
 		BundleContext bc = FrameworkUtil.getBundle(BundleSpyPart.class).getBundleContext();
 		bundlesTableViewer.setInput(bc.getBundles());
 
-		bundlesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtonStatuses((IStructuredSelection) event.getSelection());
-			}
-		});
+		bundlesTableViewer.addSelectionChangedListener(event -> updateButtonStatuses((IStructuredSelection) event.getSelection()));
 
 		ColumnViewerToolTipSupport.enableFor(bundlesTableViewer);
 
diff --git a/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java b/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java
index 6093444..8a97413 100644
--- a/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java
+++ b/bundles/org.eclipse.e4.tools.css.spy/src/org/eclipse/e4/tools/css/spy/CssSpyPart.java
@@ -50,9 +50,7 @@
 import org.eclipse.jface.viewers.EditingSupport;
 import org.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
@@ -656,12 +654,9 @@
 			}
 		});
 
-		widgetTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			@Override
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateForWidgetSelection(event.getSelection());
-				showCssFragment.setEnabled(!event.getSelection().isEmpty());
-			}
+		widgetTreeViewer.addSelectionChangedListener(event -> {
+			updateForWidgetSelection(event.getSelection());
+			showCssFragment.setEnabled(!event.getSelection().isEmpty());
 		});
 		if (isLive()) {
 			container.addMouseMoveListener(e -> {
