Modernize equinox.http.servlet.tests

* Remove useless type arguments
* Remove not needed throws declarations
* Add missing Override annotations.

Change-Id: I407cb99f94bdc93175ceb713722cf06295617747
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.http.servlet.tests/.settings/org.eclipse.jdt.core.prefs
index 4ba3fcc..ec2db86 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/.settings/org.eclipse.jdt.core.prefs
@@ -16,6 +16,7 @@
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+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
@@ -25,7 +26,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -38,14 +39,14 @@
 org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
 org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
 org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
 org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
 org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
 org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
 org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
@@ -53,19 +54,21 @@
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
 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=warning
 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=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
 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
@@ -73,21 +76,27 @@
 org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
 org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
 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=enabled
 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=warning
+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=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-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.unstableAutoModuleName=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=warning
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestResource.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestResource.java
index 4bbe5d4..ec9a4f1 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestResource.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestResource.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
 import javax.servlet.ServletException;
@@ -35,6 +34,7 @@
 
 	private HttpService service;
 
+	@SuppressWarnings("unused")
 	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
 		HttpService service = getHttpService();
 		String alias = getAlias();
@@ -78,7 +78,7 @@
 		return clazz.getSimpleName();
 	}
 
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print(AbstractTestResource.STATUS_OK);
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestServlet.java
index 7dd78ff..5ebd206 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractTestServlet.java
@@ -16,7 +16,6 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Map;
 
 import javax.servlet.ServletException;
@@ -92,6 +91,7 @@
 		return clazz.getSimpleName();
 	}
 
+	@SuppressWarnings("unused")
 	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
 		writer.print(AbstractTestServlet.STATUS_OK);
 	}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestFilter.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestFilter.java
index 842e995..9056fa8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestFilter.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestFilter.java
@@ -62,7 +62,7 @@
 	}
 
 	@Override
-	public void init(FilterConfig arg0) throws ServletException {
+	public void init(FilterConfig arg0) {
 		//
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestServlet.java
index d289251..8818d3b 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb/AbstractWhiteboardTestServlet.java
@@ -40,6 +40,7 @@
 		}
 	}
 
+	@SuppressWarnings("unused")
 	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
 		writer.print(AbstractTestServlet.STATUS_OK);
 	}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage1.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage1.java
index 281f72f..2d2fef7 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage1.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage1.java
@@ -16,7 +16,6 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Dictionary;
@@ -24,16 +23,13 @@
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
-
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -42,14 +38,14 @@
  */
 public class TestErrorPage1 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
-		Dictionary<String, Object> errorProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> errorProps = new Hashtable<>();
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E1");
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, new String[] {"403", "404"});
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, errorServlet, errorProps));
@@ -64,7 +60,7 @@
 
 	@Override
 	protected void service(HttpServletRequest request, HttpServletResponse response)
