Bug 522059 - Remove redundant specification of type arguments from
org.eclipse.debug.ui

Change-Id: Iaa1506dffb86445b0bec008c1a595f90b8a02148
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs
index 1d1c1c0..ab2cbd1 100644
--- a/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.ui/.settings/org.eclipse.jdt.core.prefs
@@ -91,7 +91,7 @@
 org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
 org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -107,6 +107,9 @@
 org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
index c0ab068..3300008 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
@@ -35,7 +35,7 @@
 		return fgColorManager;
 	}
 
-	protected Map<RGB, Color> fColorTable = new HashMap<RGB, Color>(10);
+	protected Map<RGB, Color> fColorTable = new HashMap<>(10);
 
 	public Color getColor(RGB rgb) {
 		Color color= fColorTable.get(rgb);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
index a8ae9ca..62affed 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
@@ -215,7 +215,7 @@
      *
      * @since 3.3
      */
-	private Set<ISaveParticipant> fSaveParticipants = new HashSet<ISaveParticipant>();
+	private Set<ISaveParticipant> fSaveParticipants = new HashSet<>();
 
 	/**
 	 * Theme listener.
@@ -507,7 +507,7 @@
 	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
-		Hashtable<String, String> props = new Hashtable<String, String>(2);
+		Hashtable<String, String> props = new Hashtable<>(2);
 		props.put(org.eclipse.osgi.service.debug.DebugOptions.LISTENER_SYMBOLICNAME, getUniqueIdentifier());
 		context.registerService(DebugOptionsListener.class.getName(), this, props);
 		ResourcesPlugin.getWorkspace().addSaveParticipant(getUniqueIdentifier(),
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
index c25826f..67b7d59 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
@@ -61,7 +61,7 @@
 	/**
 	 * Maps image descriptors to images.
 	 */
-	private Map<ImageDescriptor, Image> fImages = new HashMap<ImageDescriptor, Image>();
+	private Map<ImageDescriptor, Image> fImages = new HashMap<>();
 
 	/**
 	 * @see ILabelProvider#getImage(Object)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
index e80176e..beb7193 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
@@ -59,11 +59,11 @@
 	 * A mapping of attribute ids to their values
 	 * @see IDebugModelPresentation#setAttribute
 	 */
-	private HashMap<String, Object> fAttributes = new HashMap<String, Object>(3);
+	private HashMap<String, Object> fAttributes = new HashMap<>(3);
 	/**
 	 * A table of label providers keyed by debug model identifiers.
 	 */
-	private HashMap<String, IDebugModelPresentation> fLabelProviders = new HashMap<String, IDebugModelPresentation>(5);
+	private HashMap<String, IDebugModelPresentation> fLabelProviders = new HashMap<>(5);
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDebugEditorPresentation#removeAnnotations(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IThread)
@@ -328,7 +328,7 @@
 	 * @since 3.0
 	 */
 	public Map<String, Object> getAttributeMap() {
-		return new HashMap<String, Object>(fAttributes);
+		return new HashMap<>(fAttributes);
 	}
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
index fb3cfed..580b284 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
@@ -50,12 +50,12 @@
 	/**
 	 * Set containing all instruction pointer contexts this class manages
 	 */
-	private Set<InstructionPointerContext> fIPCSet = new HashSet<InstructionPointerContext>();
+	private Set<InstructionPointerContext> fIPCSet = new HashSet<>();
 
 	/**
 	 * Maps ITextEditors to the set of instruction pointer contexts that are displayed in the editor
 	 */
-	private Map<ITextEditor, Set<InstructionPointerContext>> fEditorMap = new HashMap<ITextEditor, Set<InstructionPointerContext>>();
+	private Map<ITextEditor, Set<InstructionPointerContext>> fEditorMap = new HashMap<>();
 
 	/**
 	 * Part listener added to editors that contain annotations.  Allows instruction pointer contexts to
@@ -144,7 +144,7 @@
 			// Add the IPC to the set and map
 			Set<InstructionPointerContext> editorIPCs = fEditorMap.get(textEditor);
 			if (editorIPCs == null){
-				editorIPCs = new HashSet<InstructionPointerContext>();
+				editorIPCs = new HashSet<>();
 				fEditorMap.put(textEditor, editorIPCs);
 			} else {
 				editorIPCs.remove(ipc);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java
index f951538..f6290f5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java
@@ -104,7 +104,7 @@
 	 */
 	public Set<String> getDelegateSet() {
 		if(fDelegates == null) {
-			fDelegates = new HashSet<String>();
+			fDelegates = new HashSet<>();
 			IConfigurationElement[] children = fElement.getChildren(IConfigurationElementConstants.ASSOCIATED_DELEGATE);
 			String id = null;
 			for(int i = 0; i < children.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
index 355fdf2..0cbd811 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
@@ -57,7 +57,7 @@
 	 * A temporary mapping of attribute ids to their values
 	 * @see IDebugModelPresentation#setAttribute
 	 */
-	protected HashMap<String, Object> fAttributes = new HashMap<String, Object>(3);
+	protected HashMap<String, Object> fAttributes = new HashMap<>(3);
 
 	/**
 	 * The config element that defines the extension
@@ -385,7 +385,7 @@
 	 * @since 3.0
 	 */
 	public Map<String, Object> getAttributeMap() {
-		return new HashMap<String, Object>(fAttributes);
+		return new HashMap<>(fAttributes);
 	}
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
index 8713018..4cbc864 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
@@ -47,10 +47,10 @@
 
 	protected Composite panel;
 
-	protected List<FieldSummary> fieldList = new ArrayList<FieldSummary>();
-	protected List<Text> controlList = new ArrayList<Text>();
-	protected List<Validator> validators = new ArrayList<Validator>();
-	protected Map<Object, String> valueMap = new HashMap<Object, String>();
+	protected List<FieldSummary> fieldList = new ArrayList<>();
+	protected List<Text> controlList = new ArrayList<>();
+	protected List<Validator> validators = new ArrayList<>();
+	protected Map<Object, String> valueMap = new HashMap<>();
 
 	private String title;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
index 26bf56f..8a921ae 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
@@ -37,7 +37,7 @@
      * which are replaced by IVariableValueEditors as the editors
      * are instantiated (editors are loaded lazily, then cached).
      */
-	private Map<String, Object> fEditorMap = new HashMap<String, Object>();
+	private Map<String, Object> fEditorMap = new HashMap<>();
 
     /**
      * The singleton instance of this manager.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
index 5c89678..94dc038 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
@@ -175,7 +175,7 @@
 				try {
 					List<String> list = getLaunchConfiguration().getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List<String>) null);
 					if (list == null) {
-						list = new ArrayList<String>();
+						list = new ArrayList<>();
 					}
 					list.add(getGroup().getIdentifier());
 					ILaunchConfigurationWorkingCopy copy = getLaunchConfiguration().getWorkingCopy();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
index 3359d88..10ab2e5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
@@ -67,7 +67,7 @@
 
 	class ColumnLabelProvider extends LabelProvider {
 
-		private Map<ImageDescriptor, Image> fImages = new HashMap<ImageDescriptor, Image>();
+		private Map<ImageDescriptor, Image> fImages = new HashMap<>();
 
 		@Override
 		public Image getImage(Object element) {
@@ -129,7 +129,7 @@
 				ActionMessages.ConfigureColumnsAction_1);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONFIGURE_COLUMNS_DIALOG);
 		String[] visibleColumns = fViewer.getVisibleColumns();
-		List<String> initialSelection = new ArrayList<String>(visibleColumns.length);
+		List<String> initialSelection = new ArrayList<>(visibleColumns.length);
 		for (int i = 0; i < visibleColumns.length; i++) {
 			initialSelection.add(visibleColumns[i]);
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
index 58c9755..1f2d343 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
@@ -97,7 +97,7 @@
 			if(!types.isEmpty()) {
 				LaunchingResourceManager lrm = DebugUIPlugin.getDefault().getLaunchingResourceManager();
 				IStructuredSelection selection = SelectedResourceManager.getDefault().getCurrentSelection();
-				ArrayList<LaunchShortcutExtension> shortcuts = new ArrayList<LaunchShortcutExtension>();
+				ArrayList<LaunchShortcutExtension> shortcuts = new ArrayList<>();
 				shortcuts.add(fShortcut);
 				IResource resource = SelectedResourceManager.getDefault().getSelectedResource();
 				if(resource == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
index 7580f42..befa450 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
@@ -72,7 +72,7 @@
 		if (s.isEmpty()) {
 			return s;
 		}
-		Set<ILaunch> dups = new LinkedHashSet<ILaunch>();
+		Set<ILaunch> dups = new LinkedHashSet<>();
 		Iterator<?> iterator = s.iterator();
 		while (iterator.hasNext()) {
 			Object object = iterator.next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
index 67b3564..d77d2f8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
@@ -43,7 +43,7 @@
 	}
 
 	public static void removeTerminatedLaunches(ILaunch[] elements) {
-		List<ILaunch> removed = new ArrayList<ILaunch>();
+		List<ILaunch> removed = new ArrayList<>();
 		for (int i = 0; i < elements.length; i++) {
 			ILaunch launch = elements[i];
 			if (launch.isTerminated()) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
index f1b6c19..44f87c6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
@@ -65,7 +65,7 @@
 		}
 		Viewer viewer = ((IDebugView) getView()).getViewer();
 		if (viewer instanceof TreeViewer) {
-			ArrayList<TreeItem> allVisible= new ArrayList<TreeItem>();
+			ArrayList<TreeItem> allVisible= new ArrayList<>();
 			Tree tree= ((TreeViewer) viewer).getTree();
 			collectExpandedAndVisible(tree.getItems(), allVisible);
 			tree.setSelection(allVisible.toArray(new TreeItem[allVisible.size()]));
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java
index ec665cd..c422d04 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java
@@ -80,7 +80,7 @@
      */
     public static String DEFAULT_TOGGLE_TARGET_ID = "default"; //$NON-NLS-1$
 
-	private static Set<String> DEFAULT_TOGGLE_TARGET_ID_SET = new TreeSet<String>();
+	private static Set<String> DEFAULT_TOGGLE_TARGET_ID_SET = new TreeSet<>();
     static {
         DEFAULT_TOGGLE_TARGET_ID_SET.add(DEFAULT_TOGGLE_TARGET_ID);
     }
@@ -442,7 +442,7 @@
      * Maps the IDs of toggle targets to the factory that can create them.
      * There can currently only be one factory for a given toggle target.
      */
-	private Map<String, IToggleBreakpointsTargetFactory> fFactoriesByTargetID = new HashMap<String, IToggleBreakpointsTargetFactory>();
+	private Map<String, IToggleBreakpointsTargetFactory> fFactoriesByTargetID = new HashMap<>();
 
     /**
      * List of listeners to changes in the preferred toggle targets list.
@@ -453,7 +453,7 @@
      * Initializes the collection of known factories from extension point contributions.
      */
     private void initializeFactories() {
-		fKnownFactories = new LinkedHashMap<String, IToggleBreakpointsTargetFactory>();
+		fKnownFactories = new LinkedHashMap<>();
         fKnownFactories.put(DEFAULT_TOGGLE_TARGET_ID, new ToggleBreakpointsTargetAdapterFactory());
         IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_TOGGLE_BREAKPOINTS_TARGET_FACTORIES);
         IConfigurationElement[] elements = ep.getConfigurationElements();
@@ -492,7 +492,7 @@
         if (fKnownFactories == null) {
 			initializeFactories();
 		}
-		Set<IToggleBreakpointsTargetFactory> set = new HashSet<IToggleBreakpointsTargetFactory>();
+		Set<IToggleBreakpointsTargetFactory> set = new HashSet<>();
 		for (Entry<String, IToggleBreakpointsTargetFactory> entry : fKnownFactories.entrySet()) {
 			IToggleBreakpointsTargetFactory factory = entry.getValue();
             if (factory instanceof ToggleTargetFactory &&
@@ -516,7 +516,7 @@
      * @return Set of toggle target IDs or an empty set
      */
 	private Set<String> getEnabledTargetIDs(Set<IToggleBreakpointsTargetFactory> factoriesToQuery, IWorkbenchPart part, ISelection selection) {
-		Set<String> idsForSelection = new TreeSet<String>();
+		Set<String> idsForSelection = new TreeSet<>();
 		for (IToggleBreakpointsTargetFactory factory : factoriesToQuery) {
 			for(String targetID : factory.getToggleTargets(part, selection)) {
                 fFactoriesByTargetID.put(targetID, factory);
@@ -618,7 +618,7 @@
      * @see #storePreferredTargets()
      */
     private void loadPreferredTargets() {
-		fPreferredTargets = new HashMap<Set<String>, String>();
+		fPreferredTargets = new HashMap<>();
         String preferenceValue = Platform.getPreferencesService().getString(
         		DebugUIPlugin.getUniqueIdentifier(),
         		PREF_TARGETS,
@@ -632,7 +632,7 @@
             String token = entryTokenizer.nextToken();
             int valueStart = token.indexOf(':');
             StringTokenizer keyTokenizer = new StringTokenizer(token.substring(0,valueStart),","); //$NON-NLS-1$
-			Set<String> keys = new TreeSet<String>();
+			Set<String> keys = new TreeSet<>();
             while (keyTokenizer.hasMoreTokens()){
                 keys.add(keyTokenizer.nextToken());
             }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java
index 975c988..c2133ac 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java
@@ -92,12 +92,12 @@
 		if (fStamp == LocalSelectionTransfer.getTransfer().getSelectionSetTime()) {
 			ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
 			if (selection instanceof IStructuredSelection) {
-				Set<IBreakpoint> removed = new HashSet<IBreakpoint>();
+				Set<IBreakpoint> removed = new HashSet<>();
 				for (int i = 0; i < breakpoints.length; i++) {
 					removed.add(breakpoints[i]);
 				}
 				boolean modified = false;
-				List<Object> remain = new ArrayList<Object>();
+				List<Object> remain = new ArrayList<>();
 				IStructuredSelection ss = (IStructuredSelection) selection;
 				Iterator<?> iterator = ss.iterator();
 				while (iterator.hasNext()) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
index 681249d..44876ed 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
@@ -132,7 +132,7 @@
 	}
 
 	public List<IAction> getActions(int accel) {
-		List<IAction> actions = new ArrayList<IAction>();
+		List<IAction> actions = new ArrayList<>();
         IBreakpointOrganizer[] organizers = BreakpointOrganizerManager.getDefault().getOrganizers();
         for (int i = 0; i < organizers.length; i++) {
         	IBreakpointOrganizer organizer = organizers[i];
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
index acc4754..f3b6045 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
@@ -68,7 +68,7 @@
 	private TreeViewer fSelectedViewer;
 	private SelectedOrganizerProvider fSelectedOrganizersProvider= new SelectedOrganizerProvider();
 
-	private List<Object> fResult = new ArrayList<Object>();
+	private List<Object> fResult = new ArrayList<>();
 
 	private Button fAddButton;
 	private Button fRemoveButton;
@@ -411,7 +411,7 @@
      * that are available but not currently selected.
 	 */
 	private class AvailableOrganizersProvider implements IStructuredContentProvider {
-		protected List<IBreakpointOrganizer> availableOrganziers = new ArrayList<IBreakpointOrganizer>();
+		protected List<IBreakpointOrganizer> availableOrganziers = new ArrayList<>();
 
 		public void addAvailable(IBreakpointOrganizer organizer) {
             availableOrganziers.add(organizer);
@@ -437,7 +437,7 @@
 	 * appear in the breakpoints view.
 	 */
 	private class SelectedOrganizerProvider implements ITreeContentProvider {
-		protected List<Object> selectedOrganizers = new ArrayList<Object>();
+		protected List<Object> selectedOrganizers = new ArrayList<>();
 
 		public void addSelected(IBreakpointOrganizer organizer) {
             selectedOrganizers.add(organizer);
@@ -501,7 +501,7 @@
 	 * Label provider which provides text and images for breakpoint container factories
 	 */
 	private class BreakpointOrganzierLabelProvider extends LabelProvider {
-		private HashMap<ImageDescriptor, Image> fImageCache = new HashMap<ImageDescriptor, Image>();
+		private HashMap<ImageDescriptor, Image> fImageCache = new HashMap<>();
 
 		@Override
 		public String getText(Object element) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
index 6a3bfa5..81cafc3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
@@ -69,7 +69,7 @@
      * @return
      */
     protected BreakpointSetElement[] getRemovableBreakpoints(IStructuredSelection selection) {
-		List<BreakpointSetElement> res = new ArrayList<BreakpointSetElement>();
+		List<BreakpointSetElement> res = new ArrayList<>();
     	if (selection instanceof ITreeSelection) {
     		ITreeSelection tSel = (ITreeSelection)selection;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java
index 6680193..c857d3f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java
@@ -68,7 +68,7 @@
 	 */
 	private IWorkingSet[] getBreakpointWorkingSets() {
 		IWorkingSet[] ws = PlatformUI.getWorkbench().getWorkingSetManager().getAllWorkingSets();
-		ArrayList<IWorkingSet> list = new ArrayList<IWorkingSet>();
+		ArrayList<IWorkingSet> list = new ArrayList<>();
 		for(int i = 0; i < ws.length; i++) {
 			if(IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(ws[i].getId())) {
 				list.add(ws[i]);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
index 70b7fa6..1670777 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
@@ -60,8 +60,8 @@
 		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
 			@Override
 			public void run(IProgressMonitor monitor) {
-				ArrayList<IBreakpoint> breakpointsToDelete = new ArrayList<IBreakpoint>();
-				ArrayList<IWorkingSet> groupsToDelete = new ArrayList<IWorkingSet>();
+				ArrayList<IBreakpoint> breakpointsToDelete = new ArrayList<>();
+				ArrayList<IWorkingSet> groupsToDelete = new ArrayList<>();
 				boolean deleteAll = false;
 				boolean deleteContainer = false;
 				boolean prompted = false;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
index d4ba34a..a981d0d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
@@ -58,7 +58,7 @@
 	/**
 	 * The list of identifiers for the current state
 	 */
-	private List<IDebugTarget> fDebugTargets= new ArrayList<IDebugTarget>(2);
+	private List<IDebugTarget> fDebugTargets= new ArrayList<>(2);
 
 	/**
 	 * A viewer filter that selects breakpoints that have
@@ -146,7 +146,7 @@
 			}
 
 			if (debugTargets.size() == fDebugTargets.size()) {
-				List<IDebugTarget> copy= new ArrayList<IDebugTarget>(debugTargets.size());
+				List<IDebugTarget> copy= new ArrayList<>(debugTargets.size());
 				for (IDebugTarget target : fDebugTargets) {
 					Iterator<IDebugTarget> newDebugTargets= debugTargets.iterator();
 					while (newDebugTargets.hasNext()) {
@@ -186,7 +186,7 @@
 	}
 
 	protected List<IDebugTarget> getDebugTargets(IStructuredSelection ss) {
-		List<IDebugTarget> debugTargets= new ArrayList<IDebugTarget>(2);
+		List<IDebugTarget> debugTargets= new ArrayList<>(2);
 		Iterator<?> i= ss.iterator();
 		while (i.hasNext()) {
 			Object next= i.next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
index 25c40ec..1b2e923 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
@@ -33,7 +33,7 @@
 	protected IExpression[] getExpressions() {
 		TreeSelection selection = (TreeSelection) getSelection();
 		TreePath[] paths = selection.getPaths();
-		List<IExpression> expressions = new ArrayList<IExpression>();
+		List<IExpression> expressions = new ArrayList<>();
 		for (int i = paths.length-1; i >=0; i--) {
 			TreePath path = paths[i];
 			Object segment = path.getFirstSegment();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
index 0f61d57..bf50966 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
@@ -61,7 +61,7 @@
     }
 
 	protected IWatchExpression[] getSelectedExpressions() {
-	    List<Object> list = new LinkedList<Object>();
+	    List<Object> list = new LinkedList<>();
 	    IStructuredSelection currentSelection = getCurrentSelection();
 	    if (currentSelection == null) {
 	        return EMPTY_EXPRESSION_ARRAY;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java
index 58d1d7b..95da0c7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java
@@ -33,7 +33,7 @@
  */

 public class OtherBreakpointCategory extends PlatformObject implements IWorkbenchAdapter {

 

-	private static Map<IBreakpointOrganizer, IAdaptable[]> fOthers = new HashMap<IBreakpointOrganizer, IAdaptable[]>();

+	private static Map<IBreakpointOrganizer, IAdaptable[]> fOthers = new HashMap<>();

     private IBreakpointOrganizer fOrganizer;

 

 

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
index f2799ff..3ac0ecd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
@@ -39,7 +39,7 @@
 	/**
 	 * Maps command types to actions to update
 	 */
-	private Map<Class<?>, List<IEnabledTarget>> fCommandUpdates = new HashMap<Class<?>, List<IEnabledTarget>>();
+	private Map<Class<?>, List<IEnabledTarget>> fCommandUpdates = new HashMap<>();
 
 	/**
 	 * Window this service is for.
@@ -54,7 +54,7 @@
 	/**
 	 * Service per window
 	 */
-	private static Map<IWorkbenchWindow, DebugCommandService> fgServices = new HashMap<IWorkbenchWindow, DebugCommandService>();
+	private static Map<IWorkbenchWindow, DebugCommandService> fgServices = new HashMap<>();
 
 	/**
 	 * Returns the service for a window.
@@ -117,7 +117,7 @@
 			Job.getJobManager().cancel(commandType);
 			List<IEnabledTarget> actions = fCommandUpdates.get(commandType);
 			if (actions == null) {
-				actions = new ArrayList<IEnabledTarget>();
+				actions = new ArrayList<>();
 				fCommandUpdates.put(commandType, actions);
 			}
 			actions.add(action);
@@ -144,7 +144,7 @@
 		Map<Class<?>, List<IEnabledTarget>> commands = null;
 		synchronized (fCommandUpdates) {
 			commands = fCommandUpdates;
-			fCommandUpdates = new HashMap<Class<?>, List<IEnabledTarget>>(commands.size());
+			fCommandUpdates = new HashMap<>(commands.size());
 		}
 		if (context instanceof IStructuredSelection && !context.isEmpty()) {
 			Object[] elements = ((IStructuredSelection)context).toArray();
@@ -243,7 +243,7 @@
 	 * @return map of command handlers to associated elements or <code>null</code>
 	 */
 	private Map<IDebugCommandHandler, List<Object>> collate(Object[] elements, Class<?> handlerType) {
-		Map<IDebugCommandHandler, List<Object>> map = new HashMap<IDebugCommandHandler, List<Object>>();
+		Map<IDebugCommandHandler, List<Object>> map = new HashMap<>();
  		for (int i = 0; i < elements.length; i++) {
  			Object element = elements[i];
  			IDebugCommandHandler handler = getHandler(element, handlerType);
@@ -252,7 +252,7 @@
 			} else {
 				List<Object> list = map.get(handler);
 				if (list == null) {
-					list = new ArrayList<Object>();
+					list = new ArrayList<>();
 					map.put(handler, list);
 	 				}
 				list.add(element);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java
index b0d0713..488c316 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java
@@ -61,7 +61,7 @@
         ISelection context = super.getContext();
         if (context instanceof IStructuredSelection && !context.isEmpty()) {
             IStructuredSelection ss = (IStructuredSelection)context;
-			Set<ILaunch> launches = new HashSet<ILaunch>(ss.size());
+			Set<ILaunch> launches = new HashSet<>(ss.size());
 			for (Iterator<Object> itr = ss.iterator(); itr.hasNext();) {
                 ILaunch launch = DebugUIPlugin.getLaunch(itr.next());
                 if (launch != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java
index b569243..0758f9b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java
@@ -93,12 +93,12 @@
 	 * The map of ToolBars that have mouse tracker listeners associated with them:
 	 * stored as Map<IWorkbenchWindow, ToolBar>
 	 */
-	private HashMap<IWorkbenchWindow, ToolBar> fToolbars = new HashMap<IWorkbenchWindow, ToolBar>();
+	private HashMap<IWorkbenchWindow, ToolBar> fToolbars = new HashMap<>();
 
 	/**
 	 * the map of current labels
 	 */
-	private HashMap<ILaunchGroup, String> fCurrentLabels = new HashMap<ILaunchGroup, String>();
+	private HashMap<ILaunchGroup, String> fCurrentLabels = new HashMap<>();
 
 	/**
 	 * The selection has changed and we need to update the labels
@@ -108,19 +108,19 @@
 	/**
 	 * Set of windows that have been opened and that we have registered selection listeners with
 	 */
-	private HashSet<IWorkbenchWindow> fWindows = new HashSet<IWorkbenchWindow>();
+	private HashSet<IWorkbenchWindow> fWindows = new HashSet<>();
 
 	/**
 	 * Cache of IResource -> ILaunchConfiguration[] used during a tooltip update job.
 	 * The cache is cleared after each tooltip update job is complete.
 	 */
-	private HashMap<IResource, ILaunchConfiguration[]> fConfigCache = new HashMap<IResource, ILaunchConfiguration[]>();
+	private HashMap<IResource, ILaunchConfiguration[]> fConfigCache = new HashMap<>();
 
 	/**
 	 * Cache of IResource -> LaunchShortcutExtension used during a tooltip update job.
 	 * The cache is cleared after each tooltip update job is complete.
 	 */
-	private HashMap<IResource, List<LaunchShortcutExtension>> fExtCache = new HashMap<IResource, List<LaunchShortcutExtension>>();
+	private HashMap<IResource, List<LaunchShortcutExtension>> fExtCache = new HashMap<>();
 
 	/**
 	 * Constant denoting the empty string;
@@ -379,7 +379,7 @@
 	 * @since 3.4
 	 */
 	protected List<LaunchShortcutExtension> pruneShortcuts(List<LaunchShortcutExtension> shortcuts, IResource resource, String mode) {
-		List<LaunchShortcutExtension> list = new ArrayList<LaunchShortcutExtension>(shortcuts);
+		List<LaunchShortcutExtension> list = new ArrayList<>(shortcuts);
 		if(resource == null) {
 			LaunchShortcutExtension ext = null;
 			for (ListIterator<LaunchShortcutExtension> iter = list.listIterator(); iter.hasNext();) {
@@ -406,7 +406,7 @@
 	 */
 	public IResource getLaunchableResource(List<LaunchShortcutExtension> shortcuts, IStructuredSelection selection) {
 		if(selection != null && !selection.isEmpty()) {
-			ArrayList<IResource> resources = new ArrayList<IResource>();
+			ArrayList<IResource> resources = new ArrayList<>();
 			IResource resource = null;
 			Object o = selection.getFirstElement();
 			for (LaunchShortcutExtension ext : shortcuts) {
@@ -437,9 +437,9 @@
 	 * @since 3.4
 	 */
 	public List<LaunchShortcutExtension> getShortcutsForSelection(IStructuredSelection selection, String mode) {
-		ArrayList<LaunchShortcutExtension> list = new ArrayList<LaunchShortcutExtension>();
+		ArrayList<LaunchShortcutExtension> list = new ArrayList<>();
 		List<LaunchShortcutExtension> sc = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchShortcuts();
-		List<IEditorInput> ctxt = new ArrayList<IEditorInput>();
+		List<IEditorInput> ctxt = new ArrayList<>();
 		// work around to bug in Structured Selection that returns actual underlying array in selection
 		// @see bug 211646
 		ctxt.addAll(selection.toList());
@@ -475,7 +475,7 @@
 	 * @since 3.4
 	 */
 	public List<ILaunchConfiguration> getParticipatingLaunchConfigurations(IStructuredSelection selection, IResource resource, List<LaunchShortcutExtension> shortcuts, String mode) {
-		List<ILaunchConfiguration> configs = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> configs = new ArrayList<>();
 		int voteDefault = 0;
 		if(selection != null) {
 			Object o = selection.getFirstElement();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
index 61c2e9a..0ba312b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
@@ -34,7 +34,7 @@
 public class DebugContextManager implements IDebugContextManager {
 
 	private static DebugContextManager fgDefault;
-	private Map<IWorkbenchWindow, DebugWindowContextService> fServices = new HashMap<IWorkbenchWindow, DebugWindowContextService>();
+	private Map<IWorkbenchWindow, DebugWindowContextService> fServices = new HashMap<>();
 	private ListenerList<IDebugContextListener> fGlobalListeners = new ListenerList<>();
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java
index 57f07a8..0b990b4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java
@@ -55,7 +55,7 @@
 
 	@Override
 	public void debugContextChanged(DebugContextEvent event) {
-		final Map<String, ISelection> values = new HashMap<String, ISelection>(1);
+		final Map<String, ISelection> values = new HashMap<>(1);
         values.put(IDebugUIConstants.DEBUG_CONTEXT_SOURCE_NAME, event.getContext());
 		// make sure fireSourceChanged is called on the UI thread
 		if (Display.getCurrent() == null) {
@@ -83,7 +83,7 @@
 
 	@Override
 	public Map getCurrentState() {
-		Map<String, ISelection> currentState = new HashMap<String, ISelection>(1);
+		Map<String, ISelection> currentState = new HashMap<>(1);
 	    currentState.put(IDebugUIConstants.DEBUG_CONTEXT_SOURCE_NAME, fDebugContextService.getActiveContext());
 	    return currentState;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
index 264bad3..abf7ce7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
@@ -68,33 +68,33 @@
 	 * Map of debug model identifier to associated contexts as defined
 	 * by <code>debugModelContextBindings</code> extensions.
 	 */
-	private Map<String, List<String>> fModelToContextIds = new HashMap<String, List<String>>();
+	private Map<String, List<String>> fModelToContextIds = new HashMap<>();
 
 	/**
 	 * Map of launch objects to enabled model ids
 	 */
-	private Map<ILaunch, Set<String>> fLaunchToModelIds = new HashMap<ILaunch, Set<String>>();
+	private Map<ILaunch, Set<String>> fLaunchToModelIds = new HashMap<>();
 
 	/**
 	 * Map of launch objects to context activations
 	 */
-	private Map<ILaunch, List<IContextActivation>> fLanuchToContextActivations = new HashMap<ILaunch, List<IContextActivation>>();
+	private Map<ILaunch, List<IContextActivation>> fLanuchToContextActivations = new HashMap<>();
 
 	/**
 	 * A list of activity pattern bindings for debug models.
 	 */
-	private List<IActivityPatternBinding> fModelPatternBindings = new ArrayList<IActivityPatternBinding>();
+	private List<IActivityPatternBinding> fModelPatternBindings = new ArrayList<>();
 
 	/**
 	 * Map of debug model ids to associated activity ids.
 	 */
-	private Map<String, Set<String>> fModelToActivities = new HashMap<String, Set<String>>();
+	private Map<String, Set<String>> fModelToActivities = new HashMap<>();
 
 	/**
 	 * A set of debug model ids for which activities have been enabled.
 	 * Cleared when enabled activities change.
 	 */
-	private Set<String> fModelsEnabledForActivities = new HashSet<String>();
+	private Set<String> fModelsEnabledForActivities = new HashSet<>();
 
 	// extension point
 	public static final String ID_DEBUG_MODEL_CONTEXT_BINDINGS= "debugModelContextBindings"; //$NON-NLS-1$
@@ -145,7 +145,7 @@
     			if (modelIdentifier != null && contextId != null) {
 					List<String> contextIds = fModelToContextIds.get(modelIdentifier);
     				if (contextIds == null) {
-						contextIds = new ArrayList<String>();
+						contextIds = new ArrayList<>();
     					fModelToContextIds.put(modelIdentifier, contextIds);
     				}
     				contextIds.add(contextId);
@@ -205,11 +205,11 @@
 		if (launch == null || launch.isTerminated()) {
 			return;
 		}
-		List<String> toEnable = new ArrayList<String>(modelIds.length);
+		List<String> toEnable = new ArrayList<>(modelIds.length);
 		synchronized (this) {
 			Set<String> alreadyEnabled = fLaunchToModelIds.get(launch);
     		if (alreadyEnabled == null) {
-				alreadyEnabled = new HashSet<String>();
+				alreadyEnabled = new HashSet<>();
     			fLaunchToModelIds.put(launch, alreadyEnabled);
     		}
     		for (int i = 0; i < modelIds.length; i++) {
@@ -242,7 +242,7 @@
     			// if there are no contexts for a model, the base debug context should
     			// be activated (i.e. a debug model with no org.eclipse.ui.contexts and
     			// associated org.eclipse.debug.ui.modelContextBindings)
-				contextIds = new ArrayList<String>();
+				contextIds = new ArrayList<>();
     			contextIds.add(DEBUG_CONTEXT);
     			fModelToContextIds.put(modelId, contextIds);
     		}
@@ -285,7 +285,7 @@
 	private synchronized void addActivation(ILaunch launch, IContextActivation activation) {
 		List<IContextActivation> activations = fLanuchToContextActivations.get(launch);
 		if (activations == null) {
-			activations = new ArrayList<IContextActivation>();
+			activations = new ArrayList<>();
 			fLanuchToContextActivations.put(launch, activations);
 		}
 		activations.add(activation);
@@ -391,7 +391,7 @@
 	 * @return associated workbench contexts
 	 */
 	public List<String> getWorkbenchContextsForDebugContext(Object target) {
-		List<String> workbenchContexts = new ArrayList<String>();
+		List<String> workbenchContexts = new ArrayList<>();
 		String[] modelIds = getDebugModelIds(target);
 		if (modelIds != null) {
 			for (int i = 0; i < modelIds.length; i++) {
@@ -425,7 +425,7 @@
 				Set<String> ids = fModelToActivities.get(id);
 				if (ids == null) {
 					// first time the model has been seen, perform pattern matching
-					ids = new HashSet<String>();
+					ids = new HashSet<>();
 					fModelToActivities.put(id, ids);
 					for (IActivityPatternBinding binding : fModelPatternBindings) {
 						String regex = binding.getPattern().pattern();
@@ -437,7 +437,7 @@
 				}
 				if (!ids.isEmpty()) {
 					if (activities == null) {
-						activities = new HashSet<String>();
+						activities = new HashSet<>();
 					}
 					activities.addAll(ids);
 				}
@@ -448,7 +448,7 @@
 			IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
 			Set<String> enabledActivityIds = activitySupport.getActivityManager().getEnabledActivityIds();
 			if (!enabledActivityIds.containsAll(activities)) {
-				enabledActivityIds = new HashSet<String>(enabledActivityIds);
+				enabledActivityIds = new HashSet<>(enabledActivityIds);
 				enabledActivityIds.addAll(activities);
 				activitySupport.setEnabledActivityIds(activities);
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
index c02a87e..501e59c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
@@ -46,11 +46,11 @@
 public class DebugWindowContextService implements IDebugContextService, IPartListener2, IDebugContextListener {
 
 	private Map<String, ListenerList<IDebugContextListener>> fListenersByPartId = new HashMap<>();
-	private Map<String, IDebugContextProvider> fProvidersByPartId = new HashMap<String, IDebugContextProvider>();
+	private Map<String, IDebugContextProvider> fProvidersByPartId = new HashMap<>();
 	private Map<String, ListenerList<IDebugContextListener>> fPostListenersByPartId = new HashMap<>();
 
 	private IWorkbenchWindow fWindow;
-	private List<IDebugContextProvider> fProviders = new ArrayList<IDebugContextProvider>();
+	private List<IDebugContextProvider> fProviders = new ArrayList<>();
 
 	private DebugContextSourceProvider fSourceProvider;
 
@@ -243,7 +243,7 @@
         if (part != null) {
             id = getCombinedPartId(part);
 			ListenerList<IDebugContextListener> listenerList = fListenersByPartId.get(id);
-			return listenerList != null ? listenerList : new ListenerList<IDebugContextListener>();
+			return listenerList != null ? listenerList : new ListenerList<>();
         } else {
 			ListenerList<IDebugContextListener> listenerList = fListenersByPartId.get(null);
 			ListenerList<IDebugContextListener> retVal = new ListenerList<>();
@@ -280,11 +280,11 @@
 		if (part != null) {
 			id = getCombinedPartId(part);
 			ListenerList<IDebugContextListener> listenerList = fPostListenersByPartId.get(id);
-			return listenerList != null ? listenerList : new ListenerList<IDebugContextListener>();
+			return listenerList != null ? listenerList : new ListenerList<>();
 		} else {
 			ListenerList<IDebugContextListener> retVal = fPostListenersByPartId.get(null);
 			if (retVal == null) {
-				retVal = new ListenerList<IDebugContextListener>();
+				retVal = new ListenerList<>();
 			}
 
 			outer: for (Iterator<String> itr = fPostListenersByPartId.keySet().iterator(); itr.hasNext();) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
index d7dde2a..b7d85cf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
@@ -24,7 +24,7 @@
  */
 public class SuspendTriggerAdapterFactory implements IAdapterFactory {
 
-	private Map<Object, LaunchSuspendTrigger> fSuspendTriggers = new HashMap<Object, LaunchSuspendTrigger>();
+	private Map<Object, LaunchSuspendTrigger> fSuspendTriggers = new HashMap<>();
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
index 47b0ed4..0c34742 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
@@ -354,7 +354,7 @@
 
 		// if debug adapter did not return enough memory, create dummy memory
 		if (memoryBuffer.length < reqNumBytes) {
-			ArrayList<MemoryByte> newBuffer = new ArrayList<MemoryByte>();
+			ArrayList<MemoryByte> newBuffer = new ArrayList<>();
 
 			for (int i = 0; i < memoryBuffer.length; i++) {
 				newBuffer.add(memoryBuffer[i]);
@@ -391,7 +391,7 @@
 	}
 
 	private Object[] organizeLines(long numberOfLines, MemoryByte[] memoryBuffer, BigInteger address, boolean manageDelta, MemoryViewPresentationContext context) {
-		Vector<MemorySegment> lineCache = new Vector<MemorySegment>();
+		Vector<MemorySegment> lineCache = new Vector<>();
 		IMemoryRendering rendering = context.getRendering();
 		if (!(rendering instanceof AbstractAsyncTableRendering)) {
 			return lineCache.toArray();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java
index f70f5bf..ae5f910 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java
@@ -402,7 +402,7 @@
 	public void compareElements(IElementCompareRequest[] requests) {
 		IElementMementoProvider provider = ViewerAdapterService.getMementoProvider(fFrame);
 		if (provider != null) {
-			List<IElementCompareRequest> others = new ArrayList<IElementCompareRequest>(requests.length);
+			List<IElementCompareRequest> others = new ArrayList<>(requests.length);
 			for (int i = 0; i < requests.length; i++) {
 				IElementCompareRequest request = requests[i];
 				if (request.getElement().equals(this)) {
@@ -432,7 +432,7 @@
 	public void encodeElements(IElementMementoRequest[] requests) {
 		IElementMementoProvider provider = ViewerAdapterService.getMementoProvider(fFrame);
 		if (provider != null) {
-			List<IElementMementoRequest> others = new ArrayList<IElementMementoRequest>(requests.length);
+			List<IElementMementoRequest> others = new ArrayList<>(requests.length);
 			for (int i = 0; i < requests.length; i++) {
 				IElementMementoRequest request = requests[i];
 				if (request.getElement().equals(this)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java
index a0f0f37..3d0b75a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java
@@ -318,7 +318,7 @@
 				}
 			}
 			if (!groups.isEmpty()) {
-				List<LaunchGroupExtension> list = new ArrayList<LaunchGroupExtension>();
+				List<LaunchGroupExtension> list = new ArrayList<>();
 				Iterator<String> iterator = groups.iterator();
 				while (iterator.hasNext()) {
 					String id = iterator.next();
@@ -375,7 +375,7 @@
 			boolean run = config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
 			if (debug || run) {
 				// old attributes
-				List<LaunchGroupExtension> groups = new ArrayList<LaunchGroupExtension>();
+				List<LaunchGroupExtension> groups = new ArrayList<>();
 				int num = 0;
 				if (debug) {
 					groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
@@ -405,7 +405,7 @@
 			for (int i = 0; i < checked.length; i++) {
 				LaunchGroupExtension group = (LaunchGroupExtension)checked[i];
 				if (groups == null) {
-					groups = new ArrayList<String>();
+					groups = new ArrayList<>();
 				}
 				groups.add(group.getIdentifier());
 			}
@@ -524,7 +524,7 @@
 		@Override
 		public Object[] getElements(Object inputElement) {
 			ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
-			List<ILaunchGroup> possibleGroups = new ArrayList<ILaunchGroup>();
+			List<ILaunchGroup> possibleGroups = new ArrayList<>();
 			ILaunchConfiguration configuration = (ILaunchConfiguration)inputElement;
 			for (int i = 0; i < groups.length; i++) {
 				ILaunchGroup extension = groups[i];
@@ -550,7 +550,7 @@
 	 */
 	class FavoritesLabelProvider implements ITableLabelProvider {
 
-		private Map<Object, Image> fImages = new HashMap<Object, Image>();
+		private Map<Object, Image> fImages = new HashMap<>();
 
 		@Override
 		public Image getColumnImage(Object element, int columnIndex) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java
index 34fbfca..3b951a7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java
@@ -317,7 +317,7 @@
 	}
 
 	public ILaunchConfiguration[] getSelectedLaunchConfigurations() {
-		List<ILaunchConfiguration> configs = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> configs = new ArrayList<>();
 		if (fSelection != null && !fSelection.isEmpty()) {
 			for (Iterator<?> iter = ((IStructuredSelection) fSelection).iterator(); iter.hasNext();) {
 				Object selection = iter.next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java
index 2859099..074ee44 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java
@@ -261,7 +261,7 @@
 	}
 	static class GroupLaunchTab extends AbstractLaunchConfigurationTab {
 		protected CheckboxTreeViewer treeViewer;
-		protected List<GroupLaunchElement> input = new ArrayList<GroupLaunchElement>();
+		protected List<GroupLaunchElement> input = new ArrayList<>();
 
 		/**
 		 * copy of the initial state of the configuration used for cycle
@@ -400,7 +400,7 @@
 				 */
 				private int[] getMultiSelectionIndices() {
 					StructuredSelection sel = (StructuredSelection) treeViewer.getSelection();
-					List<Integer> indices = new ArrayList<Integer>();
+					List<Integer> indices = new ArrayList<>();
 
 					for (Iterator<?> iter = sel.iterator(); iter.hasNext(); ) {
 						GroupLaunchElement el = (GroupLaunchElement) iter.next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
index 506d73f..5429f3f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
@@ -146,7 +146,7 @@
 		Object[] items = fSelection.toArray();
 		fViewer.setGrayedElements(new Object[] {});
 		fViewer.setCheckedElements(new Object[] {});
-		ArrayList<IBreakpoint> list = new ArrayList<IBreakpoint>();
+		ArrayList<IBreakpoint> list = new ArrayList<>();
 		for(int i = 0; i < items.length; i++) {
 			Object item = items[i];
 			IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(item, IBreakpoint.class);
@@ -181,7 +181,7 @@
 	 */
 	public IStructuredSelection getCheckedElements() {
 		Object[] list = fViewer.getCheckedElements();
-		Vector<Object> selected = new Vector<Object>();
+		Vector<Object> selected = new Vector<>();
 		for(int i = 0; i < list.length; i++) {
 			if(!selected.contains(list[i])) {
 				selected.addElement(list[i]);
@@ -204,7 +204,7 @@
 	 * @return a list of widget occurrences to update or an empty list
 	 */
     private Widget[] searchItems(Object element) {
-		ArrayList<TreeItem> list = new ArrayList<TreeItem>();
+		ArrayList<TreeItem> list = new ArrayList<>();
         TreeItem[] items = fTree.getItems();
         for (int i = 0; i < items.length; i++) {
         	findAllOccurrences(items[i], element, list);
@@ -246,7 +246,7 @@
         	}
         }
         else if (obj instanceof BreakpointContainer) {
-			ArrayList<IBreakpoint> bps = new ArrayList<IBreakpoint>();
+			ArrayList<IBreakpoint> bps = new ArrayList<>();
         	getBreakpointsFromContainers((BreakpointContainer)obj, bps);
         	for(int j = 0; j < bps.size(); j++) {
         		updateCheckedState(bps.get(j), enable);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
index 7044a3c..5a595d8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
@@ -315,7 +315,7 @@
 			}
 			// collect breakpoints
 			Object[] elements = fTView.getCheckedElements().toArray();
-			List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>();
+			List<IBreakpoint> breakpoints = new ArrayList<>();
 			for (int i = 0; i < elements.length; i++) {
 				Object object = elements[i];
 				if (object instanceof IBreakpoint) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsSelectionPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsSelectionPage.java
index 9374cea..1a2381b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsSelectionPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsSelectionPage.java
@@ -68,7 +68,7 @@
 		if(!fIsVisible) {
 			return null;
 		}
-		List<IMarker> markers = new ArrayList<IMarker>();
+		List<IMarker> markers = new ArrayList<>();
 		List<IBreakpoint> breakpoints = fTView.getCheckedElements().toList();
 		for(int i = 0; i < breakpoints.size(); i++) {
 			markers.add(breakpoints.get(i).getMarker());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java
index 6af48f7..ecd53cd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java
@@ -340,7 +340,7 @@
 								file = launchConfig.getFileStore();
 								if (file == null) {
 									if (errors == null) {
-										errors = new ArrayList<IStatus>(configs.length);
+										errors = new ArrayList<>(configs.length);
 									}
 									errors.add(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(WizardMessages.ExportLaunchConfigurationsWizardPage_19, new Object[] { launchConfig.getName() }), null));
 								} else {
@@ -390,14 +390,14 @@
 							}
 							catch (IOException e ) {
 								if (errors == null) {
-									errors = new ArrayList<IStatus>(configs.length);
+									errors = new ArrayList<>(configs.length);
 								}
 								errors.add(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
 										e.getMessage(), e));
 							}
 							catch (CoreException e) {
 								if (errors == null) {
-									errors = new ArrayList<IStatus>(configs.length);
+									errors = new ArrayList<>(configs.length);
 								}
 								errors.add(e.getStatus());
 							}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java
index 5e4b357..4cd723c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java
@@ -172,7 +172,7 @@
 		File config, newconfig = null;
 		boolean owall = false, nowall = false;
 		MessageDialog dialog = null;
-		final List<File> filesToImport = new ArrayList<File>();
+		final List<File> filesToImport = new ArrayList<>();
 		for (Iterator<?> iter = items.iterator(); iter.hasNext();) {
 			config = (File) ((DebugFileSystemElement) iter.next()).getFileSystemObject();
 			newconfig = new File(new Path(LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.toOSString()).append(config.getName()).toOSString());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
index af014e1..eae89d3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
@@ -39,7 +39,7 @@
 	@Override
 	public Object handleStatus(IStatus status, Object source) throws CoreException {
 		ILaunchConfiguration config = null;
-		List<Object> projects = new ArrayList<Object>();
+		List<Object> projects = new ArrayList<>();
 		if (source instanceof List) {
 			List<?> args = (List<?>) source;
 			Iterator<?> iterator = args.iterator();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java
index d932292..946804f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java
@@ -44,7 +44,7 @@
 				ILaunchConfiguration config = (ILaunchConfiguration) infos[0];
 				String mode = (String) infos[1];
 				Shell shell = DebugUIPlugin.getShell();
-				HashSet<String> modes = new HashSet<String>();
+				HashSet<String> modes = new HashSet<>();
 				modes.add(mode);
 				modes.addAll(config.getModes());
 				SelectLaunchersDialog sldd = new SelectLaunchersDialog(shell,
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
index 5b6487a..1f226d7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
@@ -304,7 +304,7 @@
 	protected List<ILaunchConfiguration> getFavorites() {
 		if (fFavorites == null) {
 			ILaunchConfiguration[] favs = getInitialFavorites();
-			fFavorites = new ArrayList<ILaunchConfiguration>(favs.length);
+			fFavorites = new ArrayList<>(favs.length);
 			addAll(favs, fFavorites);
 		}
 		return fFavorites;
@@ -421,7 +421,7 @@
 					try {
 						List<String> groups = configuration.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List<String>) null);
 						if (groups == null) {
-							groups = new ArrayList<String>();
+							groups = new ArrayList<>();
 						}
 						if (!groups.contains(groupId)) {
 							groups.add(groupId);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java
index 3f90d85..e49911c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java
@@ -61,7 +61,7 @@
 	 */
 	private Map<ILaunchConfigurationType, Integer> getCategories() {
 		if (fgCategories == null) {
-			fgCategories = new HashMap<ILaunchConfigurationType, Integer>();
+			fgCategories = new HashMap<>();
 			List<ILaunchConfigurationType> types = Arrays.asList(DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes());
 			Collections.sort(types, new Comparator<ILaunchConfigurationType>() {
 				@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
index 9db8d18..dcf018c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
@@ -158,7 +158,7 @@
 	/**
 	 * The list of registered implementors of <code>ILaunchHistoryChangedListener</code>
 	 */
-	protected List<ILaunchHistoryChangedListener> fLaunchHistoryChangedListeners = new ArrayList<ILaunchHistoryChangedListener>(3);
+	protected List<ILaunchHistoryChangedListener> fLaunchHistoryChangedListeners = new ArrayList<>(3);
 
 	/**
 	 * Launch shortcuts
@@ -238,7 +238,7 @@
 		if (activitySupport == null) {
 			return configurations;
 		}
-		List<ILaunchConfiguration> filteredConfigs = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> filteredConfigs = new ArrayList<>();
 		ILaunchConfigurationType type = null;
 		LaunchConfigurationTypeContribution contribution = null;
 		ILaunchConfiguration configuration = null;
@@ -270,7 +270,7 @@
 		if(as == null) {
 			return delegates;
 		}
-		HashSet<ILaunchDelegate> set = new HashSet<ILaunchDelegate>();
+		HashSet<ILaunchDelegate> set = new HashSet<>();
 		for(int i = 0; i < delegates.length; i++) {
 			//filter by capabilities
 			if(!WorkbenchActivityHelper.filterItem(new LaunchDelegateContribution(delegates[i]))) {
@@ -581,7 +581,7 @@
 	 * @return list of configurations under the element
 	 */
 	private ILaunchConfiguration[] getLaunchConfigurations(Element root) {
-		List<ILaunchConfiguration> configs = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> configs = new ArrayList<>();
 		NodeList nodes = root.getChildNodes();
 		int length = nodes.getLength();
 		for (int i = 0; i < length; i++) {
@@ -646,7 +646,7 @@
 			IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
 
 			// Load the configuration elements into a Map
-			fLaunchShortcuts = new ArrayList<LaunchShortcutExtension>(infos.length);
+			fLaunchShortcuts = new ArrayList<>(infos.length);
 			for (int i = 0; i < infos.length; i++) {
 				fLaunchShortcuts.add(new LaunchShortcutExtension(infos[i]));
 			}
@@ -664,7 +664,7 @@
 			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
 
 			// Load the configuration elements into a Map
-			fLaunchGroups = new HashMap<String, LaunchGroupExtension>(infos.length);
+			fLaunchGroups = new HashMap<>(infos.length);
 			LaunchGroupExtension ext = null;
 			for (int i = 0; i < infos.length; i++) {
 				ext = new LaunchGroupExtension(infos[i]);
@@ -692,9 +692,9 @@
 	 * @since 3.3
 	 */
 	public List<LaunchShortcutExtension> getLaunchShortcuts(IResource resource) {
-		List<LaunchShortcutExtension> list = new ArrayList<LaunchShortcutExtension>();
+		List<LaunchShortcutExtension> list = new ArrayList<>();
 		List<LaunchShortcutExtension> sc = getLaunchShortcuts();
-		List<IResource> ctxt = new ArrayList<IResource>();
+		List<IResource> ctxt = new ArrayList<>();
 		if(resource != null) {
 			ctxt.add(resource);
 		}
@@ -723,12 +723,12 @@
 	 */
 	public String[] getApplicableConfigurationTypes(IResource resource) {
 		List<LaunchShortcutExtension> exts = getLaunchShortcuts();
-		List<IResource> list = new ArrayList<IResource>();
+		List<IResource> list = new ArrayList<>();
 		list.add(resource);
 		IEvaluationContext context = DebugUIPlugin.createEvaluationContext(list);
 		context.setAllowPluginActivation(true);
 		context.addVariable("selection", list); //$NON-NLS-1$
-		HashSet<String> contributedTypeIds = new HashSet<String>();
+		HashSet<String> contributedTypeIds = new HashSet<>();
 		for (Iterator<LaunchShortcutExtension> iter = exts.listIterator(); iter.hasNext();) {
 			LaunchShortcutExtension ext = iter.next();
 			try {
@@ -742,7 +742,7 @@
 				iter.remove();
 			}
 		}
-		List<String> typeIds = new ArrayList<String>();
+		List<String> typeIds = new ArrayList<>();
 		LaunchManager lm = (LaunchManager) DebugPlugin.getDefault().getLaunchManager();
 		for (String id : contributedTypeIds) {
 			ILaunchConfigurationType type = lm.getLaunchConfigurationType(id);
@@ -765,7 +765,7 @@
 	 * @since 3.3
 	 */
 	public ILaunchConfiguration[] getApplicableLaunchConfigurations(String[] types, IResource resource) {
-		ArrayList<ILaunchConfiguration> list = new ArrayList<ILaunchConfiguration>();
+		ArrayList<ILaunchConfiguration> list = new ArrayList<>();
 		try {
 			if(resource != null) {
 				String[] ctypes = types;
@@ -773,7 +773,7 @@
 					ctypes = getApplicableConfigurationTypes(resource);
 				}
 				//copy into collection for hashcode matching
-				HashSet<String> typeset = new HashSet<String>(ctypes.length);
+				HashSet<String> typeset = new HashSet<>(ctypes.length);
 				for(int i = 0; i < ctypes.length; i++) {
 					typeset.add(ctypes[i]);
 				}
@@ -845,7 +845,7 @@
 	 * @return List
 	 */
 	protected List<LaunchShortcutExtension> filterShortcuts(List<LaunchShortcutExtension> unfiltered, String category) {
-		List<LaunchShortcutExtension> filtered = new ArrayList<LaunchShortcutExtension>(unfiltered.size());
+		List<LaunchShortcutExtension> filtered = new ArrayList<>(unfiltered.size());
 		for (LaunchShortcutExtension extension : unfiltered) {
 			if (category == null) {
 				if (extension.getCategory() == null) {
@@ -872,13 +872,13 @@
 	@Deprecated
 	public List<LaunchShortcutExtension> getLaunchShortcuts(String perpsective, String category) {
 		if (fLaunchShortcutsByPerspective == null) {
-			fLaunchShortcutsByPerspective = new HashMap<String, List<LaunchShortcutExtension>>(10);
+			fLaunchShortcutsByPerspective = new HashMap<>(10);
 		}
 		for (LaunchShortcutExtension ext : getLaunchShortcuts()) {
 			for (String id : ext.getPerspectives()) {
 				List<LaunchShortcutExtension> list = fLaunchShortcutsByPerspective.get(id);
 				if (list == null) {
-					list = new ArrayList<LaunchShortcutExtension>(4);
+					list = new ArrayList<>(4);
 					fLaunchShortcutsByPerspective.put(id, list);
 				}
 				list.add(ext);
@@ -902,7 +902,7 @@
 	 */
 	public ILaunchConfiguration getMRUConfiguration(List<ILaunchConfiguration> configurations, ILaunchGroup group, IResource resource) {
 		if(group != null) {
-			ArrayList<ILaunchConfiguration> candidates = new ArrayList<ILaunchConfiguration>();
+			ArrayList<ILaunchConfiguration> candidates = new ArrayList<>();
 			LaunchHistory history = getLaunchHistory(group.getIdentifier());
 			if(history != null) {
 				ILaunchConfiguration[] configs = history.getCompleteLaunchHistory();
@@ -1055,7 +1055,7 @@
 		if (fLaunchHistories == null) {
 			fRestoring = true;
 			ILaunchGroup[] groups = getLaunchGroups();
-			fLaunchHistories = new HashMap<String, LaunchHistory>(groups.length);
+			fLaunchHistories = new HashMap<>(groups.length);
 			ILaunchGroup extension = null;
 			for (int i = 0; i < groups.length; i++) {
 				extension = groups[i];
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
index 5741f17..fbb86f7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
@@ -75,7 +75,7 @@
 	 */
 	private Hashtable<String, Hashtable<String, LaunchConfigurationTabExtension>> fContributedTabs;
 
-	private static Set<String> ALL_MODES = new HashSet<String>(1);
+	private static Set<String> ALL_MODES = new HashSet<>(1);
 
 	static {
 		ALL_MODES.add("*"); //$NON-NLS-1$
@@ -105,7 +105,7 @@
 	 */
 	private void initializeTabGroupExtensions() {
 		if(fTabGroupExtensions == null) {
-			fTabGroupExtensions = new Hashtable<String, Map<Set<String>, LaunchConfigurationTabGroupExtension>>();
+			fTabGroupExtensions = new Hashtable<>();
 			IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS);
 			IConfigurationElement[] groups = extensionPoint.getConfigurationElements();
 			LaunchConfigurationTabGroupExtension group = null;
@@ -117,7 +117,7 @@
 				typeId = group.getTypeIdentifier();
 				map = fTabGroupExtensions.get(typeId);
 				if (map == null) {
-					map = new Hashtable<Set<String>, LaunchConfigurationTabGroupExtension>();
+					map = new Hashtable<>();
 					fTabGroupExtensions.put(typeId, map);
 				}
 				modes = group.getModes();
@@ -156,7 +156,7 @@
 	 * @since 3.3
 	 */
 	private void initializeContributedTabExtensions() {
-		fContributedTabs = new Hashtable<String, Hashtable<String, LaunchConfigurationTabExtension>>();
+		fContributedTabs = new Hashtable<>();
 		IExtensionPoint epoint = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_TABS);
 		IConfigurationElement[] elements = epoint.getConfigurationElements();
 		LaunchConfigurationTabExtension tab = null;
@@ -165,7 +165,7 @@
 			tab = new LaunchConfigurationTabExtension(elements[i]);
 			element = fContributedTabs.get(tab.getTabGroupId());
 			if(element == null) {
-				element = new Hashtable<String, LaunchConfigurationTabExtension>();
+				element = new Hashtable<>();
 				element.put(tab.getIdentifier(), tab);
 				fContributedTabs.put(tab.getTabGroupId(), element);
 			}
@@ -182,7 +182,7 @@
 	 * @exception CoreException if an exception occurs creating the group
 	 */
 	public ILaunchConfigurationTabGroup getTabGroup(ILaunchConfigurationType type, String mode) throws CoreException {
-		HashSet<String> modes = new HashSet<String>();
+		HashSet<String> modes = new HashSet<>();
 		modes.add(mode);
 		LaunchConfigurationTabGroupExtension ext = getExtension(type.getIdentifier(), modes);
 		if (ext == null) {
@@ -201,7 +201,7 @@
 	 * @throws CoreException
 	 */
 	public ILaunchConfigurationTabGroup getTabGroup(ILaunchConfiguration config, String mode) throws CoreException {
-		HashSet<String> modes = new HashSet<String>();
+		HashSet<String> modes = new HashSet<>();
 		modes.add(mode);
 		LaunchConfigurationTabGroupExtension ext = getExtension(config.getType().getIdentifier(), modes);
 		if (ext == null) {
@@ -250,7 +250,7 @@
 		if(as == null || config == null) {
 			return tabs;
 		}
-		HashSet<LaunchConfigurationTabExtension> set = new HashSet<LaunchConfigurationTabExtension>();
+		HashSet<LaunchConfigurationTabExtension> set = new HashSet<>();
 		for(int i = 0; i < tabs.length; i ++) {
 		//filter capabilities
 			if(!WorkbenchActivityHelper.filterItem(new LaunchTabContribution(tabs[i]))) {
@@ -316,7 +316,7 @@
 	 * @since 2.1
 	 */
 	public String getHelpContext(ILaunchConfigurationType type, String mode) throws CoreException {
-		HashSet<String> modes = new HashSet<String>();
+		HashSet<String> modes = new HashSet<>();
 		modes.add(mode);
 		LaunchConfigurationTabGroupExtension ext = getExtension(type.getIdentifier(), modes);
 		if (ext == null) {
@@ -335,7 +335,7 @@
 	 * @return the description of the given configuration type, possible <code>null</code>
 	 */
 	public String getDescription(ILaunchConfigurationType configType, String mode) {
-		HashSet<String> modes = new HashSet<String>();
+		HashSet<String> modes = new HashSet<>();
 		modes.add(mode);
 		LaunchConfigurationTabGroupExtension extension = getExtension(configType.getAttribute(IConfigurationElementConstants.ID), modes);
 		return (extension != null ? extension.getDescription(modes) : null);
@@ -348,7 +348,7 @@
 	 * @return sorted list of launch mode names
 	 */
 	public List<String> getLaunchModeNames(Set<String> modes) {
-		List<String> names = new ArrayList<String>();
+		List<String> names = new ArrayList<>();
 		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
 		for (String id : modes) {
 			ILaunchMode mode = manager.getLaunchMode(id);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
index e761b30..b315b9c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
@@ -95,8 +95,8 @@
 	 */
 	protected List<Set<String>> getModes() {
 		if (fModes == null) {
-			fModes = new ArrayList<Set<String>>();
-			fPerspectives = new Hashtable<Set<String>, String>();
+			fModes = new ArrayList<>();
+			fPerspectives = new Hashtable<>();
 			IConfigurationElement[] modes = fConfig.getChildren(IConfigurationElementConstants.LAUNCH_MODE);
 			if (modes.length > 0) {
 				IConfigurationElement element = null;
@@ -105,7 +105,7 @@
 				for (int i = 0; i < modes.length; i++) {
 					element = modes[i];
 					mode = element.getAttribute(IConfigurationElementConstants.MODE);
-					mset = new HashSet<String>();
+					mset = new HashSet<>();
 					mset.add(mode);
 					fModes.add(mset);
 					perspective = element.getAttribute(IConfigurationElementConstants.PERSPECTIVE);
@@ -184,7 +184,7 @@
 	public String getDescription(Set<String> modes) {
 		String description = null;
 		if(fDescriptions == null) {
-			fDescriptions = new HashMap<Set<String>, String>();
+			fDescriptions = new HashMap<>();
 			IConfigurationElement[] children = fConfig.getChildren(IConfigurationElementConstants.LAUNCH_MODE);
 			IConfigurationElement child = null;
 			String mode = null;
@@ -193,7 +193,7 @@
 				child = children[i];
 				mode = child.getAttribute(IConfigurationElementConstants.MODE);
 				if(mode != null) {
-					set = new HashSet<String>();
+					set = new HashSet<>();
 					set.add(mode);
 				}
 				description = child.getAttribute(IConfigurationElementConstants.DESCRIPTION);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
index dc91023..f6d8098 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
@@ -549,7 +549,7 @@
 	 * @since 3.3
 	 */
 	private Set<String> getCurrentModeSet() {
-		Set<String> set = new HashSet<String>();
+		Set<String> set = new HashSet<>();
 		ILaunchConfigurationWorkingCopy config = getWorkingCopy();
 		if(config != null) {
 			try {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java
index 3691783..5c9be7d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java
@@ -48,9 +48,9 @@
 		private ArrayList<LaunchConfigurationTabExtension> extList = null;
 
 		public TabCollector(List<ILaunchConfigurationTab> tabs, List<LaunchConfigurationTabExtension> exts) {
-			tabList = new ArrayList<ILaunchConfigurationTab>(tabs);
-			extList = new ArrayList<LaunchConfigurationTabExtension>(exts);
-			idSet = new HashSet<String>(tabList.size() + extList.size());
+			tabList = new ArrayList<>(tabs);
+			extList = new ArrayList<>(exts);
+			idSet = new HashSet<>(tabList.size() + extList.size());
 		}
 
 		/**
@@ -169,7 +169,7 @@
 	public ILaunchConfigurationTab[] getTabs() {
 		if(fTabs == null) {
 			try {
-				fTabs = new ArrayList<ILaunchConfigurationTab>();
+				fTabs = new ArrayList<>();
 				LaunchConfigurationTabExtension[] ext = LaunchConfigurationPresentationManager.getDefault().getTabExtensions(fGroupId, fConfig, fMode);
 				//if there are no extensions bypass and do a raw copy into
 				if(ext.length > 0) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
index 9285425..14a0625 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
@@ -141,7 +141,7 @@
 	 * @return the given types minus any types that should not be visible.
 	 */
 	private List<ILaunchConfigurationType> filterTypes(ILaunchConfigurationType[] allTypes) {
-		List<ILaunchConfigurationType> filteredTypes = new ArrayList<ILaunchConfigurationType>();
+		List<ILaunchConfigurationType> filteredTypes = new ArrayList<>();
 		String mode = getMode();
 		LaunchConfigurationTypeContribution contribution;
 		for (int i = 0; i < allTypes.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java
index 856fd62..b6bcae6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java
@@ -59,7 +59,7 @@
 		if(!selection.isEmpty()) {
 			int[] indices = collectIndices(selection.getFirstElement());
 			updateCode.run();
-			ArrayList<Object> set = new ArrayList<Object>();
+			ArrayList<Object> set = new ArrayList<>();
 			Object o = null;
 			for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
 				o = iter.next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
index 91fa6cd..4ab262b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
@@ -634,7 +634,7 @@
 	 * @since 3.2
 	 */
 	private ViewerFilter[] createViewerFilters() {
-		ArrayList<ViewerFilter> filters = new ArrayList<ViewerFilter>();
+		ArrayList<ViewerFilter> filters = new ArrayList<>();
 		fClosedProjectFilter = new ClosedProjectFilter();
 		if(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED)) {
 			filters.add(fClosedProjectFilter);
@@ -1215,7 +1215,7 @@
 			if(value == null) {
 				value = IInternalDebugCoreConstants.EMPTY_STRING;
 			}
-			ArrayList<String> list = new ArrayList<String>();
+			ArrayList<String> list = new ArrayList<>();
 			String[] persisted = value.split(DELIMITER);
 			for(int i = 0; i < persisted.length; i++) {
 				list.add(persisted[i]);
@@ -1252,7 +1252,7 @@
 			if(value != null) {
 				String[] nodes = value.split(DELIMITER);
 				TreeItem[] items = fLaunchConfigurationView.getTreeViewer().getTree().getItems();
-				HashSet<Object> toexpand = new HashSet<Object>();
+				HashSet<Object> toexpand = new HashSet<>();
 				// if we have a selection make sure it is expanded
 				if(fInitialSelection != null && !fInitialSelection.isEmpty()) {
 					Object obj = fInitialSelection.getFirstElement();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
index cd3978f..d5926d7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
@@ -38,7 +38,7 @@
 	/**
 	 * Listing of the complete launch history, which includes favorites in the launched ordering
 	 */
-	private Vector<ILaunchConfiguration> fCompleteHistory = new Vector<ILaunchConfiguration>();
+	private Vector<ILaunchConfiguration> fCompleteHistory = new Vector<>();
 
 	/**
 	 * The launch group this history is provided for
@@ -48,7 +48,7 @@
 	/**
 	 * Ordered listing of the favorites of this history
 	 */
-	private Vector<ILaunchConfiguration> fFavorites = new Vector<ILaunchConfiguration>();
+	private Vector<ILaunchConfiguration> fFavorites = new Vector<>();
 
 	/**
 	 * A new saved flag to prevent save participants from serializing unchanged launch histories.
@@ -59,7 +59,7 @@
 	/**
 	 * List of instances of this launch history
 	 */
-	private static List<LaunchHistory> fgLaunchHistoryInstances = new ArrayList<LaunchHistory>();
+	private static List<LaunchHistory> fgLaunchHistoryInstances = new ArrayList<>();
 
 	/**
 	 * Creates a new launch history for the given launch group
@@ -200,7 +200,7 @@
 	 * @return launch history
 	 */
 	public synchronized ILaunchConfiguration[] getHistory() {
-		Vector<ILaunchConfiguration> history = new Vector<ILaunchConfiguration>();
+		Vector<ILaunchConfiguration> history = new Vector<>();
 		try {
 			for (ILaunchConfiguration config : fCompleteHistory) {
 				if(config.exists() && !fFavorites.contains(config) &&
@@ -227,7 +227,7 @@
 	 * @since 3.3
 	 */
 	public synchronized ILaunchConfiguration[] getCompleteLaunchHistory() {
-		Vector<ILaunchConfiguration> history = new Vector<ILaunchConfiguration>();
+		Vector<ILaunchConfiguration> history = new Vector<>();
 		try {
 			for (ILaunchConfiguration config : fCompleteHistory) {
 				if(config.exists() && DebugUIPlugin.doLaunchConfigurationFiltering(config) &&
@@ -256,7 +256,7 @@
 	 * @param favorites
 	 */
 	public synchronized void setFavorites(ILaunchConfiguration[] favorites) {
-		fFavorites = new Vector<ILaunchConfiguration>(Arrays.asList(favorites));
+		fFavorites = new Vector<>(Arrays.asList(favorites));
 		setSaved(false);
 		fireLaunchHistoryChanged();
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
index 011adc0..ab24351 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
@@ -197,7 +197,7 @@
 				return null;
 			}
 			IConfigurationElement[] labels = context.getChildren(IConfigurationElementConstants.CONTEXT_LABEL);
-			fContextLabels = new ArrayList<Pair>(labels.length);
+			fContextLabels = new ArrayList<>(labels.length);
 			for (int i = 0; i < labels.length; i++) {
 				fContextLabels.add(new Pair(labels[i].getAttribute(IConfigurationElementConstants.MODE),
 						labels[i].getAttribute(IConfigurationElementConstants.LABEL)));
@@ -220,7 +220,7 @@
 	 */
 	public Set<String> getAssociatedConfigurationTypes() {
 		if(fAssociatedTypes == null) {
-			fAssociatedTypes = new HashSet<String>();
+			fAssociatedTypes = new HashSet<>();
 			IConfigurationElement[] children = fConfig.getChildren(IConfigurationElementConstants.CONFIGURATION_TYPES);
 			String id = null;
 			for (int i = 0; i < children.length; i++) {
@@ -246,7 +246,7 @@
 			return null;
 		}
 		if(fDescriptions == null) {
-			fDescriptions = new HashMap<String, String>();
+			fDescriptions = new HashMap<>();
 			//get the description for the main element first
 			String descr = fConfig.getAttribute(IConfigurationElementConstants.DESCRIPTION);
 			if(descr != null) {
@@ -386,7 +386,7 @@
 	public List<String> getPerspectives() {
 		if (fPerspectives == null) {
 			IConfigurationElement[] perspectives = getConfigurationElement().getChildren(IConfigurationElementConstants.PERSPECTIVE);
-			fPerspectives = new ArrayList<String>(perspectives.length);
+			fPerspectives = new ArrayList<>(perspectives.length);
 			for (int i = 0; i < perspectives.length; i++) {
 				fPerspectives.add(perspectives[i].getAttribute(IConfigurationElementConstants.ID));
 			}
@@ -445,7 +445,7 @@
 				return Collections.EMPTY_SET;
 			}
 			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$
-			fModes = new HashSet<String>(tokenizer.countTokens());
+			fModes = new HashSet<>(tokenizer.countTokens());
 			while (tokenizer.hasMoreTokens()) {
 				fModes.add(tokenizer.nextToken().trim());
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
index cf6b28e..2ff5205 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
@@ -111,7 +111,7 @@
 		public PerspectiveContext(ILaunchConfigurationType type, ILaunchDelegate delegate, Set<String> modes) {
 			fType = type;
 			fDelegate = delegate;
-			fPerspectives = new HashMap<Set<String>, String>();
+			fPerspectives = new HashMap<>();
 			fPerspectives.put(modes, null);
 		}
 
@@ -178,7 +178,7 @@
 		 */
 		public void setPerspective(Set<String> modes, String pid) {
 			if(fPerspectives == null) {
-				fPerspectives = new HashMap<Set<String>, String>();
+				fPerspectives = new HashMap<>();
 			}
 			fPerspectives.put(modes, pid);
 		}
@@ -276,7 +276,7 @@
      * Maps each launch to its perspective context activation. These
      * are disabled when a launch terminates.
      */
-	private Map<ILaunch, IContextActivation[]> fLaunchToContextActivations = new HashMap<ILaunch, IContextActivation[]>();
+	private Map<ILaunch, IContextActivation[]> fLaunchToContextActivations = new HashMap<>();
 
 	/**
 	 * Called by the debug ui plug-in on startup.
@@ -815,7 +815,7 @@
 	 * @since 3.0
 	 */
 	public String getLaunchPerspective(ILaunchConfigurationType type, String mode) {
-		HashSet<String> modes = new HashSet<String>();
+		HashSet<String> modes = new HashSet<>();
 		modes.add(mode);
 		return getLaunchPerspective(type, modes, null);
 	}
@@ -837,7 +837,7 @@
 	 * @since 3.0
 	 */
 	public void setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective) {
-		HashSet<String> modes = new HashSet<String>();
+		HashSet<String> modes = new HashSet<>();
 		modes.add(mode);
 		setLaunchPerspective(type, modes, null, perspective);
 	}
@@ -995,7 +995,7 @@
 	 */
 	private void initPerspectives() {
 		if(fPerspectiveContexts == null) {
-			fPerspectiveContexts = new HashSet<PerspectiveContext>();
+			fPerspectiveContexts = new HashSet<>();
 			String xml = DebugUIPlugin.getDefault().getPreferenceStore().getString(IInternalDebugUIConstants.PREF_LAUNCH_PERSPECTIVES);
 			if (xml != null && xml.length() > 0) {
 				try {
@@ -1040,7 +1040,7 @@
 	 * @since 3.3
 	 */
 	private Set<String> parseModes(String modes) {
-		HashSet<String> modeset = new HashSet<String>();
+		HashSet<String> modeset = new HashSet<>();
 		String[] ms = modes.split(","); //$NON-NLS-1$
 		for(int i = 0; i < ms.length; i++) {
 			modeset.add(ms[i].trim());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
index 6a46443..1ca8590 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
@@ -228,7 +228,7 @@
 	 * @return the list of dirty editors for this launch to save, never null
 	 */
 	protected IResource[] getScopedDirtyResources(IProject[] projects) {
-		HashSet<IResource> dirtyres = new HashSet<IResource>();
+		HashSet<IResource> dirtyres = new HashSet<>();
 		IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
 		for(int l = 0; l < windows.length; l++) {
 			IWorkbenchPage[] pages = windows[l].getPages();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java
index 91f5917..07f8366 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java
@@ -49,7 +49,7 @@
 				DebugUIPlugin.log(e);
 				return new ILaunchConfiguration[0];
 			}
-			List<ILaunchConfiguration> list = new ArrayList<ILaunchConfiguration>(all.length);
+			List<ILaunchConfiguration> list = new ArrayList<>(all.length);
 			ViewerFilter filter = new LaunchGroupFilter(fHistory.getLaunchGroup());
 			for (int i = 0; i < all.length; i++) {
 				if (filter.select(null, null, all[i])) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java
index 446120a..d842ed3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java
@@ -46,7 +46,7 @@
 		@Override
 		public String getText(Object element) {
 			Set<?> vals = (Set<?>) element;
-			Set<String> modes = new HashSet<String>(vals.size());
+			Set<String> modes = new HashSet<>(vals.size());
 			for (Object o : vals) {
 				modes.add((String) o);
 			}
@@ -77,7 +77,7 @@
 		super(parentShell);
 		super.setTitle(LaunchConfigurationsMessages.SelectLaunchOptionsDialog_3);
 		setShellStyle(getShellStyle() | SWT.RESIZE);
-		fValidModes = new ArrayList<Set<String>>();
+		fValidModes = new ArrayList<>();
 		Set<Set<String>> modes = configuration.getType().getSupportedModeCombinations();
 		for (Set<String> modeset : modes) {
 			if(modeset.contains(mode)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java
index 1b2fc49..18ff746 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java
@@ -257,7 +257,7 @@
 	 * @return the complete set of modes that the associated launch configuration is concerned with
 	 */
 	protected Set<String> getCurrentModeSet() {
-		Set<String> modes = new HashSet<String>();
+		Set<String> modes = new HashSet<>();
 		try {
 			modes = fConfiguration.getModes();
 			modes.add(fLaunchMode);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
index 1daa57c..015971b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
@@ -61,7 +61,7 @@
 					return true;
 				}
 				//remove breakpoint working sets
-				ArrayList<IWorkingSet> ws = new ArrayList<IWorkingSet>();
+				ArrayList<IWorkingSet> ws = new ArrayList<>();
 				for (int i = 0; i < wsets.length; i++) {
 					if(!IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(wsets[i].getId())) {
 						ws.add(wsets[i]);
@@ -89,7 +89,7 @@
 	 * @since 3.2
 	 */
 	public static boolean workingSetContains(IWorkingSet[] wsets, IResource res) {
-		ArrayList<IResource> parents = new ArrayList<IResource>();
+		ArrayList<IResource> parents = new ArrayList<>();
 		parents.add(res);
 		while(res != null) {
 			res = res.getParent();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
index a487ca9..2715fae 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
@@ -39,10 +39,10 @@
 public class MemoryRenderingManager extends AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingManager {
 
 	// map of rendering type ids to valid rendering types
-	private Map<String, MemoryRenderingType> fRenderingTypes = new HashMap<String, MemoryRenderingType>();
+	private Map<String, MemoryRenderingType> fRenderingTypes = new HashMap<>();
 
 	// list of renderingBindings
-	private List<RenderingBindings> fBindings = new ArrayList<RenderingBindings>();
+	private List<RenderingBindings> fBindings = new ArrayList<>();
 
 	// singleton manager
 	private static MemoryRenderingManager fgDefault;
@@ -114,7 +114,7 @@
 	 */
 	@Override
 	public IMemoryRenderingType[] getDefaultRenderingTypes(IMemoryBlock block) {
-		List<IMemoryRenderingType> allTypes = new ArrayList<IMemoryRenderingType>();
+		List<IMemoryRenderingType> allTypes = new ArrayList<>();
 		Iterator<RenderingBindings> iterator = fBindings.iterator();
 		while (iterator.hasNext()) {
 			RenderingBindings binding = iterator.next();
@@ -152,7 +152,7 @@
 	 */
 	@Override
 	public IMemoryRenderingType[] getRenderingTypes(IMemoryBlock block) {
-		List<IMemoryRenderingType> allTypes = new ArrayList<IMemoryRenderingType>();
+		List<IMemoryRenderingType> allTypes = new ArrayList<>();
 		for (RenderingBindings binding : fBindings) {
 			IMemoryRenderingType[] renderingTypes = binding.getRenderingTypes(block);
 			for (int i = 0; i < renderingTypes.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
index a7adf3f..a19c58a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
@@ -79,7 +79,7 @@
 	private IMemoryRenderingType[] getBindings() {
 		if (fRenderingTypes == null) {
 			String ids = fConfigurationElement.getAttribute(ATTR_RENDERING_IDS);
-			List<IMemoryRenderingType> list = new ArrayList<IMemoryRenderingType>();
+			List<IMemoryRenderingType> list = new ArrayList<>();
 			IMemoryRenderingManager manager = getManager();
 			if (ids != null) {
 				String[] strings = ids.split(","); //$NON-NLS-1$
@@ -109,7 +109,7 @@
 	private IMemoryRenderingType[] getDefaultBindings() {
 		if (fDefaultTypes == null) {
 			String ids = fConfigurationElement.getAttribute(ATTR_DEFAULT_IDS);
-			List<IMemoryRenderingType> list = new ArrayList<IMemoryRenderingType>();
+			List<IMemoryRenderingType> list = new ArrayList<>();
 			IMemoryRenderingManager manager = getManager();
 			if (ids != null) {
 				String[] strings = ids.split(","); //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
index b7bb342..7451758 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
@@ -419,7 +419,7 @@
 	private NextPageAction fNextAction;
 	private PrevPageAction fPrevAction;
 
-	private ArrayList<IContextActivation> fContext = new ArrayList<IContextActivation>();
+	private ArrayList<IContextActivation> fContext = new ArrayList<>();
 	private AbstractHandler fGoToAddressHandler;
 
 	private AbstractHandler fNextPageHandler;
@@ -822,7 +822,7 @@
 
 	private void addMenuListener(IMenuListener menuListener) {
 		if (fMenuListeners == null) {
-			fMenuListeners = new ArrayList<IMenuListener>();
+			fMenuListeners = new ArrayList<>();
 		}
 
 		if (!fMenuListeners.contains(menuListener)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java
index c1791ef..4f18828 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java
@@ -87,7 +87,7 @@
         /**
          * Model proxy of the input
          */
-		final private List<BreakpointManagerProxy> fProxies = new ArrayList<BreakpointManagerProxy>(1);
+		final private List<BreakpointManagerProxy> fProxies = new ArrayList<>(1);
 
         /**
          * Element comparator, use to compare the ordering of elements for the model
@@ -379,7 +379,7 @@
             }
 
             synchronized(this) {
-				Set<IBreakpoint> existingBreakpoints = new HashSet<IBreakpoint>(Arrays.asList(fContainer.getBreakpoints()));
+				Set<IBreakpoint> existingBreakpoints = new HashSet<>(Arrays.asList(fContainer.getBreakpoints()));
 
                 // Bug 310879
                 // Process breakpoints in two passes: first remove breakpoints, then add new ones.
@@ -427,7 +427,7 @@
             }
 
             IBreakpoint[] breakpoints = thread.getBreakpoints();
-			Set<IBreakpoint> bpsSet = new HashSet<IBreakpoint>(breakpoints.length * 4 / 3);
+			Set<IBreakpoint> bpsSet = new HashSet<>(breakpoints.length * 4 / 3);
             for (int i = 0; i< breakpoints.length; i++) {
                 bpsSet.add(breakpoints[i]);
             }
@@ -553,8 +553,8 @@
                 ModelDelta delta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
 
                 // If the change caused a breakpoint to be added (installed) or remove (un-installed) update accordingly.
-				List<IBreakpoint> removed = new ArrayList<IBreakpoint>();
-				List<IBreakpoint> added = new ArrayList<IBreakpoint>();
+				List<IBreakpoint> removed = new ArrayList<>();
+				List<IBreakpoint> added = new ArrayList<>();
 				List<IBreakpoint> filteredAsList = Arrays.asList(filteredBreakpoints);
                 for (int i = 0; i < breakpoints.length; i++) {
                     IBreakpoint bp = breakpoints[i];
@@ -821,7 +821,7 @@
     protected IBreakpoint[] filterBreakpoints(DefaultBreakpointsViewInput input, IStructuredSelection selectionFilter, IBreakpoint[] breakpoints) {
         if (selectionFilter != null && !selectionFilter.isEmpty()) {
 			List<IDebugTarget> targets = getDebugTargets(selectionFilter);
-			ArrayList<IBreakpoint> retVal = new ArrayList<IBreakpoint>();
+			ArrayList<IBreakpoint> retVal = new ArrayList<>();
             if (targets != null) {
                 for (int i = 0; i < breakpoints.length; ++i) {
                     if (supportsBreakpoint(targets, breakpoints[i])) {
@@ -869,7 +869,7 @@
      * @return list of IDebugTarget object.
      */
 	protected List<IDebugTarget> getDebugTargets(IStructuredSelection ss) {
-		List<IDebugTarget> debugTargets = new ArrayList<IDebugTarget>(2);
+		List<IDebugTarget> debugTargets = new ArrayList<>(2);
         if (ss != null) {
 			Iterator<?> i = ss.iterator();
             while (i.hasNext()) {
@@ -919,7 +919,7 @@
      * @param context Presentation context that was disposed.
      */
     protected void contextDisposed(IPresentationContext context) {
-		List<InputData> removed = new ArrayList<InputData>(1);
+		List<InputData> removed = new ArrayList<>(1);
         synchronized (fInputToData) {
 			for (Iterator<Entry<DefaultBreakpointsViewInput, InputData>> itr = fInputToData.entrySet().iterator(); itr.hasNext();) {
 				Map.Entry<DefaultBreakpointsViewInput, InputData> entry = itr.next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java
index 938267d..78134aa 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java
@@ -136,7 +136,7 @@
 	 * Queue of label updates
 	 */
 	class LabelUpdater implements Runnable {
-		LinkedList<ILabelUpdate> fQueue = new LinkedList<ILabelUpdate>();
+		LinkedList<ILabelUpdate> fQueue = new LinkedList<>();
 
 		public synchronized boolean queue(ILabelUpdate[] updates) {
 			if (fQueue == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
index 946ce92..c0fbfaa 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
@@ -89,8 +89,8 @@
 	@Override
 	public void update(IChildrenCountUpdate[] updates) {
 		// See if we can delegate to a model specific content provider
-		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<IElementContentProvider, List<IViewerUpdate>>();
-		List<IViewerUpdate> notDelegated = new ArrayList<IViewerUpdate>();
+		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<>();
+		List<IViewerUpdate> notDelegated = new ArrayList<>();
 		findDelegates(delegateMap, notDelegated, updates);
 
 		// Batch the updates and send them to the delegates
@@ -109,8 +109,8 @@
 	@Override
 	public void update(IHasChildrenUpdate[] updates) {
 		// See if we can delegate to a model specific content provider
-		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<IElementContentProvider, List<IViewerUpdate>>();
-		List<IViewerUpdate> notDelegated = new ArrayList<IViewerUpdate>();
+		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<>();
+		List<IViewerUpdate> notDelegated = new ArrayList<>();
 		findDelegates(delegateMap, notDelegated, updates);
 
 		// Batch the updates and send them to the delegates
@@ -129,8 +129,8 @@
 	@Override
 	public void update(IChildrenUpdate[] updates) {
 		// See if we can delegate to a model specific content provider
-		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<IElementContentProvider, List<IViewerUpdate>>();
-		List<IViewerUpdate> notDelegated = new ArrayList<IViewerUpdate>();
+		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<>();
+		List<IViewerUpdate> notDelegated = new ArrayList<>();
 		findDelegates(delegateMap, notDelegated, updates);
 
 		// Batch the updates and send them to the delegates
@@ -160,7 +160,7 @@
 				if (delegate != null){
 					List<IViewerUpdate> updateList = delegateMap.get(delegate);
 					if (updateList == null){
-						updateList = new ArrayList<IViewerUpdate>();
+						updateList = new ArrayList<>();
 						delegateMap.put(delegate, updateList);
 					}
 					((ViewerUpdateMonitor)updates[i]).setDelegated(true);
@@ -179,7 +179,7 @@
             IErrorReportingExpression expression = (IErrorReportingExpression) parent;
             if (expression.hasErrors()) {
                 String[] messages = expression.getErrorMessages();
-				LinkedHashSet<ErrorMessageElement> set = new LinkedHashSet<ErrorMessageElement>(messages.length);
+				LinkedHashSet<ErrorMessageElement> set = new LinkedHashSet<>(messages.length);
                 for (int i = 0; i < messages.length; i++) {
 					set.add(new ErrorMessageElement(messages[i]));
 				}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
index 3cd8291..a3a8a65 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
@@ -199,7 +199,7 @@
 	 */
 	@Override
 	protected Control createContents(Composite parent) {
-		fFieldEditors = new ArrayList<FieldEditor>();
+		fFieldEditors = new ArrayList<>();
 		Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_HORIZONTAL);
 		//filtering options
 		Group group = SWTFactory.createGroup(comp, DebugPreferencesMessages.LaunchingPreferencePage_32, 1, 1, GridData.FILL_HORIZONTAL);
@@ -301,7 +301,7 @@
 			ILaunchManager lmanager = DebugPlugin.getDefault().getLaunchManager();
 			ILaunchConfiguration[] configurations = lmanager.getMigrationCandidates();
 			//separate the private from the public
-			List<ILaunchConfiguration> pub = new ArrayList<ILaunchConfiguration>();
+			List<ILaunchConfiguration> pub = new ArrayList<>();
 			for(int i = 0; i < configurations.length; i++) {
 				if(DebugUITools.isPrivate(configurations[i])) {
 					//auto-migrate private ones
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java
index dc38f56..9489da7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java
@@ -176,7 +176,7 @@
 				children[i].dispose();
 			}
 			if(fgCurrentWorkingContext == null) {
-				fgCurrentWorkingContext = new HashSet<Object>();
+				fgCurrentWorkingContext = new HashSet<>();
 			}
 			fgCurrentWorkingContext.clear();
 			if(!selection.isEmpty()) {
@@ -404,7 +404,7 @@
 		IStructuredSelection ss = (IStructuredSelection) fTreeViewer.getSelection();
 		if(ss != null && !ss.isEmpty()) {
 			Object o = null;
-			Set<String> tmp = new HashSet<String>();
+			Set<String> tmp = new HashSet<>();
 			String id = null;
 			ILaunchConfigurationType type = null;
 			LaunchDelegate delegate = null;
@@ -473,7 +473,7 @@
 	protected Set<Set<String>> collectCommonModeSets(Object[] selection) {
 
 	//prep selection context, remove types from the equation
-		HashSet<ILaunchDelegate> delegates = new HashSet<ILaunchDelegate>();
+		HashSet<ILaunchDelegate> delegates = new HashSet<>();
 		Object o = null;
 		for(int i = 0; i < selection.length; i++) {
 			o = selection[i];
@@ -489,9 +489,9 @@
 			}
 		}
 	//compare the listing of delegates to find common mode sets
-		HashSet<Set<String>> common = new HashSet<Set<String>>();
+		HashSet<Set<String>> common = new HashSet<>();
 		List<Set<String>> modes = null;
-		HashSet<Set<String>> pruned = new HashSet<Set<String>>();
+		HashSet<Set<String>> pruned = new HashSet<>();
 		for (ILaunchDelegate delegate : delegates) {
 			modes = delegate.getModes();
 			for (Set<String> fmodes : modes) {
@@ -566,7 +566,7 @@
 			}
 			for(int j = 0; j < delegates.length; j++) {
 				ILaunchDelegate delegate = (ILaunchDelegate) delegates[j];
-				modes = new HashSet<Set<String>>(delegate.getModes());
+				modes = new HashSet<>(delegate.getModes());
 				for (Set<String> modeset : modes) {
 					fgChangeSet.add(new PerspectiveChange(type, delegate, modeset, pm.getDefaultLaunchPerspective(type, delegate, modeset)));
 				}
@@ -586,10 +586,10 @@
 	@Override
 	public void init(IWorkbench workbench) {
 		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-		fgChangeSet = new HashSet<PerspectiveChange>();
+		fgChangeSet = new HashSet<>();
 	//init the labels mapping and the list of labels
-		fgPerspectiveIdMap = new HashMap<String, String>();
-		ArrayList<String> labels = new ArrayList<String>();
+		fgPerspectiveIdMap = new HashMap<>();
+		ArrayList<String> labels = new ArrayList<>();
 		labels.add(DebugPreferencesMessages.PerspectivePreferencePage_4);
 		IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
 		IPerspectiveDescriptor[] descriptors = registry.getPerspectives();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java
index 779e7c6..c872ff1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java
@@ -285,8 +285,8 @@
 			setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
 			LaunchManager lm = (LaunchManager) DebugPlugin.getDefault().getLaunchManager();
 			ILaunchConfigurationType[] types = lm.getLaunchConfigurationTypes();
-			fDuplicates = new HashMap<ILaunchConfigurationType, Set<DuplicateDelegate>>();
-			fDupeSelections = new HashMap<DuplicateDelegate, ILaunchDelegate>();
+			fDuplicates = new HashMap<>();
+			fDupeSelections = new HashMap<>();
 			ILaunchDelegate[] delegates = null;
 			Set<Set<String>> modes = null;
 			Set<String> modeset = null;
@@ -301,7 +301,7 @@
 					if(delegates.length > 1) {
 						tmp = fDuplicates.get(types[i]);
 						if(tmp == null) {
-							tmp = new HashSet<DuplicateDelegate>();
+							tmp = new HashSet<>();
 						}
 						dd = new DuplicateDelegate(types[i], delegates, modeset);
 						tmp.add(dd);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java
index 1293d66..50cff00 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java
@@ -77,7 +77,7 @@
 	/**
 	 * Set of configurations to be deleted
 	 */
-	private Set<ILaunchConfigurationWorkingCopy> fDeletedConfigurations = new HashSet<ILaunchConfigurationWorkingCopy>();
+	private Set<ILaunchConfigurationWorkingCopy> fDeletedConfigurations = new HashSet<>();
 
 	/**
 	 * Set of original default candidates for the resource
@@ -87,7 +87,7 @@
 	/**
 	 * Holds configurations that need to be saved when the page closes
 	 */
-	private Set<ILaunchConfigurationWorkingCopy> fChangedConfigurations = new HashSet<ILaunchConfigurationWorkingCopy>();
+	private Set<ILaunchConfigurationWorkingCopy> fChangedConfigurations = new HashSet<>();
 
 	/**
 	 * List of the applicable launch config types for the backing resource
@@ -253,7 +253,7 @@
 	protected ILaunchConfigurationType[] collectTypeCandidates() {
 		if(fTypeCandidates == null) {
 			String[] types = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getApplicableConfigurationTypes(getResource());
-			fTypeCandidates = new ArrayList<ILaunchConfigurationType>(types.length);
+			fTypeCandidates = new ArrayList<>(types.length);
 			for(int i = 0; i < types.length; i++) {
 				fTypeCandidates.add(DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(types[i]));
 			}
@@ -279,7 +279,7 @@
 	 */
 	protected Set<ILaunchConfiguration> collectConfigCandidates(IResource resource) {
 		if(fOriginalCandidates == null) {
-			fOriginalCandidates = new HashSet<ILaunchConfiguration>();
+			fOriginalCandidates = new HashSet<>();
 			try {
 				ILaunchConfiguration[] configs = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getApplicableLaunchConfigurations(null, resource);
 				for(int i = 0; i < configs.length; i++) {
@@ -357,7 +357,7 @@
 	 * @return the names of the original launch configurations
 	 */
 	private Set<String> getConfigurationNames() {
-		Set<String> names = new HashSet<String>();
+		Set<String> names = new HashSet<>();
 		for(ILaunchConfiguration config : fOriginalCandidates) {
 			names.add(config.getName());
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
index 4669c79..90eccc7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
@@ -483,7 +483,7 @@
 		/**
 		 * The content provider stores variable wrappers for use during editing.
 		 */
-		private List<VariableWrapper> fWorkingSet = new ArrayList<VariableWrapper>();
+		private List<VariableWrapper> fWorkingSet = new ArrayList<>();
 
 		@Override
 		public Object[] getElements(Object inputElement) {
@@ -517,8 +517,8 @@
 		public void saveChanges() {
 			IStringVariableManager manager = getVariableManager();
 			Iterator<VariableWrapper> iterator = fWorkingSet.iterator();
-			List<IValueVariable> remove = new ArrayList<IValueVariable>();
-			List<IValueVariable> add = new ArrayList<IValueVariable>();
+			List<IValueVariable> remove = new ArrayList<>();
+			List<IValueVariable> add = new ArrayList<>();
 			while (iterator.hasNext()) {
 				VariableWrapper variable = iterator.next();
 				if (!variable.isReadOnly()) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
index 5d90dee..7af71fa 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
@@ -191,7 +191,7 @@
 	@Override
 	public boolean performOk() {
 		Object[] descriptors = fPerspectiveViewer.getCheckedElements();
-		Set<String> perspectives = new HashSet<String>();
+		Set<String> perspectives = new HashSet<>();
 		for (int i = 0; i < descriptors.length; i++) {
 		    perspectives.add( ((IPerspectiveDescriptor)descriptors[i]).getId() );
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
index cfcd7fb..c1b7f70 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
@@ -166,7 +166,7 @@
 	 * @return the list of source container types that have browsers
 	 */
 	private ISourceContainerType[] filterTypes(ISourceContainerType[] types){
-		ArrayList<ISourceContainerType> validTypes = new ArrayList<ISourceContainerType>();
+		ArrayList<ISourceContainerType> validTypes = new ArrayList<>();
 		for (int i=0; i< types.length; i++) {
 			ISourceContainerType type = types[i];
 			if (fDirector.supportsSourceContainerType(type)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
index 07bd44d..4ea4c50 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
@@ -43,7 +43,7 @@
 				return allProjects;
 			}
 
-			ArrayList<IProject> accessibleProjects = new ArrayList<IProject>();
+			ArrayList<IProject> accessibleProjects = new ArrayList<>();
 			for (int i = 0; i < allProjects.length; i++) {
 				if (allProjects[i].isOpen()) {
 					accessibleProjects.add(allProjects[i]);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
index bfb8ace..97d8a57 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
@@ -65,7 +65,7 @@
 	 * @return the filtered list, may be empty
 	 */
 	private List<Object> removeSourceNotFoundEditors(List<?> sources) {
-		List<Object> filteredList = new ArrayList<Object>();
+		List<Object> filteredList = new ArrayList<>();
 		for (Object obj : sources) {
 			if (!(obj instanceof CommonSourceNotFoundEditor)) {
 				filteredList.add(obj);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
index b6c5f55..6712d2f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
@@ -76,7 +76,7 @@
 	 * @return targets for an action
 	 */
 	protected List<ISourceContainer> getOrderedSelection() {
-		List<ISourceContainer> targets = new ArrayList<ISourceContainer>();
+		List<ISourceContainer> targets = new ArrayList<>();
 		List<Object> selection = ((IStructuredSelection) getViewer().getSelection()).toList();
 		ISourceContainer[] entries = getViewer().getEntries();
 		for (int i = 0; i < entries.length; i++) {
@@ -93,7 +93,7 @@
 	 */
 	protected List<ISourceContainer> getEntriesAsList() {
 		ISourceContainer[] entries = getViewer().getEntries();
-		List<ISourceContainer> list = new ArrayList<ISourceContainer>(entries.length);
+		List<ISourceContainer> list = new ArrayList<>(entries.length);
 		for (int i = 0; i < entries.length; i++) {
 			list.add(entries[i]);
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
index b44bcef..224d5fa 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
@@ -47,7 +47,7 @@
 	/**
 	 * The source container entries displayed in this viewer
 	 */
-	protected List<ISourceContainer> fEntries = new ArrayList<ISourceContainer>();
+	protected List<ISourceContainer> fEntries = new ArrayList<>();
 
 	class ContentProvider implements ITreeContentProvider {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
index 20ed4bb..da64c41 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
@@ -96,7 +96,7 @@
 		 */
 		LRU(int size) {
 			fSize = size;
-			fEntryStack = new ArrayList<Object>();
+			fEntryStack = new ArrayList<>();
 		}
 
 		/*
@@ -201,7 +201,7 @@
 	 * Constructs a source lookup facility.
 	 */
 	private SourceLookupFacility() {
-		fEditorsByPage = new HashMap<IWorkbenchPage, IEditorPart>();
+		fEditorsByPage = new HashMap<>();
 		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
 		DebugPlugin.getDefault().addDebugEventListener(this);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
index 8e0896a..050ef64 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
@@ -31,7 +31,7 @@
 	/**
 	 * Services per window
 	 */
-	private Map<IWorkbenchWindow, SourceLookupService> fServices = new HashMap<IWorkbenchWindow, SourceLookupService>();
+	private Map<IWorkbenchWindow, SourceLookupService> fServices = new HashMap<>();
 
 	private SourceLookupManager() {
 		IWorkbench workbench = PlatformUI.getWorkbench();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
index 936f7f7..f1ecde1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
@@ -50,7 +50,7 @@
 	//the duplicates checkbox
 	protected Button fDuplicatesButton;
 	//the source actions - up, down, add, remove, restore
-	protected List<SourceContainerAction> fActions = new ArrayList<SourceContainerAction>(6);
+	protected List<SourceContainerAction> fActions = new ArrayList<>(6);
 	//the director that will be used by the tab to manage/store the containers
 	protected ISourceLookupDirector fLocator;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
index b5282e7..14a5f28 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
@@ -59,7 +59,7 @@
 		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), CONTAINER_PRESENTATION_EXTENSION);
 		//read in SourceContainer presentation extensions
 		IConfigurationElement[] sourceContainerPresentationExtensions =extensionPoint.getConfigurationElements();
-		fSourceContainerPresentationHashtable = new Hashtable<String, IConfigurationElement>();
+		fSourceContainerPresentationHashtable = new Hashtable<>();
 		for (int i = 0; i < sourceContainerPresentationExtensions.length; i++) {
 			fSourceContainerPresentationHashtable.put(
 					sourceContainerPresentationExtensions[i].getAttribute(CONTAINER_ID_ATTRIBUTE),
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
index e851b1e..2fd6976 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
@@ -66,7 +66,7 @@
 		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
 			@Override
 			public void run() {
-				fArchives = new HashSet<IResource>();
+				fArchives = new HashSet<>();
 				traverse(ResourcesPlugin.getWorkspace().getRoot(), fArchives);
 			}
 		});
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
index 278be82..5390153 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
@@ -65,7 +65,7 @@
 	 */
 	protected List<ISourceContainer> getSelectedJars(ISourceLookupDirector director) {
 		ISourceContainer[] containers = director.getSourceContainers();
-		List<ISourceContainer> jars = new ArrayList<ISourceContainer>();
+		List<ISourceContainer> jars = new ArrayList<>();
 		for (int i = 0; i < containers.length; i++) {
 			ISourceContainer container = containers[i];
 			if (container.getType().getId().equals(ArchiveSourceContainer.TYPE_ID)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
index d17c7f5..3ce6f9e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
@@ -39,7 +39,7 @@
 
 		if (dialog.open() == Window.OK) {
 			Object[] selection= ((ElementTreeSelectionDialog)dialog).getResult();
-			ArrayList<ISourceContainer> containers = new ArrayList<ISourceContainer>();
+			ArrayList<ISourceContainer> containers = new ArrayList<>();
 			for (int i= 0; i < selection.length; i++) {
 				if(selection[i] instanceof IFolder) {
 					containers.add(new FolderSourceContainer((IFolder)selection[i], dialog.isSearchSubfolders()));
@@ -70,7 +70,7 @@
 		if (dialog.open() == Window.OK) {
 			container.dispose();
 			Object[] selection= ((ElementTreeSelectionDialog)dialog).getResult();
-			ArrayList<ISourceContainer> list = new ArrayList<ISourceContainer>();
+			ArrayList<ISourceContainer> list = new ArrayList<>();
 			for (int i= 0; i < selection.length; i++) {
 				if(selection[i] instanceof IFolder) {
 					list.add(new FolderSourceContainer((IFolder)selection[i], dialog.isSearchSubfolders()));
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
index 1ee7316..5c80a28 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
@@ -47,7 +47,7 @@
 				SourceLookupUIMessages.projectSelection_chooseLabel);
 		if(dialog.open() == Window.OK){
 			Object[] elements= ((ListSelectionDialog)dialog).getResult();
-			ArrayList<ISourceContainer> res = new ArrayList<ISourceContainer>();
+			ArrayList<ISourceContainer> res = new ArrayList<>();
 			for (int i= 0; i < elements.length; i++) {
 				if(!(elements[i] instanceof IProject)) {
 					continue;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
index b05280c..9dc2b66 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
@@ -37,7 +37,7 @@
 	 */
 	@Override
 	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		ArrayList<ISourceContainer> containers = new ArrayList<ISourceContainer>();
+		ArrayList<ISourceContainer> containers = new ArrayList<>();
 		IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(shell, true);
 
 		if (dialog.open() == Window.OK) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
index cbda799..d28b708 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
@@ -93,7 +93,7 @@
 	 * Load extensions
 	 */
 	private void initialize() {
-		fConfigurations = new HashMap<String, IConfigurationElement>();
+		fConfigurations = new HashMap<>();
 		IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), EXTENSION_POINT_STRING_VARIABLE_PRESENTATIONS);
 		IConfigurationElement elements[]= point.getConfigurationElements();
 		for (int i = 0; i < elements.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
index 2920ebf..487a907 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
@@ -45,7 +45,7 @@
 public abstract class AsynchronousModel {
 
 	private ModelNode fRoot; // root node
-	private Map<Object, ModelNode[]> fElementToNodes = new HashMap<Object, ModelNode[]>(); // map
+	private Map<Object, ModelNode[]> fElementToNodes = new HashMap<>(); // map
 																							// of
 																							// element
 																							// to
@@ -53,7 +53,7 @@
 																							// tree
 																							// nodes
 																							// (list)
-	private Map<Object, IModelProxy> fModelProxies = new HashMap<Object, IModelProxy>(); // map
+	private Map<Object, IModelProxy> fModelProxies = new HashMap<>(); // map
 																							// of
 																							// installed
 																							// model
@@ -95,12 +95,12 @@
 	/**
 	 * List of requests currently being performed.
 	 */
-	private List<IStatusMonitor> fPendingUpdates = new ArrayList<IStatusMonitor>();
+	private List<IStatusMonitor> fPendingUpdates = new ArrayList<>();
 
 	/**
 	 * List of pending viewer updates
 	 */
-	private List<IStatusMonitor> fViewerUpdates = new ArrayList<IStatusMonitor>();
+	private List<IStatusMonitor> fViewerUpdates = new ArrayList<>();
 
 	/**
 	 * Constructs a new empty tree model
@@ -393,7 +393,7 @@
 	protected Object[] filter(Object parent, Object[] elements) {
 		ViewerFilter[] filters = getViewer().getFilters();
 		if (filters != null) {
-			ArrayList<Object> filtered = new ArrayList<Object>(elements.length);
+			ArrayList<Object> filtered = new ArrayList<>(elements.length);
 			for (int i = 0; i < elements.length; i++) {
 				boolean add = true;
 				for (int j = 0; j < filters.length; j++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
index 31d58fb..06016b5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
@@ -57,9 +57,9 @@
     	synchronized (this) {
     		ModelNode[] childrenNodes = getRootNode().getChildrenNodes();
     		if (childrenNodes == null) {
-				kids = new ArrayList<Object>(elements.length);
+				kids = new ArrayList<>(elements.length);
     		} else {
-				kids = new ArrayList<Object>(elements.length + childrenNodes.length);
+				kids = new ArrayList<>(elements.length + childrenNodes.length);
     			for (int i = 0; i < childrenNodes.length; i++) {
 					kids.add(childrenNodes[i].getElement());
 				}
@@ -100,9 +100,9 @@
     	synchronized (this) {
     		ModelNode[] childrenNodes = getRootNode().getChildrenNodes();
     		if (childrenNodes == null) {
-				kids = new ArrayList<Object>(elements.length);
+				kids = new ArrayList<>(elements.length);
     		} else {
-				kids = new ArrayList<Object>(elements.length + childrenNodes.length);
+				kids = new ArrayList<>(elements.length + childrenNodes.length);
     			for (int i = 0; i < childrenNodes.length; i++) {
 					kids.add(childrenNodes[i].getElement());
 				}
@@ -142,7 +142,7 @@
     	synchronized (this) {
     		ModelNode[] childrenNodes = getRootNode().getChildrenNodes();
     		if (childrenNodes != null) {
-				kids = new ArrayList<Object>(childrenNodes.length);
+				kids = new ArrayList<>(childrenNodes.length);
     			for (int i = 0; i < childrenNodes.length; i++) {
 					kids.add(childrenNodes[i].getElement());
 				}
@@ -180,7 +180,7 @@
             remove(new Object[]{element});
             return;
         }
-		List<ModelNode> list = new ArrayList<ModelNode>();
+		List<ModelNode> list = new ArrayList<>();
     	synchronized (this) {
     		ModelNode[] nodes = getNodes(element);
     		for (int i = 0; i < nodes.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
index bcc728f..88485ce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
@@ -152,7 +152,7 @@
     @Override
 	protected List getSelectionFromWidget() {
         TableItem[] selection = fTable.getSelection();
-		List<Object> datas = new ArrayList<Object>(selection.length);
+		List<Object> datas = new ArrayList<>(selection.length);
         for (int i = 0; i < selection.length; i++) {
             datas.add(selection[i].getData());
         }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
index ce0f0bb..93d281e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
@@ -82,21 +82,21 @@
 	 * use the method <code>getImage(...)</code> to cache images for
 	 * image descriptors. The images are disposed when this viewer is disposed.
 	 */
-	private Map<ImageDescriptor, Image> fImageCache = new HashMap<ImageDescriptor, Image>();
+	private Map<ImageDescriptor, Image> fImageCache = new HashMap<>();
 
 	/**
 	 * Cache of the fonts used for elements in this tree viewer. Label updates
 	 * use the method <code>getFont(...)</code> to cache fonts for
 	 * FontData objects. The fonts are disposed with the viewer.
 	 */
-	private Map<FontData, Font> fFontCache = new HashMap<FontData, Font>();
+	private Map<FontData, Font> fFontCache = new HashMap<>();
 
 	/**
 	 * Cache of the colors used for elements in this tree viewer. Label updates
 	 * use the method <code>getColor(...)</code> to cache colors for
 	 * RGB values. The colors are disposed with the viewer.
 	 */
-	private Map<RGB, Color> fColorCache = new HashMap<RGB, Color>();
+	private Map<RGB, Color> fColorCache = new HashMap<>();
 
 	/**
 	 * The context in which this viewer is being used - i.e. what part it is contained
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
index 9f65154..25cf98b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
@@ -32,7 +32,7 @@
 	/**
 	 * Collection of children retrieved
 	 */
-	private List<Object> fChildren = new ArrayList<Object>();
+	private List<Object> fChildren = new ArrayList<>();
 
     /**
      * Constucts a monitor to retrieve and update the children of the given
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
index 816aa70..e334ec8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
@@ -93,7 +93,7 @@
 	 * @return
 	 */
 	public synchronized TreePath getTreePath() {
-		List<Object> path = new ArrayList<Object>();
+		List<Object> path = new ArrayList<>();
 		ModelNode node = this;
 		while (node != null) {
 			path.add(0, node.getElement());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
index fb83b9a..fa503d9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
@@ -93,7 +93,7 @@
 	 */
 	public BreadcrumbViewer(Composite parent, int style) {
 	    fStyle = style;
-		fBreadcrumbItems = new ArrayList<BreadcrumbItem>();
+		fBreadcrumbItems = new ArrayList<>();
 		fMenuListeners= new ListenerList<>();
 
 		fContainer= new Composite(parent, SWT.NONE);
@@ -362,7 +362,7 @@
     }
 
     protected TreePath getTreePathFromItem(BreadcrumbItem item) {
-		List<Object> elements = new ArrayList<Object>(fBreadcrumbItems.size());
+		List<Object> elements = new ArrayList<>(fBreadcrumbItems.size());
         for (int i = 0; i < fBreadcrumbItems.size(); i++) {
             elements.add( fBreadcrumbItems.get(i).getData() );
             if (fBreadcrumbItems.get(i).equals(item)) {
@@ -385,7 +385,7 @@
 			return Collections.EMPTY_LIST;
 		}
 
-		ArrayList<Object> result = new ArrayList<Object>();
+		ArrayList<Object> result = new ArrayList<>();
 		result.add(fSelectedItem.getData());
 		return result;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java
index 2c3afc4..a0b9787 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java
@@ -114,7 +114,7 @@
 					return;
 				}
 
-				List<Object> pathElements = new LinkedList<Object>();
+				List<Object> pathElements = new LinkedList<>();
                 while(item != null) {
                     Object data = item.getData();
                     if (data == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java
index 84f75af..86f697e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java
@@ -176,7 +176,7 @@
 				return true;
 			} else if (getElementContentProvider().equals(request.getElementContentProvider())) {
 				if (fBatchedRequests == null) {
-					fBatchedRequests = new ArrayList<ViewerUpdateMonitor>(4);
+					fBatchedRequests = new ArrayList<>(4);
 					fBatchedRequests.add(this);
 				}
 				fBatchedRequests.add(request);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java
index 5e207da..287092b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java
@@ -82,7 +82,7 @@
 			}
 
 			if (children == null) {
-				children = new HashMap<Object, Node>();
+				children = new HashMap<>();
 			}
 			Object element = path.getSegment(pathIndex);
 			Node node = children.get(element);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java
index 059f457..52346e7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java
@@ -87,7 +87,7 @@
 				return true;
 			} else if (getElementContentProvider().equals(request.getElementContentProvider())) {
 				if (fBatchedRequests == null) {
-					fBatchedRequests = new ArrayList<ViewerUpdateMonitor>();
+					fBatchedRequests = new ArrayList<>();
 					fBatchedRequests.add(this);
 				}
 				fBatchedRequests.add(request);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
index 0aa7c11..d3fdd82 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
@@ -90,25 +90,25 @@
      * Map of columns presentation id to its visible columns id's (String[])
      * When a columns presentation is not in the map, default settings are used.
      */
-	private final Map<String, String[]> fVisibleColumns = new HashMap<String, String[]>();
+	private final Map<String, String[]> fVisibleColumns = new HashMap<>();
 
     /**
      * Map of column id's to persisted sizes
      */
-	private final Map<Object, Integer> fColumnSizes = new HashMap<Object, Integer>();
+	private final Map<Object, Integer> fColumnSizes = new HashMap<>();
 
     /**
      * Map of column presentation id's to an array of integers representing the column order
      * for that presentation, or <code>null</code> if default.
      */
-	private final Map<String, int[]> fColumnOrder = new HashMap<String, int[]>();
+	private final Map<String, int[]> fColumnOrder = new HashMap<>();
 
     /**
      * Map of column presentation id to whether columns should be displayed
      * for that presentation (the user can toggle columns on/off when a
      * presentation is optional.
      */
-	private final Map<String, Boolean> fShowColumns = new HashMap<String, Boolean>();
+	private final Map<String, Boolean> fShowColumns = new HashMap<>();
 
     /**
      * Item's tree path cache
@@ -1647,7 +1647,7 @@
 	public boolean saveElementState(TreePath path, ModelDelta delta, int flagsToSave) {
         Tree tree = (Tree) getControl();
         TreeItem[] selection = tree.getSelection();
-		Set<TreeItem> set = new HashSet<TreeItem>();
+		Set<TreeItem> set = new HashSet<>();
         for (int i = 0; i < selection.length; i++) {
             set.add(selection[i]);
         }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
index fafeebd..ddf1c1f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
@@ -128,7 +128,7 @@
      * tree may contain the same element in several places, so the map values
      * are lists.
      */
-	private Map<Object, List<VirtualItem>> fItemsMap = new HashMap<Object, List<VirtualItem>>();
+	private Map<Object, List<VirtualItem>> fItemsMap = new HashMap<>();
 
     /**
      * Whether to notify the content provider when an element is unmapped.
@@ -173,14 +173,14 @@
      * Map of columns presentation id to its visible columns id's (String[])
      * When a columns presentation is not in the map, default settings are used.
      */
-	private Map<String, String[]> fVisibleColumns = new HashMap<String, String[]>();
+	private Map<String, String[]> fVisibleColumns = new HashMap<>();
 
     /**
      * Map of column presentation id to whether columns should be displayed
      * for that presentation (the user can toggle columns on/off when a
      * presentation is optional.
      */
-	private Map<String, Boolean> fShowColumns = new HashMap<String, Boolean>();
+	private Map<String, Boolean> fShowColumns = new HashMap<>();
 
     /**
      * Runnable for validating the virtual tree.  It is scheduled to run in the
@@ -305,7 +305,7 @@
 
     @Override
 	public void remove(final Object parentOrTreePath, final int index) {
-		final List<TreePath> oldSelection = new LinkedList<TreePath>(Arrays.asList(((TreeSelection) getSelection()).getPaths()));
+		final List<TreePath> oldSelection = new LinkedList<>(Arrays.asList(((TreeSelection) getSelection()).getPaths()));
         preservingSelection(new Runnable() {
             @Override
 			public void run() {
@@ -716,7 +716,7 @@
     }
 
     private TreePath getTreePathFromItem(VirtualItem item) {
-		List<Object> segments = new LinkedList<Object>();
+		List<Object> segments = new LinkedList<>();
         while (item.getParent() != null) {
             segments.add(0, item.getData());
             item = item.getParent();
@@ -750,7 +750,7 @@
         // one.
 		List<VirtualItem> itemsList = fItemsMap.remove(element);
         if (itemsList == null) {
-			itemsList = new ArrayList<VirtualItem>(1);
+			itemsList = new ArrayList<>(1);
         }
 
         if (!itemsList.contains(item)) {
@@ -879,7 +879,7 @@
     private void internalSetSelection(ISelection selection, boolean reveal) {
         if (selection instanceof ITreeSelection) {
             TreePath[] paths = ((ITreeSelection) selection).getPaths();
-			List<VirtualItem> newSelection = new ArrayList<VirtualItem>(paths.length);
+			List<VirtualItem> newSelection = new ArrayList<>(paths.length);
             for (int i = 0; i < paths.length; ++i) {
                 // Use internalExpand since item may not yet be created. See
                 // 1G6B1AR.
@@ -928,8 +928,8 @@
             return TreeSelection.EMPTY;
         }
         VirtualItem[] items = fTree.getSelection();
-		ArrayList<TreePath> list = new ArrayList<TreePath>(items.length);
-		Map<VirtualItem, TreePath> map = new LinkedHashMap<VirtualItem, TreePath>(items.length * 4 / 3);
+		ArrayList<TreePath> list = new ArrayList<>(items.length);
+		Map<VirtualItem, TreePath> map = new LinkedHashMap<>(items.length * 4 / 3);
         for (int i = 0; i < items.length; i++) {
             TreePath path = null;
             if (items[i].getData() != null) {
@@ -1464,7 +1464,7 @@
 	public boolean saveElementState(TreePath path, ModelDelta delta, int flagsToSave) {
         VirtualTree tree = getTree();
         VirtualItem[] selection = tree.getSelection();
-		Set<VirtualItem> set = new HashSet<VirtualItem>();
+		Set<VirtualItem> set = new HashSet<>();
         for (int i = 0; i < selection.length; i++) {
             set.add(selection[i]);
         }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
index 9afa548..589a4f4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
@@ -78,7 +78,7 @@
      * Used to install different model proxy instances for one element depending
      * on the tree path.
      */
-	private Map<TreePath, IModelProxy> fTreeModelProxies = new HashMap<TreePath, IModelProxy>(); // tree
+	private Map<TreePath, IModelProxy> fTreeModelProxies = new HashMap<>(); // tree
 																									// model
 																									// proxy
 																									// by
@@ -90,7 +90,7 @@
      * Used to install a single model proxy which is responsible for all
      * instances of an element in the model tree.
      */
-	private Map<Object, IModelProxy> fModelProxies = new HashMap<Object, IModelProxy>(); // model
+	private Map<Object, IModelProxy> fModelProxies = new HashMap<>(); // model
 																							// proxy
 																							// by
 																							// element
@@ -119,15 +119,15 @@
     /**
      * Map of updates in progress: element path -> list of requests
      */
-	private Map<TreePath, List<ViewerUpdateMonitor>> fRequestsInProgress = new HashMap<TreePath, List<ViewerUpdateMonitor>>();
+	private Map<TreePath, List<ViewerUpdateMonitor>> fRequestsInProgress = new HashMap<>();
 
     /**
      * Map of dependent requests waiting for parent requests to complete:
      * element path -> list of requests
      */
-	private Map<TreePath, List<ViewerUpdateMonitor>> fWaitingRequests = new HashMap<TreePath, List<ViewerUpdateMonitor>>();
+	private Map<TreePath, List<ViewerUpdateMonitor>> fWaitingRequests = new HashMap<>();
 
-	private List<ViewerUpdateMonitor> fCompletedUpdates = new ArrayList<ViewerUpdateMonitor>();
+	private List<ViewerUpdateMonitor> fCompletedUpdates = new ArrayList<>();
 
     private Runnable fCompletedUpdatesRunnable;
 
@@ -552,7 +552,7 @@
      * @return corresponding tree path
      */
     TreePath getFullTreePath(IModelDelta node) {
-		ArrayList<Object> list = new ArrayList<Object>();
+		ArrayList<Object> list = new ArrayList<>();
         while (node.getParentDelta() != null) {
             list.add(0, node.getElement());
             node = node.getParentDelta();
@@ -568,7 +568,7 @@
      * @return corresponding tree path
      */
     TreePath getViewerTreePath(IModelDelta node) {
-		ArrayList<Object> list = new ArrayList<Object>();
+		ArrayList<Object> list = new ArrayList<>();
         IModelDelta parentDelta = node.getParentDelta();
         while (parentDelta != null) {
             list.add(0, node.getElement());
@@ -707,7 +707,7 @@
 
 		List<ViewerUpdateMonitor> requests = fRequestsInProgress.get(update.getSchedulingPath());
         if (requests == null) {
-			requests = new ArrayList<ViewerUpdateMonitor>();
+			requests = new ArrayList<>();
             fRequestsInProgress.put(update.getSchedulingPath(), requests);
         }
         requests.add(update);
@@ -866,7 +866,7 @@
                 }
             }
         }
-		List<TreePath> purge = new ArrayList<TreePath>();
+		List<TreePath> purge = new ArrayList<>();
 		for (TreePath entryPath : fWaitingRequests.keySet()) {
             if (entryPath.startsWith(path, null)) {
                 purge.add(entryPath);
@@ -891,7 +891,7 @@
         TreePath schedulingPath = update.getSchedulingPath();
 		List<ViewerUpdateMonitor> requests = fWaitingRequests.get(schedulingPath);
         if (requests == null) {
-			requests = new LinkedList<ViewerUpdateMonitor>();
+			requests = new LinkedList<>();
             requests.add(update);
             fWaitingRequests.put(schedulingPath, requests);
 
@@ -1102,7 +1102,7 @@
                         childrenUpdate.cancel();
                         iterator.remove();
                         if (reCreate == null) {
-							reCreate = new ArrayList<IChildrenUpdate>();
+							reCreate = new ArrayList<>();
                         }
                         reCreate.add(childrenUpdate);
                         if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
@@ -1811,7 +1811,7 @@
             }
             jobCompletedUpdates = fCompletedUpdates;
             fCompletedUpdatesRunnable = null;
-			fCompletedUpdates = new ArrayList<ViewerUpdateMonitor>();
+			fCompletedUpdates = new ArrayList<>();
         }
         // necessary to check if viewer is disposed
         try {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java
index 705b107..19d2b3e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java
@@ -61,21 +61,21 @@
 	 * use the method <code>getImage(...)</code> to cache images for
 	 * image descriptors. The images are disposed with this label provider.
 	 */
-	private Map<ImageDescriptor, Image> fImageCache = new HashMap<ImageDescriptor, Image>();
+	private Map<ImageDescriptor, Image> fImageCache = new HashMap<>();
 
 	/**
 	 * Cache of the fonts used for elements in this label provider. Label updates
 	 * use the method <code>getFont(...)</code> to cache fonts for
 	 * FontData objects. The fonts are disposed with this label provider.
 	 */
-	private Map<FontData, Font> fFontCache = new HashMap<FontData, Font>();
+	private Map<FontData, Font> fFontCache = new HashMap<>();
 
 	/**
 	 * Cache of the colors used for elements in this label provider. Label updates
 	 * use the method <code>getColor(...)</code> to cache colors for
 	 * RGB values. The colors are disposed with this label provider.
 	 */
-	private Map<RGB, Color> fColorCache = new HashMap<RGB, Color>();
+	private Map<RGB, Color> fColorCache = new HashMap<>();
 
 	/**
 	 * Label listeners
@@ -86,7 +86,7 @@
 	 * Updates waiting to be sent to the label provider.  The map contains
 	 * lists of updates, keyed using the provider.
 	 */
-	private Map<IElementLabelProvider, List<ILabelUpdate>> fPendingUpdates = new HashMap<IElementLabelProvider, List<ILabelUpdate>>();
+	private Map<IElementLabelProvider, List<ILabelUpdate>> fPendingUpdates = new HashMap<>();
 
 	/**
 	 * A runnable that will send the label update requests.
@@ -98,7 +98,7 @@
 	/**
 	 * List of updates in progress
 	 */
-	private List<ILabelUpdate> fUpdatesInProgress = new ArrayList<ILabelUpdate>();
+	private List<ILabelUpdate> fUpdatesInProgress = new ArrayList<>();
 
     /**
      * Delta visitor actively cancels the outstanding label updates for
@@ -273,7 +273,7 @@
 		if (presentation != null) {
 			List<ILabelUpdate> updates = fPendingUpdates.get(presentation);
 		    if (updates == null) {
-				updates = new LinkedList<ILabelUpdate>();
+				updates = new LinkedList<>();
 		        fPendingUpdates.put(presentation, updates);
 		    }
 		    updates.add(new LabelUpdate(fViewer.getInput(), elementPath, this, visibleColumns, fViewer.getPresentationContext()));
@@ -398,7 +398,7 @@
 		}
 
 		if (fComplete == null) {
-			fComplete = new LinkedList<ILabelUpdate>();
+			fComplete = new LinkedList<>();
 			fViewer.getDisplay().asyncExec(new Runnable() {
 			    @Override
 				public void run() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java
index 6368a43..f894f9e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java
@@ -148,7 +148,7 @@
     /**
      * Map of viewer states keyed by viewer input mementos
      */
-	private Map<String, ModelDelta> fViewerStates = new LRUMap<String, ModelDelta>(20);
+	private Map<String, ModelDelta> fViewerStates = new LRUMap<>(20);
 
     /**
      * Pending viewer state to be restored
@@ -175,7 +175,7 @@
     /**
      * Set of IMementoManager's that are currently saving state
      */
-	private Set<IElementMementoCollector> fPendingStateSaves = new HashSet<IElementMementoCollector>();
+	private Set<IElementMementoCollector> fPendingStateSaves = new HashSet<>();
 
     /**
      * Used to queue a viewer input for state restore
@@ -213,7 +213,7 @@
     /**
      * Compare requests that are currently running.
      */
-	private Map<CompareRequestKey, ElementCompareRequest> fCompareRequestsInProgress = new LinkedHashMap<CompareRequestKey, ElementCompareRequest>();
+	private Map<CompareRequestKey, ElementCompareRequest> fCompareRequestsInProgress = new LinkedHashMap<>();
 
 
     /**
@@ -641,7 +641,7 @@
 
     private ModelDelta findSubDeltaParent(ModelDelta destinationDeltaRoot, IModelDelta subDelta) {
         // Create a path of elements to the sub-delta.
-		LinkedList<IModelDelta> deltaPath = new LinkedList<IModelDelta>();
+		LinkedList<IModelDelta> deltaPath = new LinkedList<>();
         IModelDelta delta = subDelta;
         while (delta.getParentDelta() != null) {
             delta = delta.getParentDelta();
@@ -699,7 +699,7 @@
             /**
              * list of memento fRequests
              */
-			private List<IElementMementoRequest> fRequests = new ArrayList<IElementMementoRequest>();
+			private List<IElementMementoRequest> fRequests = new ArrayList<>();
 
             /**
              * Flag indicating whether the encoding of delta has been canceled.
@@ -779,7 +779,7 @@
 			public void processReqeusts() {
                 Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
 
-				Map<IElementMementoProvider, List<IElementMementoRequest>> providers = new HashMap<IElementMementoProvider, List<IElementMementoRequest>>();
+				Map<IElementMementoProvider, List<IElementMementoRequest>> providers = new HashMap<>();
 				for (IElementMementoRequest request : fRequests) {
                     notifyStateUpdate(input, TreeModelContentProvider.UPDATE_BEGINS, request);
                     IElementMementoProvider provider = ViewerAdapterService.getMementoProvider(request.getElement());
@@ -788,7 +788,7 @@
                     }
 					List<IElementMementoRequest> reqs = providers.get(provider);
                     if (reqs == null) {
-						reqs = new ArrayList<IElementMementoRequest>();
+						reqs = new ArrayList<>();
                         providers.put(provider, reqs);
                     }
                     reqs.add(request);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
index 3510c9d..be623e7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
@@ -169,7 +169,7 @@
 
 		void setItemsToCopy(Set<VirtualItem> itemsToCopy) {
 	        fItemsToCopy = itemsToCopy;
-			fItemsToValidate = new HashSet<VirtualItem>();
+			fItemsToValidate = new HashSet<>();
 			for (VirtualItem itemToCopy : itemsToCopy) {
 	            while (itemToCopy != null) {
 	                fItemsToValidate.add(itemToCopy);
@@ -202,7 +202,7 @@
         // Parse selected items from client viewer and add them to the virtual viewer selection.
         listener.fSelectionRootDepth = Integer.MAX_VALUE;
         TreeItem[] selection = getSelectedItems(clientViewer);
-		Set<VirtualItem> vSelection = new HashSet<VirtualItem>(selection.length * 4 / 3);
+		Set<VirtualItem> vSelection = new HashSet<>(selection.length * 4 / 3);
         for (int i = 0; i < selection.length; i++) {
             TreePath parentPath = fClientViewer.getTreePathFromItem(selection[i].getParentItem());
             listener.fSelectionRootDepth = Math.min(parentPath.getSegmentCount() + 1, listener.fSelectionRootDepth);
@@ -221,7 +221,7 @@
             }
         }
         validator.setItemsToCopy(vSelection);
-		listener.fItemsToUpdate = new HashSet<VirtualItem>(vSelection);
+		listener.fItemsToUpdate = new HashSet<>(vSelection);
         virtualViewer.getTree().validate();
         return virtualViewer;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
index 1835c30..f107d0c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
@@ -127,7 +127,7 @@
 
 	private static class FindLabelProvider extends LabelProvider {
 		private VirtualTreeModelViewer fVirtualViewer;
-		private Map<VirtualItem, String> fTextCache = new HashMap<VirtualItem, String>();
+		private Map<VirtualItem, String> fTextCache = new HashMap<>();
 
 		public FindLabelProvider(VirtualTreeModelViewer viewer, List<VirtualItem> items) {
 		    fVirtualViewer = viewer;
@@ -217,7 +217,7 @@
 
 		VirtualItem root = virtualViewer.getTree();
 		if (!monitor.isCanceled()) {
-			List<VirtualItem> list = new ArrayList<VirtualItem>();
+			List<VirtualItem> list = new ArrayList<>();
 			collectAllChildren(root, list);
 			FindLabelProvider labelProvider = new FindLabelProvider(virtualViewer, list);
 			VirtualItem result = performFind(list, labelProvider);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java
index 219b1e1..0cf5938 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java
@@ -175,11 +175,11 @@
 
 	private void mapNodes() {
 	    if (fNodesList == null) {
-			fNodesMap = new HashMap<Object, Object>(1);
+			fNodesMap = new HashMap<>(1);
 	        return;
 	    }
 	    // Create a map with capacity for all child nodes.
-		fNodesMap = new HashMap<Object, Object>(fNodesList.size() * 4 / 3);
+		fNodesMap = new HashMap<>(fNodesList.size() * 4 / 3);
 	    for (int i = 0; i < fNodesList.size(); i++) {
 	        mapNode( fNodesList.get(i) );
 	    }
@@ -298,7 +298,7 @@
 
 	private void addDelta(ModelDelta delta) {
 		if (fNodesList == null) {
-			fNodesList = new ArrayList<ModelDelta>(4);
+			fNodesList = new ArrayList<>(4);
 		}
 	    fNodesList.add(delta);
 	    fNodes = null;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java
index 0a73045..2db4c18 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java
@@ -45,7 +45,7 @@
 
     final private String fId;
 	final private ListenerList<IPropertyChangeListener> fListeners = new ListenerList<>();
-	final private Map<String, Object> fProperties = new HashMap<String, Object>();
+	final private Map<String, Object> fProperties = new HashMap<>();
     private IWorkbenchWindow fWindow;
     private IWorkbenchPart fPart;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
index 7f6c66f..f6cb5c9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
@@ -97,7 +97,7 @@
      * keeps the items sorted while allowing indexes (keys) to be modified as
      * child items are inserted and removed.
      */
-	private Map<Index, VirtualItem> fItems = new TreeMap<Index, VirtualItem>();
+	private Map<Index, VirtualItem> fItems = new TreeMap<>();
 
     /**
      * Flag indicating whether this item has child items.
@@ -120,7 +120,7 @@
      * The data held by this item.  It includes the element as well as the item
      * display attributes.
      */
-	private Map<String, Object> fData = new HashMap<String, Object>(1);
+	private Map<String, Object> fData = new HashMap<>(1);
 
     /**
      * Flag indicating that the item needs to have it's label updated.
@@ -513,7 +513,7 @@
 
     private void ensureItems() {
         if (fItems == null) {
-			fItems = new HashMap<Index, VirtualItem>(Math.max(1, Math.min(fItemCount, 16)));
+			fItems = new HashMap<>(Math.max(1, Math.min(fItemCount, 16)));
         }
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
index d6442c9..b84d47a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
@@ -58,7 +58,7 @@
     /**
      * Set of listeners of the virtual tree.
      */
-	private Set<IVirtualItemListener> fVirtualItemListeners = new HashSet<IVirtualItemListener>(1);
+	private Set<IVirtualItemListener> fVirtualItemListeners = new HashSet<>(1);
 
     /**
      * The currently selected items.  This array contains only
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java
index 9e80c07..04b7a51 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java
@@ -68,7 +68,7 @@
     /**
      * List of posted deltas ready to be fired.
      */
-	private List<DeltaInfo> fPendingDeltas = new LinkedList<DeltaInfo>();
+	private List<DeltaInfo> fPendingDeltas = new LinkedList<>();
 
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
index 00c770b..cce0299 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
@@ -29,7 +29,7 @@
     /**
      * Map of elements to timer tasks
      */
-	private Map<Object, PendingSuspendTask> fTimerTasks = new HashMap<Object, PendingSuspendTask>();
+	private Map<Object, PendingSuspendTask> fTimerTasks = new HashMap<>();
 
     /**
      * Timer for timer tasks
@@ -40,7 +40,7 @@
      * Map of event source to resume events with a pending suspend that timed
      * out.
      */
-	private Map<Object, DebugEvent> fPendingSuspends = new HashMap<Object, DebugEvent>();
+	private Map<Object, DebugEvent> fPendingSuspends = new HashMap<>();
 
     /**
      * Event handlers for specific elements
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
index b3b90db..502b582 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
@@ -39,7 +39,7 @@
 	 * Set of launch's previous children. When a child is added,
 	 * its model proxy is installed.
 	 */
-	private Set<Object> fPrevChildren = new HashSet<Object>();
+	private Set<Object> fPrevChildren = new HashSet<>();
 
 	/**
 	 * Constructs a new model proxy for the given launch.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
index 9afed36..dece8b1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
@@ -38,12 +38,12 @@
 	 * to select a thread when another is resumed. Threads
 	 * are added in the order they suspend.
 	 */
-	private Set<IThread> fThreadQueue = new LinkedHashSet<IThread>();
+	private Set<IThread> fThreadQueue = new LinkedHashSet<>();
 
 	/**
 	 * Map of previous TOS per thread
 	 */
-	private Map<IThread, IStackFrame> fLastTopFrame = new HashMap<IThread, IStackFrame>();
+	private Map<IThread, IStackFrame> fLastTopFrame = new HashMap<>();
 	/**
 	 * Constructs and event handler for a threads in the given viewer.
 	 *
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
index d4a931e..1f7879e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
@@ -29,7 +29,7 @@
 	/**
 	 * Map of services
 	 */
-	private Map<IWorkbenchWindow, ViewContextService> fWindowToService = new HashMap<IWorkbenchWindow, ViewContextService>();
+	private Map<IWorkbenchWindow, ViewContextService> fWindowToService = new HashMap<>();
 
 	// singleton manager
 	private static ViewContextManager fgManager;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
index 125f973..5d4f44c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
@@ -75,12 +75,12 @@
 	/**
 	 * Maps the perspectives in this window to its last activated workbench context
 	 */
-	private final Map<IPerspectiveDescriptor, String> fPerspectiveToActiveContext = new HashMap<IPerspectiveDescriptor, String>();
+	private final Map<IPerspectiveDescriptor, String> fPerspectiveToActiveContext = new HashMap<>();
 
 	/**
 	 * Map of the perspectives to all workbench contexts activated in that perspective
 	 */
-	private final Map<IPerspectiveDescriptor, Set<String>> fPerspectiveToActivatedContexts = new HashMap<IPerspectiveDescriptor, Set<String>>();
+	private final Map<IPerspectiveDescriptor, Set<String>> fPerspectiveToActivatedContexts = new HashMap<>();
 
 	/**
 	 * Map of context id's to context view bindings
@@ -90,7 +90,7 @@
 	/**
 	 * List of perspectives that debugging is allowed in
 	 */
-	private Set<String> fEnabledPerspectives = new HashSet<String>();
+	private Set<String> fEnabledPerspectives = new HashSet<>();
 
     /**
      * Whether to ignore perspective change call backs (set to
@@ -143,7 +143,7 @@
 	private static Set<String> fgBaseDebugViewIds = null;
 
     static {
-		fgBaseDebugViewIds = new HashSet<String>();
+		fgBaseDebugViewIds = new HashSet<>();
         fgBaseDebugViewIds.add(IDebugUIConstants.ID_DEBUG_VIEW);
         fgBaseDebugViewIds.add(IDebugUIConstants.ID_VARIABLE_VIEW);
         fgBaseDebugViewIds.add(IDebugUIConstants.ID_BREAKPOINT_VIEW);
@@ -166,7 +166,7 @@
     	// all bindings including inherited bindings, top down in activation order
     	private String[] fAllViewBindingIds = null;
     	// associated binding to activate
-		private final Map<String, ViewBinding> fAllViewIdToBindings = new HashMap<String, ViewBinding>();
+		private final Map<String, ViewBinding> fAllViewIdToBindings = new HashMap<>();
     	// all context id's in this context hierarchy (top down order)
     	private String[] fAllConetxtIds = null;
 
@@ -273,8 +273,8 @@
     	 */
     	private synchronized void initializeChain() {
     		if (fAllViewBindingIds == null) {
-				List<String> orderedIds = new ArrayList<String>();
-				List<DebugContextViewBindings> contexts = new ArrayList<DebugContextViewBindings>();
+				List<String> orderedIds = new ArrayList<>();
+				List<DebugContextViewBindings> contexts = new ArrayList<>();
     			DebugContextViewBindings context = this;
     			while (context != null) {
     				contexts.add(0, context);
@@ -371,15 +371,15 @@
         /**
          * Set of perspectives this view was opened in by the user
          */
-		private final Set<String> fUserOpened = new HashSet<String>();
+		private final Set<String> fUserOpened = new HashSet<>();
         /**
          * Set of perspectives this view was closed in by the user
          */
-		private final Set<String> fUserClosed = new HashSet<String>();
+		private final Set<String> fUserClosed = new HashSet<>();
         /**
          * Set of perspectives this view was auto-opened by view management.
          */
-		private final Set<String> fAutoOpened = new HashSet<String>();
+		private final Set<String> fAutoOpened = new HashSet<>();
 
         public ViewBinding(IConfigurationElement element) {
             fElement = element;
@@ -659,7 +659,7 @@
 	 * Loads extensions which map context id's to view bindings.
 	 */
 	private void loadContextToViewExtensions() {
-		fContextIdsToBindings = new HashMap<String, DebugContextViewBindings>();
+		fContextIdsToBindings = new HashMap<>();
 		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_CONTEXT_VIEW_BINDINGS);
 		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
 		for (int i = 0; i < configurationElements.length; i++) {
@@ -757,7 +757,7 @@
 	 * @return list
 	 */
 	public static Set<String> parseList(String listString) {
-		Set<String> list = new HashSet<String>(10);
+		Set<String> list = new HashSet<>(10);
 		StringTokenizer tokenizer = new StringTokenizer(listString, ","); //$NON-NLS-1$
 		while (tokenizer.hasMoreTokens()) {
 			String token = tokenizer.nextToken();
@@ -775,7 +775,7 @@
      * @since 3.5
      */
 	public static Set<String> getDefaultEnabledPerspectives() {
-		Set<String> perspectives = new HashSet<String>(4);
+		Set<String> perspectives = new HashSet<>(4);
         IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_CONTEXT_VIEW_BINDINGS);
         IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
         for (int i = 0; i < configurationElements.length; i++) {
@@ -880,7 +880,7 @@
 		if (activePerspective != null) {
 			Set<String> contexts = fPerspectiveToActivatedContexts.get(activePerspective);
 			if (contexts == null) {
-				contexts = new HashSet<String>();
+				contexts = new HashSet<>();
 				fPerspectiveToActivatedContexts.put(activePerspective, contexts);
 			}
 			contexts.add(contextId);
@@ -1016,7 +1016,7 @@
 			return Collections.EMPTY_SET; // disposed
 		}
 
-		TreeSet<String> viewIds = new TreeSet<String>();
+		TreeSet<String> viewIds = new TreeSet<>();
         for (int i = 0; i < contextsIds.size(); i++) {
             DebugContextViewBindings bindings= fContextIdsToBindings.get(contextsIds.get(i));
             if (bindings != null) {
@@ -1130,7 +1130,7 @@
             Document document = DebugPlugin.newDocument();
             Element root = document.createElement(XML_ELEMENT_VIEW_BINDINGS);
             document.appendChild(root);
-			Set<String> done = new HashSet<String>();
+			Set<String> done = new HashSet<>();
 			for (DebugContextViewBindings binding : fContextIdsToBindings.values()) {
                 binding.saveBindings(document, root, done);
             }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
index a1df06c..2ba8f69 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
@@ -39,12 +39,12 @@
 	/**
 	 * Child breakpoints - inserting new element into this collection should use the insertBreakpoint method
 	 */
-	final private List<IBreakpoint> fBreakpoints = new ArrayList<IBreakpoint>();
+	final private List<IBreakpoint> fBreakpoints = new ArrayList<>();
 
     /**
      * Child containers - inserting new element into this container should use the insertChildContainer method
      */
-	final private List<BreakpointContainer> fChildContainers = new ArrayList<BreakpointContainer>();
+	final private List<BreakpointContainer> fChildContainers = new ArrayList<>();
 
     /**
      * The category for this container
@@ -452,7 +452,7 @@
      */
     static public void removeBreakpoint(BreakpointContainer container, IBreakpoint breakpoint, ModelDelta containerDelta) {
     	container.removeBreakpoint(breakpoint, containerDelta);
-		List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>();
+		List<IBreakpoint> breakpoints = new ArrayList<>();
     	breakpoints.add(breakpoint);
     	updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, false);
     }
@@ -471,7 +471,7 @@
     	}
 
     	if (container.fChildContainers.size() == 0) {
-			List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>();
+			List<IBreakpoint> breakpoints = new ArrayList<>();
 			Iterator<IBreakpoint> iterator = container.fBreakpoints.iterator();
     		while (iterator.hasNext()) {
 				IBreakpoint obj = iterator.next();
@@ -590,7 +590,7 @@
             if (containers.length == 0) {
                 return new BreakpointContainer[]{this};
             }
-			ArrayList<BreakpointContainer> list = new ArrayList<BreakpointContainer>();
+			ArrayList<BreakpointContainer> list = new ArrayList<>();
             for (int i = 0; i < containers.length; i++) {
             	BreakpointContainer container = containers[i];
             	BreakpointContainer[] subcontainers = container.getContainers(breakpoint);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
index a83b56c..0546c17 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
@@ -42,7 +42,7 @@
 	private static BreakpointOrganizerManager fgManager;
 
 	// map for lookup by id
-	private Map<String, IBreakpointOrganizer> fOrganizers = new HashMap<String, IBreakpointOrganizer>();
+	private Map<String, IBreakpointOrganizer> fOrganizers = new HashMap<>();
     // cached sorted list by label
 	private List<IBreakpointOrganizer> fSorted = null;
 
@@ -119,7 +119,7 @@
     public IBreakpointOrganizer[] getOrganizers() {
     	if (fSorted == null) {
 			Collection<IBreakpointOrganizer> collection = fOrganizers.values();
-			fSorted = new ArrayList<IBreakpointOrganizer>();
+			fSorted = new ArrayList<>();
 	        fSorted.addAll(collection);
 			Collections.sort(fSorted, new Comparator<Object>() {
 				@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
index 46ebc1f..6162a40 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
@@ -81,7 +81,7 @@
 	 */
 	@Override
 	public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-		List<IAdaptable> result = new ArrayList<IAdaptable>();
+		List<IAdaptable> result = new ArrayList<>();
 		IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
 		for (int i = 0; i < workingSets.length; i++) {
 			IWorkingSet set = workingSets[i];
@@ -174,7 +174,7 @@
 	 */
 	@Override
 	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-		Map<IWorkingSet, List<IBreakpoint>> setToBreakpoints = new HashMap<IWorkingSet, List<IBreakpoint>>();
+		Map<IWorkingSet, List<IBreakpoint>> setToBreakpoints = new HashMap<>();
 		for (int i = 0; i < breakpoints.length; i++) {
 			IMarker marker = breakpoints[i].getMarker();
 			String[] names = getWorkingsetAttributeFromMarker(marker, IInternalDebugUIConstants.WORKING_SET_NAME);
@@ -202,7 +202,7 @@
 	private void queueToSet(IBreakpoint breakpoint, IWorkingSet set, Map<IWorkingSet, List<IBreakpoint>> queue) {
 		List<IBreakpoint> list = queue.get(set);
 		if (list == null) {
-			list = new ArrayList<IBreakpoint>();
+			list = new ArrayList<>();
 			queue.put(set, list);
 		}
 		list.add(breakpoint);
@@ -218,8 +218,8 @@
 	private void addBreakpointsToSet(IBreakpoint[] breakpoints, IWorkingSet set) {
 		if (set != null) {
 			IAdaptable[] elements = set.getElements();
-			Set<IAdaptable> collection = new HashSet<IAdaptable>(elements.length);
-			List<IAdaptable> list = new ArrayList<IAdaptable>(elements.length + breakpoints.length);
+			Set<IAdaptable> collection = new HashSet<>(elements.length);
+			List<IAdaptable> list = new ArrayList<>(elements.length + breakpoints.length);
 			for(int i = 0; i < elements.length; i++) {
 				collection.add(elements[i]);
 				list.add(elements[i]);
@@ -276,7 +276,7 @@
 			}
 		}
 		if (update) {
-			List<IAdaptable> newElements = new ArrayList<IAdaptable>(elements.length);
+			List<IAdaptable> newElements = new ArrayList<>(elements.length);
 			for (int i = 0; i < elements.length; i++) {
 				IAdaptable adaptable = elements[i];
 				if (adaptable != null) {
@@ -411,7 +411,7 @@
 		if (category instanceof WorkingSetCategory) {
 			IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet();
 			IAdaptable[] elements = set.getElements();
-			List<IAdaptable> list = new ArrayList<IAdaptable>();
+			List<IAdaptable> list = new ArrayList<>();
 			for (int i = 0; i < elements.length; i++) {
 				IAdaptable adaptable = elements[i];
 				if (!adaptable.equals(breakpoint)) {
@@ -432,7 +432,7 @@
 	@Override
 	public IAdaptable[] getCategories() {
 		IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
-		List<IAdaptable> all = new ArrayList<IAdaptable>();
+		List<IAdaptable> all = new ArrayList<>();
 		for (int i = 0; i < workingSets.length; i++) {
 			IWorkingSet set = workingSets[i];
 			if (IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(set
@@ -462,7 +462,7 @@
 		if (category instanceof WorkingSetCategory) {
 			IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet();
 			IAdaptable[] elements = set.getElements();
-			List<IAdaptable> list = new ArrayList<IAdaptable>(elements.length);
+			List<IAdaptable> list = new ArrayList<>(elements.length);
 			for (int i = 0; i < elements.length; i++) {
 				list.add(elements[i]);
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
index f071ae5..bff86d0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
@@ -27,7 +27,7 @@
  */
 public class BreakpointTypeOrganizer extends AbstractBreakpointOrganizerDelegate {
 
-	private Map<String, IAdaptable[]> fTypes = new HashMap<String, IAdaptable[]>();
+	private Map<String, IAdaptable[]> fTypes = new HashMap<>();
 
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
index 2b021c9..5720696 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
@@ -43,7 +43,7 @@
 	 * Default constructor
 	 */
 	public BreakpointWorkingSetCache() {
-		fCache = new HashMap<IMarker, Vector<Object>>(15);
+		fCache = new HashMap<>(15);
 	}
 
 	/**
@@ -54,7 +54,7 @@
 	public void addEntry(IMarker marker, Object entry) {
 		Vector<Object> list = fCache.get(marker);
 		if (list == null) {
-			list = new Vector<Object>();
+			list = new Vector<>();
 			list.addElement(entry);
 			fCache.put(marker, list);
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java
index 194bc91..2acb973 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java
@@ -43,7 +43,7 @@
 	}
 
 	private IAdaptable[] selectBreakpoints(IAdaptable[] elements) {
-		List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(elements.length);
+		List<IBreakpoint> breakpoints = new ArrayList<>(elements.length);
 		for (int i = 0; i < elements.length; i++) {
             IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class);
 			if (breakpoint != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
index 3ef157f..38bf9d7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
@@ -169,7 +169,7 @@
 	public void finish() {
 		String workingSetName = fWorkingSetName.getText();
 		Object[] adaptable = fTViewer.getCheckedElements().toArray();
-		ArrayList<IBreakpoint> elements = new ArrayList<IBreakpoint>();
+		ArrayList<IBreakpoint> elements = new ArrayList<>();
 		//weed out non-breakpoint elements since 3.2
 		for(int i = 0; i < adaptable.length; i++) {
             IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(adaptable[i], IBreakpoint.class);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
index 6b79da3..540175d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
@@ -154,7 +154,7 @@
      */
     public BreakpointContainer[] getRoots(IBreakpoint breakpoint) {
         if (isShowingGroups()) {
-			List<BreakpointContainer> list = new ArrayList<BreakpointContainer>();
+			List<BreakpointContainer> list = new ArrayList<>();
             for (int i = 0; i < fElements.length; i++) {
                 BreakpointContainer container = (BreakpointContainer) fElements[i];
                 if (container.contains(breakpoint)) {
@@ -186,7 +186,7 @@
             fElements = breakpoints;
         } else {
             IBreakpointOrganizer organizer = fOrganizers[0];
-			Map<IAdaptable, BreakpointContainer> categoriesToContainers = new HashMap<IAdaptable, BreakpointContainer>();
+			Map<IAdaptable, BreakpointContainer> categoriesToContainers = new HashMap<>();
             for (int i = 0; i < breakpoints.length; i++) {
                 IBreakpoint breakpoint = breakpoints[i];
                 IAdaptable[] categories = organizer.getCategories(breakpoint);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
index 16d0268..564b2b3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
@@ -75,7 +75,7 @@
 	protected Object determineTarget(DropTargetEvent event) {
 		fTarget = (Item) event.item;
 		if (fTarget instanceof TreeItem) {
-			List<Object> list = new ArrayList<Object>();
+			List<Object> list = new ArrayList<>();
 			TreeItem item = (TreeItem)fTarget;
 			while (item != null) {
 				list.add(item.getData());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
index 557eaeb..a1568c3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
@@ -402,7 +402,7 @@
                 if (value != null) {
                     String[] ids = value.split(","); //$NON-NLS-1$
     				BreakpointOrganizerManager manager = BreakpointOrganizerManager.getDefault();
-					List<IBreakpointOrganizer> organziers = new ArrayList<IBreakpointOrganizer>();
+					List<IBreakpointOrganizer> organziers = new ArrayList<>();
                     for (int i = 0; i < ids.length; i++) {
                         IBreakpointOrganizer organizer = manager.getOrganizer(ids[i]);
                         if (organizer != null) {
@@ -756,7 +756,7 @@
     	if (paths == null) {
     		return;
     	}
-		Map<IBreakpointContainer, List<IBreakpoint>> containersToBreakpoints = new HashMap<IBreakpointContainer, List<IBreakpoint>>();
+		Map<IBreakpointContainer, List<IBreakpoint>> containersToBreakpoints = new HashMap<>();
     	for (int i = 0; i < paths.length; i++) {
             IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(paths[i].getLastSegment(), IBreakpoint.class);
     		if (breakpoint != null) {
@@ -764,7 +764,7 @@
 	    		if(container != null) {
 					List<IBreakpoint> list = containersToBreakpoints.get(container);
 	    			if (list == null) {
-						list = new ArrayList<IBreakpoint>();
+						list = new ArrayList<>();
 	    				containersToBreakpoints.put(container, list);
 	    			}
 	    			list.add(breakpoint);
@@ -804,7 +804,7 @@
 		}
 
     	IBreakpointOrganizer organizer = container.getOrganizer();
-		List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(selection.size());
+		List<IBreakpoint> breakpoints = new ArrayList<>(selection.size());
 		for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
             IBreakpoint breakpoint = (IBreakpoint) DebugPlugin.getAdapter(iter.next(), IBreakpoint.class);
             if (breakpoint != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
index 4c3d619..1ee8524 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
@@ -85,7 +85,7 @@
     public IBreakpoint[] getVisibleBreakpoints() {
         IBreakpointManager manager= DebugPlugin.getDefault().getBreakpointManager();
         Object[] elements= ((ITreeContentProvider)getContentProvider()).getElements(manager);
-		List<IBreakpoint> list = new ArrayList<IBreakpoint>();
+		List<IBreakpoint> list = new ArrayList<>();
         for (int i = 0; i < elements.length; i++) {
             TreeItem item = (TreeItem) searchItem(elements[i]);
             if (item != null) {
@@ -213,7 +213,7 @@
     	if(items == null) {
     		return;
     	}
-		Map<IBreakpointContainer, List<IBreakpoint>> containersToBreakpoints = new HashMap<IBreakpointContainer, List<IBreakpoint>>();
+		Map<IBreakpointContainer, List<IBreakpoint>> containersToBreakpoints = new HashMap<>();
 		IBreakpointContainer container = null;
     	IBreakpoint breakpoint = null;
     	for(int i = 0; i < items.length; i++) {
@@ -223,7 +223,7 @@
 	    		if(container != null) {
 					List<IBreakpoint> list = containersToBreakpoints.get(container);
 	    			if (list == null) {
-						list = new ArrayList<IBreakpoint>();
+						list = new ArrayList<>();
 	    				containersToBreakpoints.put(container, list);
 	    			}
 	    			list.add(breakpoint);
@@ -375,7 +375,7 @@
 	 * @return a list of widget occurrences to update or an empty list
 	 */
     private Widget[] searchItems(Object element) {
-		ArrayList<TreeItem> list = new ArrayList<TreeItem>();
+		ArrayList<TreeItem> list = new ArrayList<>();
         TreeItem[] items = getTree().getItems();
         for (int i = 0; i < items.length; i++) {
         	findAllOccurrences(items[i], element, list);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
index 05a7476..f0474ed 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
@@ -46,8 +46,8 @@
      */
     @Override
 	public IAdaptable[] getCategories(IBreakpoint breakpoint) {
-		List<IAdaptable> result = new ArrayList<IAdaptable>();
-		List<IResource> parents = new ArrayList<IResource>();
+		List<IAdaptable> result = new ArrayList<>();
+		List<IResource> parents = new ArrayList<>();
         IResource res = breakpoint.getMarker().getResource();
         parents.add(res);
         while (res != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
index 92d9e86..06c6e07 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
@@ -36,7 +36,7 @@
 	/**
 	 * Console listeners
 	 */
-	private List<IConsoleLineTracker> fListeners = new ArrayList<IConsoleLineTracker>(2);
+	private List<IConsoleLineTracker> fListeners = new ArrayList<>(2);
 
 	/**
 	 * The console this notifier is tracking
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
index ec31c36..0562409 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
@@ -85,7 +85,7 @@
 	private List<ITerminate> collectTargets(IProcess process) {
         ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
         ILaunch[] launches = launchManager.getLaunches();
-		List<ITerminate> targets = new ArrayList<ITerminate>();
+		List<ITerminate> targets = new ArrayList<>();
         for (int i = 0; i < launches.length; i++) {
             ILaunch launch = launches[i];
             IProcess[] processes = launch.getProcesses();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
index 7bbddae..1619261 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
@@ -94,7 +94,7 @@
 public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSetListener, IPropertyChangeListener {
     private IProcess fProcess = null;
 
-	private List<StreamListener> fStreamListeners = new ArrayList<StreamListener>();
+	private List<StreamListener> fStreamListeners = new ArrayList<>();
 
     private IConsoleColorProvider fColorProvider;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
index b5d735b..2f49e8a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
@@ -214,7 +214,7 @@
      */
     public IConsoleColorProvider getColorProvider(String type) {
         if (fColorProviders == null) {
-			fColorProviders = new HashMap<String, IConfigurationElement>();
+			fColorProviders = new HashMap<>();
             IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_CONSOLE_COLOR_PROVIDERS);
             IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
             for (int i = 0; i < elements.length; i++) {
@@ -253,7 +253,7 @@
 
         if (fLineTrackers == null) {
 			synchronized (fLineTrackersLock) { // can't use fLineTrackers as lock as it is null here
-				fLineTrackers = new HashMap<String, List<IConfigurationElement>>();
+				fLineTrackers = new HashMap<>();
 				IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_CONSOLE_LINE_TRACKERS);
 				IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
 				for (int i = 0; i < elements.length; i++) {
@@ -261,7 +261,7 @@
 					String processType = extension.getAttribute("processType"); //$NON-NLS-1$
 					List<IConfigurationElement> list = fLineTrackers.get(processType);
 					if (list == null) {
-						list = new ArrayList<IConfigurationElement>();
+						list = new ArrayList<>();
 						fLineTrackers.put(processType, list);
 					}
 					list.add(extension);
@@ -269,7 +269,7 @@
 			}
         }
 
-		ArrayList<IConsoleLineTracker> trackers = new ArrayList<IConsoleLineTracker>();
+		ArrayList<IConsoleLineTracker> trackers = new ArrayList<>();
         if (type != null) {
 			List<IConfigurationElement> lineTrackerExtensions;
 			synchronized (fLineTrackers) {// need to synchronize as the update to list might be still happening
@@ -298,7 +298,7 @@
 	private List<IProcess> getRemovedProcesses(ILaunch launch) {
 		List<IProcess> removed = null;
         if (fProcesses == null) {
-			fProcesses = new HashMap<ILaunch, IProcess[]>();
+			fProcesses = new HashMap<>();
         }
         IProcess[] old = fProcesses.get(launch);
         IProcess[] curr = launch.getProcesses();
@@ -307,7 +307,7 @@
                 IProcess process = old[i];
                 if (!contains(curr, process)) {
                     if (removed == null) {
-						removed = new ArrayList<IProcess>();
+						removed = new ArrayList<>();
                     }
                     removed.add(process);
                 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
index a6ae957..bdcea86 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
@@ -384,7 +384,7 @@
      * @return whether the drop was successful
      */
     private boolean performVariableOrWatchAdaptableDrop(IStructuredSelection selection) {
-		List<IExpression> expressions = new ArrayList<IExpression>(selection.size());
+		List<IExpression> expressions = new ArrayList<>(selection.size());
 		for (Iterator<?> itr = selection.iterator(); itr.hasNext();) {
             Object element = itr.next();
         	String expressionText = createExpressionString(element);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
index cb012b8..9b7f0ee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
@@ -36,7 +36,7 @@
 	private static DelegatingModelPresentation fgPresenetation;
 
 	// map of images to image descriptors
-	private static Map<Image, ImageDescriptor> fgImages = new HashMap<Image, ImageDescriptor>();
+	private static Map<Image, ImageDescriptor> fgImages = new HashMap<>();
 
 	/**
 	 * Disposes this adapter
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
index e3fac72..0c108e8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
@@ -26,7 +26,7 @@
 public class DecorationManager {
 
 	// map of targets to lists of active decorations
-	private static Map<IDebugTarget, List<Decoration>> fDecorations = new HashMap<IDebugTarget, List<Decoration>>(10);
+	private static Map<IDebugTarget, List<Decoration>> fDecorations = new HashMap<>(10);
 
 	/**
 	 * Adds the given decoration for the given stack frame.
@@ -39,7 +39,7 @@
 			IDebugTarget target = decoration.getThread().getDebugTarget();
 			List<Decoration> list = fDecorations.get(target);
 			if (list == null) {
-				list = new ArrayList<Decoration>();
+				list = new ArrayList<>();
 				fDecorations.put(target, list);
 			}
 			list.add(decoration);
@@ -65,7 +65,7 @@
 	}
 
 	private static void doRemoveDecorations(IDebugTarget target, IThread thread) {
-		ArrayList<Decoration> decorationsToRemove = new ArrayList<Decoration>();
+		ArrayList<Decoration> decorationsToRemove = new ArrayList<>();
 		synchronized (fDecorations) {
 			List<Decoration> list = fDecorations.get(target);
 			if (list != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
index f3b492b..4d6e66c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
@@ -254,11 +254,11 @@
      *
      * @since 3.6
      */
-	private Map<String, IHandler2> fHandlers = new HashMap<String, IHandler2>();
+	private Map<String, IHandler2> fHandlers = new HashMap<>();
 
     private boolean fDebugToolbarInView = true;
 
-	private Set<String> fDebugToolbarPerspectives = new TreeSet<String>();
+	private Set<String> fDebugToolbarPerspectives = new TreeSet<>();
 
 	/**
 	 * Page-book page for the breadcrumb viewer.  This page is activated in
@@ -343,7 +343,7 @@
 		 * @return corresponding tree path
 		 */
 		private TreePath getViewerTreePath(IModelDelta node) {
-			ArrayList<Object> list = new ArrayList<Object>();
+			ArrayList<Object> list = new ArrayList<>();
 			IModelDelta parentDelta = node.getParentDelta();
 			while (parentDelta != null) {
 				list.add(0, node.getElement());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
index 0c74d79..d3bc1fd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
@@ -456,7 +456,7 @@
                         }
 
                         private TreePath getViewerTreePath(IModelDelta node) {
-							ArrayList<Object> list = new ArrayList<Object>();
+							ArrayList<Object> list = new ArrayList<>();
                             IModelDelta parentDelta = node.getParentDelta();
                             while (parentDelta != null) {
                                 list.add(0, node.getElement());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java
index 494856b..335d80c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java
@@ -53,7 +53,7 @@
         } else {
         	// Return tree selection plus children.
     	    TreeItem[] selection = clientViewer.getTree().getSelection();
-			Set<Widget> set = new HashSet<Widget>();
+			Set<Widget> set = new HashSet<>();
     	    collectChildItems(set, selection);
             return set.toArray(new TreeItem[set.size()]);
         }
@@ -68,7 +68,7 @@
      */
     private TreeItem[] getSelectedItemsInTreeViewer(TreeModelViewer viewer, TreePath path) {
         Widget item = viewer.findItem(path);
-		Set<Widget> set = new HashSet<Widget>();
+		Set<Widget> set = new HashSet<>();
         if (item instanceof TreeItem) {
         	set.add(item);
         	if (((TreeItem) item).getExpanded()) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
index 53e2351..e8436da 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
@@ -52,7 +52,7 @@
 	protected StackLayout fStackLayout;
 	protected ViewTabEnablementManager fViewTabEnablementManager;
 	protected CTabFolder fEmptyTabFolder;
-	protected Hashtable<Integer, CTabFolder> fTabFolderForDebugView = new Hashtable<Integer, CTabFolder>();
+	protected Hashtable<Integer, CTabFolder> fTabFolderForDebugView = new Hashtable<>();
 	protected boolean fVisible;
 	protected IMemoryBlockRetrieval fKey; // store the key for current tab
 											// folder
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
index a7a180c..fdddeb0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
@@ -147,7 +147,7 @@
 			prefillExp = input;
 			prefillLength = dialog.getLength();
 
-			ArrayList<String> expressions = new ArrayList<String>();
+			ArrayList<String> expressions = new ArrayList<>();
 
 			if (input.length() == 0) {
 				expressions.add(IInternalDebugCoreConstants.EMPTY_STRING);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
index 4765fec..974fe13 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
@@ -110,7 +110,7 @@
 
 			if (selected != null && selected instanceof IStructuredSelection) {
 				Object[] selectedMemBlks = ((IStructuredSelection) selected).toArray();
-				ArrayList<Object> memoryBlocks = new ArrayList<Object>();
+				ArrayList<Object> memoryBlocks = new ArrayList<>();
 				for (int i = 0; i < selectedMemBlks.length; i++) {
 					if (selectedMemBlks[i] instanceof IMemoryBlock) {
 						memoryBlocks.add(selectedMemBlks[i]);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
index fa33472..c5822b6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
@@ -79,12 +79,12 @@
 	private MemoryViewPartListener fPartListener;
 
 	private SashForm fSashForm;
-	private Hashtable<String, IMemoryViewPane> fViewPanes = new Hashtable<String, IMemoryViewPane>();
-	private Hashtable<String, ViewForm> fViewPaneControls = new Hashtable<String, ViewForm>();
-	private ArrayList<String> fVisibleViewPanes = new ArrayList<String>();
+	private Hashtable<String, IMemoryViewPane> fViewPanes = new Hashtable<>();
+	private Hashtable<String, ViewForm> fViewPaneControls = new Hashtable<>();
+	private ArrayList<String> fVisibleViewPanes = new ArrayList<>();
 	private boolean fVisible;
 
-	private ArrayList<Integer> fWeights = new ArrayList<Integer>();
+	private ArrayList<Integer> fWeights = new ArrayList<>();
 
 	private static final String VISIBILITY_PREF = IDebugUIConstants.ID_MEMORY_VIEW + ".viewPanesVisibility"; //$NON-NLS-1$
 	private static final String ID_MEMORY_VIEW_CONTEXT = "org.eclipse.debug.ui.memoryview"; //$NON-NLS-1$
@@ -122,7 +122,7 @@
 	private String fActivePaneId;
 
 	class MemoryViewSelectionProvider implements ISelectionProvider, ISelectionChangedListener {
-		ArrayList<ISelectionChangedListener> fListeners = new ArrayList<ISelectionChangedListener>();
+		ArrayList<ISelectionChangedListener> fListeners = new ArrayList<>();
 
 		IStructuredSelection fSelections = new StructuredSelection();
 
@@ -808,7 +808,7 @@
 	@Override
 	public IMemoryRenderingContainer[] getMemoryRenderingContainers() {
 		Enumeration<IMemoryViewPane> enumeration = fViewPanes.elements();
-		ArrayList<Object> containers = new ArrayList<Object>();
+		ArrayList<Object> containers = new ArrayList<>();
 		while (enumeration.hasMoreElements()) {
 			Object obj = enumeration.nextElement();
 			if (obj instanceof IMemoryRenderingContainer)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
index 659c664..f890e48 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
@@ -49,7 +49,7 @@
 
 	private static ArrayList<String> getRegistry() {
 		if (fgRegistry == null)
-			fgRegistry = new ArrayList<String>();
+			fgRegistry = new ArrayList<>();
 
 		return fgRegistry;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
index d4e9493..46ec5d2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
@@ -46,8 +46,8 @@
 	private static final boolean DEBUG_SYNC_SERVICE = false;
 
 	public MemoryViewSynchronizationService() {
-		fSynchronizeInfo = new Hashtable<IMemoryBlock, SynchronizeInfo>();
-		fPropertyListeners = new Hashtable<IPropertyChangeListener, PropertyListener>();
+		fSynchronizeInfo = new Hashtable<>();
+		fPropertyListeners = new Hashtable<>();
 		MemoryViewUtil.getMemoryBlockManager().addListener(this);
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
index b53c5e6..8fb6ac5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
@@ -48,7 +48,7 @@
 			SWT.CAPS_LOCK, SWT.NUM_LOCK, SWT.SCROLL_LOCK, SWT.PAUSE, SWT.BREAK,
 			SWT.PRINT_SCREEN, SWT.ESC, SWT.CTRL, SWT.ALT, SWT.SHIFT };
 
-	public static ArrayList<String> MEMORY_BLOCKS_HISTORY = new ArrayList<String>();
+	public static ArrayList<String> MEMORY_BLOCKS_HISTORY = new ArrayList<>();
 
 	/**
 	 * @param selection
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
index 310738b..a7f04e4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
@@ -73,14 +73,14 @@
 
 	public static final String RENDERING_VIEW_PANE_ID = DebugUIPlugin.getUniqueIdentifier() + ".MemoryView.RenderingViewPane"; //$NON-NLS-1$
 
-	private Hashtable<IMemoryBlock, CTabFolder> fTabFolderForMemoryBlock = new Hashtable<IMemoryBlock, CTabFolder>();
-	private Hashtable<CTabFolder, IMemoryBlock> fMemoryBlockFromTabFolder = new Hashtable<CTabFolder, IMemoryBlock>();
+	private Hashtable<IMemoryBlock, CTabFolder> fTabFolderForMemoryBlock = new Hashtable<>();
+	private Hashtable<CTabFolder, IMemoryBlock> fMemoryBlockFromTabFolder = new Hashtable<>();
 
 	private ViewPaneRenderingMgr fRenderingMgr;
 
 	private IMemoryRenderingSite fRenderingSite;
-	private Set<IMemoryRendering> fAddedRenderings = new HashSet<IMemoryRendering>();
-	private Set<IMemoryBlock> fAddedMemoryBlocks = new HashSet<IMemoryBlock>();
+	private Set<IMemoryRendering> fAddedRenderings = new HashSet<>();
+	private Set<IMemoryBlock> fAddedMemoryBlocks = new HashSet<>();
 
 	private boolean fCanAddRendering = true;
 	private boolean fCanRemoveRendering = true;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
index a2bbbb8..61aa23d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
@@ -34,7 +34,7 @@
 public class ResetMemoryBlockAction implements IViewActionDelegate {
 
 	private IViewPart fView;
-	private ArrayList<Object> fSelectedMB = new ArrayList<Object>();
+	private ArrayList<Object> fSelectedMB = new ArrayList<>();
 
 	/*
 	 * (non-Javadoc)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
index 4a3ac88..f7cd15b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
@@ -42,7 +42,7 @@
 	 */
 	public SynchronizeInfo(IMemoryBlock block) {
 		fBlock = block;
-		fProperties = new Hashtable<String, Object>();
+		fProperties = new Hashtable<>();
 	}
 
 	/**
@@ -84,7 +84,7 @@
 			return new String[0];
 
 		Enumeration<String> enumeration = fProperties.keys();
-		ArrayList<String> ids = new ArrayList<String>();
+		ArrayList<String> ids = new ArrayList<>();
 
 		while (enumeration.hasMoreElements()) {
 			ids.add(enumeration.nextElement());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
index 1639da7..ab9d2c6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
@@ -55,7 +55,7 @@
  */
 public class ViewPaneRenderingMgr implements IDebugEventSetListener {
 
-	private final ArrayList<IMemoryRendering> fRenderings = new ArrayList<IMemoryRendering>();
+	private final ArrayList<IMemoryRendering> fRenderings = new ArrayList<>();
 	private final IMemoryRenderingContainer fViewPane;
 
 	private static final String RENDERINGS_TAG = "persistedMemoryRenderings"; //$NON-NLS-1$
@@ -128,7 +128,7 @@
 			return getRenderingsFromMemoryBlock(mem);
 		}
 
-		ArrayList<IMemoryRendering> ret = new ArrayList<IMemoryRendering>();
+		ArrayList<IMemoryRendering> ret = new ArrayList<>();
 		for (int i = 0; i < fRenderings.size(); i++) {
 			if (fRenderings.get(i) != null) {
 				IMemoryRendering rendering = fRenderings.get(i);
@@ -146,7 +146,7 @@
 	}
 
 	public IMemoryRendering[] getRenderingsFromDebugTarget(IDebugTarget target) {
-		ArrayList<IMemoryRendering> ret = new ArrayList<IMemoryRendering>();
+		ArrayList<IMemoryRendering> ret = new ArrayList<>();
 		for (int i = 0; i < fRenderings.size(); i++) {
 			if (fRenderings.get(i) != null) {
 				IMemoryRendering rendering = fRenderings.get(i);
@@ -160,7 +160,7 @@
 	}
 
 	public IMemoryRendering[] getRenderingsFromMemoryBlock(IMemoryBlock block) {
-		ArrayList<IMemoryRendering> ret = new ArrayList<IMemoryRendering>();
+		ArrayList<IMemoryRendering> ret = new ArrayList<>();
 		for (int i = 0; i < fRenderings.size(); i++) {
 			if (fRenderings.get(i) != null) {
 				IMemoryRendering rendering = fRenderings.get(i);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
index 8efa996..8437af6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
@@ -25,7 +25,7 @@
  *
  */
 public class ViewPaneSelectionProvider implements ISelectionProvider {
-	ArrayList<ISelectionChangedListener> fListeners = new ArrayList<ISelectionChangedListener>();
+	ArrayList<ISelectionChangedListener> fListeners = new ArrayList<>();
 	ISelection fSelection;
 
 	/*
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
index ecec354..8a34c94 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
@@ -24,7 +24,7 @@
 
 	public Object[] getElements() {
 		ModelNode[] nodes = getNodes(getRootNode().getElement());
-		ArrayList<Object> result = new ArrayList<Object>();
+		ArrayList<Object> result = new ArrayList<>();
 		if (nodes != null) {
 			for (int i = 0; i < nodes.length; i++) {
 				ModelNode[] children = nodes[i].getChildrenNodes();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
index 15eb8b6..d244780 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
@@ -39,7 +39,7 @@
 			int itemCount = table.getItemCount();
 			int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex);
 
-			ArrayList<TableItem> items = new ArrayList<TableItem>();
+			ArrayList<TableItem> items = new ArrayList<>();
 
 			// start at top index until there is no more data in the table
 			for (int i = topIndex; i < topIndex + numVisibleLines; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
index 799bdca..8dfe116 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
@@ -40,7 +40,7 @@
 			int itemCount = table.getItemCount();
 			int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex);
 
-			ArrayList<TableItem> items = new ArrayList<TableItem>();
+			ArrayList<TableItem> items = new ArrayList<>();
 
 			// start at top index until there is no more data in the table
 			for (int i = topIndex; i < topIndex + numVisibleLines; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java
index 9d13550..4345a19 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java
@@ -40,7 +40,7 @@
 abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableViewer {
 
 	private Object fPendingTopIndexKey;
-	private ArrayList<Object> fTopIndexQueue = new ArrayList<Object>();
+	private ArrayList<Object> fTopIndexQueue = new ArrayList<>();
 
 	private boolean fPendingResizeColumns;
 	private ListenerList<IVirtualContentListener> fVirtualContentListeners;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
index 2803d37..a91fe53 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
@@ -36,7 +36,7 @@
 
 public class GoToAddressDialog extends TrayDialog implements ModifyListener {
 
-	private static Vector<String> history = new Vector<String>();
+	private static Vector<String> history = new Vector<>();
 	private Combo expressionInput;
 	private String expression;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
index 9f370c1..c41b8e9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
@@ -72,7 +72,7 @@
 		if (start + length > fBytes.length)
 			return new MemoryByte[0];
 
-		ArrayList<MemoryByte> ret = new ArrayList<MemoryByte>();
+		ArrayList<MemoryByte> ret = new ArrayList<>();
 
 		for (int i=start; i< start+length; i++)
 		{
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
index d51dfe5..c4bb89c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
@@ -70,8 +70,8 @@
 	 */
 	public TableRenderingContentProvider()
 	{
-		lineCache = new Vector<TableRenderingLine>();
-		contentCache = new Hashtable<String, TableRenderingLine>();
+		lineCache = new Vector<>();
+		contentCache = new Hashtable<>();
 		initializeDynamicLoad();
 
 		DebugPlugin.getDefault().addDebugEventListener(this);
@@ -449,7 +449,7 @@
 		// if debug adapter did not return enough memory, create dummy memory
 		if (memoryBuffer.length < reqNumBytes)
 		{
-			ArrayList<MemoryByte> newBuffer = new ArrayList<MemoryByte>();
+			ArrayList<MemoryByte> newBuffer = new ArrayList<>();
 
 			for (int i=0; i<memoryBuffer.length; i++)
 			{
@@ -974,7 +974,7 @@
 			DebugUIPlugin.log(e);
 			addressLength = 4 * IInternalDebugUIConstants.CHAR_PER_BYTE;
 		}
-		ArrayList<TableRenderingLine> lines = new ArrayList<TableRenderingLine>();
+		ArrayList<TableRenderingLine> lines = new ArrayList<>();
 		String paddedString = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
 
 		for (int i=0; i<numOfLines; i++)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
index 390aa31..ba6db18 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
@@ -67,7 +67,7 @@
 
 	public MemoryByte[] getBytes(int start, int end)
 	{
-		ArrayList<MemoryByte> ret = new ArrayList<MemoryByte>();
+		ArrayList<MemoryByte> ret = new ArrayList<>();
 
 		for (int i=start; i<end; i++)
 		{
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
index d174c4f..2d6c26e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
@@ -62,8 +62,8 @@
 
 	public TableRenderingModel(AsynchronousTableViewer viewer) {
 		super(viewer);
-		fCache = new Hashtable<Object, Object>();
-		fOrderedCache = new Vector<Object>();
+		fCache = new Hashtable<>();
+		fOrderedCache = new Vector<>();
 	}
 
 	@Override
@@ -243,7 +243,7 @@
 			return;
 		}
 
-		ArrayList<Object> segments = new ArrayList<Object>();
+		ArrayList<Object> segments = new ArrayList<>();
 		Enumeration<Object> enumeration = fOrderedCache.elements();
 
 		BigInteger address = ((MemorySegment) fOrderedCache.get(0)).getAddress();
@@ -284,7 +284,7 @@
 			return;
 		}
 
-		ArrayList<Object> segments = new ArrayList<Object>();
+		ArrayList<Object> segments = new ArrayList<>();
 		Object[] elements = getElements();
 		for (int i = 0; i < elements.length; i++) {
 			Object element = elements[i];
@@ -317,7 +317,7 @@
 	}
 
 	private MemoryByte[] convertSegmentsToBytes(MemorySegment[] segments) {
-		ArrayList<MemoryByte> toReturn = new ArrayList<MemoryByte>();
+		ArrayList<MemoryByte> toReturn = new ArrayList<>();
 		for (int i = 0; i < segments.length; i++) {
 			MemoryByte[] temp = segments[i].getBytes();
 			for (int j = 0; j < temp.length; j++) {
@@ -332,7 +332,7 @@
 		Assert.isTrue(bytesPerLine > 0);
 		Assert.isTrue(numAddressableUnitPerLine > 0);
 
-		ArrayList<MemorySegment> segments = new ArrayList<MemorySegment>();
+		ArrayList<MemorySegment> segments = new ArrayList<>();
 		MemoryByte[] temp = bytes;
 
 		if (alignAddress) {
@@ -401,7 +401,7 @@
 
 		if (computeChanges()) {
 			Object[] newContent = compare(kids.toArray());
-			ArrayList<Object> newList = new ArrayList<Object>();
+			ArrayList<Object> newList = new ArrayList<>();
 			for (int i = 0; i < newContent.length; i++) {
 				newList.add(newContent[i]);
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java
index 6d2e50d..2a437a5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java
@@ -35,7 +35,7 @@
 	/**
 	 * Maps a ILogicalStructureType to the cache for that type
 	 */
-	private Map<ILogicalStructureType, LogicalStructureTypeCache> fCacheForType = new HashMap<ILogicalStructureType, LogicalStructureTypeCache>();
+	private Map<ILogicalStructureType, LogicalStructureTypeCache> fCacheForType = new HashMap<>();
 
 	/**
 	 * Returns the logical value to replace the given value using the specified logical structure.
@@ -88,12 +88,12 @@
 		/**
 		 * Maps a raw IValue to its calculated logical IValue
 		 */
-		private Map<IValue, IValue> fKnownValues = new HashMap<IValue, IValue>();
+		private Map<IValue, IValue> fKnownValues = new HashMap<>();
 
 		/**
 		 * Set of raw IValues that logical values are currently being evaluated for.
 		 */
-		private Set<IValue> fPendingValues = new HashSet<IValue>();
+		private Set<IValue> fPendingValues = new HashSet<>();
 
 		public LogicalStructureTypeCache(ILogicalStructureType type){
 			fType = type;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
index 506f5fa..1a4f016 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
@@ -296,7 +296,7 @@
 	 */
 	private ViewerInputService fInputService;
 
-	private Map<String, IAction> fGlobalActionMap = new HashMap<String, IAction>();
+	private Map<String, IAction> fGlobalActionMap = new HashMap<>();
 
 	/**
 	 * Viewer input requester used to update the viewer once the viewer input has been
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java
index fc45454..c7d4429 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java
@@ -40,12 +40,12 @@
 	 * Map of actions. Keys are strings, values
 	 * are <code>IAction</code>.
 	 */
-	private Map<String, IAction> fActionMap = new HashMap<String, IAction>();
+	private Map<String, IAction> fActionMap = new HashMap<>();
 
 	/**
 	 * Collection to track actions that should be updated when selection occurs.
 	 */
-	private List<String> fSelectionActions = new ArrayList<String>();
+	private List<String> fSelectionActions = new ArrayList<>();
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#init(org.eclipse.ui.IWorkbenchPartSite)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java
index 3abc49f..d408939 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java
@@ -48,7 +48,7 @@
 	 */
 	@Override
 	public Set<String> getDetailPaneTypes(IStructuredSelection selection) {
-		Set<String> possibleIDs = new HashSet<String>(1);
+		Set<String> possibleIDs = new HashSet<>(1);
 		possibleIDs.add(DefaultDetailPane.ID);
 		return possibleIDs;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java
index 03e8626..ab562eb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java
@@ -263,7 +263,7 @@
     public static final String PREF_DETAIL_AREAS = "preferredDetailPanes"; //$NON-NLS-1$
 
 	private DetailPaneManager(){
-		fFactoriesByPaneID = new HashMap<String, IDetailPaneFactory>();
+		fFactoriesByPaneID = new HashMap<>();
 		fFactoriesByPaneID.put(MessageDetailPane.ID, new DefaultDetailPaneFactory());
 	}
 
@@ -357,7 +357,7 @@
 	 * @return The factories enabled for the selection or an empty collection.
 	 */
 	private List<IDetailPaneFactory> getEnabledFactories(IStructuredSelection selection) {
-		List<IDetailPaneFactory> factoriesForSelection = new ArrayList<IDetailPaneFactory>();
+		List<IDetailPaneFactory> factoriesForSelection = new ArrayList<>();
 		if (fKnownFactories == null) {
 			initializeDetailFactories();
 		}
@@ -380,7 +380,7 @@
 	 * @return Set of pane IDs or an empty set
 	 */
 	private Set<String> getPossiblePaneIDs(List<IDetailPaneFactory> factoriesToQuery, IStructuredSelection selection) {
-		Set<String> idsForSelection = new LinkedHashSet<String>();
+		Set<String> idsForSelection = new LinkedHashSet<>();
 		for (IDetailPaneFactory currentFactory : factoriesToQuery) {
 			for (String currentAreaTypeID : currentFactory.getDetailPaneTypes(selection)) {
 				fFactoriesByPaneID.put(currentAreaTypeID, currentFactory);
@@ -438,7 +438,7 @@
 	 */
 	private synchronized void initializeDetailFactories(){
 		if (fKnownFactories == null){
-			fKnownFactories = new ArrayList<DetailPaneFactoryExtension>();
+			fKnownFactories = new ArrayList<>();
 			IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_DETAIL_FACTORIES);
 			IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
 			DetailPaneFactoryExtension delegate = null;
@@ -522,7 +522,7 @@
      * @see #storePreferredDetailsAreas()
      */
     private void loadPreferredDetailsAreas() {
-		fPreferredDetailPanes = new HashMap<Set<String>, String>();
+		fPreferredDetailPanes = new HashMap<>();
     	String preferenceValue = Platform.getPreferencesService().getString(DebugUIPlugin.getUniqueIdentifier(),
     			PREF_DETAIL_AREAS,
     			"",  //$NON-NLS-1$
@@ -532,7 +532,7 @@
     		String token = entryTokenizer.nextToken();
     		int valueStart = token.indexOf(':');
     		StringTokenizer keyTokenizer = new StringTokenizer(token.substring(0,valueStart),","); //$NON-NLS-1$
-			Set<String> keys = new LinkedHashSet<String>();
+			Set<String> keys = new LinkedHashSet<>();
     		while (keyTokenizer.hasMoreTokens()){
     			keys.add(keyTokenizer.nextToken());
     		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
index c77bae7..a528128 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
@@ -158,7 +158,7 @@
 
 	private static Set<String> fgGlobalActionIds;
 	static {
-		fgGlobalActionIds = new HashSet<String>();
+		fgGlobalActionIds = new HashSet<>();
 		fgGlobalActionIds.add(SELECT_ALL_ACTION);
 		fgGlobalActionIds.add(COPY_ACTION);
 		fgGlobalActionIds.add(CUT_ACTION);
@@ -245,8 +245,8 @@
 	 * Constructs a new debug view.
 	 */
 	public AbstractDebugView() {
-		fActionMap = new HashMap<String, IAction>(5);
-		fUpdateables = new ArrayList<IUpdate>(3);
+		fActionMap = new HashMap<>(5);
+		fUpdateables = new ArrayList<>(3);
 	}
 
 	/**
@@ -966,7 +966,7 @@
 	 */
 	public void addContextMenuManager(IMenuManager contextMenuManager) {
 		if (fContextMenuManagers == null) {
-			fContextMenuManagers = new ArrayList<IMenuManager>();
+			fContextMenuManagers = new ArrayList<>();
 		}
 		fContextMenuManagers.add(contextMenuManager);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
index 94a2824..6ed04e1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
@@ -818,7 +818,7 @@
 				}
 			}
 			if (!groups.isEmpty()) {
-				List<LaunchGroupExtension> list = new ArrayList<LaunchGroupExtension>();
+				List<LaunchGroupExtension> list = new ArrayList<>();
 				for (String id : groups) {
 					LaunchGroupExtension extension = getLaunchConfigurationManager().getLaunchGroup(id);
 					if (extension != null) {
@@ -876,7 +876,7 @@
 			boolean run = config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
 			if (debug || run) {
 				// old attributes
-				List<LaunchGroupExtension> groups = new ArrayList<LaunchGroupExtension>();
+				List<LaunchGroupExtension> groups = new ArrayList<>();
 				int num = 0;
 				if (debug) {
 					groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
@@ -906,7 +906,7 @@
 			for (int i = 0; i < checked.length; i++) {
 				LaunchGroupExtension group = (LaunchGroupExtension)checked[i];
 				if (groups == null) {
-					groups = new ArrayList<String>();
+					groups = new ArrayList<>();
 				}
 				groups.add(group.getIdentifier());
 			}
@@ -1109,7 +1109,7 @@
 		@Override
 		public Object[] getElements(Object inputElement) {
 			ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
-			List<ILaunchGroup> possibleGroups = new ArrayList<ILaunchGroup>();
+			List<ILaunchGroup> possibleGroups = new ArrayList<>();
 			ILaunchConfiguration configuration = (ILaunchConfiguration)inputElement;
 			for (int i = 0; i < groups.length; i++) {
 				ILaunchGroup extension = groups[i];
@@ -1135,7 +1135,7 @@
 	 */
 	class FavoritesLabelProvider implements ITableLabelProvider {
 
-		private Map<Object, Image> fImages = new HashMap<Object, Image>();
+		private Map<Object, Image> fImages = new HashMap<>();
 
 		@Override
 		public Image getColumnImage(Object element, int columnIndex) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
index a861e47..5624f30 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
@@ -877,7 +877,7 @@
 								Object toggleValue = getToggleTerminateValue(key);
 								if (toggleValue instanceof TerminateToggleValue) {
 									LaunchingResourceManager lrm = DebugUIPlugin.getDefault().getLaunchingResourceManager();
-									ArrayList<LaunchShortcutExtension> shortcuts = new ArrayList<LaunchShortcutExtension>();
+									ArrayList<LaunchShortcutExtension> shortcuts = new ArrayList<>();
 									LaunchShortcutExtension shortcut = ((TerminateToggleValue) toggleValue).getShortcut();
 									shortcuts.add(shortcut);
 									IResource resource = SelectedResourceManager.getDefault().getSelectedResource();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
index e5618cd..b307bcf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
@@ -421,7 +421,7 @@
 	 */
 	private Map<String, EnvironmentVariable> getNativeEnvironment() {
 		Map<String, String> stringVars = DebugPlugin.getDefault().getLaunchManager().getNativeEnvironmentCasePreserved();
-		HashMap<String, EnvironmentVariable> vars = new HashMap<String, EnvironmentVariable>();
+		HashMap<String, EnvironmentVariable> vars = new HashMap<>();
 		for (Entry<String, String> entry : stringVars.entrySet()) {
 			vars.put(entry.getKey(), new EnvironmentVariable(entry.getKey(), entry.getValue()));
 		}
@@ -529,7 +529,7 @@
 		// Convert the table's items into a Map so that this can be saved in the
 		// configuration's attributes.
 		TableItem[] items = environmentTable.getTable().getItems();
-		Map<String, String> map = new HashMap<String, String>(items.length);
+		Map<String, String> map = new HashMap<>(items.length);
 		for (int i = 0; i < items.length; i++) {
 			EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
 			map.put(var.getName(), var.getValue());
@@ -699,7 +699,7 @@
 								return s1.compareTo(s2);
 							}
 						};
-						TreeMap<Object, Object> envVars = new TreeMap<Object, Object>(comparator);
+						TreeMap<Object, Object> envVars = new TreeMap<>(comparator);
 						envVars.putAll((Map<?, ?>) inputElement);
 						elements = new EnvironmentVariable[envVars.size()];
 						int index = 0;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
index c02930c..0df29da 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
@@ -87,7 +87,7 @@
 	}
 
 	//no filtering by default
-	private ArrayList<VariableFilter> fFilters = new ArrayList<VariableFilter>();
+	private ArrayList<VariableFilter> fFilters = new ArrayList<>();
 	//when filtering is on, do not show all by default
 	private boolean fShowAllSelected = false;
 
@@ -185,7 +185,7 @@
 
 	@Override
 	protected void setListElements(Object[] elements) {
-		ArrayList<Object> filtered = new ArrayList<Object>();
+		ArrayList<Object> filtered = new ArrayList<>();
 		filtered.addAll(Arrays.asList(elements));
 		if(!fFilters.isEmpty() && !fShowAllSelected) {
 			for (int i = 0; i < elements.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
index e73d9c5..65ce370 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
@@ -406,7 +406,7 @@
 			} else {
 				configuration = getLaunchConfigurationManager().getFilteredLastLaunch(groupid);
 			}
-			ArrayList<ILaunchConfiguration> configs = new ArrayList<ILaunchConfiguration>(1);
+			ArrayList<ILaunchConfiguration> configs = new ArrayList<>(1);
 			if (configuration != null){
 				configs.add(configuration);
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java
index 90c7abc..130f305 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java
@@ -133,7 +133,7 @@
 		Set<String> enabledIDs = manager.getEnabledToggleBreakpointsTargetIDs(part, selection);
         String preferredId = manager.getPreferredToggleBreakpointsTargetID(part, selection);
 
-		List<Action> actions = new ArrayList<Action>(enabledIDs.size());
+		List<Action> actions = new ArrayList<>(enabledIDs.size());
 		for (String id : enabledIDs) {
             Action action = new SelectTargetAction(manager.getToggleBreakpointsTargetName(id), enabledIDs, id);
             if (id.equals(preferredId)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
index 69baf7b..ab4e529 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
@@ -82,7 +82,7 @@
 	public ContextualLaunchAction(String mode) {
 		fMode = mode;
 		ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
-		fGroupsByCategory = new HashMap<String, ILaunchGroup>(3);
+		fGroupsByCategory = new HashMap<>(3);
 		for (int i = 0; i < groups.length; i++) {
 			ILaunchGroup group = groups[i];
 			if (group.getMode().equals(mode)) {
@@ -210,7 +210,7 @@
 		context.setAllowPluginActivation(true);
 		context.addVariable("selection", selection); //$NON-NLS-1$
 		List<LaunchShortcutExtension> allShortCuts = getLaunchConfigurationManager().getLaunchShortcuts();
-		List<LaunchShortcutExtension> filteredShortCuts = new ArrayList<LaunchShortcutExtension>();
+		List<LaunchShortcutExtension> filteredShortCuts = new ArrayList<>();
 		Iterator<LaunchShortcutExtension> iter = allShortCuts.iterator();
 		while (iter.hasNext()) {
 			LaunchShortcutExtension ext = iter.next();
@@ -230,7 +230,7 @@
 		if(menu.getItemCount() > 0 && filteredShortCuts.size() > 0) {
 			 new MenuItem(menu, SWT.SEPARATOR);
 		}
-		List<String> categories = new ArrayList<String>();
+		List<String> categories = new ArrayList<>();
 		for(LaunchShortcutExtension ext : filteredShortCuts) {
 			for(String mode : ext.getModes()) {
 				if (mode.equals(fMode)) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
index aff4f21..3911b81 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
@@ -139,7 +139,7 @@
     /**
      * Map of enabled targets keyed by workbench window.
      */
-    private Map<IWorkbenchWindow, EnabledTarget> fEnabledTargetsMap = new WeakHashMap<IWorkbenchWindow, EnabledTarget>();
+    private Map<IWorkbenchWindow, EnabledTarget> fEnabledTargetsMap = new WeakHashMap<>();
 
     /**
      * The current enabled target, based on the active
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
index b9816dd..1ed4511 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
@@ -68,7 +68,7 @@
 
 	private boolean fCreateWorkingSets = false;
 
-	private ArrayList<IBreakpoint> fAdded = new ArrayList<IBreakpoint>();
+	private ArrayList<IBreakpoint> fAdded = new ArrayList<>();
 
 	private String fCurrentWorkingSetProperty = null;
 
@@ -274,7 +274,7 @@
 	 * @since 3.5
 	 */
 	protected Map<String, Object> collectBreakpointProperties(IMemento memento) {
-		HashMap<String, Object> map = new HashMap<String, Object>();
+		HashMap<String, Object> map = new HashMap<>();
 
 		//collect attributes from the 'breakpoint' node
 		map.put(IImportExportConstants.IE_BP_ENABLED, memento.getBoolean(IImportExportConstants.IE_BP_ENABLED));
@@ -377,7 +377,7 @@
 	 */
 	private void updateWorkingSets(String[] wsnames, IBreakpoint breakpoint) {
 		IWorkingSetManager mgr = PlatformUI.getWorkbench().getWorkingSetManager();
-		ArrayList<IWorkingSet> sets = new ArrayList<IWorkingSet>();
+		ArrayList<IWorkingSet> sets = new ArrayList<>();
 		collectContainingWorkingsets(breakpoint, sets);
 		for (int i = 0; i < wsnames.length; i++) {
 			if("".equals(wsnames[i])) { //$NON-NLS-1$
@@ -401,7 +401,7 @@
 		}
 		ArrayList<IAdaptable> items = null;
 		for (IWorkingSet set : sets) {
-			items = new ArrayList<IAdaptable>(Arrays.asList(set.getElements()));
+			items = new ArrayList<>(Arrays.asList(set.getElements()));
 			if(items.remove(breakpoint)) {
 				set.setElements(items.toArray(new IAdaptable[items.size()]));
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
index 25c3b5f..87460f4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
@@ -158,7 +158,7 @@
 	 * @since 3.4
 	 */
 	private ILaunchGroup[] getAllGroupsForConfiguration(ILaunchConfiguration config) {
-		ArrayList<ILaunchGroup> list = new ArrayList<ILaunchGroup>();
+		ArrayList<ILaunchGroup> list = new ArrayList<>();
 		try {
 			ILaunchConfigurationType type = config.getType();
 			Set<Set<String>> modes = type.getSupportedModeCombinations();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
index 99f5cf4..6d8702a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
@@ -142,7 +142,7 @@
 	private IEvaluationContext createContext() {
 		IStructuredSelection ss = SelectedResourceManager.getDefault().getCurrentSelection();
 		Object o = ss.getFirstElement();
-		List<IEditorInput> list = new ArrayList<IEditorInput>(0);
+		List<IEditorInput> list = new ArrayList<>(0);
 		if(o instanceof IEditorPart) {
 			list.add(((IEditorPart)o).getEditorInput());
 		}
@@ -163,7 +163,7 @@
 		int accelerator = 1;
 		List<LaunchShortcutExtension> allShortCuts = getLaunchConfigurationManager().getLaunchShortcuts(fGroup.getCategory());
 		Iterator<LaunchShortcutExtension> iter = allShortCuts.iterator();
-		List<LaunchShortcutExtension> filteredShortCuts = new ArrayList<LaunchShortcutExtension>(10);
+		List<LaunchShortcutExtension> filteredShortCuts = new ArrayList<>(10);
 		while (iter.hasNext()) {
 			LaunchShortcutExtension ext = iter.next();
 			try {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
index 23d3e88..4e5e246 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
@@ -94,7 +94,7 @@
 			return new ISourceContainer[0];
 		}
 
-		ArrayList<ISourceContainer> locationList = new ArrayList<ISourceContainer>();
+		ArrayList<ISourceContainer> locationList = new ArrayList<>();
 		for (int i = 0; i < elements.length; i++) {
 			IResource resource = elements[i].getAdapter(IResource.class);