Bug 533055 - Remove redundant type arguments

Change-Id: I6f62094af1b4ad2c679e78cc635641918f958fb4
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/org.eclipse.core.externaltools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.externaltools/.settings/org.eclipse.jdt.core.prefs
index 1d1c1c0..59d5c90 100644
--- a/org.eclipse.core.externaltools/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.core.externaltools/.settings/org.eclipse.jdt.core.prefs
@@ -27,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -91,7 +92,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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -101,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ProgramLaunchDelegate.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ProgramLaunchDelegate.java
index 8385553..268ccaa 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ProgramLaunchDelegate.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ProgramLaunchDelegate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -111,7 +111,7 @@
 		IProcess process = null;
 
 		// add process type to process attributes
-		Map<String, String> processAttributes = new HashMap<String, String>();
+		Map<String, String> processAttributes = new HashMap<>();
 		String programName = location.lastSegment();
 		String extension = location.getFileExtension();
 		if (extension != null) {
diff --git a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/BuilderCoreUtils.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/BuilderCoreUtils.java
index 75ad019..63bdac7 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/BuilderCoreUtils.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/BuilderCoreUtils.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2014 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -149,7 +149,7 @@
 		if(!isfull && isinc) {
 			Map<String, String> args = newCommand.getArguments();
 			if(args == null) {
-				args = new HashMap<String, String>();
+				args = new HashMap<>();
 			}
 			newCommand.setBuilding(IncrementalProjectBuilder.FULL_BUILD, true);
 			args.put(INC_CLEAN, Boolean.TRUE.toString());
@@ -211,7 +211,7 @@
 					temp = workingCopy.getOriginal();
 				}
 			}
-			args = new HashMap<String, String>();
+			args = new HashMap<>();
 			// Launch configuration builders are stored with a project-relative
 			// path
 			StringBuilder buffer = new StringBuilder(PROJECT_TAG);
diff --git a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolMigration.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolMigration.java
index c7887fb..285d808 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolMigration.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolMigration.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -247,7 +247,7 @@
 			String targetNames = null;
 			if (arguments != null) {
 				int start = 0;
-				ArrayList<String> targets = new ArrayList<String>();
+				ArrayList<String> targets = new ArrayList<>();
 				StringBuilder buffer = new StringBuilder();
 				VariableDefinition varDef = extractVariableDefinition(arguments, start);
 				while (varDef.end != -1) {
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
index c0ad3ff..59d5c90 100644
--- a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
@@ -27,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -77,19 +78,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
 org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -99,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
index 537a43d..044bb4c 100644
--- a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
@@ -27,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -91,7 +92,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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -101,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.examples.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.examples.core/.settings/org.eclipse.jdt.core.prefs
index 854ba02..d7f6071 100644
--- a/org.eclipse.debug.examples.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.examples.core/.settings/org.eclipse.jdt.core.prefs
@@ -11,8 +11,11 @@
 org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
@@ -24,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -74,19 +78,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
 org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -96,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.examples.core/pdavm/src/org/eclipse/debug/examples/pdavm/PDAVirtualMachine.java b/org.eclipse.debug.examples.core/pdavm/src/org/eclipse/debug/examples/pdavm/PDAVirtualMachine.java
index d8ee82b..1e6109a 100644
--- a/org.eclipse.debug.examples.core/pdavm/src/org/eclipse/debug/examples/pdavm/PDAVirtualMachine.java
+++ b/org.eclipse.debug.examples.core/pdavm/src/org/eclipse/debug/examples/pdavm/PDAVirtualMachine.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2015 Wind River Systems and others.
+ * Copyright (c) 2005, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -62,7 +62,7 @@
         String fName;
         String fGroup = "<no_group>"; //$NON-NLS-1$
         boolean fIsWriteable = true;
-		Map<String, BitField> fBitFields = new LinkedHashMap<String, BitField>(0);
+		Map<String, BitField> fBitFields = new LinkedHashMap<>(0);
         int fValue;
     }
 
@@ -73,10 +73,10 @@
         String fName;
         int fBitOffset;
         int fBitCount;
-		Map<String, Integer> fMnemonics = new LinkedHashMap<String, Integer>(0);
+		Map<String, Integer> fMnemonics = new LinkedHashMap<>(0);
     }
 
-	Map<String, Register> fRegisters = new LinkedHashMap<String, Register>(0);
+	Map<String, Register> fRegisters = new LinkedHashMap<>(0);
 
     class Args {
         final String[] fArgs;
@@ -147,7 +147,7 @@
 		Map<String, Integer> fThreadLabels;
 
         /** The stack of stack frames (the control stack) */
-		final List<Frame> fFrames = new LinkedList<Frame>();
+		final List<Frame> fFrames = new LinkedList<>();
 
         /** Current stack frame (not includced in fFrames) */
         Frame fCurrentFrame;
@@ -176,7 +176,7 @@
         }
     }
 
-	final Map<Integer, PDAThread> fThreads = new LinkedHashMap<Integer, PDAThread>();
+	final Map<Integer, PDAThread> fThreads = new LinkedHashMap<>();
 
     int fNextThreadId = 1;
 