-		throws ServletException ,IOException {
+		throws IOException {
 
 		response.sendError(403);
 	}
@@ -75,7 +71,7 @@
 		@Override
 		protected void service(
 				HttpServletRequest request, HttpServletResponse response)
-			throws ServletException ,IOException {
+			throws IOException {
 
 			if (response.isCommitted()) {
 				System.out.println("Problem?");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage2.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage2.java
index b523f88..1d4acfd 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage2.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage2.java
@@ -33,7 +33,6 @@
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -42,14 +41,14 @@
  */
 public class TestErrorPage2 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
-		Dictionary<String, Object> errorProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> errorProps = new Hashtable<>();
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E1");
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, new String[] {MyException.class.getName()});
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, errorServlet, errorProps));
@@ -64,7 +63,7 @@
 
 	@Override
 	protected void service(HttpServletRequest request, HttpServletResponse response)
-		throws ServletException ,IOException {
+		throws ServletException {
 
 		throw new MyException();
 	}
@@ -76,7 +75,7 @@
 		@Override
 		protected void service(
 				HttpServletRequest request, HttpServletResponse response)
-			throws ServletException ,IOException {
+			throws IOException {
 
 			if (response.isCommitted()) {
 				System.out.println("Problem?");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage3.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage3.java
index bac032a..f188469 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage3.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage3.java
@@ -16,7 +16,6 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Dictionary;
@@ -24,16 +23,13 @@
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
-
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -42,14 +38,14 @@
  */
 public class TestErrorPage3 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S3");
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
-		Dictionary<String, Object> errorProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> errorProps = new Hashtable<>();
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E3");
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "400");
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, errorServlet, errorProps));
@@ -64,7 +60,7 @@
 
 	@Override
 	protected void service(HttpServletRequest request, HttpServletResponse response)
-		throws ServletException ,IOException {
+		throws IOException {
 
 		response.sendError(400);
 	}
@@ -75,7 +71,7 @@
 		@Override
 		protected void service(
 				HttpServletRequest request, HttpServletResponse response)
-			throws ServletException ,IOException {
+			throws IOException {
 
 			if (response.isCommitted()) {
 				System.out.println("Problem?");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage4.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage4.java
index 85e2f93..e721579 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage4.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestErrorPage4.java
@@ -16,7 +16,6 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Dictionary;
@@ -24,16 +23,13 @@
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
-
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -42,14 +38,14 @@
  */
 public class TestErrorPage4 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S4");
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
-		Dictionary<String, Object> errorProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> errorProps = new Hashtable<>();
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E4");
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "401");
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, errorServlet, errorProps));
@@ -64,7 +60,7 @@
 
 	@Override
 	protected void service(HttpServletRequest request, HttpServletResponse response)
-		throws ServletException ,IOException {
+		throws IOException {
 
 		response.setStatus(401);
 
@@ -77,7 +73,7 @@
 		@Override
 		protected void service(
 				HttpServletRequest request, HttpServletResponse response)
-			throws ServletException ,IOException {
+			throws IOException {
 
 			if (response.isCommitted()) {
 				System.out.println("Problem?");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter1.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter1.java
index 1df6cbc..07fac76 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter1.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter1.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -52,7 +49,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter10.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter10.java
index 72ba6f9..dd63c5b 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter10.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter10.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,14 +22,12 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -39,19 +36,19 @@
  */
 public class TestFilter10 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
-		filterProps = new Hashtable<String, String>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
@@ -65,7 +62,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter11.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter11.java
index 49a8d1d..0eeae9b 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter11.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter11.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,14 +22,12 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -39,26 +36,26 @@
  */
 public class TestFilter11 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
-		filterProps = new Hashtable<String, String>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
 
-		filterProps = new Hashtable<String, String>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F3");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f3, filterProps));
@@ -72,7 +69,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter12.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter12.java
index a49ab7c..9dd4486 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter12.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter12.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,7 +22,6 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -31,7 +29,6 @@
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -40,25 +37,25 @@
  */
 public class TestFilter12 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, Object> filterProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
 
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F3");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		filterProps.put(Constants.SERVICE_RANKING, 1);
@@ -73,7 +70,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter13.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter13.java
index cf890dc..e8d90d9 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter13.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter13.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,14 +22,12 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -39,14 +36,14 @@
  */
 public class TestFilter13 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
@@ -60,7 +57,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter14.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter14.java
index 6db5f74..589b3b7 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter14.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter14.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,14 +22,12 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -39,21 +36,21 @@
  */
 public class TestFilter14 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
-		filterProps = new Hashtable<String, String>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
@@ -67,7 +64,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter15.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter15.java
index dffefee..eae2719 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter15.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter15.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,14 +22,12 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -39,26 +36,26 @@
  */
 public class TestFilter15 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
-		filterProps = new Hashtable<String, String>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
 
-		filterProps = new Hashtable<String, String>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F3");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f3, filterProps));
@@ -72,7 +69,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter16.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter16.java
index ebd7043..04adc7d 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter16.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter16.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,7 +22,6 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -31,7 +29,6 @@
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -40,26 +37,26 @@
  */
 public class TestFilter16 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, Object> filterProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
 
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F3");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, extensionAlias());
 		filterProps.put(Constants.SERVICE_RANKING, 1);
@@ -74,7 +71,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter17.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter17.java
index 42fca28..51bda13 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter17.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter17.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,7 +22,6 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -31,7 +29,6 @@
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -40,12 +37,12 @@
  */
 public class TestFilter17 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "TestFilter17");
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestFilter17/foo/bar/baz");
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
@@ -53,25 +50,25 @@
 		// Should order like: ebcdadcbe
 
 		// b
-		Dictionary<String, Object> filterProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/TestFilter17/foo/bar/*");
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
 		// c
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/TestFilter17/*");
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
 
 		// d
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F3");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/TestFilter17/foo/*");
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f3, filterProps));
 
 		// e
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F4");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_SERVLET, "TestFilter17");
 		filterProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
@@ -86,7 +83,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter18.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter18.java
index 9545e2f..e4e2546 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter18.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter18.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,7 +22,6 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -31,7 +29,6 @@
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -40,12 +37,12 @@
  */
 public class TestFilter18 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
+	public void activate(ComponentContext componentContext) {
 
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "TestFilter18");
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestFilter18/foo/bar/baz/*");
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
@@ -53,33 +50,33 @@
 		// Should order like: dbcacbd
 
 		// b
-		Dictionary<String, Object> filterProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/TestFilter18/foo/bar/*");
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
 
 		// c
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_REGEX, "^/TestFilter18/.*$");
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f2, filterProps));
 
 		// d
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F3");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_REGEX, ".*18/foo/.*");
 		filterProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f3, filterProps));
 
 		// e - should fail to register
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F4");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_REGEX, "*");
 		filterProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f4, filterProps));
 
 		// f
-		filterProps = new Hashtable<String, Object>();
+		filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F5");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_REGEX, ".*/baz/with/.*");
 		filterProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
@@ -94,7 +91,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter2.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter2.java
index d2771d2..2c8128c 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter2.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter2.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -54,7 +51,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter3.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter3.java
index 499548b..bfb776c 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter3.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter3.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -56,7 +53,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter4.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter4.java
index 957a628..f7f0008 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter4.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter4.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -43,7 +40,7 @@
 		service.registerServlet(regexAlias(), this, null, null);
 		service.registerFilter(regexAlias(), f1, new Hashtable<String, String>(), null);
 		service.registerFilter(regexAlias(), f2, new Hashtable<String, String>(), null);
-		Hashtable<String, String> hashtable = new Hashtable<String, String>();
+		Hashtable<String, String> hashtable = new Hashtable<>();
 		hashtable.put("filter-priority", "1");
 		service.registerFilter(regexAlias(), f3, hashtable, null);
 	}
@@ -58,7 +55,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter5.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter5.java
index 7dc921d..a6ac399 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter5.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter5.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -52,7 +49,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter6.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter6.java
index 5c90fe5..d8b930a 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter6.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter6.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -54,7 +51,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter7.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter7.java
index ab78187..0680ca4 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter7.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter7.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -56,7 +53,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter8.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter8.java
index bda2d2a..8e6dd55 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter8.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter8.java
@@ -14,9 +14,7 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
@@ -26,7 +24,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -43,7 +40,7 @@
 		service.registerServlet(extensionAlias(), this, null, null);
 		service.registerFilter(extensionAlias(), f1, new Hashtable<String, String>(), null);
 		service.registerFilter(extensionAlias(), f2, new Hashtable<String, String>(), null);
-		Hashtable<String, String> hashtable = new Hashtable<String, String>();
+		Hashtable<String, String> hashtable = new Hashtable<>();
 		hashtable.put("filter-priority", "1");
 		service.registerFilter(extensionAlias(), f3, hashtable, null);
 	}
@@ -58,7 +55,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter9.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter9.java
index eba6630..685bfb8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter9.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestFilter9.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,14 +22,12 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /*
@@ -40,14 +37,14 @@
 public class TestFilter9 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
 
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
@@ -62,7 +59,7 @@
 
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource3.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource3.java
index ca7244a..3b96d1d 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource3.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource3.java
@@ -19,22 +19,19 @@
 import java.util.Dictionary;
 import java.util.Hashtable;
 
-import javax.servlet.ServletException;
-
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestResource;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /**
  * @author Raymond Augé
  */
 public class TestResource3 extends AbstractTestResource {
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> resourceProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> resourceProps = new Hashtable<>();
 		resourceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN, regexAlias());
 		resourceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX, getName());
 		registrations.add(componentContext.getBundleContext().registerService(TestResource3.class, this, resourceProps));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource4.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource4.java
index bbb2315..f91c960 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource4.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource4.java
@@ -22,7 +22,6 @@
 import org.eclipse.equinox.http.servlet.ExtendedHttpService;
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestResource;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
-
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.http.NamespaceException;
 
@@ -37,7 +36,7 @@
 		service.registerResources(regexAlias(), getName() , null);
 		service.registerFilter(regexAlias(), f1, new Hashtable<String, String>(), null);
 		service.registerFilter(regexAlias(), f2, new Hashtable<String, String>(), null);
-		Hashtable<String, String> hashtable = new Hashtable<String, String>();
+		Hashtable<String, String> hashtable = new Hashtable<>();
 		hashtable.put("filter-priority", "1");
 		service.registerFilter(regexAlias(), f3, hashtable, null);
 	}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource5.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource5.java
index cf0f07c..18b93e1 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource5.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestResource5.java
@@ -20,14 +20,12 @@
 import java.util.Hashtable;
 
 import javax.servlet.Filter;
-import javax.servlet.ServletException;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestResource;
 import org.eclipse.equinox.http.servlet.tests.util.BaseFilter;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
 /**
@@ -35,15 +33,15 @@
  */
 public class TestResource5 extends AbstractTestResource {
 
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> resourceProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> resourceProps = new Hashtable<>();
 		resourceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN, regexAlias());
 		resourceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX, getName());
 		registrations.add(componentContext.getBundleContext().registerService(TestResource5.class, this, resourceProps));
 
-		Dictionary<String, Object> filterProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		registrations.add(componentContext.getBundleContext().registerService(Filter.class, f1, filterProps));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet10.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet10.java
index e35a4c9..dbec8d0 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet10.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet10.java
@@ -20,7 +20,6 @@
 import java.io.PrintWriter;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -34,7 +33,7 @@
 
 	@Override
 	protected void service(HttpServletRequest request, HttpServletResponse response)
-		throws ServletException, IOException {
+		throws IOException {
 
 		ServletContext servletContext = getServletContext();
 
@@ -57,7 +56,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		//
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet11.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet11.java
index 979e749..eb87249 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet11.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet11.java
@@ -20,7 +20,6 @@
 import java.io.PrintWriter;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -34,7 +33,7 @@
 
 	@Override
 	protected void service(HttpServletRequest request, HttpServletResponse response)
-		throws ServletException, IOException {
+		throws IOException {
 
 		ServletContext servletContext = getServletContext();
 
@@ -59,7 +58,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		//
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet2.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet2.java
index 641421c..15a5767 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet2.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet2.java
@@ -13,11 +13,9 @@
  *******************************************************************************/
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -36,7 +34,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		int version = getEffectiveMajorVersion();
 		writer.print(version);
 	}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet4.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet4.java
index f7dce6d..29a02e9 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet4.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet4.java
@@ -14,11 +14,9 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -30,7 +28,7 @@
 	private static final long serialVersionUID = 1L;
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		ServletContext servletContext = getServletContext();
 		writer.print(servletContext.getContextPath());
 	}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet5.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet5.java
index 0e0e487..7f46b9a 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet5.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet5.java
@@ -14,16 +14,12 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Map;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
-
 import org.osgi.framework.Constants;
 import org.osgi.service.http.runtime.HttpServiceRuntime;
 
@@ -35,7 +31,7 @@
 	private Map<String, Object> properties;
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print(properties.get(Constants.SERVICE_DESCRIPTION));
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet6.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet6.java
index 8e8cb90..5467a67 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet6.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet6.java
@@ -14,10 +14,8 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -34,7 +32,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet7.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet7.java
index 1b3d9d6..593b410 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet7.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet7.java
@@ -14,10 +14,8 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -34,7 +32,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet9.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet9.java
index 5e8b7b7..a07d44e 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet9.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServlet9.java
@@ -56,14 +56,14 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		//
 	}
 
 	class DispatchTo extends AbstractTestServlet {
 		private static final long serialVersionUID = 1L;
 		@Override
-		protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+		protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 			writer.print(TestServlet9.this.getProperties().get(Constants.SERVICE_DESCRIPTION));
 		}
 		
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContext1.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContext1.java
index ed9ff1b..a44afdc 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContext1.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContext1.java
@@ -14,13 +14,10 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.Set;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -33,7 +30,7 @@
 	private static final long serialVersionUID = 1L;
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		ServletContext servletContext = request.getServletContext();
 		Set<String> resourcePaths = servletContext.getResourcePaths("/org/eclipse/equinox/http/servlet/tests/tb1");
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper1.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper1.java
index 8fb8f90..3b3a635 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper1.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper1.java
@@ -16,34 +16,42 @@
 		delegate = new ServletContextHelper(componentContext.getBundleContext().getBundle()) {};
 	}
 
+	@Override
 	public int hashCode() {
 		return delegate.hashCode();
 	}
 
+	@Override
 	public boolean equals(Object obj) {
 		return delegate.equals(obj);
 	}
 
+	@Override
 	public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException {
 		return delegate.handleSecurity(request, response);
 	}
 
+	@Override
 	public URL getResource(String name) {
 		return delegate.getResource(name);
 	}
 
+	@Override
 	public String toString() {
 		return delegate.toString();
 	}
 
+	@Override
 	public String getMimeType(String name) {
 		return delegate.getMimeType(name);
 	}
 
+	@Override
 	public Set<String> getResourcePaths(String path) {
 		return delegate.getResourcePaths(path);
 	}
 
+	@Override
 	public String getRealPath(String path) {
 		return delegate.getRealPath(path);
 	}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper10.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper10.java
index 6f5ce51..d82d550 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper10.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/tb1/TestServletContextHelper10.java
@@ -14,7 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.tb1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -23,7 +22,6 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractTestServlet;
@@ -32,7 +30,6 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.http.context.ServletContextHelper;
 import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 
@@ -42,15 +39,15 @@
  */
 public class TestServletContextHelper10 extends AbstractTestServlet {
 	private static final long serialVersionUID = 1L;
-	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+	private final Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 	@Override
-	public void activate(ComponentContext componentContext) throws ServletException, NamespaceException {
-		Dictionary<String, String> servletProps = new Hashtable<String, String>();
+	public void activate(ComponentContext componentContext) {
+		Dictionary<String, String> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, regexAlias());
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(componentContext.getBundleContext().registerService(Servlet.class, this, servletProps));
 
-		Dictionary<String, String> filterProps = new Hashtable<String, String>();
+		Dictionary<String, String> filterProps = new Hashtable<>();
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, regexAlias());
 		filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -60,7 +57,7 @@
 		Bundle bundle = bundleContext.getBundle();
 
 		ServletContextHelper servletContextHelper = new ServletContextHelper(bundle) {};
-		Dictionary<String, String> contextProps = new Hashtable<String, String>();
+		Dictionary<String, String> contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(componentContext.getBundleContext().registerService(ServletContextHelper.class, servletContextHelper, contextProps));
@@ -74,7 +71,7 @@
 	}
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/BaseFilter.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/BaseFilter.java
index f51b634..9bc0ec0 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/BaseFilter.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/BaseFilter.java
@@ -64,7 +64,7 @@
 	}
 
 	@Override
-	public void init(FilterConfig arg0) throws ServletException {
+	public void init(FilterConfig arg0) {
 		//
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/CharResponseWrapper.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/CharResponseWrapper.java
index b3cd36b..8fa4ad2 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/CharResponseWrapper.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/util/CharResponseWrapper.java
@@ -15,7 +15,6 @@
 package org.eclipse.equinox.http.servlet.tests.util;
 
 import java.io.CharArrayWriter;
-import java.io.IOException;
 import java.io.PrintWriter;
 
 import javax.servlet.ServletOutputStream;
@@ -35,11 +34,11 @@
 	}
 
 	@Override
-	public ServletOutputStream getOutputStream() throws IOException {
+	public ServletOutputStream getOutputStream() {
 		return new ServletOutputStream() {
 
 			@Override
-			public void write(int b) throws IOException {
+			public void write(int b) {
 				output.write(b);
 			}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t1/WBServlet1.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t1/WBServlet1.java
index ba245c0..6b104a3 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t1/WBServlet1.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t1/WBServlet1.java
@@ -14,10 +14,8 @@
 
 package org.eclipse.equinox.http.servlet.tests.wb.t1;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractWhiteboardTestServlet;
@@ -29,7 +27,7 @@
 	private static final long serialVersionUID = 1L;
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t2/WBServlet2.java b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t2/WBServlet2.java
index 950c799..44cfd3f 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t2/WBServlet2.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/bundles_src/tb1/org/eclipse/equinox/http/servlet/tests/wb/t2/WBServlet2.java
@@ -14,10 +14,8 @@
 
 package org.eclipse.equinox.http.servlet.tests.wb.t2;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
 import org.eclipse.equinox.http.servlet.tests.tb.AbstractWhiteboardTestServlet;
@@ -29,7 +27,7 @@
 	private static final long serialVersionUID = 1L;
 
 	@Override
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		writer.print('a');
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/testbase/BaseTest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/testbase/BaseTest.java
index 2fb5950..0f93183 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/testbase/BaseTest.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/testbase/BaseTest.java
@@ -228,7 +228,7 @@
 			return Arrays.asList((String[])property);
 		}
 		else if (Collection.class.isInstance(property)) {
-			List<String> list = new ArrayList<String>();
+			List<String> list = new ArrayList<>();
 			for (@SuppressWarnings("rawtypes")
 				Iterator i = ((Collection)property).iterator(); i.hasNext();) {
 
@@ -246,6 +246,7 @@
 		return installer.installBundle(bundle);
 	}
 
+	@SuppressWarnings("unused")
 	protected void startBundles() throws BundleException {
 	}
 
@@ -295,6 +296,7 @@
 		requestAdvisor = new ServletRequestAdvisor(port, contextPath, ksPath, ksPassword);
 	}
 
+	@SuppressWarnings("unused")
 	protected void stopBundles() throws BundleException {
 	}
 
@@ -635,7 +637,7 @@
 	protected BundleInstaller installer;
 	protected BundleAdvisor advisor;
 	protected ServletRequestAdvisor requestAdvisor;
-	protected final Collection<ServiceRegistration<? extends Object>> registrations = new ArrayList<ServiceRegistration<? extends Object>>();
+	protected final Collection<ServiceRegistration<? extends Object>> registrations = new ArrayList<>();
 	protected ServiceTracker<HttpServiceRuntime, ServiceReference<HttpServiceRuntime>> runtimeTracker;
 
 	protected static class TestFilter implements Filter {
@@ -644,7 +646,7 @@
 		public TestFilter() {}
 
 		@Override
-		public void init(FilterConfig filterConfig) throws ServletException {
+		public void init(FilterConfig filterConfig) {
 			// nothing
 		}
 
@@ -677,7 +679,7 @@
 		static class TestServletContextHelper extends ServletContextHelper {
 			public TestServletContextHelper(Bundle bundle) {
 				super(bundle);
-			}};
+			}}
 
 		public TestServletContextHelperFactory() {}
 
@@ -740,7 +742,7 @@
 		@Override
 		protected void service(
 				HttpServletRequest request, HttpServletResponse response)
-			throws ServletException ,IOException {
+			throws IOException {
 
 			if (response.isCommitted()) {
 				System.out.println("Problem?");
@@ -756,6 +758,6 @@
 			writer.print(errorCode + " : " + status + " : ERROR : " + requestURI);
 		}
 
-	};
+	}
 
 }
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/AuthenticationTest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/AuthenticationTest.java
index 2c1dd62..8edb555 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/AuthenticationTest.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/AuthenticationTest.java
@@ -82,11 +82,11 @@
 
 	private static final String	REC_PAR		= "rec";
 
-	private void setup(final List<String> callStack) throws Exception {
+	private void setup(final List<String> callStack) {
 		final BundleContext context = getBundleContext();
 
 		// setup context 1
-		final Dictionary<String,Object> ctx1Props = new Hashtable<String,Object>();
+		final Dictionary<String,Object> ctx1Props = new Hashtable<>();
 		ctx1Props.put(HTTP_WHITEBOARD_CONTEXT_NAME, "context1");
 		ctx1Props.put(HTTP_WHITEBOARD_CONTEXT_PATH, "/context1");
 		registrations.add(context.registerService(
@@ -94,8 +94,7 @@
 			new ServletContextHelper() {
 
 				@Override
-				public boolean handleSecurity(final HttpServletRequest request, final HttpServletResponse response)
-					throws IOException {
+				public boolean handleSecurity(final HttpServletRequest request, final HttpServletResponse response) {
 
 					if (request.getParameter(AUTH_PAR) != null) {
 						callStack.add("handle1");
@@ -114,7 +113,7 @@
 		);
 
 		// setup context 2
-		final Dictionary<String,Object> ctx2Props = new Hashtable<String,Object>();
+		final Dictionary<String,Object> ctx2Props = new Hashtable<>();
 		ctx2Props.put(HTTP_WHITEBOARD_CONTEXT_NAME, "context2");
 		ctx2Props.put(HTTP_WHITEBOARD_CONTEXT_PATH, "/context2");
 		registrations.add(context.registerService(
@@ -122,8 +121,7 @@
 			new ServletContextHelper() {
 
 				@Override
-				public boolean handleSecurity(final HttpServletRequest request, final HttpServletResponse response)
-					throws IOException {
+				public boolean handleSecurity(final HttpServletRequest request, final HttpServletResponse response) {
 
 					callStack.add("handle2");
 					return true;
@@ -168,9 +166,9 @@
 				response.setStatus(200);
 			}
 
-		};
+		}
 
-		final Dictionary<String,Object> servletProps = new Hashtable<String,Object>();
+		final Dictionary<String,Object> servletProps = new Hashtable<>();
 
 		servletProps.put(HTTP_WHITEBOARD_SERVLET_PATTERN, new String[] {"/servlet"});
 		servletProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HTTP_WHITEBOARD_CONTEXT_NAME + "=context1)");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Bug500783_Test.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Bug500783_Test.java
index 871f1a6..34e16f4 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Bug500783_Test.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Bug500783_Test.java
@@ -30,7 +30,6 @@
 import java.util.Map.Entry;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -49,7 +48,7 @@
 
 		HttpServlet myServlet = new HttpServlet() {
 			@Override
-			protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+			protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
 				int contentLength = req.getContentLength();
 
 				InputStream in = req.getInputStream();
@@ -89,11 +88,11 @@
 			}
 		};
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/MyServlet");
 		registrations.add(context.registerService(Servlet.class, myServlet, properties));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 		map.put("method", Arrays.<Object>asList("POST"));
 		map.put("x-www-form-urlencoded", Arrays.<Object>asList("fielda=foo&fieldb=bar"));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ContextHelperCustomizerTests.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ContextHelperCustomizerTests.java
index 4413e6e..ba04792 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ContextHelperCustomizerTests.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ContextHelperCustomizerTests.java
@@ -50,31 +50,31 @@
 	private BundleContext context;
 	
 	@Before
-	public void begin() throws Exception {
+	public void begin() {
 		httpServiceReference = getBundleContext().getServiceReference(HttpService.class);	
 		context = httpServiceReference.getBundle().getBundleContext();
 		httpService = context.getService(httpServiceReference);
 	}
 	
 	@After
-	public void end() throws Exception {
+	public void end() {
 		context.ungetService(httpServiceReference);
 	}
 
 	@Test
-	public void testCreateDefaultHttpContextCreatesNewServletContextHelper() throws Exception {
+	public void testCreateDefaultHttpContextCreatesNewServletContextHelper() {
 		HttpContext context1 = httpService.createDefaultHttpContext();
 		HttpContext context2 = httpService.createDefaultHttpContext();
 		Assert.assertNotEquals(context1, context2);	
 	}
 	
 	@Test
-	public void testServletContextHelpersNotHiddenWhenRegisteredUsingConsumingContext() throws Exception {
+	public void testServletContextHelpersNotHiddenWhenRegisteredUsingConsumingContext() {
 		ServiceRegistration<ServletContextHelper> helperReg = null;
 		ServiceRegistration<FindHook> findHookReg = null;
 		
 		try {
-			Dictionary<String, Object> properties = new Hashtable<String, Object>();
+			Dictionary<String, Object> properties = new Hashtable<>();
 			properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "context1");
 			properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/context1");
 			//register a ServletContextHelper using the consuming bundle context "org.eclipse.equinox.http.servlet"
@@ -104,9 +104,9 @@
 			};
 
 			findHookReg = context.registerService(FindHook.class, findHook, null);
-			AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+			AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-			properties = new Hashtable<String, Object>();
+			properties = new Hashtable<>();
 			properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=context1)");
 			context.registerService(ServletContextListener.class, new MockSCL(sc1), properties);
@@ -132,7 +132,7 @@
 		ServiceRegistration<FindHook> findHookReg = null;
 		
 		try {
-			Dictionary<String, String> helperProps = new Hashtable<String, String>();
+			Dictionary<String, String> helperProps = new Hashtable<>();
 			helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "testContext" + testName.getMethodName());
 			helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/helperContext");
 			helperProps.put(TEST_PATH_CUSTOMIZER_NAME, testName.getMethodName());
@@ -168,7 +168,7 @@
 						
 			//Register a servlet service with a matching context helper
 			BaseServlet baseServlet = new BaseServlet("content");
-			Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();		
+			Dictionary<String, Object> serviceProps = new Hashtable<>();		
 			serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/servlet");
 			serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + "testContext" + testName.getMethodName() + ")");
 			servlet = context.registerService(Servlet.class, baseServlet, serviceProps);
@@ -199,7 +199,7 @@
 		ServiceRegistration<FindHook> findHookReg = null;
 		
 		try {
-			Dictionary<String, String> helperProps = new Hashtable<String, String>();
+			Dictionary<String, String> helperProps = new Hashtable<>();
 			helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "testContext" + testName.getMethodName());
 			helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/helperContext");
 			helperProps.put(TEST_PATH_CUSTOMIZER_NAME, testName.getMethodName());
@@ -235,7 +235,7 @@
 						
 			//Register a servlet service with a matching context helper
 			BaseServlet baseServlet = new BaseServlet("content");
-			Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();		
+			Dictionary<String, Object> serviceProps = new Hashtable<>();		
 			serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/servlet");
 			//Filter property
 			serviceProps.put("servlet.init." + TEST_PATH_CUSTOMIZER_NAME, testName.getMethodName());
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/DispatchingTest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/DispatchingTest.java
index 5f8afd8..63cb6fa 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/DispatchingTest.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/DispatchingTest.java
@@ -37,8 +37,8 @@
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
 import javax.servlet.ServletContext;
-import javax.servlet.ServletOutputStream;
 import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.Cookie;
@@ -66,7 +66,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				StringWriter writer = new StringWriter();
 
@@ -81,12 +81,12 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
@@ -108,17 +108,17 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -156,22 +156,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.REQUEST.toString()});
@@ -212,22 +212,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.FORWARD.toString(),DispatcherType.REQUEST.toString()});
@@ -262,22 +262,22 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s3/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -319,27 +319,27 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s3/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet3, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s4/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -372,7 +372,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 				writer.write(String.valueOf(req.getQueryString()));
@@ -385,18 +385,18 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sA, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s2");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
@@ -425,18 +425,18 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sA, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s2");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
@@ -468,7 +468,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 				writer.write(req.getQueryString());
@@ -481,12 +481,12 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13A");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13A/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sA, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13B");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13B/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sB, props));
@@ -508,17 +508,17 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -556,22 +556,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.REQUEST.toString()});
@@ -612,22 +612,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.FORWARD.toString(),DispatcherType.REQUEST.toString()});
@@ -662,7 +662,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				response.getWriter().print("s8target");
 			}
@@ -691,17 +691,17 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -739,22 +739,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.REQUEST.toString()});
@@ -795,22 +795,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.INCLUDE.toString(), DispatcherType.REQUEST.toString()});
@@ -845,22 +845,22 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s3/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -902,27 +902,27 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s3/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet3, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s4/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -955,7 +955,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 				writer.write(req.getQueryString());
@@ -968,18 +968,18 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sA, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s2");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
@@ -1008,18 +1008,18 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "c1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/c1");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sA, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "s2");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=c1)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
@@ -1051,7 +1051,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 				writer.write(req.getQueryString());
@@ -1064,12 +1064,12 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13A");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13A/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sA, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13B");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13B/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, sB, props));
@@ -1091,17 +1091,17 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
@@ -1139,22 +1139,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.REQUEST.toString()});
@@ -1195,22 +1195,22 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper() {}, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(Servlet.class, new DispatchResultServlet(), props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, new String[] {DispatcherType.INCLUDE.toString(), DispatcherType.REQUEST.toString()});
@@ -1231,9 +1231,9 @@
 			@Override
 			protected void doGet(
 				final HttpServletRequest req, final HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
-				final AtomicReference<String[]> results = new AtomicReference<String[]>();
+				final AtomicReference<String[]> results = new AtomicReference<>();
 
 				Thread thread = new Thread() {
 
@@ -1267,7 +1267,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "Bug479115");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Bug479115/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
@@ -1309,8 +1309,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) {
 
 				response.addCookie(new Cookie("foo","baz"));
 				response.addDateHeader("X-date", date2);
@@ -1324,11 +1323,11 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
@@ -1384,8 +1383,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) {
 
 				response.addCookie(new Cookie("foo","baz"));
 				response.addDateHeader("X-date", date2);
@@ -1399,11 +1397,11 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s2/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
@@ -1460,7 +1458,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
@@ -1536,7 +1534,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
@@ -1587,7 +1585,7 @@
 			@Override
 			protected void doGet(
 				final HttpServletRequest req, final HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				String requestURI = req.getRequestURI();
 
@@ -1598,7 +1596,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "Bug497510");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Bug497510/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
@@ -1616,7 +1614,7 @@
 			@Override
 			protected void doGet(
 				final HttpServletRequest req, final HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				String requestURI = req.getRequestURI();
 
@@ -1627,7 +1625,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "Bug 497510");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Bug 497510/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/PreprocessorTestCase.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/PreprocessorTestCase.java
index 22a3683..e1642c8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/PreprocessorTestCase.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/PreprocessorTestCase.java
@@ -45,7 +45,7 @@
 public class PreprocessorTestCase extends BaseTest {
 
 	@Test
-	public void testPreprocessorInitParameters() throws Exception {
+	public void testPreprocessorInitParameters() {
 		Dictionary<String,Object> properties = new Hashtable<>();
 		properties
 				.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_PREPROCESSOR_INIT_PARAM_PREFIX
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java
index e820cef..1a8a322 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java
@@ -232,16 +232,16 @@
 	@Test
 	public void test_ErrorPage5() throws Exception {
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
 
-		Dictionary<String, Object> errorProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> errorProps = new Hashtable<>();
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E5.4xx");
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "4xx");
 		registrations.add(getBundleContext().registerService(Servlet.class, new ErrorServlet("4xx"), errorProps));
-		errorProps = new Hashtable<String, Object>();
+		errorProps = new Hashtable<>();
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E5.5xx");
 		errorProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "5xx");
 		registrations.add(getBundleContext().registerService(Servlet.class, new ErrorServlet("5xx"), errorProps));
@@ -269,7 +269,7 @@
 			@Override
 			protected void service(
 				HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				response.getWriter().write("Hello!");
 				response.setStatus(444);
@@ -277,11 +277,11 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E6");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestErrorPage6/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E6.error");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "444");
 		registrations.add(getBundleContext().registerService(Servlet.class, new ErrorServlet("444"), props));
@@ -309,7 +309,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				resp.setStatus(status);
 
@@ -325,11 +325,11 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E7");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestErrorPage7/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E7.error");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, String.valueOf(status));
 		registrations.add(getBundleContext().registerService(Servlet.class, new ErrorServlet(String.valueOf(status)), props));
@@ -350,18 +350,17 @@
 
 			@Override
 			protected void doGet(
-				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				HttpServletRequest req, HttpServletResponse resp) {
 
 				throw new RuntimeException();
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E8");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestErrorPage8/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E8.error");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, RuntimeException.class.getName());
 		registrations.add(getBundleContext().registerService(Servlet.class, new ErrorServlet("500"), props));
@@ -383,17 +382,17 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				throw new IOException();
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E9");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestErrorPage9/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E9.error");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, IOException.class.getName());
 		registrations.add(getBundleContext().registerService(Servlet.class, new ErrorServlet("500"), props));
@@ -408,14 +407,14 @@
 	}
 
 	@Test
-	public void test_ErrorPage10() throws Exception {
+	public void test_ErrorPage10() {
 		Servlet servlet = new HttpServlet() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				resp.getWriter().write("some output");
 				resp.flushBuffer();
@@ -424,7 +423,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E10");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestErrorPage10/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
@@ -442,21 +441,21 @@
 	}
 
 	@Test
-	public void test_ErrorPage11() throws Exception {
+	public void test_ErrorPage11() {
 		Servlet servlet = new HttpServlet() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				resp.sendError(403);
 				resp.getOutputStream().flush();
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "E10");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/TestErrorPage11/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
@@ -769,17 +768,17 @@
 		TestFilter testFilter2 = new TestFilter();
 		Servlet testServlet = new BaseServlet(expected);
 
-		Dictionary<String, String> props = new Hashtable<String, String>();
+		Dictionary<String, String> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/hello");
 		registrations.add(getBundleContext().registerService(Filter.class, testFilter1, props));
 
-		props = new Hashtable<String, String>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F2");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/hello/*");
 		registrations.add(getBundleContext().registerService(Filter.class, testFilter2, props));
 
-		props = new Hashtable<String, String>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/hello/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, testServlet, props));
 
@@ -797,8 +796,8 @@
 	}
 
 	public void basicFilterTest22( String servlet1Pattern, String servlet2Pattern, String filterPattern, String expected, String[] dispatchers ) throws Exception {
-		final AtomicReference<HttpServletRequestWrapper> httpServletRequestWrapper = new AtomicReference<HttpServletRequestWrapper>();
-		final AtomicReference<HttpServletResponseWrapper> httpServletResponseWrapper = new AtomicReference<HttpServletResponseWrapper>();
+		final AtomicReference<HttpServletRequestWrapper> httpServletRequestWrapper = new AtomicReference<>();
+		final AtomicReference<HttpServletResponseWrapper> httpServletResponseWrapper = new AtomicReference<>();
 
 		Servlet servlet1 = new BaseServlet() {
 			private static final long serialVersionUID = 1L;
@@ -849,15 +848,15 @@
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, servlet1Pattern);
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet1, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, servlet2Pattern);
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet2, props));
 
-		props = new Hashtable<String, Object>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "F22");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, dispatchers);
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, filterPattern);
@@ -974,9 +973,9 @@
 		TestFilter testFilter2 = new TestFilter();
 		Servlet testServlet = new BaseServlet(expected);
 