@@ -192,7 +192,7 @@
 
     /** Each stack frame is a mapping of variable names to values. */
     class Frame {
-		final Map<String, Object> fLocalVariables = new LinkedHashMap<String, Object>();
+		final Map<String, Object> fLocalVariables = new LinkedHashMap<>();
 
         /**
          * The name of the function in this frame
@@ -278,7 +278,7 @@
      * Breakpoints are stored per each each line of code.  The boolean indicates
      * whether the whole VM should suspend or just the triggering thread.
      */
-	final Map<Integer, Boolean> fBreakpoints = new HashMap<Integer, Boolean>();
+	final Map<Integer, Boolean> fBreakpoints = new HashMap<>();
 
     /**
      * The suspend flag is true if the VM should suspend running the program and
@@ -324,7 +324,7 @@
     OutputStream fEventStream;
 
     /** The eventstops table holds which events cause suspends and which do not. */
-	final Map<String, Boolean> fEventStops = new HashMap<String, Boolean>();
+	final Map<String, Boolean> fEventStops = new HashMap<>();
     {
         fEventStops.put("unimpinstr", Boolean.FALSE); //$NON-NLS-1$
         fEventStops.put("nosuchlabel", Boolean.FALSE); //$NON-NLS-1$
@@ -340,7 +340,7 @@
      * <li>N = 2 is write watch</li>
      * <li>N = 3 is both, etc.</li>
      */
-	final Map<String, Integer> fWatchpoints = new HashMap<String, Integer>();
+	final Map<String, Integer> fWatchpoints = new HashMap<>();
 
     public static void main(String[] args) {
         String programFile = args.length >= 1 ? args[0] : null;
@@ -388,7 +388,7 @@
 
         // Load all the code into memory
         StringWriter stringWriter = new StringWriter();
-		List<String> code = new LinkedList<String>();
+		List<String> code = new LinkedList<>();
 		try (FileReader fileReader = new FileReader(inputFile)) {
 	        int c = fileReader.read();
 	        while (c != -1) {
@@ -416,7 +416,7 @@
      * Initializes the labels map
      */
 	Map<String, Integer> mapLabels(String[] code) {
-		Map<String, Integer> labels = new HashMap<String, Integer>();
+		Map<String, Integer> labels = new HashMap<>();
         for (int i = 0; i < code.length; i++) {
             if (code[i].length() != 0 && code[i].charAt(0) == ':') {
                 labels.put(code[i].substring(1), Integer.valueOf(i));
@@ -551,7 +551,7 @@
     void doOneInstruction(PDAThread thread, String instr) {
         StringTokenizer tokenizer = new StringTokenizer(instr);
         String op = tokenizer.nextToken();
-		List<String> tokens = new LinkedList<String>();
+		List<String> tokens = new LinkedList<>();
         while (tokenizer.hasMoreTokens()) {
             tokens.add(tokenizer.nextToken());
         }
@@ -698,7 +698,7 @@
         }
 
         String command = tokenizer.nextToken();
-		List<String> tokens = new LinkedList<String>();
+		List<String> tokens = new LinkedList<>();
         while (tokenizer.hasMoreTokens()) {
             tokens.add(tokenizer.nextToken());
         }
@@ -779,7 +779,7 @@
             ? thread.fCurrentFrame : (Frame)thread.fFrames.get(sfnumber);
 
         String varDot = var + "."; //$NON-NLS-1$
-		List<String> children = new ArrayList<String>();
+		List<String> children = new ArrayList<>();
 		for (Iterator<String> itr = frame.fLocalVariables.keySet().iterator(); itr.hasNext();) {
             String localVar = itr.next();
             if (localVar.startsWith(varDot) && localVar.indexOf('.', varDot.length() + 1) == -1) {
@@ -933,7 +933,7 @@
      * @param args
      */
     void debugGroups(Args args) {
-		TreeSet<String> groups = new TreeSet<String>();
+		TreeSet<String> groups = new TreeSet<>();
 		for (Iterator<Register> itr = fRegisters.values().iterator(); itr.hasNext();) {
             Register reg = itr.next();
             groups.add(reg.fGroup);
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/launcher/PDALaunchDelegate.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/launcher/PDALaunchDelegate.java
index b1bc4d6..077e771 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/launcher/PDALaunchDelegate.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/launcher/PDALaunchDelegate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -41,9 +41,6 @@
  * Launches PDA program on a PDA interpreter written in Perl
  */
 public class PDALaunchDelegate extends LaunchConfigurationDelegate {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
 		//#ifdef ex1
@@ -53,7 +50,7 @@
 //#		new RuntimeProcess(launch, process, "Hello", null);
 		//#else
 
-		List<String> commandList = new ArrayList<String>();
+		List<String> commandList = new ArrayList<>();
 
         // Get Java VM path
         String javaVMHome = System.getProperty("java.home"); //$NON-NLS-1$
@@ -135,9 +132,6 @@
 		return -1;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.LaunchConfigurationDelegate#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
 		return false;
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDABitFieldData.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDABitFieldData.java
index b36e3db..da15cf0 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDABitFieldData.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDABitFieldData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -34,7 +34,7 @@
         fOffset = Integer.parseInt(st.nextToken());
         fCount = Integer.parseInt(st.nextToken());
 
-		fMnemonics = new LinkedHashMap<String, String>(0);
+		fMnemonics = new LinkedHashMap<>(0);
         while (st.hasMoreTokens()) {
             fMnemonics.put(st.nextToken(), st.nextToken());
         }
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAFrameData.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAFrameData.java
index d3c5ab8..560a820 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAFrameData.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAFrameData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -38,7 +38,7 @@
         fPC = Integer.parseInt(st.nextToken());
         fFunction = st.nextToken();
 
-		List<String> variablesList = new ArrayList<String>();
+		List<String> variablesList = new ArrayList<>();
         while (st.hasMoreTokens()) {
             variablesList.add(st.nextToken());
         }
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAListResult.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAListResult.java
index e2b9a38..e9aae8e 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAListResult.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAListResult.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,7 +27,7 @@
     PDAListResult(String response) {
         super(response);
         StringTokenizer st = new StringTokenizer(response, "|"); //$NON-NLS-1$
-		List<String> valuesList = new ArrayList<String>();
+		List<String> valuesList = new ArrayList<>();
 
         while (st.hasMoreTokens()) {
             String token = st.nextToken();
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegisterData.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegisterData.java
index 27c1874..a94db40 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegisterData.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegisterData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -35,7 +35,7 @@
         fName = regSt.nextToken();
         fWritable = Boolean.getBoolean(regSt.nextToken());
 
-		List<PDABitFieldData> bitFieldsList = new ArrayList<PDABitFieldData>();
+		List<PDABitFieldData> bitFieldsList = new ArrayList<>();
         while (st.hasMoreTokens()) {
             bitFieldsList.add(new PDABitFieldData(st.nextToken()));
         }
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegistersCommandResult.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegistersCommandResult.java
index 7eabe8a..d5a56be 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegistersCommandResult.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDARegistersCommandResult.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,7 +30,7 @@
     PDARegistersCommandResult(String response) {
         super(response);
         StringTokenizer st = new StringTokenizer(response, "#"); //$NON-NLS-1$
-		List<PDARegisterData> regList = new ArrayList<PDARegisterData>();
+		List<PDARegisterData> regList = new ArrayList<>();
 
         while (st.hasMoreTokens()) {
             regList.add(new PDARegisterData(st.nextToken()));
diff --git a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAStackCommandResult.java b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAStackCommandResult.java
index dfc5832..7489121 100644
--- a/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAStackCommandResult.java
+++ b/org.eclipse.debug.examples.core/src/org/eclipse/debug/examples/core/pda/protocol/PDAStackCommandResult.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -31,7 +31,7 @@
     PDAStackCommandResult(String response) {
         super(response);
         StringTokenizer st = new StringTokenizer(response, "#"); //$NON-NLS-1$
-		List<PDAFrameData> framesList = new ArrayList<PDAFrameData>();
+		List<PDAFrameData> framesList = new ArrayList<>();
 
         while (st.hasMoreTokens()) {
             framesList.add(new PDAFrameData(st.nextToken()));
diff --git a/org.eclipse.debug.examples.core/src_ant/org/eclipse/debug/examples/ant/tasks/PreProcessor.java b/org.eclipse.debug.examples.core/src_ant/org/eclipse/debug/examples/ant/tasks/PreProcessor.java
index 3f6f993..483e9ec 100644
--- a/org.eclipse.debug.examples.core/src_ant/org/eclipse/debug/examples/ant/tasks/PreProcessor.java
+++ b/org.eclipse.debug.examples.core/src_ant/org/eclipse/debug/examples/ant/tasks/PreProcessor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2015 IBM Corporation and others.
+ * Copyright (c) 2005, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -46,9 +46,9 @@
  */
 public class PreProcessor extends Task {
 
-	private Vector<FileSet> fFileSets = new Vector<FileSet>();
+	private Vector<FileSet> fFileSets = new Vector<>();
 	private File fDestDir = null;
-	private Set<String> fSymbols = new HashSet<String>();
+	private Set<String> fSymbols = new HashSet<>();
 	private FileUtils fUtils = FileUtils.getFileUtils();
 
 	// possible states
diff --git a/org.eclipse.debug.examples.memory/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.examples.memory/.settings/org.eclipse.jdt.core.prefs
index 854ba02..d7f6071 100644
--- a/org.eclipse.debug.examples.memory/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.examples.memory/.settings/org.eclipse.jdt.core.prefs
@@ -11,8 +11,11 @@
 org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
@@ -24,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -74,19 +78,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
 org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -96,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleDebugTarget.java b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleDebugTarget.java
index 8b3ff93..3f79627 100644
--- a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleDebugTarget.java
+++ b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleDebugTarget.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2013, 2015 IBM Corporation and others.
+ * Copyright (c) 2013, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -41,7 +41,7 @@
 
 	protected ILaunch fLaunch;
 	protected SampleEngine fEngine = new SampleEngine();
-	protected ArrayList<IMemoryBlockExtension> fMemoryBlocks = new ArrayList<IMemoryBlockExtension>();
+	protected ArrayList<IMemoryBlockExtension> fMemoryBlocks = new ArrayList<>();
 	protected IThread fThread;
 	protected boolean fBusy;
 
@@ -56,113 +56,63 @@
 		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#getProcess()
-	 */
 	@Override
 	public IProcess getProcess() {
 		return null;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#hasThreads()
-	 */
 	@Override
 	public boolean hasThreads() throws DebugException {
 		return true;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IDebugTarget#supportsBreakpoint(org.eclipse
-	 * .debug.core.model.IBreakpoint)
-	 */
 	@Override
 	public boolean supportsBreakpoint(IBreakpoint breakpoint) {
 
 		return false;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
 	@Override
 	public IDebugTarget getDebugTarget() {
 		return this;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
 	@Override
 	public ILaunch getLaunch() {
 		return fLaunch;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
 	@Override
 	public boolean canTerminate() {
 		return !fTerminate;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
 	@Override
 	public boolean isTerminated() {
 		return fTerminate;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
 	@Override
 	public void terminate() throws DebugException {
 		fTerminate = true;
 		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canResume()
-	 */
 	@Override
 	public boolean canResume() {
 		return fSuspend && !fTerminate;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canSuspend()
-	 */
 	@Override
 	public boolean canSuspend() {
 		return !fSuspend && !fTerminate;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#isSuspended()
-	 */
 	@Override
 	public boolean isSuspended() {
 		return fSuspend;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#resume()
-	 */
 	@Override
 	public void resume() throws DebugException {
 		fSuspend = false;
@@ -170,81 +120,41 @@
 		fireEvent(new DebugEvent(this, DebugEvent.RESUME));
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#suspend()
-	 */
 	@Override
 	public void suspend() throws DebugException {
 		fSuspend = true;
 		fireEvent(new DebugEvent(getEngine().getThreads(this)[0], DebugEvent.SUSPEND));
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.IBreakpointListener#breakpointAdded(org.eclipse
-	 * .debug.core.model.IBreakpoint)
-	 */
 	@Override
 	public void breakpointAdded(IBreakpoint breakpoint) {
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.IBreakpointListener#breakpointRemoved(org.eclipse
-	 * .debug.core.model.IBreakpoint, org.eclipse.core.resources.IMarkerDelta)
-	 */
 	@Override
 	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta) {
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.IBreakpointListener#breakpointChanged(org.eclipse
-	 * .debug.core.model.IBreakpoint, org.eclipse.core.resources.IMarkerDelta)
-	 */
 	@Override
 	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) {
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect()
-	 */
 	@Override
 	public boolean canDisconnect() {
 
 		return false;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDisconnect#disconnect()
-	 */
 	@Override
 	public void disconnect() throws DebugException {
 
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected()
-	 */
 	@Override
 	public boolean isDisconnected() {
 
 		return false;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockRetrieval#supportsStorageRetrieval
-	 * ()
-	 */
 	@Override
 	public boolean supportsStorageRetrieval() {
 		return true;
@@ -266,12 +176,6 @@
 		fMemoryBlocks.remove(memBlk);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockRetrieval#getMemoryBlock(long,
-	 * long)
-	 */
 	@Override
 	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException {
 
@@ -308,11 +212,6 @@
 		return MemoryViewSamplePlugin.PLUGIN_ID;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension#
-	 * getExtendedMemoryBlock(java.lang.String, java.lang.Object)
-	 */
 	@Override
 	public IMemoryBlockExtension getExtendedMemoryBlock(String expression, Object context) throws DebugException {
 
diff --git a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleMemoryBlock.java b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleMemoryBlock.java
index 6a93b4d..06317a2 100644
--- a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleMemoryBlock.java
+++ b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/core/SampleMemoryBlock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2013, 2015 IBM Corporation and others.
+ * Copyright (c) 2013, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -41,7 +41,7 @@
 	private boolean isEnabled = true;
 	private BigInteger fBaseAddress;
 
-	private ArrayList<Object> fConnections = new ArrayList<Object>();
+	private ArrayList<Object> fConnections = new ArrayList<>();
 
 	/**
 	 * Creates memory block
@@ -57,33 +57,17 @@
 		fBaseAddress = address;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#getBigBaseAddress()
-	 */
 	@Override
 	public BigInteger getBigBaseAddress() throws DebugException {
 		fBaseAddress = fDebugTarget.getEngine().evaluateExpression(fExpression, null);
 		return fBaseAddress;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockExtension#
-	 * supportBaseAddressModification()
-	 */
 	@Override
 	public boolean supportBaseAddressModification() throws DebugException {
 		return fDebugTarget.getEngine().suppostsBaseAddressModification(this);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#setBaseAddress(java
-	 * .math.BigInteger)
-	 */
 	@Override
 	public void setBaseAddress(BigInteger address) throws DebugException {
 		try {
@@ -93,24 +77,12 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#getBytesFromOffset
-	 * (long, long)
-	 */
 	@Override
 	synchronized public MemoryByte[] getBytesFromOffset(BigInteger offset, long length) throws DebugException {
 		BigInteger address = fBaseAddress.subtract(offset);
 		return getBytesFromAddress(address, length);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#getBytesFromAddress
-	 * (java.math.BigInteger, long)
-	 */
 	@Override
 	public MemoryByte[] getBytesFromAddress(BigInteger address, long length) throws DebugException {
 
@@ -139,12 +111,6 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#connect(java.lang.
-	 * Object)
-	 */
 	@Override
 	public void connect(Object object) {
 
@@ -164,12 +130,6 @@
 		isEnabled = true;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#disconnect(java.lang
-	 * .Object)
-	 */
 	@Override
 	public void disconnect(Object object) {
 
@@ -182,10 +142,6 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockExtension#getConnected()
-	 */
 	@Override
 	public Object[] getConnections() {
 		return fConnections.toArray();
@@ -198,50 +154,29 @@
 		isEnabled = false;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlock#getStartAddress()
-	 */
 	@Override
 	public long getStartAddress() {
 		// no need to implement this method as it belongs to IMemoryBlock
 		return 0;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlock#getLength()
-	 */
 	@Override
 	public long getLength() {
 		// no need to implement this method as it belongs to IMemoryBlock
 		return 0;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlock#getBytes()
-	 */
 	@Override
 	public byte[] getBytes() throws DebugException {
 		// no need to implement this method as it belongs to IMemoryBlock
 		return new byte[0];
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlock#supportsValueModification()
-	 */
 	@Override
 	public boolean supportsValueModification() {
 		return fDebugTarget.getEngine().supportsValueModification(this);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlock#setValue(long, byte[])
-	 */
 	@Override
 	public void setValue(BigInteger offset, byte[] bytes) throws DebugException {
 		try {
@@ -255,37 +190,21 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
 	@Override
 	public String getModelIdentifier() {
 		return getDebugTarget().getModelIdentifier();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
 	@Override
 	public IDebugTarget getDebugTarget() {
 		return fDebugTarget;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
 	@Override
 	public ILaunch getLaunch() {
 		return fDebugTarget.getLaunch();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public <T> T getAdapter(Class<T> adapter) {
@@ -301,19 +220,11 @@
 		return super.getAdapter(adapter);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockExtension#getExpression()
-	 */
 	@Override
 	public String getExpression() {
 		return fExpression;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockExtension#dispose()
-	 */
 	@Override
 	public void dispose() throws DebugException {
 		// remove this memory block from debug target
@@ -327,48 +238,26 @@
 		return isEnabled;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * com.ibm.debug.extended.ui.IMemoryBlockExtension#getMemoryBlockRetrieval()
-	 */
 	@Override
 	public IMemoryBlockRetrieval getMemoryBlockRetrieval() {
 		return getDebugTarget();
 	}
 
-	/**
-	 *
-	 */
 	private void fireContentChangeEvent() {
 		DebugEvent evt = new DebugEvent(this, DebugEvent.CHANGE);
 		fireEvent(evt);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * com.ibm.debug.extended.ui.IMemoryBlockExtension#isMemoryChangesManaged()
-	 */
 	@Override
 	public boolean supportsChangeManagement() {
 		return false;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#getAddressableSize()
-	 */
 	@Override
 	public int getAddressableSize() throws DebugException {
 		return fDebugTarget.getEngine().getAddressableSize();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockExtension#getAddressSize()
-	 */
 	@Override
 	public int getAddressSize() throws DebugException {
 		try {
@@ -378,12 +267,6 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#getMemoryBlockStartAddress
-	 * ()
-	 */
 	@Override
 	public BigInteger getMemoryBlockStartAddress() throws DebugException {
 
@@ -395,12 +278,6 @@
 		return null;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.debug.core.model.IMemoryBlockExtension#getMemoryBlockEndAddress
-	 * ()
-	 */
 	@Override
 	public BigInteger getMemoryBlockEndAddress() throws DebugException {
 
@@ -412,19 +289,11 @@
 		return null;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlock#setValue(long, byte[])
-	 */
 	@Override
 	public void setValue(long offset, byte[] bytes) throws DebugException {
 		// do not need to implement for IMemoryBlockExtension
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockExtension#getBigLength()
-	 */
 	@Override
 	public BigInteger getBigLength() throws DebugException {
 		// return -1 by default and default length is calculated
diff --git a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/engine/SampleEngine.java b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/engine/SampleEngine.java
index 7416b35..e10870f 100644
--- a/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/engine/SampleEngine.java
+++ b/org.eclipse.debug.examples.memory/src/org/eclipse/debug/examples/internal/memory/engine/SampleEngine.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2013 IBM Corporation and others.

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

  * All rights reserved. This program and the accompanying materials

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

  * which accompanies this distribution, and is available at

@@ -33,9 +33,9 @@
 	Random fRandom = new Random();

 	byte[] fMemory;

 	Hashtable<BigInteger, SampleMemoryUnit> memoryBlockTable;

-	Hashtable<String, BigInteger> expressionAddressTable = new Hashtable<String, BigInteger>();

-	Hashtable<SampleDebugTarget, Object> threadTable = new Hashtable<SampleDebugTarget, Object>();

-	Hashtable<SampleThread, Object> stackframeTable = new Hashtable<SampleThread, Object>();

+	Hashtable<String, BigInteger> expressionAddressTable = new Hashtable<>();

+	Hashtable<SampleDebugTarget, Object> threadTable = new Hashtable<>();

+	Hashtable<SampleThread, Object> stackframeTable = new Hashtable<>();

 

 	Random random = new Random();

 

@@ -51,7 +51,7 @@
 

 		if (memoryBlockTable == null) {

 			// create new memoryBlock table

-			memoryBlockTable = new Hashtable<BigInteger, SampleMemoryUnit>();

+			memoryBlockTable = new Hashtable<>();

 			byte[] bytes = new byte[(int) length * getAddressableSize()];

 			BigInteger addressKey = address;

 

diff --git a/org.eclipse.debug.examples.mixedmode/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.examples.mixedmode/.settings/org.eclipse.jdt.core.prefs
index 854ba02..d7f6071 100644
--- a/org.eclipse.debug.examples.mixedmode/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.examples.mixedmode/.settings/org.eclipse.jdt.core.prefs
@@ -11,8 +11,11 @@
 org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
@@ -24,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -74,19 +78,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
 org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -96,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/AntExtraTab.java b/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/AntExtraTab.java
index a3edf39..399b0db 100755
--- a/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/AntExtraTab.java
+++ b/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/AntExtraTab.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2013 IBM Corporation and others.
+ * Copyright (c) 2013, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -15,17 +15,11 @@
 
 public class AntExtraTab extends DoNothingMainTab {
 
-	/**
-	 * @see org.eclipse.debug.internal.examples.mixedmode.DoNothingMainTab#getName()
-	 */
 	@Override
 	public String getName() {
 		return Messages.AntExtraTab_0;
 	}
 
-	/**
-	 * @see org.eclipse.debug.internal.examples.mixedmode.DoNothingMainTab#getId()
-	 */
 	@Override
 	public String getId() {
 		return "org.eclipse.debug.examples.mixedmode.ant.tab"; //$NON-NLS-1$
@@ -37,7 +31,7 @@
 	@Override
 	public Set<String> getModes() {
 		if (fOptions == null) {
-			fOptions = new HashSet<String>();
+			fOptions = new HashSet<>();
 			fOptions.add("ant"); //$NON-NLS-1$
 			fOptions.add("test"); //$NON-NLS-1$
 		}
diff --git a/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/DoNothingMainTab.java b/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/DoNothingMainTab.java
index dbcabf4..59550e2 100755
--- a/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/DoNothingMainTab.java
+++ b/org.eclipse.debug.examples.mixedmode/src/org/eclipse/debug/internal/examples/mixedmode/DoNothingMainTab.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2013 IBM Corporation and others.
+ * Copyright (c) 2013, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -34,9 +34,6 @@
 	protected Button fButton = null;
 	protected Set<String> fOptions = null;
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
 	@Override
 	public void createControl(Composite parent) {
 		Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_BOTH);
@@ -56,9 +53,6 @@
 		getLaunchManager().addLaunchConfigurationListener(this);
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
 	@Override
 	public String getName() {
 		return Messages.DoNothingMainTab_1;
@@ -68,23 +62,17 @@
 	 * @return the set of modes this tab works with
 	 */
 	protected Set<String> getModes() {
-		Set<String> set = new HashSet<String>();
+		Set<String> set = new HashSet<>();
 		set.add("profile"); //$NON-NLS-1$
 		return set;
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#dispose()
-	 */
 	@Override
 	public void dispose() {
 		getLaunchManager().removeLaunchConfigurationListener(this);
 		super.dispose();
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
 	@Override
 	public void initializeFrom(ILaunchConfiguration configuration) {
 		try {
@@ -99,9 +87,6 @@
 		}
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
 	@Override
 	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		if (fButton.getSelection()) {
@@ -111,24 +96,15 @@
 		}
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
 	@Override
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 */
 	@Override
 	public String getId() {
 		return "org.eclipse.debug.examples.mixedmode.main.tab"; //$NON-NLS-1$
 	}
 
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
 	@Override
 	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
 		try {
diff --git a/org.eclipse.debug.examples.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.examples.ui/.settings/org.eclipse.jdt.core.prefs
index 854ba02..d7f6071 100644
--- a/org.eclipse.debug.examples.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.examples.ui/.settings/org.eclipse.jdt.core.prefs
@@ -11,8 +11,11 @@
 org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
@@ -24,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -74,19 +78,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
 org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -96,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiEventModelProxy.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiEventModelProxy.java
index 26d89d8..df51587 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiEventModelProxy.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiEventModelProxy.java
@@ -1,5 +1,5 @@
 /*****************************************************************
- * Copyright (c) 2009, 2013 Texas Instruments and others
+ * Copyright (c) 2009, 2018 Texas Instruments and others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -20,12 +20,9 @@
 import org.eclipse.jface.viewers.TreePath;
 
 public class MidiEventModelProxy extends AbstractModelProxy implements ICheckboxModelProxy {
-	static Map<TreePath, Boolean> gChecked = new HashMap<TreePath, Boolean>();
+	static Map<TreePath, Boolean> gChecked = new HashMap<>();
 
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.ICheckboxModelProxy#setChecked(org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.Object, org.eclipse.jface.viewers.TreePath, boolean)
-	 */
 	@Override
 	public boolean setChecked(IPresentationContext context, Object viewerInput, TreePath path, boolean checked) {
 		System.out.println("TrackCheckListener.setChecked() element = " + path.getLastSegment() + " checked = " + checked); //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/detailpanes/ControlDetailPaneFactory.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/detailpanes/ControlDetailPaneFactory.java
index 25cf833..c6dc263 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/detailpanes/ControlDetailPaneFactory.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/detailpanes/ControlDetailPaneFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -36,9 +36,6 @@
 	 */
 	public static final String ID_CLOCK_SLIDER = "CLOCK_SLIDER"; //$NON-NLS-1$
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailPaneFactory#createDetailPane(java.lang.String)
-	 */
 	@Override
 	public IDetailPane createDetailPane(String paneID) {
 		if (ID_TEMPO_SLIDER.equals(paneID)) {
@@ -50,9 +47,6 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailPaneFactory#getDefaultDetailPane(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
 	@Override
 	public String getDefaultDetailPane(IStructuredSelection selection) {
 		if (selection.size() == 1) {
@@ -67,9 +61,6 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailPaneFactory#getDetailPaneDescription(java.lang.String)
-	 */
 	@Override
 	public String getDetailPaneDescription(String paneID) {
 		if (ID_TEMPO_SLIDER.equals(paneID)) {
@@ -81,9 +72,6 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailPaneFactory#getDetailPaneName(java.lang.String)
-	 */
 	@Override
 	public String getDetailPaneName(String paneID) {
 		if (ID_TEMPO_SLIDER.equals(paneID)) {
@@ -95,12 +83,9 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailPaneFactory#getDetailPaneTypes(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
 	@Override
 	public Set<String> getDetailPaneTypes(IStructuredSelection selection) {
-		Set<String> set = new HashSet<String>();
+		Set<String> set = new HashSet<>();
 		if (selection.size() == 1) {
 			Object element = selection.getFirstElement();
 			if (element instanceof TempoControl) {
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/launcher/MidiLaunchShortcut.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/launcher/MidiLaunchShortcut.java
index ea72138..549b7e2 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/launcher/MidiLaunchShortcut.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/launcher/MidiLaunchShortcut.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -39,9 +39,6 @@
  */
 public class MidiLaunchShortcut implements ILaunchShortcut {
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.jface.viewers.ISelection, java.lang.String)
-	 */
 	@Override
 	public void launch(ISelection selection, String mode) {
 		if (selection instanceof IStructuredSelection) {
@@ -68,7 +65,7 @@
 	 * @return associated launch configuration or <code>null</code>
 	 */
 	private ILaunchConfiguration getConfiguration(IFile file) {
-		List<ILaunchConfiguration> candiates = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> candiates = new ArrayList<>();
 		try {
 			ILaunchConfiguration[] configurations = getLaunchManager().getLaunchConfigurations(getLaunchType());
 			for (int i = 0; i < configurations.length; i++) {
@@ -155,9 +152,6 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String)
-	 */
 	@Override
 	public void launch(IEditorPart editor, String mode) {
 		// nothing - currently no editor
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/DebugUIPlugin.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/DebugUIPlugin.java
index 1ea844c..7494932 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/DebugUIPlugin.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/DebugUIPlugin.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -84,7 +84,7 @@
     /**
      * Managed colors
      */
-	private final Map<RGB, Color> fColors = new HashMap<RGB, Color>();
+	private final Map<RGB, Color> fColors = new HashMap<>();
 
 	/**
 	 * The constructor.
@@ -156,10 +156,6 @@
 		return resourceBundle;
 	}
 
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry)
-	 */
 	@Override
 	protected void initializeImageRegistry(ImageRegistry reg) {
 		declareImage(IMG_OBJ_PDA, PATH_OBJECT + "pda.gif"); //$NON-NLS-1$
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAViewActionProvider.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAViewActionProvider.java
index 9af6fc9..fed26eb 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAViewActionProvider.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAViewActionProvider.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012, 2013 Wind River Systems and others.
+ * Copyright (c) 2012, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -28,11 +28,8 @@
  */
 public class PDAViewActionProvider implements IViewActionProvider {
 
-	Map<IPresentationContext, Action> fActions = new HashMap<IPresentationContext, Action>();
+	Map<IPresentationContext, Action> fActions = new HashMap<>();
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewActionProvider#getAction(org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.String)
-	 */
 	@Override
 	public IAction getAction(IPresentationContext presentationContext, String actionID) {
 		if (presentationContext.getId().equals(IDebugUIConstants.ID_VARIABLE_VIEW) &&
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAVirtualFindAction.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAVirtualFindAction.java
index 2042279..41ddfd7 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAVirtualFindAction.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/adapters/PDAVirtualFindAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2013 IBM Corporation and others.
+ * Copyright (c) 2004, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -130,7 +130,7 @@
 
 	private static class FindLabelProvider extends LabelProvider {
 		private final VirtualTreeModelViewer fVirtualViewer;
-		private final Map<VirtualItem, String> fTextCache = new HashMap<VirtualItem, String>();
+		private final Map<VirtualItem, String> fTextCache = new HashMap<>();
 
 		public FindLabelProvider(VirtualTreeModelViewer viewer, List<VirtualItem> items) {
 		    fVirtualViewer = viewer;
@@ -247,7 +247,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.examples.ui/src/org/eclipse/debug/examples/ui/pda/breakpoints/PDAToggleWatchpointsTargetFactory.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/breakpoints/PDAToggleWatchpointsTargetFactory.java
index 65d1ee0..2823bf7 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/breakpoints/PDAToggleWatchpointsTargetFactory.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/breakpoints/PDAToggleWatchpointsTargetFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -32,9 +32,9 @@
 	private static final String TOGGLE_WATCHPOINT_TARGET_MODIFICATION = "org.eclipse.debug.examples.ui.pda.watchpoint_modification"; //$NON-NLS-1$
 	private static final String TOGGLE_WATCHPOINT_TARGET_BOTH = "org.eclipse.debug.examples.ui.pda.watchpoint_both"; //$NON-NLS-1$
 
-	private static Set<String> TOGGLE_WATCHPOINTS_TARGETS = new LinkedHashSet<String>();
+	private static Set<String> TOGGLE_WATCHPOINTS_TARGETS = new LinkedHashSet<>();
 
-	private final Map<String, IToggleBreakpointsTarget> fToggleWatchpointTargets = new HashMap<String, IToggleBreakpointsTarget>(3);
+	private final Map<String, IToggleBreakpointsTarget> fToggleWatchpointTargets = new HashMap<>(3);
 
     static {
         TOGGLE_WATCHPOINTS_TARGETS.add(TOGGLE_WATCHPOINT_TARGET_BOTH);
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/editor/PDAContentAssistProcessor.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/editor/PDAContentAssistProcessor.java
index 0e0d4ad..5a95dca 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/editor/PDAContentAssistProcessor.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/editor/PDAContentAssistProcessor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -42,7 +42,7 @@
             }
         }
 
-		List<CompletionProposal> proposals = new ArrayList<CompletionProposal>();
+		List<CompletionProposal> proposals = new ArrayList<>();
         String[] keywords = PDAScanner.fgKeywords;
         if (prefix.length() > 0) {
             String word = prefix.toString();
@@ -65,44 +65,28 @@
         return null;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer, int)
-     */
     @Override
 	public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset) {
         return null;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-     */
     @Override
 	public char[] getCompletionProposalAutoActivationCharacters() {
         return null;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-     */
     @Override
 	public char[] getContextInformationAutoActivationCharacters() {
         return null;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-     */
     @Override
 	public String getErrorMessage() {
         return null;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
-     */
     @Override
 	public IContextInformationValidator getContextInformationValidator() {
         return null;
     }
-
 }
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/views/PopHandler.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/views/PopHandler.java
index 1c7f6b4..c4b1a42 100644
--- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/views/PopHandler.java
+++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/pda/views/PopHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 Wind River Systems and others.
+ * Copyright (c) 2008, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -36,7 +36,7 @@
         if (popee != null) {
             try {
                 IValue[] stack = thread.getDataStack();
-				List<IValue> restore = new ArrayList<IValue>();
+				List<IValue> restore = new ArrayList<>();
                 for (int i = 0; i < stack.length; i++) {
                     Object value = stack[i];
                     if (popee.equals(value)) {
diff --git a/org.eclipse.debug.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.tests/.settings/org.eclipse.jdt.core.prefs
index 89f76db..4cdc29f 100644
--- a/org.eclipse.debug.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.debug.tests/.settings/org.eclipse.jdt.core.prefs
@@ -27,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -91,7 +92,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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -101,6 +102,7 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java
index 626466e..0490555 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/expressions/ExpressionManagerTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2013 IBM Corporation and others.
+ * Copyright (c) 2010, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,34 +30,25 @@
 
 	class SinlgeListener implements IExpressionListener {
 
-		List<IExpression> added = new ArrayList<IExpression>();
-		List<IExpression> removed = new ArrayList<IExpression>();
-		List<IExpression> changed = new ArrayList<IExpression>();
+		List<IExpression> added = new ArrayList<>();
+		List<IExpression> removed = new ArrayList<>();
+		List<IExpression> changed = new ArrayList<>();
 		int addedCallbacks = 0;
 		int removedCallbacks = 0;
 		int changedCallbacks = 0;
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IExpressionListener#expressionAdded(org.eclipse.debug.core.model.IExpression)
-		 */
 		@Override
 		public void expressionAdded(IExpression expression) {
 			added.add(expression);
 			addedCallbacks++;
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IExpressionListener#expressionRemoved(org.eclipse.debug.core.model.IExpression)
-		 */
 		@Override
 		public void expressionRemoved(IExpression expression) {
 			removed.add(expression);
 			removedCallbacks++;
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IExpressionListener#expressionChanged(org.eclipse.debug.core.model.IExpression)
-		 */
 		@Override
 		public void expressionChanged(IExpression expression) {
 			changed.add(expression);
@@ -68,16 +59,13 @@
 
 	class MultiListener implements IExpressionsListener {
 
-		List<IExpression> added = new ArrayList<IExpression>();
-		List<IExpression> removed = new ArrayList<IExpression>();
-		List<IExpression> changed = new ArrayList<IExpression>();
+		List<IExpression> added = new ArrayList<>();
+		List<IExpression> removed = new ArrayList<>();
+		List<IExpression> changed = new ArrayList<>();
 		int addedCallbacks = 0;
 		int removedCallbacks = 0;
 		int changedCallbacks = 0;
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IExpressionsListener#expressionsAdded(org.eclipse.debug.core.model.IExpression[])
-		 */
 		@Override
 		public void expressionsAdded(IExpression[] expressions) {
 			for (int i = 0; i < expressions.length; i++) {
@@ -86,9 +74,6 @@
 			addedCallbacks++;
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IExpressionsListener#expressionsRemoved(org.eclipse.debug.core.model.IExpression[])
-		 */
 		@Override
 		public void expressionsRemoved(IExpression[] expressions) {
 			for (int i = 0; i < expressions.length; i++) {
@@ -97,9 +82,6 @@
 			removedCallbacks++;
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IExpressionsListener#expressionsChanged(org.eclipse.debug.core.model.IExpression[])
-		 */
 		@Override
 		public void expressionsChanged(IExpression[] expressions) {
 			for (int i = 0; i < expressions.length; i++) {
@@ -112,15 +94,12 @@
 
 	class InsertMoveListener extends MultiListener implements IExpressionsListener2 {
 
-		List<IExpression> moved = new ArrayList<IExpression>();
-		List<IExpression> inserted = new ArrayList<IExpression>();
+		List<IExpression> moved = new ArrayList<>();
+		List<IExpression> inserted = new ArrayList<>();
 		int insertIndex = -1;
 		int movedCallbacks = 0;
 		int insertedCallbacks = 0;
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.core.IExpressionsListener2#expressionsMoved(org.eclipse.debug.core.model.IExpression[], int)
-		 */
 		@Override
 		public void expressionsMoved(IExpression[] expressions, int index) {
 			for (int i = 0; i < expressions.length; i++) {
@@ -130,9 +109,6 @@
 			insertIndex = index;
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.internal.core.IExpressionsListener2#expressionsInserted(org.eclipse.debug.core.model.IExpression[], int)
-		 */
 		@Override
 		public void expressionsInserted(IExpression[] expressions, int index) {
 			for (int i = 0; i < expressions.length; i++) {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java
index a662ef3..a0230f8 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/ArgumentParsingTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012, 2013 IBM Corporation and others.
+ * Copyright (c) 2012, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -114,7 +114,7 @@
 		Process process = DebugPlugin.exec(execArgs, null);
 		BufferedReader procOut = new BufferedReader(new InputStreamReader(process.getInputStream()));
 
-		ArrayList<String> procArgs = new ArrayList<String>();
+		ArrayList<String> procArgs = new ArrayList<>();
 		String procArg;
 		while ((procArg = procOut.readLine()) != null) {
 			procArgs.add(procArg);
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileStore.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileStore.java
index 9936e82..a14b759 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileStore.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileStore.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -42,9 +42,6 @@
 	 */
 	class DebugOutputStream extends  ByteArrayOutputStream {
 
-		/* (non-Javadoc)
-		 * @see java.io.ByteArrayOutputStream#close()
-		 */
 		@Override
 		public void close() throws IOException {
 			super.close();
@@ -59,13 +56,10 @@
 		uri = id;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#childNames(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public String[] childNames(int options, IProgressMonitor monitor) throws CoreException {
 		URI[] uris = DebugFileSystem.getDefault().getFileURIs();
-		List<String> children = new ArrayList<String>();
+		List<String> children = new ArrayList<>();
 		IPath me = getPath();
 		for (int i = 0; i < uris.length; i++) {
 			URI id = uris[i];
@@ -79,9 +73,6 @@
 		return children.toArray(new String[children.size()]);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#fetchInfo(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public IFileInfo fetchInfo(int options, IProgressMonitor monitor) throws CoreException {
 		byte[] contents = DebugFileSystem.getDefault().getContents(toURI());
@@ -102,9 +93,6 @@
 		return info;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#getChild(java.lang.String)
-	 */
 	@Override
 	public IFileStore getChild(String name) {
 		try {
@@ -114,9 +102,6 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#getName()
-	 */
 	@Override
 	public String getName() {
 		IPath path = getPath();
@@ -126,18 +111,12 @@
 		return ""; //$NON-NLS-1$
 	}
 
-	/**
-	 * @return
-	 */
 	private IPath getPath() {
 		URI me = toURI();
 		IPath path = new Path(me.getPath());
 		return path;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#getParent()
-	 */
 	@Override
 	public IFileStore getParent() {
 		IPath path = getPath();
@@ -150,9 +129,6 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#openInputStream(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public InputStream openInputStream(int options, IProgressMonitor monitor) throws CoreException {
 		byte[] contents = DebugFileSystem.getDefault().getContents(toURI());
@@ -163,17 +139,11 @@
 		"File does not exist: " + toURI())); //$NON-NLS-1$
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#openOutputStream(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public OutputStream openOutputStream(int options, IProgressMonitor monitor) throws CoreException {
 		return new DebugOutputStream();
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#mkdir(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public IFileStore mkdir(int options, IProgressMonitor monitor) throws CoreException {
 		IFileInfo info = fetchInfo();
@@ -198,17 +168,11 @@
 		return this;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#toURI()
-	 */
 	@Override
 	public URI toURI() {
 		return uri;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileStore#delete(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
 	@Override
 	public void delete(int options, IProgressMonitor monitor) throws CoreException {
 		DebugFileSystem.getDefault().delete(toURI());
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileSystem.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileSystem.java
index fbe5798..b0ad81d 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileSystem.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/DebugFileSystem.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -34,7 +34,7 @@
 	/**
 	 * Keys URIs to file stores for existing files
 	 */
-	private final Map<URI, byte[]> files = new HashMap<URI, byte[]>();
+	private final Map<URI, byte[]> files = new HashMap<>();
 
 	/**
 	 * Constructs the singleton
@@ -56,25 +56,16 @@
 		return system;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileSystem#getStore(java.net.URI)
-	 */
 	@Override
 	public IFileStore getStore(URI uri) {
 		return new DebugFileStore(uri);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileSystem#canDelete()
-	 */
 	@Override
 	public boolean canDelete() {
 		return true;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filesystem.provider.FileSystem#canWrite()
-	 */
 	@Override
 	public boolean canWrite() {
 		return true;
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java
index df3819c..3e0490a 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchConfigurationTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -97,29 +97,20 @@
 
 	class Listener implements ILaunchConfigurationListener {
 
-		private final List<ILaunchConfiguration> addedList = new ArrayList<ILaunchConfiguration>();
-		private final List<ILaunchConfiguration> removedList = new ArrayList<ILaunchConfiguration>();
-		private final List<ILaunchConfiguration> changedList = new ArrayList<ILaunchConfiguration>();
+		private final List<ILaunchConfiguration> addedList = new ArrayList<>();
+		private final List<ILaunchConfiguration> removedList = new ArrayList<>();
+		private final List<ILaunchConfiguration> changedList = new ArrayList<>();
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-		 */
 		@Override
 		public void launchConfigurationAdded(ILaunchConfiguration configuration) {
 			addedList.add(configuration);
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-		 */
 		@Override
 		public void launchConfigurationChanged(ILaunchConfiguration configuration) {
 			changedList.add(configuration);
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-		 */
 		@Override
 		public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
 			removedList.add(configuration);
@@ -402,7 +393,7 @@
 	 */
 	public void testSetAttributes() throws CoreException {
 		 ILaunchConfigurationWorkingCopy wc = newConfiguration(null, "config1"); //$NON-NLS-1$
-		Map<String, Object> map = new HashMap<String, Object>();
+		Map<String, Object> map = new HashMap<>();
 		 map.put("ATTR1", "ONE"); //$NON-NLS-1$ //$NON-NLS-2$
 		 map.put("ATTR2", "TWO"); //$NON-NLS-1$ //$NON-NLS-2$
 		 wc.setAttributes(map);
@@ -1163,7 +1154,7 @@
 			 // should be 5 added
 			List<?> added = listener.getAdded();
 			assertEquals("Should be 5 added configs", 5, added.size()); //$NON-NLS-1$
-			Set<String> names = new HashSet<String>();
+			Set<String> names = new HashSet<>();
 			Iterator<?> iterator = added.iterator();
 			 while (iterator.hasNext()) {
 				ILaunchConfiguration lc = (ILaunchConfiguration) iterator.next();
@@ -1220,7 +1211,7 @@
 	 */
 	public void testMapAttributePersistence() throws CoreException, IOException {
 		ILaunchConfigurationWorkingCopy c1 = newEmptyConfiguration(getProject(), "testMapAttributes1"); //$NON-NLS-1$
-		HashMap<String, String> map = new HashMap<String, String>();
+		HashMap<String, String> map = new HashMap<>();
 		map.put("Z", "z-value"); //$NON-NLS-1$ //$NON-NLS-2$
 		map.put("Y", "y-value"); //$NON-NLS-1$ //$NON-NLS-2$
 		map.put("X", "x-value"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -1251,7 +1242,7 @@
 		c1.doSave();
 
 		ILaunchConfigurationWorkingCopy c2 = newEmptyConfiguration(getProject(), "testMapAttributes2"); //$NON-NLS-1$
-		map = new HashMap<String, String>();
+		map = new HashMap<>();
 		map.put("A", "a-value"); //$NON-NLS-1$ //$NON-NLS-2$
 		map.put("Z", "z-value"); //$NON-NLS-1$ //$NON-NLS-2$
 		map.put("B", "b-value"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -1298,7 +1289,7 @@
 	 */
 	public void testSetAttributePersistence() throws CoreException, IOException {
 		ILaunchConfigurationWorkingCopy c1 = newEmptyConfiguration(getProject(), "testSetAttributes1"); //$NON-NLS-1$
-		Set<String> set = new HashSet<String>();
+		Set<String> set = new HashSet<>();
 		set.add("z-value"); //$NON-NLS-1$
 		set.add("y-value"); //$NON-NLS-1$
 		set.add("x-value"); //$NON-NLS-1$
@@ -1329,7 +1320,7 @@
 		c1.doSave();
 
 		ILaunchConfigurationWorkingCopy c2 = newEmptyConfiguration(getProject(), "testSetAttributes2"); //$NON-NLS-1$
-		set = new HashSet<String>();
+		set = new HashSet<>();
 		set.add("a-value"); //$NON-NLS-1$
 		set.add("z-value"); //$NON-NLS-1$
 		set.add("b-value"); //$NON-NLS-1$
@@ -1583,8 +1574,8 @@
 		List/* <String> */<String> types = null;
 		int size = resources.length;
 		if(resources != null && size > 0) {
-			paths = new ArrayList<String>(size);
-			types = new ArrayList<String>(size);
+			paths = new ArrayList<>(size);
+			types = new ArrayList<>(size);
 			for(int i = 0; i < size; i++) {
 				paths.add(resources[i].path);
 				types.add(resources[i].type.toString());
@@ -1636,7 +1627,7 @@
 		ILaunchConfiguration prototype = wc.doSave();
 		assertTrue("Should be a prototype", prototype.isPrototype()); //$NON-NLS-1$
 		ILaunchConfiguration[] prototypes = wc.getType().getPrototypes();
-		List<ILaunchConfiguration> list = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> list = new ArrayList<>();
 		for (int i = 0; i < prototypes.length; i++) {
 			list.add(prototypes[i]);
 		}
@@ -1663,7 +1654,7 @@
 		ILaunchConfiguration s2 = r2.doSave();
 
 		Iterable<ILaunchConfiguration> children = prototype.getPrototypeChildren();
-		List<ILaunchConfiguration> list = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> list = new ArrayList<>();
 		for (ILaunchConfiguration child : children) {
 			list.add(child);
 		}
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java
index 6ddbf21..e9886cc 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchFavoriteTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2013 IBM Corporation and others.
+ * Copyright (c) 2010, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -57,9 +57,6 @@
 		return getLaunchConfigurationManager().getLaunchHistory(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
 	}
 
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
 	@Override
 	protected void setUp() throws Exception {
 		super.setUp();
@@ -69,9 +66,6 @@
 		fConfig = getLaunchConfiguration(getName());
 	}
 
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
 	@Override
 	protected void tearDown() throws Exception {
 		// delete the configuration used during this test
@@ -104,7 +98,7 @@
 		ILaunchConfigurationWorkingCopy wc = getWorkingCopy(config);
 		List<String> list = config.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List<String>) null);
 		if (list == null) {
-			list = new ArrayList<String>();
+			list = new ArrayList<>();
 		}
 		list.add(groupId);
 		wc.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, list);
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java
index aef5d9f..8a85dd6 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ContentTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2015 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -290,7 +290,7 @@
     }
 
 	private boolean areCapturedChildrenUpdatesComplete(List<IViewerUpdate> capturedUpdates, int childCount) {
-		List<Integer> expectedChildren = new ArrayList<Integer>();
+		List<Integer> expectedChildren = new ArrayList<>();
         for (int i = 0; i < childCount; i++) {
             expectedChildren.add(Integer.valueOf(i));
         }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java
index 4ad73eb..f1c0a97 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PopupTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2013 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -195,10 +195,10 @@
     }
 
     private boolean areTreeSelectionsEqual(ITreeSelection sel1, ITreeSelection sel2) {
-		Set<TreePath> sel1Set = new HashSet<TreePath>();
+		Set<TreePath> sel1Set = new HashSet<>();
         sel1Set.addAll( Arrays.asList(sel1.getPaths()) );
 
-		Set<TreePath> sel2Set = new HashSet<TreePath>();
+		Set<TreePath> sel2Set = new HashSet<>();
         sel2Set.addAll( Arrays.asList(sel2.getPaths()) );
 
         return sel1Set.equals(sel2Set);
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java
index 9d04884..56d35dd 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/SelectionTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2013 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -40,7 +40,7 @@
 	}
 
     private static class SelectionListener implements ISelectionChangedListener {
-		private final List<SelectionChangedEvent> fEvents = new ArrayList<SelectionChangedEvent>(1);
+		private final List<SelectionChangedEvent> fEvents = new ArrayList<>(1);
 
         @Override
 		public void selectionChanged(SelectionChangedEvent event) {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java
index 9e5437e..8583605 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/StateTests.java
@@ -162,10 +162,10 @@
     }
 
     static boolean areTreeSelectionsEqual(ITreeSelection sel1, ITreeSelection sel2) {
-		Set<TreePath> sel1Set = new HashSet<TreePath>();
+		Set<TreePath> sel1Set = new HashSet<>();
         sel1Set.addAll( Arrays.asList(sel1.getPaths()) );
 
-		Set<TreePath> sel2Set = new HashSet<TreePath>();
+		Set<TreePath> sel2Set = new HashSet<>();
         sel2Set.addAll( Arrays.asList(sel2.getPaths()) );
 
         return sel1Set.equals(sel2Set);
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java
index 7ec7094..fedfbc9 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2015 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -175,7 +175,7 @@
     private IModelSelectionPolicy fModelSelectionPolicy;
     private boolean fQueueingUpdates = false;
     private boolean fDelayUpdates = false;
-	private List<IViewerUpdate> fQueuedUpdates = new LinkedList<IViewerUpdate>();
+	private List<IViewerUpdate> fQueuedUpdates = new LinkedList<>();
 
     /**
      * Constructor private.  Use static factory methods instead.
@@ -241,7 +241,7 @@
     }
 
     public void processQueuedUpdates() {
-		List<IViewerUpdate> updates = new ArrayList<IViewerUpdate>(fQueuedUpdates);
+		List<IViewerUpdate> updates = new ArrayList<>(fQueuedUpdates);
         fQueuedUpdates.clear();
         for (int i = 0; i < updates.size(); i++) {
             processUpdate(updates.get(i));
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModelUpdatesListener.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModelUpdatesListener.java
index 4c570ad..9139290 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModelUpdatesListener.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TestModelUpdatesListener.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2016 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -54,30 +54,30 @@
 
 	private boolean fFailOnRedundantUpdates;
 	private boolean fFailOnRedundantLabelUpdates;
-	private Set<IViewerUpdate> fRedundantUpdates = new HashSet<IViewerUpdate>();
-	private Set<ILabelUpdate> fRedundantLabelUpdates = new HashSet<ILabelUpdate>();
-	private Set<TreePath> fRedundantHasChildrenUpdateExceptions = new HashSet<TreePath>();
-	private Set<TreePath> fRedundantChildCountUpdateExceptions = new HashSet<TreePath>();
-	private Set<TreePath> fRedundantChildrenUpdateExceptions = new HashSet<TreePath>();
-	private Set<TreePath> fRedundantLabelUpdateExceptions = new HashSet<TreePath>();
+	private Set<IViewerUpdate> fRedundantUpdates = new HashSet<>();
+	private Set<ILabelUpdate> fRedundantLabelUpdates = new HashSet<>();
+	private Set<TreePath> fRedundantHasChildrenUpdateExceptions = new HashSet<>();
+	private Set<TreePath> fRedundantChildCountUpdateExceptions = new HashSet<>();
+	private Set<TreePath> fRedundantChildrenUpdateExceptions = new HashSet<>();
+	private Set<TreePath> fRedundantLabelUpdateExceptions = new HashSet<>();
 
 	private boolean fFailOnMultipleModelUpdateSequences;
 	private boolean fFailOnMultipleLabelUpdateSequences;
 
-	private Set<TreePath> fHasChildrenUpdatesScheduled = new HashSet<TreePath>();
-	private Set<IViewerUpdate> fHasChildrenUpdatesRunning = new HashSet<IViewerUpdate>();
-	private Set<IViewerUpdate> fHasChildrenUpdatesCompleted = new HashSet<IViewerUpdate>();
-	private Map<TreePath, Set<Integer>> fChildrenUpdatesScheduled = new HashMap<TreePath, Set<Integer>>();
-	private Set<IViewerUpdate> fChildrenUpdatesRunning = new HashSet<IViewerUpdate>();
-	private Set<IViewerUpdate> fChildrenUpdatesCompleted = new HashSet<IViewerUpdate>();
-	private Set<TreePath> fChildCountUpdatesScheduled = new HashSet<TreePath>();
-	private Set<IViewerUpdate> fChildCountUpdatesRunning = new HashSet<IViewerUpdate>();
-	private Set<IViewerUpdate> fChildCountUpdatesCompleted = new HashSet<IViewerUpdate>();
-	private Set<TreePath> fLabelUpdates = new HashSet<TreePath>();
-	private Set<ILabelUpdate> fLabelUpdatesRunning = new HashSet<ILabelUpdate>();
-	private Set<ILabelUpdate> fLabelUpdatesCompleted = new HashSet<ILabelUpdate>();
-	private Set<TestModel> fProxyModels = new HashSet<TestModel>();
-	private Set<TreePath> fStateUpdates = new HashSet<TreePath>();
+	private Set<TreePath> fHasChildrenUpdatesScheduled = new HashSet<>();
+	private Set<IViewerUpdate> fHasChildrenUpdatesRunning = new HashSet<>();
+	private Set<IViewerUpdate> fHasChildrenUpdatesCompleted = new HashSet<>();
+	private Map<TreePath, Set<Integer>> fChildrenUpdatesScheduled = new HashMap<>();
+	private Set<IViewerUpdate> fChildrenUpdatesRunning = new HashSet<>();
+	private Set<IViewerUpdate> fChildrenUpdatesCompleted = new HashSet<>();
+	private Set<TreePath> fChildCountUpdatesScheduled = new HashSet<>();
+	private Set<IViewerUpdate> fChildCountUpdatesRunning = new HashSet<>();
+	private Set<IViewerUpdate> fChildCountUpdatesCompleted = new HashSet<>();
+	private Set<TreePath> fLabelUpdates = new HashSet<>();
+	private Set<ILabelUpdate> fLabelUpdatesRunning = new HashSet<>();
+	private Set<ILabelUpdate> fLabelUpdatesCompleted = new HashSet<>();
+	private Set<TestModel> fProxyModels = new HashSet<>();
+	private Set<TreePath> fStateUpdates = new HashSet<>();
 	private int fViewerUpdatesStarted = 0;
 	private int fViewerUpdatesComplete = 0;
 	private int fViewerUpdatesStartedAtReset;
@@ -260,7 +260,7 @@
 	public void addChildreUpdate(TreePath path, int index) {
 		Set<Integer> childrenIndexes = fChildrenUpdatesScheduled.get(path);
 		if (childrenIndexes == null) {
-			childrenIndexes = new TreeSet<Integer>();
+			childrenIndexes = new TreeSet<>();
 			fChildrenUpdatesScheduled.put(path, childrenIndexes);
 		}
 		childrenIndexes.add(Integer.valueOf(index));
@@ -352,7 +352,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());
@@ -404,7 +404,7 @@
 					fChildCountUpdatesScheduled.add(path);
 				}
 				if ((flags & CHILDREN_UPDATES) != 0) {
-					Set<Integer> childrenIndexes = new HashSet<Integer>();
+					Set<Integer> childrenIndexes = new HashSet<>();
 					for (int i = 0; i < children.length; i++) {
 						if (!isFiltered(children[i], filters)) {
 							childrenIndexes.add(Integer.valueOf(i));
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreeModelViewerAutopopulateAgent.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreeModelViewerAutopopulateAgent.java
index 198ea9b..11e17d1 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreeModelViewerAutopopulateAgent.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreeModelViewerAutopopulateAgent.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2013 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -24,9 +24,6 @@
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.swt.widgets.Widget;
 
-/**
- *
- */
 public class TreeModelViewerAutopopulateAgent implements IViewerUpdateListener {
 
     private TreeModelViewer fViewer;
@@ -81,7 +78,7 @@
     private TreePath getTreePath(Widget w) {
         if (w instanceof TreeItem) {
             TreeItem item = (TreeItem)w;
-			LinkedList<Object> segments = new LinkedList<Object>();
+			LinkedList<Object> segments = new LinkedList<>();
             while (item != null) {
                 Object segment = item.getData();
                 Assert.isNotNull(segment);
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java
index b665215..0989273 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/UpdateTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2013 Wind River Systems and others.
+ * Copyright (c) 2009, 2018 Wind River Systems and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -428,7 +428,7 @@
 
         }
 
-		ArrayList<IViewerUpdate> updates = new ArrayList<IViewerUpdate>(model.getQueuedUpdates());
+		ArrayList<IViewerUpdate> updates = new ArrayList<>(model.getQueuedUpdates());
         model.getQueuedUpdates().clear();
         for (int i = updates.size() - 1; i >= 0; i--) {
             model.processUpdate(updates.get(i));
@@ -518,7 +518,7 @@
 
         }
 
-		ArrayList<IViewerUpdate> updates = new ArrayList<IViewerUpdate>(model.getQueuedUpdates());
+		ArrayList<IViewerUpdate> updates = new ArrayList<>(model.getQueuedUpdates());
         model.getQueuedUpdates().clear();
         for (int i = updates.size() - 1; i >= 0; i--) {
             model.processUpdate(updates.get(i));
@@ -638,7 +638,7 @@
     }
 
 	private void completeQueuedUpdatesOfType(TestModel model, Class<?> updateClass) {
-		List<IViewerUpdate> updatesToComplete = new LinkedList<IViewerUpdate>();
+		List<IViewerUpdate> updatesToComplete = new LinkedList<>();
 
 		for (Iterator<IViewerUpdate> itr = model.getQueuedUpdates().iterator(); itr.hasNext();) {
             IViewerUpdate update = itr.next();
diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
index 98f0b7e..129d9d8 100644
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
@@ -11,8 +11,11 @@
 org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
@@ -24,6 +27,7 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -74,19 +78,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
 org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
@@ -96,12 +102,16 @@
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 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
@@ -110,6 +120,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
 org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuildTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuildTab.java
index 6b5596b..1adcaf8 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuildTab.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuildTab.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -73,28 +73,19 @@
 	private Button fReferencedProjects;
 
 	// projects to build (empty if none)
-	private List<IProject> fProjects = new ArrayList<IProject>();
+	private List<IProject> fProjects = new ArrayList<>();
 
 	class ProjectsContentProvider implements IStructuredContentProvider {
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
 		@Override
 		public Object[] getElements(Object inputElement) {
 			return ((IWorkspace)inputElement).getRoot().getProjects();
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
 		@Override
 		public void dispose() {
 		}
 
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
@@ -108,9 +99,6 @@
 		setHelpContextId(IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILD_TAB);
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
 	@Override
 	public void createControl(Composite parent) {
 		Composite mainComposite = new Composite(parent, SWT.NONE);
@@ -193,23 +181,17 @@
 			return;
 		}
 		Object[] res = dialog.getResult();
-		fProjects = new ArrayList<IProject>(res.length);
+		fProjects = new ArrayList<>(res.length);
 		for (int i = 0; i < res.length; i++) {
 			fProjects.add((IProject) res[i]);
 		}
 		updateLaunchConfigurationDialog();
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
 	@Override
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
 	@Override
 	public void initializeFrom(ILaunchConfiguration configuration) {
 		updateScope(configuration);
@@ -254,16 +236,13 @@
 			} else if (scope.startsWith("${projects:")) { //$NON-NLS-1$
 				fSpecificProjectsButton.setSelection(true);
 				IProject[] projects = getBuildProjects(configuration, IExternalToolConstants.ATTR_BUILD_SCOPE);
-				fProjects = new ArrayList<IProject>(projects.length);
+				fProjects = new ArrayList<>(projects.length);
 				for (int i = 0; i < projects.length; i++) {
 					fProjects.add(projects[i]);
 				}
 			}
 		}
 	}
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
 	@Override
 	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		String scope = generateScopeMemento();
@@ -296,9 +275,6 @@
 		return "${none}"; //$NON-NLS-1$
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
 	@Override
 	public String getName() {
 		return ExternalToolsLaunchConfigurationMessages.ExternalToolsBuildTab_8;
@@ -326,9 +302,6 @@
 		fReferencedProjects.setEnabled(fBuildButton.getSelection() && (fProjectButton.getSelection() || fSpecificProjectsButton.getSelection()));
 	}
 
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
 	@Override
 	public Image getImage() {
 		return ExternalToolsImages.getImage(org.eclipse.ui.externaltools.internal.model.IExternalToolConstants.IMG_TAB_BUILD);
@@ -391,17 +364,11 @@
 		return buf.toString();
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
 	@Override
 	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
 		// do nothing on activation
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
 	@Override
 	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
 		// do nothing on deactivation
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
index a0bd3a0..551c092 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -129,7 +129,7 @@
 	 * Collection of configurations created while the page is open.
 	 * Stored here so they can be deleted if the page is cancelled.
 	 */
-	private List<ILaunchConfiguration> newConfigList = new ArrayList<ILaunchConfiguration>();
+	private List<ILaunchConfiguration> newConfigList = new ArrayList<>();
 
 	private SelectionListener buttonListener= new SelectionAdapter() {
 		@Override
@@ -296,9 +296,6 @@
 		return button;
 	}
 
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage.
-	 */
 	@Override
 	protected Control createContents(Composite parent) {
 
@@ -429,9 +426,6 @@
 		viewer.getTable().setFocus();
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
-	 */
 	@Override
 	public void checkStateChanged(CheckStateChangedEvent event) {
 		Object element= event.getElement();
@@ -491,7 +485,7 @@
 	private void enableCommand(ICommand command, boolean enable) {
 		Map<String, String> args = command.getArguments();
 		if (args == null) {
-			args = new HashMap<String, String>(1);
+			args = new HashMap<>(1);
 		}
 		args.put(COMMAND_ENABLED, Boolean.toString(enable));
 		command.setArguments(args);
@@ -505,7 +499,7 @@
 	private void handleImportButtonPressed() {
 		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
 		List<ILaunchConfigurationType> toolTypes = getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY);
-		List<ILaunchConfiguration> configurations = new ArrayList<ILaunchConfiguration>();
+		List<ILaunchConfiguration> configurations = new ArrayList<>();
 		for (ILaunchConfigurationType type : toolTypes) {
 			try {
 				ILaunchConfiguration[] configs = manager.getLaunchConfigurations(type);
@@ -569,12 +563,12 @@
 				Object item= iterator.next();
 				if (item instanceof ILaunchConfiguration) {
 					if (configsToBeDeleted == null) {
-						configsToBeDeleted = new ArrayList<ILaunchConfiguration>(numSelected);
+						configsToBeDeleted = new ArrayList<>(numSelected);
 					}
 					configsToBeDeleted.add((ILaunchConfiguration) item);
 				} else if (item instanceof ICommand) {
 					if (commandsToBeDeleted == null) {
-						commandsToBeDeleted = new ArrayList<ICommand>(numSelected);
+						commandsToBeDeleted = new ArrayList<>(numSelected);
 					}
 					commandsToBeDeleted.add((ICommand) item);
 				}
@@ -682,7 +676,7 @@
 	 */
 	private List<ILaunchConfigurationType> getConfigurationTypes(String category) {
 		ILaunchConfigurationType types[] = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		List<ILaunchConfigurationType> externalToolTypes = new ArrayList<ILaunchConfigurationType>();
+		List<ILaunchConfigurationType> externalToolTypes = new ArrayList<>();
 		for (int i = 0; i < types.length; i++) {
 			ILaunchConfigurationType configurationType = types[i];
 			if (category.equals(configurationType.getCategory())) {
@@ -982,7 +976,7 @@
 		//get all the build commands
 		int numCommands = itemData.length;
 		monitor.beginTask(ExternalToolsUIMessages.BuilderPropertyPage_3, numCommands + 1);
-		List<ICommand> possibleCommands = new ArrayList<ICommand>(numCommands);
+		List<ICommand> possibleCommands = new ArrayList<>(numCommands);
 		for (int i = 0; i < numCommands; i++) {
 			Object data = itemData[i];
 			if (data instanceof ICommand) {
@@ -1086,7 +1080,7 @@
 			newCommand.setBuilderName(builderName);
 			newCommand.setArguments(args);
 			if (configsToBeDeleted == null) {
-				configsToBeDeleted = new ArrayList<ILaunchConfiguration>();
+				configsToBeDeleted = new ArrayList<>();
 			}
 			configsToBeDeleted.add(config);
 			return newCommand;
@@ -1215,9 +1209,6 @@
 		return false;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
-	 */
 	@Override
 	public boolean performCancel() {
 		for (ILaunchConfiguration config : newConfigList) {
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
index db51b49..f91f368 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -102,9 +102,6 @@
 	    }
 	}
 
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
 	@Override
 	protected void configureShell(Shell shell) {
 		super.configureShell(shell);
@@ -117,9 +114,6 @@
 		initializeDialog();
 	}
 
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		// page group
@@ -172,7 +166,7 @@
 					IResource[] members = null;
 					try {
 						members = ((IContainer) o).members();
-						List<IResource> accessibleMembers = new ArrayList<IResource>(members.length);
+						List<IResource> accessibleMembers = new ArrayList<>(members.length);
 						for (int i = 0; i < members.length; i++) {
 							IResource resource = members[i];
 							if (resource.isAccessible()) {
@@ -186,7 +180,7 @@
 					}
 
 					//filter out the desired resource types
-					ArrayList<IResource> results = new ArrayList<IResource>();
+					ArrayList<IResource> results = new ArrayList<>();
 					for (int i = 0; i < members.length; i++) {
 						//And the test bits with the resource types to see if
 						// they are what we want
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
index 4b50ef9..58cb325 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2018 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -42,8 +42,8 @@
 public class TreeAndListGroup implements ISelectionChangedListener {
 	private Object root;
 	private Object currentTreeSelection;
-	private List<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
-	private List<IDoubleClickListener> doubleClickListeners = new ArrayList<IDoubleClickListener>();
+	private List<ISelectionChangedListener> selectionChangedListeners = new ArrayList<>();
+	private List<IDoubleClickListener> doubleClickListeners = new ArrayList<>();
 
 	private ITreeContentProvider treeContentProvider;
 	private IStructuredContentProvider listContentProvider;
@@ -243,9 +243,6 @@
 		treeViewer.setInput(root);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
 	@Override
 	public void selectionChanged(SelectionChangedEvent event) {
 		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildFilesResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildFilesResolver.java
index 53e1892..bdcdc5e 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildFilesResolver.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildFilesResolver.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2013 Matthew Conway and others.
+ * Copyright (c) 2007, 2018 Matthew Conway and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -43,7 +43,7 @@
         if (buildDelta != null)
         {
             final StringBuffer fileList = new StringBuffer();
-			final Set<String> changedResources = new LinkedHashSet<String>();
+			final Set<String> changedResources = new LinkedHashSet<>();
 
             // Use the argument to determine which deltas to visit - if none,
             // then defaults to all