-		registrations.add(getBundleContext().registerService(Filter.class, testFilter1, new Hashtable<String, String>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/*"))));
-		registrations.add(getBundleContext().registerService(Filter.class, testFilter2, new Hashtable<String, String>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/hello/*"))));
-		registrations.add(getBundleContext().registerService(Servlet.class, testServlet, new Hashtable<String, String>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/"))));
+		registrations.add(getBundleContext().registerService(Filter.class, testFilter1, new Hashtable<>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/*"))));
+		registrations.add(getBundleContext().registerService(Filter.class, testFilter2, new Hashtable<>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/hello/*"))));
+		registrations.add(getBundleContext().registerService(Servlet.class, testServlet, new Hashtable<>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/"))));
 
 		String actual = requestAdvisor.request("hello_test/request");
 		Assert.assertEquals(expected, actual);
@@ -999,9 +998,9 @@
 		TestFilter testFilter1 = new TestFilter();
 		Servlet testServlet = new BaseServlet(expected);
 
-		ServiceRegistration<Filter> filterReg = getBundleContext().registerService(Filter.class, testFilter1, new Hashtable<String, String>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/hello/*")));
+		ServiceRegistration<Filter> filterReg = getBundleContext().registerService(Filter.class, testFilter1, new Hashtable<>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/hello/*")));
 		try {
-			registrations.add(getBundleContext().registerService(Servlet.class, testServlet, new Hashtable<String, String>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/hello/*"))));
+			registrations.add(getBundleContext().registerService(Servlet.class, testServlet, new Hashtable<>(Collections.singletonMap(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/hello/*"))));
 
 			String actual = requestAdvisor.request("hello/request");
 			Assert.assertEquals(expected, actual);
@@ -1261,7 +1260,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public void init(ServletConfig config) throws ServletException {
+			public void init(ServletConfig config) {
 				throw new IllegalStateException("Init error.");
 			}
 
@@ -1281,13 +1280,12 @@
 		Filter initError = new Filter() {
 
 			@Override
-			public void init(FilterConfig filterConfig) throws ServletException {
+			public void init(FilterConfig filterConfig) {
 				throw new IllegalStateException("Init error.");
 			}
 
 			@Override
-			public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
-					ServletException {
+			public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
 				// nothing
 			}
 
@@ -1316,8 +1314,7 @@
 			}
 
 			@Override
-			public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
-					ServletException {
+			public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
 				// nothing
 			}
 
@@ -1353,11 +1350,11 @@
 
 		};
 
-		Hashtable<String, String> props = new Hashtable<String, String>();
+		Hashtable<String, String> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, servletName);
 		registrations.add(getBundleContext().registerService(Servlet.class, namedServlet, props));
 
-		props = new Hashtable<String, String>();
+		props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 		registrations.add(getBundleContext().registerService(Servlet.class, targetServlet, props));
 
@@ -1372,7 +1369,7 @@
 		Filter tcclFilter = new Filter() {
 
 			@Override
-			public void init(FilterConfig filterConfig) throws ServletException {
+			public void init(FilterConfig filterConfig) {
 				filterTCCL.add(Thread.currentThread().getContextClassLoader().getClass().getName());
 			}
 
@@ -1405,8 +1402,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
-					IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				servletTCCL.add(Thread.currentThread().getContextClassLoader().getClass().getName());
 				response.getWriter().print(Thread.currentThread().getContextClassLoader().getClass().getName());
 			}
@@ -1477,8 +1473,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
-					IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				HttpSession session = request.getSession();
 				if (session.getAttribute("test.attribute") == null) {
 					session.setAttribute("test.attribute", bindingListener);
@@ -1492,14 +1487,14 @@
 		};
 		ServiceRegistration<Servlet> servletReg = null;
 		ServiceRegistration<HttpSessionListener> sessionListenerReg = null;
-		Dictionary<String, Object> servletProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/sessions");
 		String actual = null;
 		CookieHandler previous = CookieHandler.getDefault();
 		CookieHandler.setDefault(new CookieManager( null, CookiePolicy.ACCEPT_ALL ) );
 		try {
 			servletReg = getBundleContext().registerService(Servlet.class, sessionServlet, servletProps);
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			sessionListenerReg = getBundleContext().registerService(HttpSessionListener.class, sessionListener, listenerProps);
 
@@ -1551,14 +1546,13 @@
 
 	@Test
 	public void test_Sessions02() {
-		final AtomicReference<HttpSession> sessionReference = new AtomicReference<HttpSession>();
+		final AtomicReference<HttpSession> sessionReference = new AtomicReference<>();
 
 		HttpServlet sessionServlet = new HttpServlet() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
-					IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				HttpSession session = request.getSession();
 				sessionReference.set(session);
 				if (session.getAttribute("test.attribute") == null) {
@@ -1571,7 +1565,7 @@
 			}
 		};
 		ServiceRegistration<Servlet> servletReg = null;
-		Dictionary<String, Object> servletProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/sessions");
 		String actual = null;
 		CookieHandler previous = CookieHandler.getDefault();
@@ -1634,7 +1628,7 @@
 		};
 		final AtomicBoolean sessionCreated = new AtomicBoolean(false);
 		final AtomicBoolean sessionDestroyed = new AtomicBoolean(false);
-		final AtomicReference<String> sessionId = new AtomicReference<String>();
+		final AtomicReference<String> sessionId = new AtomicReference<>();
 		HttpSessionListener sessionListener = new HttpSessionListener() {
 
 			@Override
@@ -1651,8 +1645,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
-					IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				HttpSession session = request.getSession();
 				if (session.getAttribute("test.attribute") == null) {
 					session.setAttribute("test.attribute", bindingListener);
@@ -1667,14 +1660,14 @@
 		};
 		ServiceRegistration<Servlet> servletReg = null;
 		ServiceRegistration<HttpSessionListener> sessionListenerReg = null;
-		Dictionary<String, Object> servletProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/sessions");
 		String actual = null;
 		CookieHandler previous = CookieHandler.getDefault();
 		CookieHandler.setDefault(new CookieManager( null, CookiePolicy.ACCEPT_ALL ) );
 		try {
 			servletReg = getBundleContext().registerService(Servlet.class, sessionServlet, servletProps);
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			sessionListenerReg = getBundleContext().registerService(HttpSessionListener.class, sessionListener, listenerProps);
 
@@ -1769,8 +1762,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
-					IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				HttpSession session = request.getSession();
 				if (session.getAttribute("test.attribute") == null) {
 					session.setAttribute("test.attribute", bindingListener);
@@ -1784,13 +1776,13 @@
 		};
 		ServiceRegistration<Servlet> servletReg = null;
 		ServiceRegistration<HttpSessionListener> sessionListenerReg = null;
-		Dictionary<String, Object> servletProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/sessions");
 		String actual = null;
 
 		try {
 			servletReg = getBundleContext().registerService(Servlet.class, sessionServlet, servletProps);
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			sessionListenerReg = getBundleContext().registerService(HttpSessionListener.class, sessionListener, listenerProps);
 
@@ -1842,7 +1834,7 @@
 	}
 
 	@Test
-	public void test_Sessions05_Bug541607_MemoryLeak() throws Exception {
+	public void test_Sessions05_Bug541607_MemoryLeak() {
 		final List<String> sessionIds = new CopyOnWriteArrayList<>();
 		HttpSessionListener sessionListener = new HttpSessionListener() {
 
@@ -1860,8 +1852,7 @@
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
-					IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				HttpSession session = request.getSession();
 				response.getWriter().print("created " + session.getId());
 			}
@@ -1869,12 +1860,12 @@
 		};
 		ServiceRegistration<Servlet> servletReg = null;
 		ServiceRegistration<HttpSessionListener> sessionListenerReg = null;
-		Dictionary<String, Object> servletProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/sessions");
 
 		try {
 			servletReg = getBundleContext().registerService(Servlet.class, sessionServlet, servletProps);
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			sessionListenerReg = getBundleContext().registerService(HttpSessionListener.class, sessionListener, listenerProps);
 
@@ -2000,7 +1991,7 @@
 				return null;
 			}
 		};
-		Dictionary<String, Object> contextProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foo");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, customSCH, contextProps));
@@ -2032,7 +2023,7 @@
 				return null;
 			}
 		};
-		Dictionary<String, Object> contextProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foo");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, customSCH, contextProps));
@@ -2069,7 +2060,7 @@
 				return userAgent.contains("Foo") && contentType.startsWith("video/");
 			}
 		};
-		Dictionary<String, Object> contextProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foo");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, customSCH, contextProps));
@@ -2261,7 +2252,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				response.getWriter().write('a');
 			}
@@ -2273,7 +2264,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				response.getWriter().write('b');
 			}
@@ -2298,7 +2289,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 				writer.write(req.getQueryString());
@@ -2309,7 +2300,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S13");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet13/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
@@ -2326,7 +2317,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				response.getWriter().write('a');
 			}
@@ -2338,7 +2329,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				response.getWriter().write('b');
 			}
@@ -2393,13 +2384,13 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		props.put("equinox.http.multipartSupported", Boolean.TRUE);
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("resource1.txt")));
 
@@ -2422,12 +2413,12 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("resource1.txt")));
 
@@ -2467,14 +2458,14 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		props.put("equinox.http.multipartSupported", Boolean.TRUE);
 		props.put("equinox.http.whiteboard.servlet.multipart.location", "file-upload-test");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("resource1.txt")));
 
@@ -2515,7 +2506,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		props.put("equinox.http.multipartSupported", Boolean.TRUE);
@@ -2523,7 +2514,7 @@
 		props.put("equinox.http.whiteboard.servlet.multipart.fileSizeThreshold", 10);
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("resource1.txt")));
 
@@ -2546,7 +2537,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		props.put("equinox.http.multipartSupported", Boolean.TRUE);
@@ -2555,7 +2546,7 @@
 		props.put("equinox.http.whiteboard.servlet.multipart.maxFileSize", 24L);
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("resource1.txt")));
 
@@ -2577,7 +2568,7 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		props.put("equinox.http.multipartSupported", Boolean.TRUE);
@@ -2586,7 +2577,7 @@
 		props.put("equinox.http.whiteboard.servlet.multipart.maxRequestSize", 26L);
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("resource1.txt")));
 
@@ -2647,7 +2638,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 				// get a resource that is imported
 				URL url = request.getServletContext().getResource("org/osgi/service/http/HttpService.class");
 				response.getWriter().write(url == null ? "null" : url.getProtocol());
@@ -2672,7 +2663,7 @@
 
 			@Override
 			protected void doPost(HttpServletRequest req, HttpServletResponse resp)
-				throws IOException, ServletException {
+				throws IOException {
 
 				boolean isMultipart = ServletFileUpload.isMultipartContent(req);
 				Assert.assertTrue(isMultipart);
@@ -2710,12 +2701,12 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("file", Arrays.<Object>asList(getClass().getResource("blue.png")));
 
@@ -2732,7 +2723,7 @@
 
 			@Override
 			protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws ServletException, IOException {
+					throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 
@@ -2740,12 +2731,12 @@
 			}
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S16");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/Servlet16/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
 
-		Map<String, List<String>> map = new HashMap<String, List<String>>();
+		Map<String, List<String>> map = new HashMap<>();
 
 		Map<String, List<String>> result = requestAdvisor.request("Servlet16/NEEO-a5056097%2Fdevice%2Fapt-neeo_io%3Avirtual%3A6jzOoAtL%2FTemperature_GF_Living%2Fnone%2F1%2Fdirectory%2Factor/default", map);
 
@@ -2796,15 +2787,14 @@
 
 			@Override
 			protected void service(
-				HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				HttpServletRequest request, HttpServletResponse response) {
 
 				getServletContext().setAttribute("name", null);
 			}
 
 		};
 
-		Dictionary<String, Object> props = new Hashtable<String, Object>();
+		Dictionary<String, Object> props = new Hashtable<>();
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 		props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/S1/*");
 		registrations.add(getBundleContext().registerService(Servlet.class, servlet, props));
@@ -2818,17 +2808,17 @@
 
 	@Test
 	public void testServletContextUnsupportedOperations() {
-		final AtomicReference<ServletContext> contextHolder = new AtomicReference<ServletContext>();
+		final AtomicReference<ServletContext> contextHolder = new AtomicReference<>();
 		Servlet unsupportedServlet = new HttpServlet() {
 			private static final long serialVersionUID = 1L;
 			@Override
-			public void init(ServletConfig config) throws ServletException {
+			public void init(ServletConfig config) {
 				contextHolder.set(config.getServletContext());
 			}
 		};
 
 		ServiceRegistration<Servlet> servletReg = null;
-		Dictionary<String, Object> servletProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> servletProps = new Hashtable<>();
 		servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/sessions");
 		try {
 			servletReg = getBundleContext().registerService(Servlet.class, unsupportedServlet, servletProps);
@@ -2864,7 +2854,7 @@
 	}
 
 	static private List<Method> getUnsupportedMethods() {
-		List<Method> methods = new ArrayList<Method>();
+		List<Method> methods = new ArrayList<>();
 		Class<ServletContext> contextClass = ServletContext.class;
 		for(Method m : contextClass.getMethods()) {
 			String name = m.getName();
@@ -2876,32 +2866,32 @@
 	}
 
 	@Test
-	public void test_ServletContextHelper1() throws Exception {
+	public void test_ServletContextHelper1() {
 		BundleContext bundleContext = getBundleContext();
 		Bundle bundle = bundleContext.getBundle();
 
 		ServletContextHelper servletContextHelper = new ServletContextHelper(bundle){};
-		Dictionary<String, String> contextProps = new Hashtable<String, String>();
+		Dictionary<String, String> contextProps = new Hashtable<>();
 		registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
 		servletContextHelper = new ServletContextHelper(bundle){};
-		contextProps = new Hashtable<String, String>();
+		contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "test.sch.one");
 		registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
 		servletContextHelper = new ServletContextHelper(bundle){};
-		contextProps = new Hashtable<String, String>();
+		contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/test-sch2");
 		registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
 		servletContextHelper = new ServletContextHelper(bundle){};
-		contextProps = new Hashtable<String, String>();
+		contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "Test SCH 3!");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/test-sch3");
 		registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
 		servletContextHelper = new ServletContextHelper(bundle){};
-		contextProps = new Hashtable<String, String>();
+		contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "test.sch.four");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "test$sch$4");
 		registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
@@ -2932,14 +2922,14 @@
 		ServletContextHelper servletContextHelper = new ServletContextHelper(bundle){};
 		Servlet s1 = new BaseServlet("a");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> servletProps = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps = new Hashtable<>();
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1");
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -2965,14 +2955,14 @@
 		ServletContextHelper servletContextHelper = new ServletContextHelper(bundle){};
 		Servlet s1 = new BaseServlet("b");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> servletProps = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps = new Hashtable<>();
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1");
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -3001,19 +2991,19 @@
 		Servlet s1 = new BaseServlet(expected1);
 		Servlet s2 = new BaseServlet(expected2);
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			registrations.add(bundleContext.registerService(Servlet.class, s1, servletProps1));
 
-			Dictionary<String, String> servletProps2 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps2 = new Hashtable<>();
 			servletProps2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			servletProps2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -3045,7 +3035,7 @@
 		Servlet s1 = new BaseServlet(expected1);
 
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
 			// register a hook that hides the helper from the registering bundle
 			registrations.add(bundleContext.registerService(FindHook.class, new FindHook() {
@@ -3059,12 +3049,12 @@
 				}
 			}, null));
 
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> servletProps2 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps2 = new Hashtable<>();
 			servletProps2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			servletProps2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -3135,7 +3125,7 @@
 			@Override
 			protected void service(
 					HttpServletRequest request, HttpServletResponse response)
-				throws ServletException, IOException {
+				throws IOException {
 
 				StringBuilder builder = new StringBuilder();
 				builder.append(request.getServletContext().getInitParameter("a")).append(',');
@@ -3145,9 +3135,9 @@
 			}
 		};
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, Object> contextProps = new Hashtable<String, Object>();
+			Dictionary<String, Object> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_INIT_PARAM_PREFIX + "a", "a");
@@ -3155,7 +3145,7 @@
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_INIT_PARAM_PREFIX + "c", Integer.valueOf(1));
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -3190,7 +3180,7 @@
 		Filter f1 = new Filter() {
 
 			@Override
-			public void init(FilterConfig filterConfig) throws ServletException {
+			public void init(FilterConfig filterConfig) {
 			}
 
 			@Override
@@ -3210,25 +3200,25 @@
 		Servlet s1 = new HttpServlet() {
 			private static final long serialVersionUID = 1L;
 			@Override
-			public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
+			public void service(ServletRequest req, ServletResponse res) throws IOException {
 				res.getWriter().print(req.getAttribute(testName.getMethodName() + ".fromFilter"));
 			}
 
 		};
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> filterProps = new Hashtable<String, String>();
+			Dictionary<String, String> filterProps = new Hashtable<>();
 			filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/*");
 			filterProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			registrations.add(bundleContext.registerService(Filter.class, f1, filterProps));
 
-			Dictionary<String, String> servletProps = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps = new Hashtable<>();
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s1");
 			servletProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
@@ -3253,25 +3243,25 @@
 		ServletContextHelper servletContextHelperA = new ServletContextHelper(bundle){};
 		ServletContextHelper servletContextHelperB = new ServletContextHelper(bundle){};
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<File> fileA = new AtomicReference<File>();
+			final AtomicReference<File> fileA = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
 				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+					throws IOException {
 					fileA.set((File)getServletContext().getAttribute(ServletContext.TEMPDIR));
 					new File(fileA.get(), "test").createNewFile();
 				}
 			};
 
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelperA, contextProps));
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/SA");
@@ -3281,7 +3271,7 @@
 			Assert.assertNotNull(fileA.get());
 			Assert.assertTrue(new File(fileA.get(), "test").exists());
 
-			contextProps = new Hashtable<String, String>();
+			contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "b");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/b");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelperB, contextProps));
@@ -3311,9 +3301,9 @@
 
 		ServletContextHelper servletContextHelperA = new ServletContextHelper(bundle){};
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<String> path = new AtomicReference<String>();
+			final AtomicReference<String> path = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
@@ -3327,22 +3317,21 @@
 			Servlet servletB = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
-				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+				protected void service(HttpServletRequest req, HttpServletResponse resp) {
 					path.set((String)req.getAttribute(RequestDispatcher.INCLUDE_CONTEXT_PATH));
 				}
 			};
 
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelperA, contextProps));
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/SA");
 			registrations.add(getBundleContext().registerService(Servlet.class, servletA, props));
-			props = new Hashtable<String, Object>();
+			props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SB");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/SB");
@@ -3381,9 +3370,9 @@
 
 		ServletContextHelper servletContextHelperA = new ServletContextHelper(bundle){};
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<String> path = new AtomicReference<String>();
+			final AtomicReference<String> path = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
@@ -3397,22 +3386,21 @@
 			Servlet servletB = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
-				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+				protected void service(HttpServletRequest req, HttpServletResponse resp) {
 					path.set((String)req.getAttribute(RequestDispatcher.FORWARD_CONTEXT_PATH));
 				}
 			};
 
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelperA, contextProps));
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/SA");
 			registrations.add(getBundleContext().registerService(Servlet.class, servletA, props));
-			props = new Hashtable<String, Object>();
+			props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SB");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/SB");
@@ -3446,24 +3434,23 @@
 			startJetty();
 		}
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<String> getRequestURI = new AtomicReference<String>();
+			final AtomicReference<String> getRequestURI = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
-				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+				protected void service(HttpServletRequest req, HttpServletResponse resp) {
 					getRequestURI.set(req.getRequestURI());
 				}
 			};
 
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, new String[] {"/*", "/"});
 			registrations.add(getBundleContext().registerService(Servlet.class, servletA, props));
-			props = new Hashtable<String, Object>();
+			props = new Hashtable<>();
 
 			requestAdvisor.request("a/b/c/");
 
@@ -3501,26 +3488,25 @@
 			startJetty();
 		}
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<String> getRequestURI = new AtomicReference<String>();
+			final AtomicReference<String> getRequestURI = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
-				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+				protected void service(HttpServletRequest req, HttpServletResponse resp) {
 					HttpSession session = req.getSession();
 					session.setAttribute("test", req.getParameter("p1"));
 					getRequestURI.set(resp.encodeURL(req.getRequestURI()));
 				}
 			};
 
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/*");
 			registrations.add(getBundleContext().registerService(Servlet.class, servletA, props));
-			props = new Hashtable<String, Object>();
+			props = new Hashtable<>();
 
 			requestAdvisor.request("a/b/c/?p1=v1");
 			// get the session
@@ -3554,24 +3540,23 @@
 
 	@Test
 	public void test_getRequestURI_trailingSlash3() throws Exception {
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<String> getRequestURI = new AtomicReference<String>();
+			final AtomicReference<String> getRequestURI = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
-				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+				protected void service(HttpServletRequest req, HttpServletResponse resp) {
 					getRequestURI.set(req.getRequestURI());
 				}
 			};
 
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, new String[] {"/*", "/"});
 			registrations.add(getBundleContext().registerService(Servlet.class, servletA, props));
-			props = new Hashtable<String, Object>();
+			props = new Hashtable<>();
 
 			requestAdvisor.request("a/b/c/");
 			Assert.assertEquals("/a/b/c/", getRequestURI.get());
@@ -3593,26 +3578,25 @@
 
 	@Test
 	public void test_getRequestURI_trailingSlash4() throws Exception {
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			final AtomicReference<String> getRequestURI = new AtomicReference<String>();
+			final AtomicReference<String> getRequestURI = new AtomicReference<>();
 
 			Servlet servletA = new HttpServlet() {
 				private static final long serialVersionUID = 1L;
 				@Override
-				protected void service(HttpServletRequest req, HttpServletResponse resp)
-					throws IOException, ServletException {
+				protected void service(HttpServletRequest req, HttpServletResponse resp) {
 					HttpSession session = req.getSession();
 					session.setAttribute("test", req.getParameter("p1"));
 					getRequestURI.set(resp.encodeURL(req.getRequestURI()));
 				}
 			};
 
-			Dictionary<String, Object> props = new Hashtable<String, Object>();
+			Dictionary<String, Object> props = new Hashtable<>();
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "SA");
 			props.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/*");
 			registrations.add(getBundleContext().registerService(Servlet.class, servletA, props));
-			props = new Hashtable<String, Object>();
+			props = new Hashtable<>();
 
 			requestAdvisor.request("a/b/c/?p1=v1");
 			// get the session
@@ -3638,11 +3622,11 @@
 	}
 
 	@Test
-	public void test_Listener1() throws Exception {
+	public void test_Listener1() {
 		BaseServletContextListener scl1 =
 			new BaseServletContextListener();
 
-		Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+		Dictionary<String, String> listenerProps = new Hashtable<>();
 		listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		ServiceRegistration<ServletContextListener> registration = getBundleContext().registerService(ServletContextListener.class, scl1, listenerProps);
 		registration.unregister();
@@ -3653,21 +3637,21 @@
 	}
 
 	@Test
-	public void test_Listener2() throws Exception {
+	public void test_Listener2() {
 		BundleContext bundleContext = getBundleContext();
 		Bundle bundle = bundleContext.getBundle();
 
 		ServletContextHelper servletContextHelper = new ServletContextHelper(bundle){};
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
 			BaseServletContextListener scl1 =
 					new BaseServletContextListener();
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			ServiceRegistration<ServletContextListener> registration = getBundleContext().registerService(ServletContextListener.class, scl1, listenerProps);
@@ -3684,20 +3668,20 @@
 	}
 
 	@Test
-	public void test_Listener3() throws Exception {
+	public void test_Listener3() {
 		BundleContext bundleContext = getBundleContext();
 		Bundle bundle = bundleContext.getBundle();
 
 		ServletContextHelper servletContextHelper = new ServletContextHelper(bundle){};
 		BaseServletContextListener scl1 = new BaseServletContextListener();
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> contextProps = new Hashtable<String, String>();
+			Dictionary<String, String> contextProps = new Hashtable<>();
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 			contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 			registrations.add(bundleContext.registerService(ServletContextHelper.class, servletContextHelper, contextProps));
 
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(bundleContext.registerService(ServletContextListener.class, scl1, listenerProps));
@@ -3719,13 +3703,13 @@
 			new BaseServletContextAttributeListener();
 		Servlet s1 = new BaseServlet("a");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(ServletContextAttributeListener.class, scal1, listenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			registrations.add(getBundleContext().registerService(Servlet.class, s1, servletProps1));
@@ -3763,13 +3747,13 @@
 
 		Servlet s1 = new BaseServlet("a");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(ServletRequestListener.class, srl1, listenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			registrations.add(getBundleContext().registerService(Servlet.class, s1, servletProps1));
@@ -3793,13 +3777,13 @@
 
 		Servlet s1 = new BaseServlet("a");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(ServletRequestAttributeListener.class, sral1, listenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			registrations.add(getBundleContext().registerService(Servlet.class, s1, servletProps1));
@@ -3825,13 +3809,13 @@
 
 		Servlet s1 = new BaseServlet("test_Listener7");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(HttpSessionAttributeListener.class, hsal1, listenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			registrations.add(getBundleContext().registerService(Servlet.class, s1, servletProps1));
@@ -3857,7 +3841,7 @@
 				}
 			}
 
-			Map<String, List<String>> requestHeaders = new HashMap<String, List<String>>();
+			Map<String, List<String>> requestHeaders = new HashMap<>();
 			requestHeaders.put("Cookie", Arrays.asList(sessionId));
 
 			requestAdvisor.request("s", requestHeaders);
@@ -3885,13 +3869,13 @@
 
 		Servlet s1 = new BaseChangeSessionIdServlet("test_Listener8");
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(HttpSessionIdListener.class, hsil1, listenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S8");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			registrations.add(getBundleContext().registerService(Servlet.class, s1, servletProps1));
@@ -3928,7 +3912,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				PrintWriter writer = resp.getWriter();
 				writer.write("S9 included");
@@ -3937,13 +3921,13 @@
 
 		BaseServletRequestListener srl1 = new BaseServletRequestListener();
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> listenerProps = new Hashtable<>();
 			listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(ServletRequestListener.class, srl1, listenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S9A");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s9A");
 			registrations.add(getBundleContext().registerService(Servlet.class, sA, servletProps1));
@@ -3966,25 +3950,25 @@
 	}
 
 	@Test
-	public void test_Listener10() throws Exception {
+	public void test_Listener10() {
 		BaseServletContextListener scl1 = new BaseServletContextListener();
 		BaseServletContextListener scl2 = new BaseServletContextListener();
 		BaseServletContextListener scl3 = new BaseServletContextListener();
 
-		Dictionary<String, String> listenerProps = new Hashtable<String, String>();
+		Dictionary<String, String> listenerProps = new Hashtable<>();
 		listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		registrations.add(getBundleContext().registerService(ServletContextListener.class, scl1, listenerProps));
 
-		listenerProps = new Hashtable<String, String>();
+		listenerProps = new Hashtable<>();
 		listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		registrations.add(getBundleContext().registerService(ServletContextListener.class, scl2, listenerProps));
 
-		Dictionary<String, String> contextProps = new Hashtable<String, String>();
+		Dictionary<String, String> contextProps = new Hashtable<>();
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		contextProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(getBundleContext().registerService(ServletContextHelper.class, new ServletContextHelper(){}, contextProps));
 
-		listenerProps = new Hashtable<String, String>();
+		listenerProps = new Hashtable<>();
 		listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		listenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=a)");
 		registrations.add(getBundleContext().registerService(ServletContextListener.class, scl3, listenerProps));
@@ -4019,7 +4003,7 @@
 	public void test_Listener11() throws Exception {
 
 		final AtomicInteger listenerBalance = new AtomicInteger(0);
-		final AtomicReference<HttpSession> sessionReference = new AtomicReference<HttpSession>();
+		final AtomicReference<HttpSession> sessionReference = new AtomicReference<>();
 
 		ServletContextListener scl = new ServletContextListener() {
 
@@ -4051,7 +4035,7 @@
 			@Override
 			protected void doGet(
 				HttpServletRequest req, HttpServletResponse resp)
-				throws ServletException, IOException {
+				throws IOException {
 
 				HttpSession session = req.getSession();
 				sessionReference.set(session);
@@ -4062,17 +4046,17 @@
 			}
 		};
 
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> scListenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> scListenerProps = new Hashtable<>();
 			scListenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(ServletContextListener.class, scl, scListenerProps));
 
-			Dictionary<String, String> sListenerProps = new Hashtable<String, String>();
+			Dictionary<String, String> sListenerProps = new Hashtable<>();
 			sListenerProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 			registrations.add(getBundleContext().registerService(HttpSessionListener.class, sl, sListenerProps));
 
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S11");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s11");
 			registrations.add(getBundleContext().registerService(Servlet.class, sA, servletProps1));
@@ -4099,9 +4083,9 @@
 	public void test_Async1() throws Exception {
 
 		Servlet s1 = new BaseAsyncServlet("test_Listener8");
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, Object> servletProps1 = new Hashtable<String, Object>();
+			Dictionary<String, Object> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S1");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, true);
@@ -4121,9 +4105,9 @@
 	@Test
 	public void test_AsyncOutput1() throws Exception {
 		Servlet s1 = new AsyncOutputServlet();
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, Object> servletProps1 = new Hashtable<String, Object>();
+			Dictionary<String, Object> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "AsyncOutputServlet");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/asyncOutput");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, true);
@@ -4173,9 +4157,9 @@
 
 	@Test
 	public void test_BufferedOutput() throws Exception {
-		Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+		Collection<ServiceRegistration<?>> registrations = new ArrayList<>();
 		try {
-			Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+			Dictionary<String, String> servletProps1 = new Hashtable<>();
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S9");
 			servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s9");
 			registrations.add(getBundleContext().registerService(Servlet.class, new BufferedServlet(), servletProps1));
@@ -4196,14 +4180,14 @@
 	@Test
 	public void testWBServletChangeInitParams() throws Exception{
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
 
 			String actual;
 
-			Map<String, String> params = new HashMap<String, String>();
+			Map<String, String> params = new HashMap<>();
 			params.put(TEST_PROTOTYPE_NAME, testName.getMethodName());
 			params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
 			params.put(STATUS_PARAM, testName.getMethodName());
@@ -4222,14 +4206,14 @@
 	@Test
 	public void testWBServletChangePattern() throws Exception{
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
 
 		String actual;
 
-		Map<String, String> params = new HashMap<String, String>();
+		Map<String, String> params = new HashMap<>();
 		params.put(TEST_PROTOTYPE_NAME, testName.getMethodName());
 		params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
 		params.put(STATUS_PARAM, testName.getMethodName());
@@ -4248,7 +4232,7 @@
 	@Test
 	public void testWBServletChangeRanking() throws Exception{
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
@@ -4256,7 +4240,7 @@
 		String actual;
 
 		// Configure two servlets with the second one registered ranking higher
-		Map<String, String> params1 = new HashMap<String, String>();
+		Map<String, String> params1 = new HashMap<>();
 		params1.put(TEST_PROTOTYPE_NAME, testName.getMethodName() + 1);
 		params1.put(Constants.SERVICE_RANKING, "1");
 		params1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
@@ -4264,7 +4248,7 @@
 		actual = doRequest(CONFIGURE, params1);
 		Assert.assertEquals(testName.getMethodName() + 1, actual);
 
-		Map<String, String> params2 = new HashMap<String, String>();
+		Map<String, String> params2 = new HashMap<>();
 		params2.put(TEST_PROTOTYPE_NAME, testName.getMethodName() + 2);
 		params2.put(Constants.SERVICE_RANKING, "2");
 		params2.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
@@ -4294,12 +4278,12 @@
 	@Test
 	public void testWBServletDefaultContextAdaptor1() throws Exception{
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
 
-		Dictionary<String, String> helperProps = new Hashtable<String, String>();
+		Dictionary<String, String> helperProps = new Hashtable<>();
 		helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "testContext" + testName.getMethodName());
 		helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/testContext");
 		helperProps.put(TEST_PATH_CUSTOMIZER_NAME, testName.getMethodName());
@@ -4307,7 +4291,7 @@
 
 		ServiceRegistration<ContextPathCustomizer> pathAdaptorReg = null;
 		try {
-			Map<String, String> params = new HashMap<String, String>();
+			Map<String, String> params = new HashMap<>();
 			params.put(TEST_PROTOTYPE_NAME, testName.getMethodName());
 			params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
 			params.put(STATUS_PARAM, testName.getMethodName());
@@ -4341,12 +4325,12 @@
 	@Test
 	public void testWBServletDefaultContextAdaptor2() throws Exception{
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
 
-		Dictionary<String, String> helperProps = new Hashtable<String, String>();
+		Dictionary<String, String> helperProps = new Hashtable<>();
 		helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "testContext" + testName.getMethodName());
 		helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/testContext");
 		helperProps.put(TEST_PATH_CUSTOMIZER_NAME, testName.getMethodName());
@@ -4354,7 +4338,7 @@
 
 		ServiceRegistration<ContextPathCustomizer> pathAdaptorReg = null;
 		try {
-			Map<String, String> params = new HashMap<String, String>();
+			Map<String, String> params = new HashMap<>();
 			params.put(TEST_PROTOTYPE_NAME, testName.getMethodName());
 			params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
 			params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + "testContext" + testName.getMethodName() + ")");
@@ -4389,13 +4373,13 @@
 	@Test
 	public void testWBServletDefaultContextAdaptor3() throws Exception{
 		BundleContext bundleContext = getBundleContext();
-		Dictionary<String, Object> serviceProps = new Hashtable<String, Object>();
+		Dictionary<String, Object> serviceProps = new Hashtable<>();
 		serviceProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/prototype/*");
 		TestServletPrototype testDriver = new TestServletPrototype(bundleContext);
 		registrations.add(bundleContext.registerService(Servlet.class, testDriver, serviceProps));
 
 		// test the ContextPathCustomizer with a ServletContextHelper that has a '/' context path
-		Dictionary<String, String> helperProps = new Hashtable<String, String>();
+		Dictionary<String, String> helperProps = new Hashtable<>();
 		helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "testContext" + testName.getMethodName());
 		helperProps.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/");
 		helperProps.put(TEST_PATH_CUSTOMIZER_NAME, testName.getMethodName());
@@ -4403,7 +4387,7 @@
 
 		ServiceRegistration<ContextPathCustomizer> pathAdaptorReg = null;
 		try {
-			Map<String, String> params = new HashMap<String, String>();
+			Map<String, String> params = new HashMap<>();
 			params.put(TEST_PROTOTYPE_NAME, testName.getMethodName());
 			params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, '/' + testName.getMethodName());
 			params.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + "testContext" + testName.getMethodName() + ")");
@@ -4442,7 +4426,7 @@
 		HttpContext testContext = new HttpContext() {
 
 			@Override
-			public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException {
+			public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) {
 				request.setAttribute(HttpContext.REMOTE_USER, "TEST");
 				request.setAttribute(HttpContext.AUTHENTICATION_TYPE, "Basic");
 				return true;
@@ -4463,7 +4447,7 @@
 
 			@Override
 			protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-					throws ServletException, IOException {
+					throws IOException {
 				resp.setContentType("text/html");
 				PrintWriter out = resp.getWriter();
 				out.print("USER: " + req.getRemoteUser() + " AUTH_TYPE: " + req.getAuthType());
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndErrorPage.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndErrorPage.java
index 1a550fa..2e0f499 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndErrorPage.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndErrorPage.java
@@ -40,7 +40,7 @@
 		try {
 			final String name1 = "testname1";
 			final String name2 = "testname2";
-			Dictionary<String,Object> properties = new Hashtable<String,Object>();
+			Dictionary<String,Object> properties = new Hashtable<>();
 			properties.put(
 					HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE,
 					name1);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndNamedServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndNamedServlet.java
index ade206f..5251ec7 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndNamedServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestHttpServiceAndNamedServlet.java
@@ -40,7 +40,7 @@
 		try {
 			final String name1 = "testname1";
 			final String name2 = "testname2";
-			Dictionary<String,Object> properties = new Hashtable<String,Object>();
+			Dictionary<String,Object> properties = new Hashtable<>();
 			properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME,
 					name1);
 			properties.put(
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestUpload.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestUpload.java
index ed5804b..ef53744 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestUpload.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/TestUpload.java
@@ -57,9 +57,8 @@
 	}
 
 	private void setupUploadServlet(final CountDownLatch receivedLatch,
-			final Map<String,Long> contents)
-			throws Exception {
-		final Dictionary<String,Object> servletProps = new Hashtable<String,Object>();
+			final Map<String,Long> contents) {
+		final Dictionary<String,Object> servletProps = new Hashtable<>();
 		servletProps.put(HTTP_WHITEBOARD_SERVLET_PATTERN, "/post");
 		servletProps.put(HTTP_WHITEBOARD_SERVLET_MULTIPART_ENABLED,
 				Boolean.TRUE);
@@ -91,7 +90,7 @@
 	}
 
 	private void postContent(final URL resource, final int expectedRT) throws IOException {
-		Map<String, List<Object>> map = new HashMap<String, List<Object>>();
+		Map<String, List<Object>> map = new HashMap<>();
 
 		map.put("method", Arrays.<Object>asList("POST"));
 		map.put("text.txt", Arrays.<Object>asList(resource));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_11_3.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_11_3.java
index 1322555..5920ec8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_11_3.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_11_3.java
@@ -35,7 +35,7 @@
 	public static final String	CAPABILITY_OBJECTCLASS_ATTRIBUTE	= "objectClass";
 
 	@Test
-	public void test_140_11_3() throws Exception {
+	public void test_140_11_3() {
 		BundleContext context = getBundleContext();
 
 		ServiceReference<HttpServiceRuntime> srA = context.getServiceReference(HttpServiceRuntime.class);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_17to22.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_17to22.java
index ab18025..ea13b96 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_17to22.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_17to22.java
@@ -37,7 +37,7 @@
 public class Test_140_2_17to22 extends BaseTest {
 
 	@Test
-	public void test_140_2_17to22() throws Exception {
+	public void test_140_2_17to22() {
 		final BundleContext context = getBundleContext();
 
 		FindHook findHook = new FindHook() {
@@ -65,9 +65,9 @@
 
 		registrations.add(context.registerService(FindHook.class, findHook, null));
 
-		AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+		AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		ServiceRegistration<ServletContextListener> serviceRegistration = context.registerService(ServletContextListener.class, new MockSCL(sc1), properties);
 		registrations.add(serviceRegistration);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_26to27.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_26to27.java
index a57e750..36331a8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_26to27.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_26to27.java
@@ -37,27 +37,27 @@
 
 	@SuppressWarnings("serial")
 	@Test
-	public void test_140_2_26to27() throws Exception {
+	public void test_140_2_26to27() {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foo");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo");
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foobar");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo");
 		properties.put(Constants.SERVICE_RANKING, Integer.valueOf(Integer.MAX_VALUE));
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=foo)");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "first");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/bar/someServlet");
 		registrations.add(context.registerService(Servlet.class, new HttpServlet() {}, properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=foobar)");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "second");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/bar/someServlet");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_39to41.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_39to41.java
index 4fe6f6b..ef323f2 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_39to41.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_39to41.java
@@ -32,15 +32,15 @@
 public class Test_140_2_39to41 extends BaseTest {
 
 	@Test
-	public void test_140_2_39to41() throws Exception {
+	public void test_140_2_39to41() {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foo");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo");
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "foo");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/foo/bar");
 		properties.put(Constants.SERVICE_RANKING, Integer.valueOf(1000));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_6_getResourcePaths.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_6_getResourcePaths.java
index b089403..3d6cc2a 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_6_getResourcePaths.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_2_6_getResourcePaths.java
@@ -36,7 +36,7 @@
 public class Test_140_2_6_getResourcePaths extends BaseTest {
 
 	@Test
-	public void test_140_2_6_getResourcePaths() throws Exception {
+	public void test_140_2_6_getResourcePaths() {
 		BundleContext context = getBundleContext();
 
 		final AtomicBoolean invoked = new AtomicBoolean(false);
@@ -52,14 +52,14 @@
 
 		};
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "context1");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/context1");
 		registrations.add(context.registerService(ServletContextHelper.class, servletContextHelper, properties));
 
-		AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+		AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=context1)");
 		registrations.add(context.registerService(ServletContextListener.class, new MockSCL(sc1), properties));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_11to13.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_11to13.java
index d396846..0660e0b 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_11to13.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_11to13.java
@@ -24,7 +24,6 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -48,7 +47,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				invoked.set(true);
 
@@ -62,7 +61,7 @@
 
 		};
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "");
 		registrations.add(context.registerService(Servlet.class, servlet, properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_14to15.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_14to15.java
index 1316e18..2726da5 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_14to15.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_14to15.java
@@ -24,7 +24,6 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -48,7 +47,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				invoked.set(true);
 
@@ -62,7 +61,7 @@
 
 		};
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/");
 		registrations.add(context.registerService(Servlet.class, servlet, properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_16.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_16.java
index a9ac513..151e9df 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_16.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_16.java
@@ -24,7 +24,6 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -47,7 +46,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				invoked.set(true);
 
@@ -61,7 +60,7 @@
 
 		};
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, new String[] {"/a", "/fee/fi/foo/fum"});
 		registrations.add(context.registerService(Servlet.class, servlet, properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_17to22.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_17to22.java
index bd5139c..4a94a73 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_17to22.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_17to22.java
@@ -22,7 +22,6 @@
 import java.util.Hashtable;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -48,7 +47,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				response.getWriter().write(content);
 			}
@@ -57,7 +56,7 @@
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		ServiceRegistration<Servlet> srA = getBundleContext().registerService(Servlet.class, new AServlet("a"), properties);
@@ -65,7 +64,7 @@
 
 		assertEquals("a", requestAdvisor.request("a"));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "b");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		ServiceRegistration<Servlet> srB = getBundleContext().registerService(Servlet.class, new AServlet("b"), properties);
@@ -83,7 +82,7 @@
 				getServiceId(srB),
 				failedServletDTO.serviceId);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "c");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		properties.put(Constants.SERVICE_RANKING, 1000);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_1_22to23.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_1_22to23.java
index 9fcdaa9..3e9daee 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_1_22to23.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_1_22to23.java
@@ -44,7 +44,7 @@
 		class AServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				response.sendError(HttpServletResponse.SC_BAD_GATEWAY, "a");
 			}
 
@@ -54,19 +54,19 @@
 		class BServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {
 				invoked.set(true);
 				throw new ServletException();
 			}
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		registrations.add(getBundleContext().registerService(Servlet.class, new AServlet(), properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "b");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, HttpServletResponse.SC_BAD_GATEWAY + "");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/b");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_26to31.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_26to31.java
index 2fe58e9..74ee6c9 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_26to31.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_26to31.java
@@ -23,7 +23,6 @@
 import java.util.Hashtable;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -52,7 +51,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				response.getWriter().write(content);
 			}
@@ -61,7 +60,7 @@
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		//properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=org_eclipse_equinox_http_servlet_internal_HttpServiceImpl_DefaultHttpContext-0)");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_42to44.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_42to44.java
index d56aa73..27e7c73 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_42to44.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_42to44.java
@@ -60,13 +60,13 @@
 		class BServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				response.getWriter().write("failed");
 			}
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		registrations.add(getBundleContext().registerService(Servlet.class, new AServlet(), properties));
@@ -80,7 +80,7 @@
 		// init failed, no servlet
 		assertEquals("404", response.get("responseCode").get(0));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		registrations.add(getBundleContext().registerService(Servlet.class, new BServlet(), properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_9.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_9.java
index 3b9dce6..a89cada 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_9.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_4_9.java
@@ -23,7 +23,6 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -46,7 +45,7 @@
 
 			@Override
 			protected void service(HttpServletRequest request, HttpServletResponse response)
-					throws ServletException, IOException {
+					throws IOException {
 
 				invoked.set(true);
 
@@ -55,7 +54,7 @@
 
 		};
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/*");
 		registrations.add(context.registerService(Servlet.class, servlet, properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_1.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_1.java
index a89c91e..8dc15b9 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_1.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_1.java
@@ -40,11 +40,11 @@
 	public void test_140_6_1() throws Exception {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/*");
 		registrations.add(context.registerService(Servlet.class, new MockServlet().content("b"), properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN, "/*");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX, "/org/eclipse/equinox/http/servlet/tests");
 		ServiceRegistration<Object> sr = context.registerService(Object.class, new Object(), properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_20to21_commonProperties.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_20to21_commonProperties.java
index ee473cf..25b543d 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_20to21_commonProperties.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_6_20to21_commonProperties.java
@@ -36,7 +36,7 @@
 	public void test_140_6_20to21_commonProperties() throws Exception {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN, "/other.txt");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX, "/org/eclipse/equinox/http/servlet/tests/index.txt");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=foo)");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_7_validation.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_7_validation.java
index ea71d84..6ad7379 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_7_validation.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_7_validation.java
@@ -38,10 +38,10 @@
 public class Test_140_7_validation extends BaseTest {
 
 	@Test
-	public void test_140_7_validation() throws Exception {
+	public void test_140_7_validation() {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		ServiceRegistration<?> sr = context.registerService(
 				ServletContextListener.class, new MockSCL(new AtomicReference<ServletContext>()), properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_custom_listener.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_custom_listener.java
index aaeefc5..f8d8d13 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_custom_listener.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_custom_listener.java
@@ -36,9 +36,9 @@
 public class Test_140_9_ServletContextDTO_custom_listener extends BaseTest {
 
 	@Test
-	public void test_140_9_ServletContextDTO_custom_listener() throws Exception {
+	public void test_140_9_ServletContextDTO_custom_listener() {
 		BundleContext context = getBundleContext();
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/a");
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
@@ -46,9 +46,9 @@
 		ServletContextDTO servletContextDTO = getServletContextDTOByName("a");
 		assertNotNull(servletContextDTO);
 
-		AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+		AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=a)");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		ServiceRegistration<?> sr = context.registerService(ServletContextListener.class, new MockSCL(sc1), properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_default_listener.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_default_listener.java
index d039ba4..c1bb49c 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_default_listener.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_140_9_ServletContextDTO_default_listener.java
@@ -35,14 +35,14 @@
 public class Test_140_9_ServletContextDTO_default_listener extends BaseTest {
 
 	@Test
-	public void test_140_9_ServletContextDTO_default_listener() throws Exception {
+	public void test_140_9_ServletContextDTO_default_listener() {
 		BundleContext context = getBundleContext();
 		ServletContextDTO servletContextDTO = getServletContextDTOByName(DEFAULT);
 		assertNotNull(servletContextDTO);
 
-		AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+		AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		ServiceRegistration<?> sr = context.registerService(ServletContextListener.class, new MockSCL(sc1), properties);
 		registrations.add(sr);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect.java
index b9a011f..7437927 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect.java
@@ -33,18 +33,18 @@
 public class Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect extends BaseTest {
 
 	@Test
-	public void test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect() throws Exception {
+	public void test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_bindUsingContextSelect() {
 		BundleContext context = getBundleContext();
 		String contextName = "context1";
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, contextName);
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/context1");
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
 
-		AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+		AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, "(osgi.http.whiteboard.context.name=" + contextName + ")");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		registrations.add(context.registerService(ServletContextListener.class, new MockSCL(sc1), properties));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest.java
index 1e3a637..99494b8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest.java
@@ -34,25 +34,25 @@
 public class Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest extends BaseTest {
 
 	@Test
-	public void test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest() throws Exception {
+	public void test_table_140_1_HTTP_WHITEBOARD_CONTEXT_NAME_tieGoesToOldest() {
 		BundleContext context = getBundleContext();
 		String contextPath = "/context1";
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, DEFAULT);
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, contextPath);
 		properties.put(Constants.SERVICE_RANKING, Integer.valueOf(1000));
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, DEFAULT);
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, "/otherContext");
 		properties.put(Constants.SERVICE_RANKING, Integer.valueOf(1000));
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
 
-		AtomicReference<ServletContext> sc1 = new AtomicReference<ServletContext>();
+		AtomicReference<ServletContext> sc1 = new AtomicReference<>();
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, "true");
 		registrations.add(context.registerService(ServletContextListener.class, new MockSCL(sc1), properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type.java
index 8ad80a5..fd566da 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type.java
@@ -33,10 +33,10 @@
 public class Test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type extends BaseTest {
 
 	@Test
-	public void test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type() throws Exception {
+	public void test_table_140_1_HTTP_WHITEBOARD_CONTEXT_PATH_type() {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, "context");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, Boolean.FALSE);
 		registrations.add(context.registerService(ServletContextHelper.class, new ServletContextHelper() {}, properties));
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED.java
index 0308440..7dba5e3 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED.java
@@ -19,7 +19,6 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -54,7 +53,7 @@
 			final ExecutorService	executor	= Executors.newCachedThreadPool();
 
 			@Override
-			protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+			protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
 				doGetAsync(req.startAsync());
 			}
 
@@ -79,7 +78,7 @@
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, "true");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
@@ -97,7 +96,7 @@
 		assertTrue(invoked.get());
 		invoked.set(false);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, "false");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "b");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/b");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED_validate.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED_validate.java
index 62c6d72..fadc77f 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED_validate.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED_validate.java
@@ -34,10 +34,10 @@
 
 	@SuppressWarnings("serial")
 	@Test
-	public void test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED_validate() throws Exception {
+	public void test_table_140_4_HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED_validate() {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, "blah");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		registrations.add(context.registerService(Servlet.class, new HttpServlet() {}, properties));
@@ -48,7 +48,7 @@
 		assertNotNull(requestInfoDTO.servletDTO);
 		assertFalse(requestInfoDTO.servletDTO.asyncSupported);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, "true");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/b");
 		registrations.add(context.registerService(Servlet.class, new HttpServlet() {}, properties));
@@ -59,7 +59,7 @@
 		assertNotNull(requestInfoDTO.servletDTO);
 		assertTrue(requestInfoDTO.servletDTO.asyncSupported);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, "false");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/c");
 		registrations.add(context.registerService(Servlet.class, new HttpServlet() {}, properties));
@@ -70,7 +70,7 @@
 		assertNotNull(requestInfoDTO.servletDTO);
 		assertFalse(requestInfoDTO.servletDTO.asyncSupported);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ASYNC_SUPPORTED, 234l);
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/d");
 		registrations.add(context.registerService(Servlet.class, new HttpServlet() {}, properties));
@@ -81,7 +81,7 @@
 		assertNotNull(requestInfoDTO.servletDTO);
 		assertFalse(requestInfoDTO.servletDTO.asyncSupported);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/e");
 		registrations.add(context.registerService(Servlet.class, new HttpServlet() {}, properties));
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_4xx.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_4xx.java
index a5f81b9..ee06956 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_4xx.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_4xx.java
@@ -29,7 +29,6 @@
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -56,7 +55,7 @@
 		class AServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				response.sendError(HttpServletResponse.SC_FORBIDDEN, "a");
 			}
 
@@ -66,7 +65,7 @@
 		class BServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				invoked.set(true);
 				String message = (String) request.getAttribute(RequestDispatcher.ERROR_MESSAGE);
 				response.getWriter().write((message == null) ? "" : message);
@@ -74,13 +73,13 @@
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		registrations.add(context.registerService(Servlet.class, new AServlet(), properties));
 
 		// Register the 4xx (b)
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "b");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "4xx");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/b");
@@ -98,7 +97,7 @@
 		assertEquals(HttpServletResponse.SC_FORBIDDEN + "", response.get("responseCode").get(0));
 
 		// register a 4xx which will be shadowed (c)
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "c");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "4xx");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/c");
@@ -109,7 +108,7 @@
 		assertEquals(DTOConstants.FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE, failedErrorPageDTO.failureReason);
 
 		// register a specific 404 which shouldn't shadow 4xx (b)
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "d");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "404");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/d");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_exception.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_exception.java
index fb825e1..a901dbd 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_exception.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_4_HTTP_WHITEBOARD_SERVLET_ERROR_PAGE_exception.java
@@ -56,7 +56,7 @@
 		class AServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException {
 				throw new AException();
 			}
 
@@ -66,7 +66,7 @@
 		class BServlet extends HttpServlet {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				invoked.set(true);
 				String exception = (String) request.getAttribute(RequestDispatcher.ERROR_EXCEPTION_TYPE);
 				response.getWriter().write((exception == null) ? "" : exception);
@@ -74,12 +74,12 @@
 
 		}
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		registrations.add(context.registerService(Servlet.class, new AServlet(), properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "b");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, ServletException.class.getName());
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/error");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_error.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_error.java
index ab253f1..f7cb382 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_error.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_error.java
@@ -25,7 +25,6 @@
 
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -45,7 +44,7 @@
 	public void test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_error() throws Exception {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, "ERROR");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_SERVLET, "a");
@@ -57,7 +56,7 @@
 		assertEquals(1, filterDTO.dispatcher.length);
 		assertEquals("ERROR", filterDTO.dispatcher[0]);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_ERROR_PAGE, "4xx");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
@@ -73,13 +72,13 @@
 		MockServlet mockServlet = new MockServlet() {
 
 			@Override
-			protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+			protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 				response.sendError(HttpServletResponse.SC_NOT_FOUND);
 			}
 
 		};
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "b");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/b");
 		ServiceRegistration<?> srC = context.registerService(Servlet.class, mockServlet, properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_request.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_request.java
index 19f922b..23ccec7 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_request.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_request.java
@@ -39,13 +39,13 @@
 	public void test_table_140_5_HTTP_WHITEBOARD_FILTER_DISPATCHER_request() throws Exception {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/a");
 		ServiceRegistration<?> srA = context.registerService(Filter.class, new MockFilter().around("b"), properties);
 		registrations.add(srA);
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/a");
 		ServiceRegistration<?> srB = context.registerService(Servlet.class, new MockServlet().content("a"), properties);
@@ -61,7 +61,7 @@
 
 		assertEquals("bab", requestAdvisor.request("a"));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER, "REQUEST");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/a");
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_PATTERN.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_PATTERN.java
index bd2d918..9f5d76d 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_PATTERN.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_PATTERN.java
@@ -41,12 +41,12 @@
 	public void test_table_140_5_HTTP_WHITEBOARD_FILTER_PATTERN() throws Exception {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, new String[] {"", "/"});
 		registrations.add(context.registerService(Servlet.class, new MockServlet().content("a"), properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN, "/**");
 		ServiceRegistration<?> sr = context.registerService(Filter.class, new MockFilter().around("b"), properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_REGEX.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_REGEX.java
index d2d89dd..f91f12d 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_REGEX.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_5_HTTP_WHITEBOARD_FILTER_REGEX.java
@@ -43,12 +43,12 @@
 	public void test_table_140_5_HTTP_WHITEBOARD_FILTER_REGEX() throws Exception {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, new String[] {"", "/"});
 		registrations.add(context.registerService(Servlet.class, new MockServlet().content("a"), properties));
 
-		properties = new Hashtable<String, Object>();
+		properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME, "a");
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_REGEX, "**");
 		ServiceRegistration<?> sr = context.registerService(Filter.class, new MockFilter().around("b"), properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation.java
index 9aab343..9bd6bc4 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/Test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation.java
@@ -33,10 +33,10 @@
 public class Test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation extends BaseTest {
 
 	@Test
-	public void test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation() throws Exception {
+	public void test_table_140_6_HTTP_WHITEBOARD_RESOURCE_validation() {
 		BundleContext context = getBundleContext();
 
-		Dictionary<String, Object> properties = new Hashtable<String, Object>();
+		Dictionary<String, Object> properties = new Hashtable<>();
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN, 34l);
 		properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX, "/org/eclipse/equinox/http/servlet/tests");
 		ServiceRegistration<Object> sr = context.registerService(Object.class, new Object(), properties);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/bundle/BundleInstaller.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/bundle/BundleInstaller.java
index 4cb8147..60604b6 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/bundle/BundleInstaller.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/bundle/BundleInstaller.java
@@ -15,15 +15,12 @@
 package org.eclipse.equinox.http.servlet.tests.bundle;
 
 import java.io.IOException;
-
 import java.net.URL;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
 import org.eclipse.osgi.service.urlconversion.URLConverter;
-
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
@@ -33,13 +30,13 @@
 public class BundleInstaller {
 	private BundleContext context;
 	private String rootLocation;
-	private HashMap<String, Bundle> bundles = new HashMap<String, Bundle>();
+	private HashMap<String, Bundle> bundles = new HashMap<>();
 	private ServiceTracker<Object, Object> converter;
 
 	public BundleInstaller(String bundlesRoot, BundleContext context) throws InvalidSyntaxException {
 		this.context = context;
 		rootLocation = bundlesRoot;
-		converter = new ServiceTracker<Object, Object>(context, context.createFilter("(&(objectClass=" + URLConverter.class.getName() + ")(protocol=bundleentry))"), null);
+		converter = new ServiceTracker<>(context, context.createFilter("(&(objectClass=" + URLConverter.class.getName() + ")(protocol=bundleentry))"), null);
 		converter.open();
 	}
 
@@ -143,7 +140,7 @@
 		if (bundles == null) {
 			return null;
 		}
-		ArrayList<Bundle> result = new ArrayList<Bundle>(bundles.size());
+		ArrayList<Bundle> result = new ArrayList<>(bundles.size());
 		for (Object element : bundles.values()) {
 			Bundle bundle = (Bundle) element;
 			try {
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/AsyncOutputServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/AsyncOutputServlet.java
index 3586572..691cac5 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/AsyncOutputServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/AsyncOutputServlet.java
@@ -16,7 +16,6 @@
 import java.io.IOException;
 
 import javax.servlet.AsyncContext;
-import javax.servlet.ServletException;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.WriteListener;
 import javax.servlet.http.HttpServlet;
@@ -28,7 +27,7 @@
 	private static final long serialVersionUID = 1L;
 
 	@Override
-	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
 		resp.setStatus(HttpServletResponse.SC_OK);
 		resp.setContentType("text/plain");
 		resp.setBufferSize(16);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseAsyncServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseAsyncServlet.java
index b51ce36..2874648 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseAsyncServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseAsyncServlet.java
@@ -16,12 +16,10 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 
 import javax.servlet.AsyncContext;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -44,8 +42,7 @@
 
 	@Override
 	protected void service(
-			HttpServletRequest request, HttpServletResponse response)
-		throws ServletException, IOException {
+			HttpServletRequest request, HttpServletResponse response) {
 
 		AsyncContext asyncContext = request.startAsync(request, response);
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseChangeSessionIdServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseChangeSessionIdServlet.java
index 1cbceff..f9ca47e 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseChangeSessionIdServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseChangeSessionIdServlet.java
@@ -16,7 +16,6 @@
 
 import java.io.IOException;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -31,7 +30,7 @@
 	@Override
 	protected void service(
 			HttpServletRequest request, HttpServletResponse response)
-		throws ServletException, IOException {
+		throws IOException {
 
 		request.getSession(true);
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseHttpContext.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseHttpContext.java
index 251262c..848f1a8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseHttpContext.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseHttpContext.java
@@ -14,8 +14,6 @@
 
 package org.eclipse.equinox.http.servlet.tests.util;
 
-import java.io.IOException;
-
 import java.net.URL;
 
 import javax.servlet.http.HttpServletRequest;
@@ -38,7 +36,7 @@
 
 	@Override
 	public boolean handleSecurity(HttpServletRequest request,
-			HttpServletResponse response) throws IOException {
+			HttpServletResponse response) {
 		return handleSecurity;
 	}
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseServlet.java
index 2b13c1d..495a41e 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BaseServlet.java
@@ -39,6 +39,7 @@
 		this.content = content;
 	}
 
+	@SuppressWarnings("unused")
 	@Override
 	protected void service(
 			HttpServletRequest request, HttpServletResponse response)
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java
index e3548c1..472c24c 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java
@@ -17,7 +17,6 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -30,7 +29,7 @@
 	@Override
 	protected void service(
 			HttpServletRequest request, HttpServletResponse response)
-		throws ServletException, IOException {
+		throws IOException {
 
 		response.setContentType( "text/html" );
 		response.setBufferSize(value.length);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/DispatchResultServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/DispatchResultServlet.java
index 1005e85..a45b51e 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/DispatchResultServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/DispatchResultServlet.java
@@ -19,7 +19,6 @@
 
 import javax.servlet.DispatcherType;
 import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -30,7 +29,7 @@
 	@Override
 	protected void service(
 		HttpServletRequest request, HttpServletResponse response)
-		throws ServletException, IOException {
+		throws IOException {
 
 		StringWriter writer = new StringWriter();
 
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/EventHandler.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/EventHandler.java
index f81701c..54d607f 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/EventHandler.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/EventHandler.java
@@ -43,7 +43,7 @@
 
 				// Ref: https://html.spec.whatwg.org/multipage/comms.html#server-sent-events
 
-				Map<String, String> eventMap = new HashMap<String, String>();
+				Map<String, String> eventMap = new HashMap<>();
 
 				BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
 
@@ -54,7 +54,7 @@
 						if (current.length() == 0) {
 							handle(eventMap);
 
-							eventMap = new HashMap<String, String>();
+							eventMap = new HashMap<>();
 
 							continue;
 						}
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/MockFilter.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/MockFilter.java
index 30a3a4a..4655fb8 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/MockFilter.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/MockFilter.java
@@ -43,7 +43,7 @@
 	}
 
 	@Override
-	public void init(FilterConfig config) throws ServletException {
+	public void init(FilterConfig config) {
 	}
 
 	public MockFilter after(String after) {
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/ServletRequestAdvisor.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/ServletRequestAdvisor.java
index 776e469..453ad66 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/ServletRequestAdvisor.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/ServletRequestAdvisor.java
@@ -222,7 +222,7 @@
 
 		int responseCode = connection.getResponseCode();
 
-		Map<String, List<String>> map = new HashMap<String, List<String>>(connection.getHeaderFields());
+		Map<String, List<String>> map = new HashMap<>(connection.getHeaderFields());
 		map.put("responseCode", Collections.singletonList(String.valueOf(responseCode)));
 
 		InputStream stream;
@@ -265,7 +265,7 @@
 
 		int responseCode = connection.getResponseCode();
 
-		Map<String, List<String>> map = new HashMap<String, List<String>>(connection.getHeaderFields());
+		Map<String, List<String>> map = new HashMap<>(connection.getHeaderFields());
 		map.put("responseCode", Collections.singletonList(String.valueOf(responseCode)));
 
 		InputStream stream;
@@ -321,7 +321,7 @@
 
 		int responseCode = connection.getResponseCode();
 
-		Map<String, List<String>> map = new HashMap<String, List<String>>(connection.getHeaderFields());
+		Map<String, List<String>> map = new HashMap<>(connection.getHeaderFields());
 		map.put("responseCode", Collections.singletonList(String.valueOf(responseCode)));
 
 		InputStream stream;
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestServletPrototype.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestServletPrototype.java
index bc537b3..86c0e57 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestServletPrototype.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestServletPrototype.java
@@ -24,7 +24,6 @@
 import java.util.concurrent.atomic.AtomicReference;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -41,16 +40,16 @@
 	private static final long serialVersionUID = 1L;
 
 	final BundleContext context;
-	final AtomicReference<String> lastGetName = new AtomicReference<String>();
-	final AtomicReference<String> lastUngetName = new AtomicReference<String>();
-	final ConcurrentMap<String, Factory> factories = new ConcurrentHashMap<String, Factory>();
+	final AtomicReference<String> lastGetName = new AtomicReference<>();
+	final AtomicReference<String> lastUngetName = new AtomicReference<>();
+	final ConcurrentMap<String, Factory> factories = new ConcurrentHashMap<>();
 
 	public TestServletPrototype(BundleContext context) {
 		this.context = context;
 	}
 
 	@Override
-	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+	protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
 		PrintWriter writer = response.getWriter();
 
 		try {
@@ -62,7 +61,7 @@
 	}
 
 	class Factory implements PrototypeServiceFactory<Servlet> {
-		final AtomicReference<ServiceRegistration<Servlet>> registration = new AtomicReference<ServiceRegistration<Servlet>>();
+		final AtomicReference<ServiceRegistration<Servlet>> registration = new AtomicReference<>();
 		@Override
 		public Servlet getService(Bundle bundle, ServiceRegistration<Servlet> registration) {
 			String name = (String) registration.getReference().getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME);
@@ -97,7 +96,7 @@
 
 	}
 
-	protected void handleDoGet(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) throws IOException {
 		String pathInfo = request.getPathInfo();
 		if ("/lastGet".equals(pathInfo)) {
 			writer.print(lastGetName.getAndSet(null));
@@ -124,7 +123,7 @@
 
 	private static void configure(Factory factory, HttpServletRequest request) {
 		// copy existing properties
-		Hashtable<String, Object> serviceProps = new Hashtable<String, Object>();
+		Hashtable<String, Object> serviceProps = new Hashtable<>();
 
 		// Update ranking
 		String serviceRanking = request.getParameter(Constants.SERVICE_RANKING);
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestWBServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestWBServlet.java
index fdff254..6967002 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestWBServlet.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/TestWBServlet.java
@@ -18,7 +18,6 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -27,16 +26,16 @@
 	private static final long serialVersionUID = 1L;
 	public static final String STATUS_PARAM = "status";
 	
-	private final AtomicReference<String> status = new AtomicReference<String>("none");
+	private final AtomicReference<String> status = new AtomicReference<>("none");
 	private final AtomicBoolean destroyed = new AtomicBoolean(false);
 
 	@Override
-	public void init() throws ServletException {
+	public void init() {
 		status.set(getServletConfig().getInitParameter(STATUS_PARAM));
 	}
 
 	@Override
-	protected final void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+	protected final void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
 		PrintWriter writer = response.getWriter();
 		try {
 			handleDoGet(request, writer);
@@ -45,7 +44,7 @@
 		}
 	}
 
-	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) throws ServletException, IOException {
+	protected void handleDoGet(HttpServletRequest request, PrintWriter writer) {
 		if (destroyed.get()) {
 			writer.print("destroyed");
 		} else {