Bug 558963 - Run Whitespace removal cleanup batch operation on Equinox
bundles

Change-Id: I349e141aac1259d952661b543e01449e6eb7dd47
Signed-off-by: Thomas Watson <tjwatson@us.ibm.com>
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java
index 9035c2b..3d2e564 100644
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java
+++ b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/core/launcher/Main.java
@@ -19,13 +19,13 @@
  * <p>
  * <b>Note:</b> This class should not be referenced programmatically by
  * other Java code. This class exists only for the purpose of launching Eclipse
- * from the command line. To launch Eclipse programmatically, use 
+ * from the command line. To launch Eclipse programmatically, use
  * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods
  * on this class are not API.
  * @noextend This class is not intended to be subclassed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
  * @noreference This class is not intended to be referenced by clients.
- * 
+ *
  * @deprecated
  *
  * This API is planned to be deleted, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=544262
@@ -36,7 +36,7 @@
 
 	/**
 	 * Pass our args along to the real Main class.
-	 * 
+	 *
 	 * @param args the given arguments
 	 * @noreference This method is not intended to be referenced by clients.
 	 */
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java
index 1a0a79d..805a538 100644
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java
+++ b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java
@@ -3,11 +3,11 @@
  *
  * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at 
+ * which accompanies this distribution, and is available at
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Andrew Niefer - IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java
index c06d8e0..9eba8fd 100644
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java
+++ b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/JNIBridge.java
@@ -3,11 +3,11 @@
  *
  * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at 
+ * which accompanies this distribution, and is available at
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rapicorp, Inc - Default the configuration to Application Support (bug 461725)
@@ -17,7 +17,7 @@
 /**
  * <b>Note:</b> This class should not be referenced programmatically by
  * other Java code. This class exists only for the purpose of interacting with
- * a native launcher. To launch Eclipse programmatically, use 
+ * a native launcher. To launch Eclipse programmatically, use
  * org.eclipse.core.runtime.adaptor.EclipseStarter. This class is not API.
  *
  * @noextend This class is not intended to be subclassed by clients.
@@ -48,7 +48,7 @@
 
 	/**
 	 * @noreference This constructor is not intended to be referenced by clients.
-	 * 
+	 *
 	 * @param library the given library
 	 */
 	public JNIBridge(String library) {
@@ -155,10 +155,10 @@
 	}
 
 	/**
-	 * Whether or not we loaded the shared library here from java.  
+	 * Whether or not we loaded the shared library here from java.
 	 * False does not imply the library is not available, it could have
 	 * been loaded natively by the executable.
-	 * 
+	 *
 	 * @return boolean
 	 */
 	boolean isLibraryLoadedByJava() {
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
index 456943a..1445719 100644
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
+++ b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java
@@ -33,13 +33,13 @@
 
 /**
  * The launcher for Eclipse.
- * 
+ *
  * <b>Note:</b> This class should not be referenced programmatically by
  * other Java code. This class exists only for the purpose of launching Eclipse
- * from the command line. To launch Eclipse programmatically, use 
+ * from the command line. To launch Eclipse programmatically, use
  * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods
  * on this class are not API.
- * 
+ *
  * @noextend This class is not intended to be subclassed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
@@ -172,7 +172,7 @@
 	private static final String STARTER = "org.eclipse.core.runtime.adaptor.EclipseStarter"; //$NON-NLS-1$
 	private static final String PLATFORM_URL = "platform:/base/"; //$NON-NLS-1$
 	private static final String ECLIPSE_PROPERTIES = "eclipse.properties"; //$NON-NLS-1$
-	private static final String FILE_SCHEME = "file:"; //$NON-NLS-1$    
+	private static final String FILE_SCHEME = "file:"; //$NON-NLS-1$
 	protected static final String REFERENCE_SCHEME = "reference:"; //$NON-NLS-1$
 	protected static final String JAR_SCHEME = "jar:"; //$NON-NLS-1$
 
@@ -208,7 +208,7 @@
 	private static final String PROP_FRAMEWORK_PARENT_CLASSLOADER = "osgi.frameworkParentClassloader"; //$NON-NLS-1$
 	private static final String PROP_NL = "osgi.nl"; //$NON-NLS-1$
 	static final String PROP_NOSHUTDOWN = "osgi.noShutdown"; //$NON-NLS-1$
-	private static final String PROP_DEBUG = "osgi.debug"; //$NON-NLS-1$	
+	private static final String PROP_DEBUG = "osgi.debug"; //$NON-NLS-1$
 	private static final String PROP_OS = "osgi.os"; //$NON-NLS-1$
 	private static final String PROP_WS = "osgi.ws"; //$NON-NLS-1$
 	private static final String PROP_ARCH = "osgi.arch"; //$NON-NLS-1$
@@ -265,7 +265,7 @@
 
 	/**
 	 * A structured form for a version identifier.
-	 * 
+	 *
 	 * @see "http://www.oracle.com/technetwork/java/javase/versioning-naming-139433.html for information on valid version strings"
 	 * @see "http://openjdk.java.net/jeps/223 for information on the JavaSE-9 version JEP 223"
 	 */
@@ -301,13 +301,13 @@
 					service = Integer.parseInt(tokenizer.nextToken());
 			} catch (NumberFormatException nfe) {
 				// ignore the minor and service qualifiers in that case and default to 0
-				// this will allow us to tolerate other non-conventional version numbers 
+				// this will allow us to tolerate other non-conventional version numbers
 			}
 		}
 
 		/**
 		 * Returns true if this id is considered to be greater than or equal to the given baseline.
-		 * e.g. 
+		 * e.g.
 		 * 1.2.9 >= 1.3.1 -> false
 		 * 1.3.0 >= 1.3.1 -> false
 		 * 1.3.1 >= 1.3.1 -> true
@@ -545,7 +545,7 @@
 
 	/**
 	 * Executes the launch.
-	 * 
+	 *
 	 * @param args command-line arguments
 	 * @exception Exception thrown if a problem occurs during the launch
 	 */
@@ -567,7 +567,7 @@
 		}
 		// need to ensure that getInstallLocation is called at least once to initialize the value.
 		// Do this AFTER processing the configuration to allow the configuration to set
-		// the install location.  
+		// the install location.
 		getInstallLocation();
 
 		// locate boot plugin (may return -dev mode variations)
@@ -576,7 +576,7 @@
 		//Set up the JNI bridge.  We need to know the install location to find the shared library
 		setupJNI(bootPath);
 
-		//ensure minimum Java version, do this after JNI is set up so that we can write an error message 
+		//ensure minimum Java version, do this after JNI is set up so that we can write an error message
 		//with exitdata if we fail.
 		if (!checkVersion(System.getProperty("java.version"), System.getProperty(PROP_REQUIRED_JAVA_VERSION))) //$NON-NLS-1$
 			return;
@@ -667,11 +667,11 @@
 	}
 
 	/**
-	 * Checks whether the given available version is greater or equal to the 
+	 * Checks whether the given available version is greater or equal to the
 	 * given required version.
 	 * <p>Will set PROP_EXITCODE/PROP_EXITDATA accordingly if check fails.</p>
-	 *   
-	 * @return a boolean indicating whether the checking passed 
+	 *
+	 * @return a boolean indicating whether the checking passed
 	 */
 	private boolean checkVersion(String availableVersion, String requiredVersion) {
 		if (requiredVersion == null || availableVersion == null)
@@ -681,7 +681,7 @@
 			Identifier available = new Identifier(availableVersion);
 			boolean compatible = available.isGreaterEqualTo(required);
 			if (!compatible) {
-				// any non-zero value should do it - 14 used to be used for version incompatibility in Eclipse 2.1 
+				// any non-zero value should do it - 14 used to be used for version incompatibility in Eclipse 2.1
 				System.setProperty(PROP_EXITCODE, "14"); //$NON-NLS-1$
 				System.setProperty(PROP_EXITDATA, "<title>Incompatible JVM</title>Version " + availableVersion + " of the JVM is not suitable for this product. Version: " + requiredVersion + " or greater is required."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			}
@@ -700,9 +700,9 @@
 	 * If the system property "osgi.configuration.area.readOnly" is set
 	 * the check always succeeds.
 	 * <p>Will set PROP_EXITCODE/PROP_EXITDATA accordingly if check fails.</p>
-	 * 
+	 *
 	 * @param locationUrl  configuration area URL, may be <code>null</code>
-	 * @return a boolean indicating whether the checking passed 
+	 * @return a boolean indicating whether the checking passed
 	 */
 	private boolean checkConfigurationLocation(URL locationUrl) {
 		if (locationUrl == null || !"file".equals(locationUrl.getProtocol())) //$NON-NLS-1$
@@ -738,7 +738,7 @@
 	 */
 	protected String decode(String urlString) {
 		try {
-			//first encode '+' characters, because URLDecoder incorrectly converts 
+			//first encode '+' characters, because URLDecoder incorrectly converts
 			//them to spaces on certain class library implementations.
 			if (urlString.indexOf('+') >= 0) {
 				int len = urlString.length();
@@ -760,7 +760,7 @@
 
 	/**
 	 * Returns the result of converting a list of comma-separated tokens into an array
-	 * 
+	 *
 	 * @return the array of string tokens
 	 * @param prop the initial comma-separated string
 	 */
@@ -781,7 +781,7 @@
 	/**
 	 * Returns the <code>URL</code>-based class path describing where the boot classes
 	 * are located when running in development mode.
-	 * 
+	 *
 	 * @return the url-based class path
 	 * @param base the base location
 	 * @exception MalformedURLException if a problem occurs computing the class path
@@ -961,7 +961,7 @@
 
 	/**
 	 * Returns the <code>URL</code>-based class path describing where the boot classes are located.
-	 * 
+	 *
 	 * @return the url-based class path
 	 * @param base the base location
 	 * @exception MalformedURLException if a problem occurs computing the class path
@@ -1000,7 +1000,7 @@
 	/**
 	 * Searches for the given target directory starting in the "plugins" subdirectory
 	 * of the given location.
-	 * 
+	 *
 	 * @return the location where target directory was found, <code>null</code> otherwise
 	 * @param start the location to begin searching
 	 */
@@ -1102,7 +1102,7 @@
 	}
 
 	/**
-	 * Compares version strings. 
+	 * Compares version strings.
 	 * @return result of comparison, as integer;
 	 * <code><0</code> if left < right;
 	 * <code>0</code> if left == right;
@@ -1192,7 +1192,7 @@
 	/**
 	 * Resolve the given file against  osgi.install.area.
 	 * If osgi.install.area is not set, or the file is not relative, then
-	 * the file is returned as is. 
+	 * the file is returned as is.
 	 */
 	private static File resolveFile(File toAdjust) {
 		if (!toAdjust.isAbsolute()) {
@@ -1219,7 +1219,7 @@
 		URL result = null;
 		String location = System.getProperty(property);
 		System.clearProperty(property);
-		// if the instance location is not set, predict where the workspace will be and 
+		// if the instance location is not set, predict where the workspace will be and
 		// put the instance area inside the workspace meta area.
 		try {
 			if (location == null)
@@ -1256,18 +1256,18 @@
 		return value + source.substring(var.length());
 	}
 
-	/** 
+	/**
 	 * Retuns the default file system path for the configuration location.
 	 * By default the configuration information is in the installation directory
 	 * if this is writeable.  Otherwise it is located somewhere in the user.home
-	 * area relative to the current product. 
+	 * area relative to the current product.
 	 * @return the default file system path for the configuration information
 	 */
 	private String computeDefaultConfigurationLocation() {
 		// 1) We store the config state relative to the 'eclipse' directory if possible
-		// 2) If this directory is read-only 
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
+		// 2) If this directory is read-only
+		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home>
+		//    is unique for each local user, and <application-id> is the one
 		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
 		//    exist, use "eclipse" as the application-id.
 
@@ -1298,8 +1298,8 @@
 	 *   product and the given appendage
 	 */
 	private String computeDefaultUserAreaLocation(String pathAppendage) {
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
+		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home>
+		//    is unique for each local user, and <application-id> is the one
 		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
 		//    exist, use "eclipse" as the application-id.
 		URL installURL = getInstallLocation();
@@ -1332,7 +1332,7 @@
 					appVersion = ""; //$NON-NLS-1$
 				appName += File.separator + appId + "_" + appVersion + "_" + installDirHash; //$NON-NLS-1$ //$NON-NLS-2$
 			} catch (IOException e) {
-				// Do nothing if we get an exception.  We will default to a standard location 
+				// Do nothing if we get an exception.  We will default to a standard location
 				// in the user's home dir.
 				// add the hash to help prevent collisions
 				appName += File.separator + installDirHash;
@@ -1389,7 +1389,7 @@
 
 	/**
 	 * Runs this launcher with the arguments specified in the given string.
-	 * 
+	 *
 	 * @param argString the arguments string
 	 */
 	public static void main(String argString) {
@@ -1410,7 +1410,7 @@
 	 * Clients wishing to run the platform without a following <code>System.exit</code>
 	 * call should use <code>run()</code>.
 	 * </p>
-	 * 
+	 *
 	 * @param args the command line arguments
 	 * @see #run(String[])
 	 */
@@ -1452,8 +1452,8 @@
 				result = 17;
 			}
 		} catch (Throwable e) {
-			// only log the exceptions if they have not been caught by the 
-			// EclipseStarter (i.e., if the exitCode is not 13) 
+			// only log the exceptions if they have not been caught by the
+			// EclipseStarter (i.e., if the exitCode is not 13)
 			if (!"13".equals(System.getProperty(PROP_EXITCODE))) { //$NON-NLS-1$
 				log("Exception launching the Eclipse Platform:"); //$NON-NLS-1$
 				log(e);
@@ -1502,7 +1502,7 @@
 	 * consume the arguments and leave them to be processed by Eclipse proper.
 	 * There are a few args which are directed towards main() and a few others
 	 * which we need to know about. Very few should actually be consumed here.
-	 * 
+	 *
 	 * @return the arguments to pass through to the launched application
 	 * @param args the command line arguments
 	 */
@@ -1547,7 +1547,7 @@
 			}
 
 			// check if development mode should be enabled for the entire platform
-			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
+			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
 			// simply enable development mode.  Otherwise, assume that that the following arg is
 			// actually some additional development time class path entries.  This will be processed below.
 			if (args[i].equalsIgnoreCase(DEV) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
@@ -1577,7 +1577,7 @@
 				}
 			}
 
-			// done checking for args.  Remember where an arg was found 
+			// done checking for args.  Remember where an arg was found
 			if (found) {
 				configArgs[configArgIndex++] = i;
 				continue;
@@ -1604,7 +1604,7 @@
 				continue;
 			String arg = args[++i];
 
-			// look for the development mode and class path entries.  
+			// look for the development mode and class path entries.
 			if (args[i - 1].equalsIgnoreCase(DEV)) {
 				inDevelopmentMode = true;
 				devClassPathProps = processDevArg(arg);
@@ -1624,7 +1624,7 @@
 
 			if (args[i - 1].equalsIgnoreCase(OS)) {
 				os = arg;
-				// passed thru this arg 
+				// passed thru this arg
 				continue;
 			}
 
@@ -1639,16 +1639,16 @@
 			}
 
 			// look for explicitly set install root
-			// Consume the arg here to ensure that the launcher and Eclipse get the 
-			// same value as each other.  
+			// Consume the arg here to ensure that the launcher and Eclipse get the
+			// same value as each other.
 			if (args[i - 1].equalsIgnoreCase(INSTALL)) {
 				System.setProperty(PROP_INSTALL_AREA, arg);
 				found = true;
 			}
 
-			// look for the configuration to use.  
-			// Consume the arg here to ensure that the launcher and Eclipse get the 
-			// same value as each other.  
+			// look for the configuration to use.
+			// Consume the arg here to ensure that the launcher and Eclipse get the
+			// same value as each other.
 			if (args[i - 1].equalsIgnoreCase(CONFIGURATION)) {
 				System.setProperty(PROP_CONFIG_AREA, arg);
 				found = true;
@@ -1665,7 +1665,7 @@
 				found = true;
 			}
 
-			// look for the startup jar used 
+			// look for the startup jar used
 			if (args[i - 1].equalsIgnoreCase(STARTUP)) {
 				//not doing anything with this right now, but still consume it
 				//startup = arg;
@@ -1703,7 +1703,7 @@
 				found = true;
 			}
 
-			// done checking for args.  Remember where an arg was found 
+			// done checking for args.  Remember where an arg was found
 			if (found) {
 				configArgs[configArgIndex++] = i - 1;
 				configArgs[configArgIndex++] = i;
@@ -1759,7 +1759,7 @@
 		// if the configuration area is not already defined, discover the config area by
 		// trying to find a base config area.  This is either defined in a system property or
 		// is computed relative to the install location.
-		// Note that the config info read here is only used to determine a value 
+		// Note that the config info read here is only used to determine a value
 		// for the user configuration area
 		URL baseConfigurationLocation = null;
 		Properties baseConfiguration = null;
@@ -1781,7 +1781,7 @@
 				}
 			baseConfiguration = loadConfiguration(baseConfigurationLocation);
 			if (baseConfiguration != null) {
-				// if the base sets the install area then use that value if the property.  We know the 
+				// if the base sets the install area then use that value if the property.  We know the
 				// property is not already set.
 				String location = baseConfiguration.getProperty(PROP_CONFIG_AREA);
 				if (location != null)
@@ -1797,11 +1797,11 @@
 
 		// Now we know where the base configuration is supposed to be.  Go ahead and load
 		// it and merge into the System properties.  Then, if cascaded, read the parent configuration.
-		// Note that in a cascaded situation, the user configuration may be ignored if the parent 
-		// configuration has changed since the user configuration has been written. 
-		// Note that the parent may or may not be the same parent as we read above since the 
+		// Note that in a cascaded situation, the user configuration may be ignored if the parent
+		// configuration has changed since the user configuration has been written.
+		// Note that the parent may or may not be the same parent as we read above since the
 		// base can define its parent.  The first parent we read was either defined by the user
-		// on the command line or was the one in the install dir.  
+		// on the command line or was the one in the install dir.
 		// if the config or parent we are about to read is the same as the base config we read above,
 		// just reuse the base
 		Properties configuration = baseConfiguration;
@@ -1826,8 +1826,8 @@
 			if (sharedConfigURL != null) {
 				if (sharedConfigURL.equals(getConfigurationLocation())) {
 					//After all we are not in a shared configuration setup.
-					// - remove the property to show that we do not have a parent 
-					// - merge configuration with the system properties 
+					// - remove the property to show that we do not have a parent
+					// - merge configuration with the system properties
 					System.clearProperty(PROP_SHARED_CONFIG_AREA);
 					mergeWithSystemProperties(configuration, null);
 				} else {
@@ -1905,7 +1905,7 @@
 	/**
 	 * Ensures the value for a system property is an absolute URL. Relative URLs are translated to
 	 * absolute URLs by taking the install URL as reference.
-	 *   
+	 *
 	 * @param locationProperty the key for a system property containing a URL
 	 */
 	private void ensureAbsolute(String locationProperty) {
@@ -1978,7 +1978,7 @@
 		path = file.toString().replace('\\', '/');
 		// TODO need a better test for windows
 		// If on Windows then canonicalize the drive letter to be lowercase.
-		// remember that there may be UNC paths 
+		// remember that there may be UNC paths
 		if (File.separatorChar == '\\')
 			if (Character.isUpperCase(path.charAt(0))) {
 				char[] chars = path.toCharArray();
@@ -1987,20 +1987,20 @@
 			}
 		if (path.toLowerCase().endsWith(".jar")) //$NON-NLS-1$
 			path = path.substring(0, path.lastIndexOf('/') + 1);
-		if (path.toLowerCase().endsWith("/plugins/")) //$NON-NLS-1$ 
+		if (path.toLowerCase().endsWith("/plugins/")) //$NON-NLS-1$
 			path = path.substring(0, path.length() - "/plugins/".length()); //$NON-NLS-1$
 		try {
 			try {
-				// create a file URL (via File) to normalize the form (e.g., put 
+				// create a file URL (via File) to normalize the form (e.g., put
 				// the leading / on if necessary)
 				path = new File(path).toURL().getFile();
 			} catch (MalformedURLException e1) {
-				// will never happen.  The path is straight from a URL.  
+				// will never happen.  The path is straight from a URL.
 			}
 			installLocation = new URL(result.getProtocol(), result.getHost(), result.getPort(), path);
 			System.setProperty(PROP_INSTALL_AREA, installLocation.toExternalForm());
 		} catch (MalformedURLException e) {
-			// TODO Very unlikely case.  log here.  
+			// TODO Very unlikely case.  log here.
 		}
 		if (debug)
 			System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
@@ -2054,7 +2054,7 @@
 	}
 
 	/*
-	 * Load the configuration  
+	 * Load the configuration
 	 */
 	private Properties load(URL url, String suffix) throws IOException {
 		// figure out what we will be loading
@@ -2083,22 +2083,22 @@
 	/*
 	 * Handle splash screen.
 	 *  The splash screen is displayed natively.  Whether or not the splash screen
-	 *  was displayed by the launcher, we invoke JNIBridge.showSplash() and the 
+	 *  was displayed by the launcher, we invoke JNIBridge.showSplash() and the
 	 *  native code handles the case of the splash screen already existing.
-	 * 
+	 *
 	 * The -showsplash argument may indicate the bitmap used by the native launcher,
 	 * or the bitmap location may be extracted from the config.ini
-	 * 
+	 *
 	 * We pass a handler (Runnable) to the platform which is called as a result of the
-	 * launched application calling Platform.endSplash(). This handle calls 
+	 * launched application calling Platform.endSplash(). This handle calls
 	 * JNIBridge.takeDownSplash and the native code will close the splash screen.
-	 * 
+	 *
 	 * The -endsplash argument is longer used and has the same result as -nosplash
-	 * 
+	 *
 	 * @param defaultPath search path for the boot plugin
 	 */
 	private void handleSplash(URL[] defaultPath) {
-		// run without splash if we are initializing or nosplash 
+		// run without splash if we are initializing or nosplash
 		// was specified (splashdown = true)
 		if (initialize || splashDown || bridge == null) {
 			showSplash = false;
@@ -2107,7 +2107,7 @@
 		}
 
 		if (showSplash || endSplash != null) {
-			// Register the endSplashHandler to be run at VM shutdown. This hook will be 
+			// Register the endSplashHandler to be run at VM shutdown. This hook will be
 			// removed once the splash screen has been taken down.
 			try {
 				Runtime.getRuntime().addShutdownHook(splashHandler);
@@ -2147,7 +2147,7 @@
 	}
 
 	/*
-	 * Take down the splash screen. 
+	 * Take down the splash screen.
 	 */
 	protected void takeDownSplash() {
 		if (splashDown || bridge == null) // splash is already down
@@ -2242,7 +2242,7 @@
 	}
 
 	/*
-	 * Look for the specified spash file in the given JAR and extract it to the config 
+	 * Look for the specified spash file in the given JAR and extract it to the config
 	 * area for caching purposes.
 	 */
 	private String extractFromJAR(String jarPath, String jarEntry) {
@@ -2312,9 +2312,9 @@
 
 	/*
 	 * Build an array of path suffixes based on the given NL which is suitable
-	 * for splash path searching.  The returned array contains paths in order 
-	 * from most specific to most generic. So, in the FR_fr locale, it will return 
-	 * "nl/fr/FR/splash.bmp", then "nl/fr/splash.bmp", and finally "splash.bmp". 
+	 * for splash path searching.  The returned array contains paths in order
+	 * from most specific to most generic. So, in the FR_fr locale, it will return
+	 * "nl/fr/FR/splash.bmp", then "nl/fr/splash.bmp", and finally "splash.bmp".
 	 * (we always search the root)
 	 */
 	private static String[] buildNLVariants(String locale) {
@@ -2514,13 +2514,13 @@
 			String value = source.getProperty(key);
 
 			// Check to see if we are supposed to override existing values from the user configuraiton.
-			// This is done only in the case of shared install where we have already set the user values 
+			// This is done only in the case of shared install where we have already set the user values
 			// but want to override them with values from the shared location's config.
 			if (userConfiguration != null && !key.endsWith(EXT_OVERRIDE_USER)) {
 				// check all levels to see if the "override" property was set
 				final String overrideKey = key + EXT_OVERRIDE_USER;
 				boolean shouldOverride = System.getProperty(overrideKey) != null || source.getProperty(overrideKey) != null;
-				// only set the value if the user specified the override property and if the 
+				// only set the value if the user specified the override property and if the
 				// original property wasn't set by a commad-line arg
 				if (shouldOverride && !userConfiguration.contains(key)) {
 					System.setProperty(key, value);
@@ -2558,13 +2558,13 @@
 	 * NOTE: It is ok here for EclipsePolicy to use 1.4 methods because the methods
 	 * that it calls them from don't exist in Foundation so they will never be called. A more
 	 * detailed explanation from Tom:
-	 * 
-	 * They will never get called because in a pre 1.4 VM the methods 
-	 * getPermissions(CodeSource) and implies(ProtectionDomain, Permission) are 
-	 * undefined on the Policy class which is what EclipsePolicy extends.  EclipsePolicy 
-	 * implements these two methods so it can proxy them to the parent Policy.  
-	 * But since these methods are not actually defined on Policy in a pre-1.4 VM 
-	 * nobody will actually call them (unless they casted the policy to EclipsePolicy and 
+	 *
+	 * They will never get called because in a pre 1.4 VM the methods
+	 * getPermissions(CodeSource) and implies(ProtectionDomain, Permission) are
+	 * undefined on the Policy class which is what EclipsePolicy extends.  EclipsePolicy
+	 * implements these two methods so it can proxy them to the parent Policy.
+	 * But since these methods are not actually defined on Policy in a pre-1.4 VM
+	 * nobody will actually call them (unless they casted the policy to EclipsePolicy and
 	 * called our methods)
 	 */
 	private class EclipsePolicy extends Policy {
diff --git a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java
index bacaac5..341bc68 100644
--- a/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java
+++ b/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/WebStartMain.java
@@ -23,23 +23,23 @@
 import java.util.zip.ZipFile;
 
 /**
- * The launcher to start eclipse using webstart. To use this launcher, the client 
+ * The launcher to start eclipse using webstart. To use this launcher, the client
  * must accept to give all security permissions.
  * <p>
  * <b>Note:</b> This class should not be referenced programmatically by
  * other Java code. This class exists only for the purpose of launching Eclipse
- * using Java webstart. To launch Eclipse programmatically, use 
+ * using Java webstart. To launch Eclipse programmatically, use
  * org.eclipse.core.runtime.adaptor.EclipseStarter. The fields and methods
  * on this class are not API.
- * 
+ *
  * @noextend This class is not intended to be subclassed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
  * @noreference This class is not intended to be referenced by clients.
- * 
+ *
  * @deprecated Java WebStart is removed in Java 11.
- * 
+ *
  * This API is planned to be deleted, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=544262
- * 
+ *
  */
 //The bundles are discovered by finding all the jars on the classpath. Then they are added with their full path to the osgi.bundles list.
 @Deprecated
@@ -50,7 +50,7 @@
 	private static final String PROP_CHECK_CONFIG = "osgi.checkConfiguration"; //$NON-NLS-1$
 
 	private Map<String, List<BundleInfo>> allBundles = null; // Map of all the bundles found on the classpath. Id -> ArrayList of BundleInfo
-	private List<BundleInfo> bundleList = null; //The list of bundles found on the osgi.bundle list 
+	private List<BundleInfo> bundleList = null; //The list of bundles found on the osgi.bundle list
 
 	protected class BundleInfo {
 		String bsn;
@@ -63,7 +63,7 @@
 	 * @noreference This method is not intended to be referenced by clients.
 	 */
 	public static void main(String[] args) {
-		System.setSecurityManager(null); //TODO Hack so that when the classloader loading the fwk is created we don't have funny permissions. This should be revisited. 
+		System.setSecurityManager(null); //TODO Hack so that when the classloader loading the fwk is created we don't have funny permissions. This should be revisited.
 		int result = new WebStartMain().run(args);
 		if (!Boolean.getBoolean(PROP_NOSHUTDOWN))
 			System.exit(result);
@@ -100,7 +100,7 @@
 	}
 
 	/*
-	 * Null out all the fields containing data 
+	 * Null out all the fields containing data
 	 */
 	private void cleanup() {
 		allBundles = null;
@@ -163,7 +163,7 @@
 		return removeMatch ? matches.remove(highest) : matches.get(highest);
 	}
 
-	/* 
+	/*
 	 * Get all the bundles available on the webstart classpath
 	 */
 	private void discoverBundles() {
@@ -306,7 +306,7 @@
 		return null;
 	}
 
-	//Build the osgi bundle list. The allbundles data structure is changed during the process. 
+	//Build the osgi bundle list. The allbundles data structure is changed during the process.
 	private void buildOSGiBundleList() {
 		StringBuilder finalBundleList = new StringBuilder(allBundles.size() * 30);
 		//First go through all the bundles of the bundle
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/Activator.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/Activator.java
index 482489a..52bdd31 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/Activator.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/Activator.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM - Initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.compatibility.state;
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformAdminImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformAdminImpl.java
index e6be607..0cd736a 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformAdminImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformAdminImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  ******************************************************************************/
@@ -130,7 +130,7 @@
 	}
 
 	/**
-	 * @throws BundleException  
+	 * @throws BundleException
 	 */
 	@Override
 	public void commit(State state) throws BundleException {
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformBundleListener.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformBundleListener.java
index c6e1d8a..6d88134 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformBundleListener.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/PlatformBundleListener.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  ******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/StateConverter.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/StateConverter.java
index ccd7de1..a7792db 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/StateConverter.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/compatibility/state/StateConverter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  ******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/BundleConstraint.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/BundleConstraint.java
index 62bb1e9..8f43f96 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/BundleConstraint.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/BundleConstraint.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelper.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelper.java
index 7867ad7..6d99745 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelper.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelper.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelperRegistry.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelperRegistry.java
index 557dc52..69dcd57 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelperRegistry.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/CompositeResolveHelperRegistry.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericCapability.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericCapability.java
index 6e706dd..3adb006 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericCapability.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericCapability.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Karsten Thoms (itemis) - Consider devmode for effective status computation
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericConstraint.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericConstraint.java
index a299236..ca4fadf 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericConstraint.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GenericConstraint.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Karsten Thoms (itemis) - Consider devmode for effective status computation
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GroupingChecker.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GroupingChecker.java
index 8988c1b..9d4248b 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GroupingChecker.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/GroupingChecker.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.module;
@@ -124,7 +124,7 @@
 	/*
 	 * Verifies the uses constraint consistency for the importingBundle with the possible dynamic matching export.
 	 * If an inconsistency is found the export returned; otherwise null is returned.
-	 * Dynamic imports must perform extra checks to ensure that existing wires to package roots are 
+	 * Dynamic imports must perform extra checks to ensure that existing wires to package roots are
 	 * consistent with the possible matching dynamic export.
 	 */
 	public PackageRoots[][] isDynamicConsistent(ResolverBundle importingBundle, ResolverExport matchingExport) {
@@ -188,7 +188,7 @@
 		visited.add(bundle); // prevent endless cycles
 		// check imports
 		if (bundle.getBundleDescription().isResolved()) {
-			// must check resolved imports to get any dynamically resolved imports 
+			// must check resolved imports to get any dynamically resolved imports
 			ExportPackageDescription[] imports = bundle.getBundleDescription().getResolvedImports();
 			for (ExportPackageDescription importPkg : imports) {
 				if (importPkg.getExporter() == bundle.getBundleDescription() || !importPkg.getName().equals(packageName))
@@ -297,7 +297,7 @@
 				roots = new ResolverExport[] {export};
 				return;
 			}
-			// need to do an extra check to make sure we are not adding the same package name 
+			// need to do an extra check to make sure we are not adding the same package name
 			// from multiple versions of the same bundle
 			String exportBSN = export.getExporter().getName();
 			if (exportBSN != null) {
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/MappedList.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/MappedList.java
index 611bd43..8d4bb5b 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/MappedList.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/MappedList.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverBundle.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverBundle.java
index 5f66a27..a92888b 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverBundle.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverBundle.java
@@ -7,10 +7,10 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Karsten Thoms (itemis) - Consider devmode for generic capabilities 
+ *     Karsten Thoms (itemis) - Consider devmode for generic capabilities
  *        & constraints
  *******************************************************************************/
 package org.eclipse.osgi.internal.module;
@@ -502,7 +502,7 @@
 				resolver.getState().addResolverError(fragment, ResolverError.FRAGMENT_CONFLICT, newRequire.toString(), newRequire);
 			}
 		}
-		// generic constraints cannot conflict; 
+		// generic constraints cannot conflict;
 		// only check that a fragment does not add generic constraints to an already resolved host
 		if (isResolved() && newGenericRequires != null) {
 			for (GenericSpecification genericSpecification : newGenericRequires) {
@@ -556,7 +556,7 @@
 		initFragments();
 
 		// must save off old imports and requires before we remove the fragment;
-		// this will be used to merge the constraints of the same name from the remaining fragments 
+		// this will be used to merge the constraints of the same name from the remaining fragments
 		ResolverImport[] oldImports = getImportPackages();
 		BundleConstraint[] oldRequires = getRequires();
 		if (!fragments.remove(fragment))
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverConstraint.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverConstraint.java
index d08c79d..55122ea 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverConstraint.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverConstraint.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.module;
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverExport.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverExport.java
index c321079..8885c30 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverExport.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverExport.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImpl.java
index fb14b6a..6bb5d87 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Danail Nachev -  ProSyst - bug 218625
@@ -589,7 +589,7 @@
 	private BundleDescription[] addDevConstraints(BundleDescription[] reRefresh) {
 		if (!developmentMode)
 			return reRefresh; // we don't care about this unless we are in development mode
-		// when in develoment mode we need to reRefresh hosts  of unresolved fragments that add new constraints 
+		// when in develoment mode we need to reRefresh hosts  of unresolved fragments that add new constraints
 		// and reRefresh and unresolved bundles that have dependents
 		Set<BundleDescription> additionalRefresh = new HashSet<>();
 		ResolverBundle[] allUnresolved  = unresolvedBundles.toArray(new ResolverBundle[unresolvedBundles.size()]);
@@ -915,7 +915,7 @@
 		List<ResolverConstraint> initialConflicts = getConflicts(bundles, packageConstraints, bundleConstraints, multiRequirementWithMultiSuppliers);
 		if (initialConflicts == null || "tryFirst".equals(usesMode) || usesCalculationTimeout) { //$NON-NLS-1$
 			groupingChecker.clear();
-			// the first combination have no conflicts or 
+			// the first combination have no conflicts or
 			// we only are trying the first combination or
 			// we have timed out the calculation; return without iterating over all combinations
 			return initialConflicts;
@@ -962,7 +962,7 @@
 	}
 
 	private List<ResolverConstraint> findBestCombination(ResolverBundle[] bundles, ResolverConstraint[][] multipleSuppliers, int[] bestCombination, List<ResolverConstraint> bestConflicts) {
-		// now iterate over every possible combination until either zero conflicts are found 
+		// now iterate over every possible combination until either zero conflicts are found
 		// or we have run out of combinations
 		// if all combinations are tried then return the combination with the lowest number of conflicts
 		long initialTime = System.currentTimeMillis();
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImport.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImport.java
index 936373e..1081967 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImport.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/ResolverImport.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/VersionSupplier.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/VersionSupplier.java
index 3460575..1f64d35 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/VersionSupplier.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/module/VersionSupplier.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -48,7 +48,7 @@
 		return substitute;
 	}
 
-	// sets the dropped status.  This should only be called by the VersionHashMap 
+	// sets the dropped status.  This should only be called by the VersionHashMap
 	// when VersionSuppliers are removed
 	void setSubstitute(VersionSupplier substitute) {
 		this.substitute = substitute;
@@ -60,7 +60,7 @@
 	abstract public BundleDescription getBundleDescription();
 
 	/*
-	 * returns the ResolverBundle which supplies this VersionSupplier 
+	 * returns the ResolverBundle which supplies this VersionSupplier
 	 */
 	abstract ResolverBundle getResolverBundle();
 
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BaseDescriptionImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BaseDescriptionImpl.java
index 7c08421..de34540 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BaseDescriptionImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BaseDescriptionImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDeltaImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDeltaImpl.java
index c7b1bf0..293af6a 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDeltaImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDeltaImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDescriptionImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDescriptionImpl.java
index 9305336..6b0768b 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDescriptionImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleDescriptionImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Danail Nachev -  ProSyst - bug 218625
@@ -65,7 +65,7 @@
 	private DescriptionWiring bundleWiring;
 
 	public BundleDescriptionImpl() {
-		// 
+		//
 	}
 
 	public long getBundleId() {
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleSpecificationImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleSpecificationImpl.java
index ee40e1b..d0e449f 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleSpecificationImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/BundleSpecificationImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ExportPackageDescriptionImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ExportPackageDescriptionImpl.java
index d2e4c78..7f5b329 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ExportPackageDescriptionImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ExportPackageDescriptionImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericDescriptionImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericDescriptionImpl.java
index 57be302..aba9d62 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericDescriptionImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericDescriptionImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericSpecificationImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericSpecificationImpl.java
index cef6d87..086e921 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericSpecificationImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/GenericSpecificationImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
@@ -28,7 +28,7 @@
 	private Map<String, Object> attributes;
 	private Map<String, String> arbitraryDirectives;
 	/*
-	 * Indicates that a generic constraint was from converting the BREE header 
+	 * Indicates that a generic constraint was from converting the BREE header
 	 */
 	public static final int RESOLUTION_FROM_BREE = 0x04;
 
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/HostSpecificationImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/HostSpecificationImpl.java
index f3f1ce0..0ae911c 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/HostSpecificationImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/HostSpecificationImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ImportPackageSpecificationImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ImportPackageSpecificationImpl.java
index 7c99f29..47c9f1c 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ImportPackageSpecificationImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ImportPackageSpecificationImpl.java
@@ -109,7 +109,7 @@
 		ExportPackageDescriptionImpl pkgDes = (ExportPackageDescriptionImpl) supplier;
 
 		// If we are in strict mode, check to see if the export specifies friends.
-		// If it does, are we one of the friends 
+		// If it does, are we one of the friends
 		String[] friends = (String[]) pkgDes.getDirective(StateImpl.FRIENDS_DIRECTIVE);
 		Boolean internal = (Boolean) pkgDes.getDirective(StateImpl.INTERNAL_DIRECTIVE);
 		if (internal.booleanValue() || friends != null) {
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeDescriptionImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeDescriptionImpl.java
index 3bd8b58..8f6a193 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeDescriptionImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeDescriptionImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java
index 292ef0e..5877f10 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ResolverErrorImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ResolverErrorImpl.java
index 3839cea..1b7b19d 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ResolverErrorImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/ResolverErrorImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateBuilder.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateBuilder.java
index 37c43f7..391f738 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateBuilder.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateBuilder.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Danail Nachev -  ProSyst - bug 218625
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateHelperImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateHelperImpl.java
index dcd27ff..5f04b66 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateHelperImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateHelperImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
@@ -147,7 +147,7 @@
 					for (BaseDescription baseDescription : satisfied) {
 						if (!baseDescription.getSupplier().isResolved() && !bundleList.contains(baseDescription.getSupplier())) {
 							bundleList.add(baseDescription.getSupplier());
-							// TODO only add the first supplier that is not resolved; 
+							// TODO only add the first supplier that is not resolved;
 							// this is the previous behavior before the fix for bug 333071; should consider adding all unresolved
 							break;
 						}
@@ -539,18 +539,18 @@
 }
 
 /*
- * This class is used to encapsulate the import packages of a bundle used by getVisiblePackages(). If the method is called with the option 
- * VISIBLE_INCLUDE_ALL_HOST_WIRES, it uses resolved import packages to find all visible packages by a bundle. Called without this option, 
- * it uses imported packages instead of resolved imported packages and does not consider resolved dynamic imports. 
+ * This class is used to encapsulate the import packages of a bundle used by getVisiblePackages(). If the method is called with the option
+ * VISIBLE_INCLUDE_ALL_HOST_WIRES, it uses resolved import packages to find all visible packages by a bundle. Called without this option,
+ * it uses imported packages instead of resolved imported packages and does not consider resolved dynamic imports.
  * ImportsHolder serves to hide which of these is used, so that the body of getVisiblePackages() does not become full of checks.
- * 
+ *
  */
 class ImportsHolder {
 	private final ImportPackageSpecification[] importedPackages;
 	private final ExportPackageDescription[] resolvedImports;
 	private final boolean isUsingResolved;
 
-	// Depending on the options used, either importedPackages or resolvedImports is initialize, but not both. 
+	// Depending on the options used, either importedPackages or resolvedImports is initialize, but not both.
 	ImportsHolder(BundleDescription bundle, int options) {
 		isUsingResolved = (options & StateHelper.VISIBLE_INCLUDE_ALL_HOST_WIRES) != 0;
 		if (isUsingResolved) {
@@ -582,10 +582,10 @@
 }
 
 /*
- * This class is used to encapsulate the required bundles by a bundle, used by getVisiblePackages(). If the method is called with the option 
- * VISIBLE_INCLUDE_ALL_HOST_WIRES, it uses resolved required bundles to find all visible packages by a bundle. Called without this option, 
- * it uses required bundles instead of resolved required bundles and does not consider the constraints from fragments. 
- * RequiresHolder serves to hide which of these is used.  
+ * This class is used to encapsulate the required bundles by a bundle, used by getVisiblePackages(). If the method is called with the option
+ * VISIBLE_INCLUDE_ALL_HOST_WIRES, it uses resolved required bundles to find all visible packages by a bundle. Called without this option,
+ * it uses required bundles instead of resolved required bundles and does not consider the constraints from fragments.
+ * RequiresHolder serves to hide which of these is used.
  */
 class RequiresHolder {
 	private final BundleSpecification[] requiredBundles;
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateImpl.java
index b81df4c..5973a2c 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Danail Nachev -  ProSyst - bug 218625
@@ -70,13 +70,13 @@
 	public static final String ECLIPSE_PLATFORMFILTER = "Eclipse-PlatformFilter"; //$NON-NLS-1$
 	public static final String Eclipse_JREBUNDLE = "Eclipse-JREBundle"; //$NON-NLS-1$
 	/**
-	 * Manifest Export-Package directive indicating that the exported package should only 
+	 * Manifest Export-Package directive indicating that the exported package should only
 	 * be made available when the resolver is not in strict mode.
 	 */
 	public static final String INTERNAL_DIRECTIVE = "x-internal"; //$NON-NLS-1$
 
 	/**
-	 * Manifest Export-Package directive indicating that the exported package should only 
+	 * Manifest Export-Package directive indicating that the exported package should only
 	 * be made available to friends of the exporting bundle.
 	 */
 	public static final String FRIENDS_DIRECTIVE = "x-friends"; //$NON-NLS-1$
@@ -103,7 +103,7 @@
 	 * by the required bundle must be reprovided by the requiring bundle.
 	 * The default value is <tt>false</tt>.
 	 * <p>
-	 * The attribute value is encoded in the Require-Bundle manifest 
+	 * The attribute value is encoded in the Require-Bundle manifest
 	 * header like:
 	 * <pre>
 	 * Require-Bundle: com.acme.module.test; reprovide="true"
@@ -119,11 +119,11 @@
 	 * Manifest header attribute (named &quot;optional&quot;)
 	 * for Require-Bundle
 	 * identifying that a required bundle is optional and that
-	 * the requiring bundle can be resolved if there is no 
+	 * the requiring bundle can be resolved if there is no
 	 * suitable required bundle.
 	 * The default value is <tt>false</tt>.
 	 *
-	 * <p>The attribute value is encoded in the Require-Bundle manifest 
+	 * <p>The attribute value is encoded in the Require-Bundle manifest
 	 * header like:
 	 * <pre>
 	 * Require-Bundle: com.acme.module.test; optional="true"
@@ -177,7 +177,7 @@
 
 	final Object monitor = new Object();
 
-	// to prevent extra-package instantiation 
+	// to prevent extra-package instantiation
 	protected StateImpl() {
 		// always add the default platform property keys.
 		addPlatformPropertyKeys(PROPS);
@@ -436,7 +436,7 @@
 			if (!resolving)
 				throw new IllegalStateException(); // TODO need error message here!
 			BundleDescriptionImpl modifiable = (BundleDescriptionImpl) bundle;
-			// must record the change before setting the resolve state to 
+			// must record the change before setting the resolve state to
 			// accurately record if a change has happened.
 			getDelta().recordBundleResolved(modifiable, status);
 			// force the new resolution data to stay in memory; we will not read this from disk anymore
@@ -556,7 +556,7 @@
 					if (resolved && reResolve == null)
 						return new StateDeltaImpl(this);
 					if (developmentMode) {
-						// in dev mode we need to aggressively flush removal pendings 
+						// in dev mode we need to aggressively flush removal pendings
 						if (removalPendings.size() > 0) {
 							BundleDescription[] removed = internalGetRemovalPending();
 							reResolve = mergeBundles(reResolve, removed);
@@ -945,7 +945,7 @@
 				addSystemExports(exports, ManifestElement.parseHeader(Constants.EXPORT_PACKAGE, (String) platformProperties[i].get(Constants.FRAMEWORK_SYSTEMPACKAGES)), i);
 				addSystemExports(exports, ManifestElement.parseHeader(Constants.EXPORT_PACKAGE, (String) platformProperties[i].get(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA)), i);
 			} catch (BundleException e) {
-				// TODO consider throwing this... 
+				// TODO consider throwing this...
 			}
 	}
 
@@ -983,7 +983,7 @@
 				addSystemCapabilities(capabilities, ManifestElement.parseHeader(Constants.PROVIDE_CAPABILITY, (String) platformProperties[i].get(Constants.FRAMEWORK_SYSTEMCAPABILITIES_EXTRA)), i);
 				checkOSGiEE(capabilities, (String) platformProperties[i].get(Constants.FRAMEWORK_EXECUTIONENVIRONMENT), i);
 			} catch (BundleException e) {
-				// TODO consider throwing this... 
+				// TODO consider throwing this...
 			}
 	}
 
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateMsg.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateMsg.java
index 6c1ed9f..ad6f9ea 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateMsg.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateMsg.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateObjectFactoryImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateObjectFactoryImpl.java
index 5bb5123..c3f095a 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateObjectFactoryImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateObjectFactoryImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateReader.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateReader.java
index 3859214..ddb8d41 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateReader.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateReader.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
@@ -755,7 +755,7 @@
 
 	/**
 	 * expectedTimestamp is the expected value for the timestamp. or -1, if
-	 * 	no checking should be performed 
+	 * 	no checking should be performed
 	 */
 	public synchronized boolean loadStateDeprecated(StateImpl state, DataInputStream input, long expectedTimestamp) throws IOException {
 		try {
@@ -767,7 +767,7 @@
 
 	/**
 	 * expectedTimestamp is the expected value for the timestamp. or -1, if
-	 * 	no checking should be performed 
+	 * 	no checking should be performed
 	 */
 	public synchronized boolean loadState(StateImpl state, long expectedTimestamp) throws IOException {
 		return readState(state, expectedTimestamp);
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateWriter.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateWriter.java
index 8d2d12b..af183df 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateWriter.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/StateWriter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/UserState.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/UserState.java
index 9885352..0919cdb 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/UserState.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/UserState.java
@@ -19,7 +19,7 @@
 import org.osgi.framework.BundleException;
 
 /**
- * This implementation of State does a bookkeeping of all added/removed 
+ * This implementation of State does a bookkeeping of all added/removed
  */
 public class UserState extends StateImpl {
 	// TODO this is not an accurate way to record updates
@@ -43,7 +43,7 @@
 	}
 
 	/**
-	 * @throws BundleException  
+	 * @throws BundleException
 	 */
 	public StateDelta compare(State baseState) throws BundleException {
 		BundleDescription[] currentBundles = this.getBundles();
diff --git a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/VersionConstraintImpl.java b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/VersionConstraintImpl.java
index 3fad960..16de531 100644
--- a/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/VersionConstraintImpl.java
+++ b/bundles/org.eclipse.osgi.compatibility.state/src/org/eclipse/osgi/internal/resolver/VersionConstraintImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Danail Nachev -  ProSyst - bug 218625
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java
index f114215..e7d3562 100644
--- a/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/ext.framework.b/ext/framework/b/TestCondition.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/bundles_src/wrapper.hooks.a/org/eclipse/osgi/tests/wrapper/hooks/a/TestHookConfigurator.java b/bundles/org.eclipse.osgi.tests/bundles_src/wrapper.hooks.a/org/eclipse/osgi/tests/wrapper/hooks/a/TestHookConfigurator.java
index 9566e1d..ad8a83f 100755
--- a/bundles/org.eclipse.osgi.tests/bundles_src/wrapper.hooks.a/org/eclipse/osgi/tests/wrapper/hooks/a/TestHookConfigurator.java
+++ b/bundles/org.eclipse.osgi.tests/bundles_src/wrapper.hooks.a/org/eclipse/osgi/tests/wrapper/hooks/a/TestHookConfigurator.java
@@ -57,7 +57,7 @@
 								}
 
 								/**
-								 * @throws IOException  
+								 * @throws IOException
 								 */
 								@Override
 								public InputStream getInputStream() throws IOException {
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/AllTests.java
index 6cbe744..5f95abd 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.equinox.log.test;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java
index 08b8508..4e8c522 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.equinox.log.test;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java
index ae1aba7..301d7aa 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.equinox.log.test;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java
index e69d490..497cfbe 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.equinox.log.test;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener2.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener2.java
index a18c438..dfd038b 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener2.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener2.java
@@ -31,7 +31,7 @@
 
 	@Override
 	public void logged(LogEntry entry) {
-		//logged is never called in parallel. Added a check to see if two threads are accessing the logged method at the same time. 
+		//logged is never called in parallel. Added a check to see if two threads are accessing the logged method at the same time.
 		assertTrue(flag.compareAndSet(0, 1));
 		if (entry.getBundle().getSymbolicName().equals("org.eclipse.osgi")) {
 			list.add(entry.getMessage());
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java
index 1010e09..0434180 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	public OSGiTest(String name) {
 		super(name);
 	}
-	
+
 	public BundleContext getContext() {
 		return OSGiTestsActivator.getContext();
 	}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java
index ce830c1..8c84807 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/OSGiTestsActivator.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java
index 7bb049c..37a0e72 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java
index 3fc7203..b84b956 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ApplicationAdminTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java
index 545b18a..e41b669 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/ExitValueApp.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java
index 5553fa7..e86048c 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/FailedApp.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java
index 6ed8538..ca5a95a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/appadmin/SimpleApp.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/DiscardBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/DiscardBundleTests.java
index 0908f92..6821483 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/DiscardBundleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/DiscardBundleTests.java
@@ -29,11 +29,11 @@
 import org.osgi.framework.FrameworkEvent;
 
 /*
- * The framework must discard a persisted bundle when the 
+ * The framework must discard a persisted bundle when the
  * osgi.checkConfiguration configuration property is specified and equal to
  * true.
- * 
- * On a related note, if the osgi.dev configuration property is specified but 
+ *
+ * On a related note, if the osgi.dev configuration property is specified but
  * the osgi.checkConfiguration configuration property is not specified, the
  * framework must specify the osgi.checkConfiguration configuration property
  * with a value equal to true.
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PersistedBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PersistedBundleTests.java
index eb40f94..7c1289d 100755
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PersistedBundleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/PersistedBundleTests.java
@@ -19,14 +19,14 @@
 import org.eclipse.osgi.launch.Equinox;
 
 /*
- * The framework must persist data according to the value of the 
+ * The framework must persist data according to the value of the
  * eclipse.stateSaveDelayInterval property. The value is of type long and
  * represents the number of milliseconds between persists. A positive value
  * represents the number of milliseconds between persists. A value of zero
  * indicates data should be immediately persisted with each update. A negative
- * value disables persistence on update altogether (but data will still be 
+ * value disables persistence on update altogether (but data will still be
  * persisted on shutdown).
- * 
+ *
  */
 public class PersistedBundleTests extends AbstractBundleTests {
 
@@ -130,7 +130,7 @@
 			initAndStart(equinox2);
 			try {
 				// The bundle should not have been persisted and therefore be
-				// unknown to the second equinox instance. This check must 
+				// unknown to the second equinox instance. This check must
 				// happen before the first period elapses.
 				assertNull("Bundle exists", equinox2.getBundleContext().getBundle(getName()));
 				stopQuietly(equinox2);
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
index 2a1f278..c1c089d 100755
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
@@ -1225,7 +1225,7 @@
 				assertNotNull("No manifest for: " + bundle, bundle.getEntry("/META-INF/MANIFEST.MF"));
 			}
 		} catch (Throwable t) {
-			// An exception used to get thrown here when we tried to close 
+			// An exception used to get thrown here when we tried to close
 			// the least used bundle file
 			fail("Failed to get bundle entries", t);
 		}
@@ -1593,7 +1593,7 @@
 				bundle.getHeaders(); //$NON-NLS-1$
 			}
 		} catch (Throwable t) {
-			// An exception used to get thrown here when we tried to close 
+			// An exception used to get thrown here when we tried to close
 			// the least used bundle file
 			fail("Failed to get bundle entries", t);
 		}
@@ -1819,7 +1819,7 @@
 		List packages1 = wiring1.getRequiredWires(BundleRevision.PACKAGE_NAMESPACE);
 		List packages2 = wiring2.getRequiredWires(BundleRevision.PACKAGE_NAMESPACE);
 
-		// could make this a more complete check, but with the bug the dynamic wires 
+		// could make this a more complete check, but with the bug the dynamic wires
 		// are missing altogether because we fail to save the resolver state cache.
 		assertEquals("Wrong number of wires for wiring1", 1, packages1.size());
 		assertEquals("Wrong number of wires for wiring2", 1, packages2.size());
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java
index 763acca..aa0e329 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigIniTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigIniTest.java
index eff971f..9dad285 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigIniTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigIniTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigurationAreaTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigurationAreaTest.java
index ededca5..9ae34fe 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigurationAreaTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/EclipseStarterConfigurationAreaTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java
index 0e8eb97..4b7f8b3 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/MovableConfigurationAreaTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -96,7 +96,7 @@
 	 */
 	public void testAfterMoving() throws MalformedURLException, IOException, BundleException {
 		// try to install plug-in
-		// ensure it is not installed		
+		// ensure it is not installed
 		Bundle installed = null;
 		try {
 			installed = BundleTestingHelper.installBundle(getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle02");
@@ -106,13 +106,13 @@
 			// success
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
 
 	public void testInitialization() throws MalformedURLException, IOException {
-		// initialization session		
+		// initialization session
 		try {
 			Bundle installed = BundleTestingHelper.installBundle("1.0", getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle01");
 			// not read-only yet, should work fine
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java
index 778b956..ddd9a9b 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/configuration/ReadOnlyConfigurationAreaTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -43,7 +43,7 @@
 	}
 
 	public void test0thSession() throws MalformedURLException, IOException {
-		// initialization session		
+		// initialization session
 		try {
 			Bundle installed = BundleTestingHelper.installBundle("1.0", getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle01");
 			// not read-only yet, should work fine
@@ -83,7 +83,7 @@
 	 */
 	public void test2ndSession() throws BundleException, IOException {
 		// try to install plug-in
-		// ensure it is not installed		
+		// ensure it is not installed
 		Bundle installed = null;
 		try {
 			installed = BundleTestingHelper.installBundle(getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle02");
@@ -93,7 +93,7 @@
 			// success
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -112,17 +112,17 @@
 	 */
 	public void test3rdSession() throws BundleException, IOException {
 		// install plug-in
-		// ensure it is not installed		
+		// ensure it is not installed
 		Bundle installed = null;
 		try {
 			installed = BundleTestingHelper.installBundle(getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "configuration/bundle03");
 			// should have failed - cannot install a bundle in read-only mode
 			fail("1.0");
 		} catch (BundleException be) {
-			// success 
+			// success
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AbstractTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AbstractTest.java
index 061c86b..1835dd1 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AbstractTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AbstractTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AllTests.java
index 5ab0012..df5439b 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java
index 5bf0876..14e98c9 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java
index 161841e..1d2739c 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -984,7 +984,7 @@
 		Module f = installDummyModule("sub.f.MF", "f", container);
 		Module e = installDummyModule("sub.e.MF", "e", container);
 
-		// resolve order does matter so that transitive dependencies are pulled in 
+		// resolve order does matter so that transitive dependencies are pulled in
 		// and cause substitution to happen in a certain way
 		container.resolve(Arrays.asList(g, f, e), true);
 
@@ -1017,7 +1017,7 @@
 		installDummyModule("sub.j.MF", "j", container);
 		Module k = installDummyModule("sub.k.MF", "k", container);
 
-		// resolve order does matter so that transitive dependencies are pulled in 
+		// resolve order does matter so that transitive dependencies are pulled in
 		// and cause substitution to happen in a certain way
 		container.resolve(Arrays.asList(k), true);
 
@@ -1558,7 +1558,7 @@
 		// make sure h1 is not resolved
 		ModuleWiring h1Wiring = h1.getCurrentRevision().getWiring();
 		Assert.assertNull("h1 got resolved somehow.", h1Wiring);
-		// do not resolve the host first; make sure it gets pulled in while attempting to resolve 
+		// do not resolve the host first; make sure it gets pulled in while attempting to resolve
 		// to a fragment capability.
 		ModuleWire dynamicWire = container.resolveDynamic("f1.a", dynamic2.getCurrentRevision());
 		Assert.assertNotNull("Dynamic wire not found.", dynamicWire);
@@ -2178,13 +2178,13 @@
 		Map<String, String> nativeCodeManifest = new HashMap<>();
 		nativeCodeManifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		nativeCodeManifest.put(Constants.BUNDLE_SYMBOLICNAME, "importer");
-		nativeCodeManifest.put(Constants.BUNDLE_NATIVECODE, // 
+		nativeCodeManifest.put(Constants.BUNDLE_NATIVECODE, //
 				"/lib/mylib.dll; osname=\"win32\"; osname=\"Windows NT (unknown)\"," + //
 						"/lib/mylib.lib; osname=\"Linux\"");
 
 		Module nativeCodeModule = installDummyModule(nativeCodeManifest, "nativeCodeBundle", container);
 
-		// unsatisfied optional and dynamic imports do not fail a resolve. 
+		// unsatisfied optional and dynamic imports do not fail a resolve.
 		report = container.resolve(Arrays.asList(nativeCodeModule), true);
 		Assert.assertNull("Failed to resolve nativeCodeBundle.", report.getResolutionException());
 	}
@@ -2229,7 +2229,7 @@
 		optionalImporterManifest.put(Constants.DYNAMICIMPORT_PACKAGE, "exporter");
 		Module optionalImporterModule = installDummyModule(optionalImporterManifest, "optionalImporter", container);
 
-		// unsatisfied optional and dynamic imports do not fail a resolve. 
+		// unsatisfied optional and dynamic imports do not fail a resolve.
 		report = container.resolve(Arrays.asList(optionalImporterModule), true);
 		Assert.assertNull("Failed to resolve system.bundle.", report.getResolutionException());
 
@@ -2276,7 +2276,7 @@
 		optionalImporterManifest.put(Constants.DYNAMICIMPORT_PACKAGE, "exporter");
 		Module optionalImporterModule = installDummyModule(optionalImporterManifest, "optionalImporter", container);
 
-		// unsatisfied optional and dynamic imports do not fail a resolve. 
+		// unsatisfied optional and dynamic imports do not fail a resolve.
 		report = container.resolve(Arrays.asList(optionalImporterModule), true);
 		Assert.assertNull("Failed to resolve system.bundle.", report.getResolutionException());
 
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyCollisionHook.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyCollisionHook.java
index 2a5329f..fd53226 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyCollisionHook.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyCollisionHook.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyContainerAdaptor.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyContainerAdaptor.java
index 01b10aa..e51114a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyContainerAdaptor.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyContainerAdaptor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyDebugOptions.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyDebugOptions.java
index dc19465..68ed2ef 100755
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyDebugOptions.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyDebugOptions.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModule.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModule.java
index c63cebd..8e7e7de 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModule.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModule.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModuleDatabase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModuleDatabase.java
index faf66c7..d2fc716 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModuleDatabase.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummyModuleDatabase.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummySystemModule.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummySystemModule.java
index 93cde3d..a6430ec 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummySystemModule.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/DummySystemModule.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/UnresolvedProviderEntryBuilder.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/UnresolvedProviderEntryBuilder.java
index f58e2fd..8529fb4 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/UnresolvedProviderEntryBuilder.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/dummys/UnresolvedProviderEntryBuilder.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java
index e2af36b..79d66e0 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java
@@ -98,7 +98,7 @@
 	 * Test that a new {@link FrameworkDebugTraceEntry} object created without a trace class
 	 * has 'org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase' as the class name and
 	 * 'testTracingEntry01' as the method name that it determined as the caller of it.
-	 * 
+	 *
 	 * This test mimics the tracing framework to ensure that the correct class name and method name
 	 * are returned and written to the trace file.
 	 */
@@ -110,7 +110,7 @@
 		FrameworkDebugTraceEntry traceEntry = new FrameworkDebugTraceEntry(bundleName, optionPath, message, null);
 		String correctClassName = "org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase"; //$NON-NLS-1$
 		String correctMethodName = "testTracingEntry01"; //$NON-NLS-1$
-		assertEquals("The class calling the trace API does not match the expected value.", correctClassName, traceEntry.getClassName()); //$NON-NLS-1$  
+		assertEquals("The class calling the trace API does not match the expected value.", correctClassName, traceEntry.getClassName()); //$NON-NLS-1$
 		assertEquals("The method calling the trace API does not match the expected value.", correctMethodName, traceEntry.getMethodName()); //$NON-NLS-1$
 	}
 
@@ -118,7 +118,7 @@
 	 * Test that a new {@link FrameworkDebugTraceEntry} object created with a trace class
 	 * of 'org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase' has the correct class name and
 	 * method name of the caller.
-	 * 
+	 *
 	 * This test mimics the tracing framework to ensure that the correct class name and method name
 	 * are returned and written to the trace file.
 	 */
@@ -127,7 +127,7 @@
 		String correctClassName = Runner1.class.getName();
 		String correctMethodName = "run"; //$NON-NLS-1$
 		FrameworkDebugTraceEntry traceEntry = new Runner1().run();
-		assertEquals("The class calling the trace API does not match the expected value.", correctClassName, traceEntry.getClassName()); //$NON-NLS-1$  
+		assertEquals("The class calling the trace API does not match the expected value.", correctClassName, traceEntry.getClassName()); //$NON-NLS-1$
 		assertEquals("The method calling the trace API does not match the expected value.", correctMethodName, traceEntry.getMethodName()); //$NON-NLS-1$
 	}
 
@@ -229,7 +229,7 @@
 		assertNull("Found bad value: " + listener.getIncorrectValue(), listener.getIncorrectValue()); //$NON-NLS-1$
 
 		listener.clear();
-		checkValues.put(getName() + "/debug", null); //$NON-NLS-1$ 
+		checkValues.put(getName() + "/debug", null); //$NON-NLS-1$
 		listener.setCheckValues(checkValues);
 		debugOptions.setDebugEnabled(false);
 		assertFalse("Debug is enabled", debugOptions.isDebugEnabled()); //$NON-NLS-1$
@@ -560,7 +560,7 @@
 		expectedThrowableText1.append(exceptionMessage1);
 		expectedThrowableText1.append(DebugOptionsTestCase.LINE_SEPARATOR);
 		expectedThrowableText1.append(DebugOptionsTestCase.TAB_CHARACTER);
-		expectedThrowableText1.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testVerboseDebugging(DebugOptionsTestCase.java:"); //$NON-NLS-1$		
+		expectedThrowableText1.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testVerboseDebugging(DebugOptionsTestCase.java:"); //$NON-NLS-1$
 		if (!traceOutput[0].getThrowableText().startsWith(expectedThrowableText1.toString())) {
 			final StringBuilder errorMessage = new StringBuilder("The expected throwable text does not start with the actual throwable text."); //$NON-NLS-1$
 			errorMessage.append(DebugOptionsTestCase.LINE_SEPARATOR);
@@ -659,7 +659,7 @@
 		final String exceptionMessage2 = "An error 2"; //$NON-NLS-1$
 		final String exceptionMessage3 = "An error 3"; //$NON-NLS-1$
 		try {
-			debugTrace.trace("/debug", "testing 1", new Exception(exceptionMessage1)); //$NON-NLS-1$ //$NON-NLS-2$ 
+			debugTrace.trace("/debug", "testing 1", new Exception(exceptionMessage1)); //$NON-NLS-1$ //$NON-NLS-2$
 			debugTrace.trace("/notset", "testing 2", new Exception(exceptionMessage2)); //$NON-NLS-1$ //$NON-NLS-2$
 			debugTrace.trace("/debug", "testing 3", new Exception(exceptionMessage3)); //$NON-NLS-1$ //$NON-NLS-2$
 			traceOutput = readTraceFile(traceFile); // Note: this call will also delete the trace file
@@ -671,7 +671,7 @@
 		expectedThrowableText1.append(exceptionMessage1);
 		expectedThrowableText1.append(DebugOptionsTestCase.LINE_SEPARATOR);
 		expectedThrowableText1.append(DebugOptionsTestCase.TAB_CHARACTER);
-		expectedThrowableText1.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testTraceFile02(DebugOptionsTestCase.java:"); //$NON-NLS-1$		
+		expectedThrowableText1.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testTraceFile02(DebugOptionsTestCase.java:"); //$NON-NLS-1$
 
 		assertEquals("Wrong number of trace entries", 2, traceOutput.length); //$NON-NLS-1$
 		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[0].getThreadName()); //$NON-NLS-1$
@@ -706,7 +706,7 @@
 		expectedThrowableText2.append(exceptionMessage3);
 		expectedThrowableText2.append(DebugOptionsTestCase.LINE_SEPARATOR);
 		expectedThrowableText2.append(DebugOptionsTestCase.TAB_CHARACTER);
-		expectedThrowableText2.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testTraceFile02(DebugOptionsTestCase.java:"); //$NON-NLS-1$		
+		expectedThrowableText2.append("at org.eclipse.osgi.tests.debugoptions.DebugOptionsTestCase.testTraceFile02(DebugOptionsTestCase.java:"); //$NON-NLS-1$
 
 		assertEquals("Thread name is incorrect", Thread.currentThread().getName(), traceOutput[1].getThreadName()); //$NON-NLS-1$
 		assertEquals("Bundle name is incorrect", getName(), traceOutput[1].getBundleSymbolicName()); //$NON-NLS-1$
@@ -1179,7 +1179,7 @@
 
 		/**
 		 * The date and time when the trace occurred.
-		 * 
+		 *
 		 */
 		private final long timestamp;
 
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java
index 9d7b9b9..f37b5be 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java
index a2f5368..a2eeadc 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/EnvironmentInfoTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java
index 332701e..9e105d6 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/eclipseadaptor/FilePathTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -42,7 +42,7 @@
 			assertEquals("3.2", "a", segments[1]);
 			return;
 		}
-		// this runs on non-Windows platforms		
+		// this runs on non-Windows platforms
 		assertTrue("1.0", path.isAbsolute());
 		assertNull("2.0", path.getDevice());
 		String[] segments = path.getSegments();
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/AllFrameworkHookTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/AllFrameworkHookTests.java
index d86f3ef..dc6c570 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/AllFrameworkHookTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/AllFrameworkHookTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/StorageHookTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/StorageHookTests.java
index 15d5b49..4967707 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/StorageHookTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/hooks/framework/StorageHookTests.java
@@ -56,7 +56,7 @@
 	private String location;
 
 	/*
-	 * Bundles must be discarded if a storage hook throws an 
+	 * Bundles must be discarded if a storage hook throws an
 	 * IllegalStateException during validation.
 	 */
 	public void testBundleDiscardedWhenClasspathStorageHookInvalidates() throws Exception {
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java
index aba0f31..8fb4483 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/internal/plugins/InstallTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -51,7 +51,7 @@
 			fail("1.0"); //$NON-NLS-1$
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -70,7 +70,7 @@
 			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -89,7 +89,7 @@
 			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -108,7 +108,7 @@
 			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -127,7 +127,7 @@
 			assertEquals("Expected manifest error", BundleException.MANIFEST_ERROR, be.getType()); //$NON-NLS-1$
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -156,7 +156,7 @@
 
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
@@ -213,7 +213,7 @@
 			assertEquals("Expected unsupported error", BundleException.UNSUPPORTED_OPERATION, be.getType()); //$NON-NLS-1$
 		} finally {
 			if (installed != null)
-				// clean-up - only runs if we end-up accepting an invalid manifest				
+				// clean-up - only runs if we end-up accepting an invalid manifest
 				installed.uninstall();
 		}
 	}
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java
index 157f830..8ca3854 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/listeners/ExceptionHandlerTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -23,20 +23,20 @@
 
 public class ExceptionHandlerTests extends TestCase {
 	//These tests exercise the code change for bug 73111.
-	
+
 	class FrameworkEventListenerWithResult implements FrameworkListener {
 		FrameworkEvent event = null;
-		
+
 		public synchronized void frameworkEvent(FrameworkEvent newEvent) {
 			if (newEvent.getType() != FrameworkEvent.ERROR)
 				return;
-			
+
 			if (this.event != null)
 				return;
 			event = newEvent;
 			notify();
 		}
-		
+
 		public synchronized FrameworkEvent getResult(long timeout) {
 			if (event != null) {
 				FrameworkEvent tmp = event;
@@ -53,13 +53,13 @@
 		}
 	}
 
-	
+
 	protected void setUp() throws Exception {
 		super.setUp();
 	}
-	
-	
-	public void testNonFatalException() {	
+
+
+	public void testNonFatalException() {
 		FrameworkEventListenerWithResult fwkListener = new FrameworkEventListenerWithResult();
 		OSGiTestsActivator.getContext().addFrameworkListener(fwkListener);
 
@@ -67,9 +67,9 @@
 			public void bundleChanged(BundleEvent event) {
 				throw new NullPointerException("Generated exception");
 			}
-		};	
+		};
 		OSGiTestsActivator.getContext().addBundleListener(npeGenerator);
-		
+
 		try {
 			BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle09");
 			FrameworkEvent eventReceived = fwkListener.getResult(60000);
@@ -85,9 +85,9 @@
 		OSGiTestsActivator.getContext().removeFrameworkListener(fwkListener);
 		OSGiTestsActivator.getContext().removeBundleListener(npeGenerator);
 	}
-	
-	
-	public void testFatalException() {	
+
+
+	public void testFatalException() {
 		FrameworkEventListenerWithResult fwkListener = new FrameworkEventListenerWithResult();
 		OSGiTestsActivator.getContext().addFrameworkListener(fwkListener);
 
@@ -97,8 +97,8 @@
 			}
 		};
 		OSGiTestsActivator.getContext().addBundleListener(fatalException);
-		
-	
+
+
 		try {
 			System.setProperty("eclipse.exitOnError","false"); //Here we set the value to false, because otherwise we would simply exit
 			BundleTestingHelper.installBundle(OSGiTestsActivator.getContext(), OSGiTestsActivator.TEST_FILES_ROOT + "internal/plugins/installTests/bundle10");
@@ -116,5 +116,5 @@
 		OSGiTestsActivator.getContext().removeFrameworkListener(fwkListener);
 		OSGiTestsActivator.getContext().removeBundleListener(fatalException);
 	}
- 
+
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java
index 628d2ab..bf83368 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java
index 9e09616..1ba65b2 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/BasePerformanceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/CaseMapPerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/CaseMapPerformanceTest.java
index 378be64..eb798a9 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/CaseMapPerformanceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/CaseMapPerformanceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java
index 5675064..8b25576 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StatePerformanceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java
index 799f361..6da9d9a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/perf/StateUsesPerformanceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java
index 64059a4..8432966 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestAttributes_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java
index 4057e05..680566a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestBSN_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java
index b65a5fd..bb23bb2 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java
index 1426390..0c4e54a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_002.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java
index 7f47d3a..00aad6c 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_003.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java
index ebdb45b..11fab22 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_004.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java
index 3d5e1f8..c323559 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_005.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java
index c6cb096..4256786 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestCycle_006.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -29,7 +29,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_003() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -54,7 +54,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
@@ -71,7 +71,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -82,14 +82,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java
index f1b7370..c71e611 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -29,7 +29,7 @@
 	BundleDescription bundle_1 = null;
 	BundleDescription bundle_2 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -56,23 +56,23 @@
 		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "p");
 		assertNotNull("Package [p] is not wired when it should be ", exp);
 		assertEquals("Package [p] is wired incorrectly ", exp.getExporter(), bundle_2);
-		
+
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
 	public void checkWiringState_2() {
 	} // end method
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
 		checkWiringState_2();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -81,13 +81,13 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java
index 842593b..7102c21 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_002.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_002() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -53,14 +53,14 @@
 		}
 		checkBundlesResolved_a();
 		checkWiring_a();
-		
+
 		// Dynamics
 		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "r");
 		assertNull("Package [r] is wired when it should not be ", exp);
-		
+
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -83,7 +83,7 @@
 
 	public void checkWiringState_3() {
 	} // end method
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -91,7 +91,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -102,14 +102,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java
index 2accc37..b9ecc0e 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_003.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_003() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -53,15 +53,15 @@
 		}
 		checkBundlesResolved_a();
 		checkWiring_a();
-		
+
 		// Dynamics
 		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "r");
 		assertNotNull("Package [r] is not wired when it should be ", exp);
 		assertEquals("Package [r] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
+
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -84,7 +84,7 @@
 
 	public void checkWiringState_3() {
 	} // end method
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -92,7 +92,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -103,14 +103,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java
index a6ebf71..9a13a52 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_004.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 	BundleDescription bundle_3 = null;
 	BundleDescription bundle_4 = null;
 
-	
+
 	public void testTest_003() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,15 +55,15 @@
 		}
 		checkBundlesResolved_a();
 		checkWiring_a();
-		
+
 		// Dynamics
 		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "q");
 		assertNotNull("Package [q] is not wired when it should be ", exp);
 		assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
+
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -98,7 +98,7 @@
 	public void checkWiringState_4() {
 	} // end method
 
-	
+
 	public void checkWiring_a() {
 		checkWiringState_1();
 		checkWiringState_2();
@@ -106,7 +106,7 @@
 		checkWiringState_4();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -119,7 +119,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -127,7 +127,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java
index 1c3a877..82d8f14 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_005.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_005() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -53,15 +53,15 @@
 		}
 		checkBundlesResolved_a();
 		checkWiring_a();
-		
+
 		// Dynamics
 		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "q");
 		assertNotNull("Package [q] is not wired when it should be ", exp);
 		assertEquals("Package [q] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
+
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
@@ -71,14 +71,14 @@
 	public void checkWiringState_3() {
 	} // end method
 
-	
+
 	public void checkWiring_a() {
 		checkWiringState_1();
 		checkWiringState_2();
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -89,14 +89,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java
index 79449bc..0f8a52a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestDynamic_006.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,11 +30,11 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_005() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
-		
+
 		bundle_1 = create_bundle_1(sof);
 		bundle_2 = create_bundle_2(sof);
 		bundle_3 = create_bundle_3(sof);
@@ -53,15 +53,15 @@
 		}
 		checkBundlesResolved_a();
 		checkWiring_a();
-		
+
 		// Dynamics
 		ExportPackageDescription exp = state.linkDynamicImport(bundle_1, "p.b");
 		assertNotNull("Package [p.b] is not wired when it should be ", exp);
 		assertEquals("Package [p.b] is wired incorrectly ", exp.getExporter(), bundle_3);
-		
+
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
@@ -71,14 +71,14 @@
 	public void checkWiringState_3() {
 	} // end method
 
-	
+
 	public void checkWiring_a() {
 		checkWiringState_1();
 		checkWiringState_2();
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -89,14 +89,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java
index 9b90fb7..0fbf39c 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGenerated_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java
index 51a804a..5414ba6 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -86,7 +86,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -97,14 +97,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java
index 1767488..0a2b063 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_002.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -29,7 +29,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_002() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -54,7 +54,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
@@ -71,7 +71,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -82,14 +82,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java
index 053ff32..d22487c 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_003.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -32,7 +32,7 @@
 	BundleDescription bundle_4 = null;
 	BundleDescription bundle_5 = null;
 
-	
+
 	public void testTest_003() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -59,7 +59,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -102,7 +102,7 @@
 
 	public void checkWiringState_5() {
 	} // end method
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -112,7 +112,7 @@
 		checkWiringState_5();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -127,7 +127,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -136,7 +136,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java
index 2861ad3..fb3aee6 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_006.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -29,7 +29,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -54,7 +54,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
@@ -71,7 +71,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -82,14 +82,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java
index 26cf349..08879aa 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestGrouping_008.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_008() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		BundleDescription[] requires = bundle_1.getResolvedRequires();
 		assertNotNull("requires array is unexpectedly null", requires);
@@ -87,7 +87,7 @@
 	public void checkWiringState_3() {
 	} // end method
 
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -95,7 +95,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -106,14 +106,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java
index 68c1d85..611d4f1 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_002() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -88,7 +88,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -99,14 +99,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java
index 536ced1..68e1f4e 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestOptional_002.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_002() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -88,7 +88,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -99,14 +99,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java
index 10b24a7..13558be 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 	BundleDescription bundle_3 = null;
 	BundleDescription bundle_4 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -57,7 +57,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -103,7 +103,7 @@
 		checkWiringState_4();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -116,7 +116,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -124,7 +124,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java
index 2c184e8..9b38077 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestPropagation_003.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 	BundleDescription bundle_3 = null;
 	BundleDescription bundle_4 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -57,7 +57,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 	} // end method
 
@@ -89,7 +89,7 @@
 		checkWiringState_4();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -102,7 +102,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", !bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -110,7 +110,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java
index 86d5dd1..1498cb3 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -105,7 +105,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -116,14 +116,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java
index 9922c9f..c45da1b 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_002.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -32,7 +32,7 @@
 	BundleDescription bundle_4 = null;
 	BundleDescription bundle_5 = null;
 
-	
+
 	public void testTest_002() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -59,7 +59,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -135,7 +135,7 @@
 			}
 		} // end for
 	} // end method
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -145,7 +145,7 @@
 		checkWiringState_5();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -160,7 +160,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -169,7 +169,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java
index bc7f554..d116a16 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_003.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 	BundleDescription bundle_3 = null;
 	BundleDescription bundle_4 = null;
 
-	
+
 	public void testTest_003() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -57,7 +57,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -120,7 +120,7 @@
 		} // end for
 	} // end method
 
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -129,7 +129,7 @@
 		checkWiringState_4();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -142,7 +142,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -150,7 +150,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java
index e53a8e6..b04b783 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_004.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 	BundleDescription bundle_3 = null;
 	BundleDescription bundle_4 = null;
 
-	
+
 	public void testTest_004() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -57,7 +57,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -98,7 +98,7 @@
 	public void checkWiringState_4() {
 	} // end method
 
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -107,7 +107,7 @@
 		checkWiringState_4();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -120,7 +120,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -128,7 +128,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_4.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java
index e8bd44a..8a5bbad 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_005.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_005() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -86,7 +86,7 @@
 
 	public void checkWiringState_3() {
 	} // end method
-	
+
 
 	public void checkWiring_a() {
 		checkWiringState_1();
@@ -94,7 +94,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -105,14 +105,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", !bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java
index db80346..6b2d9b0 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_006.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -33,7 +33,7 @@
 	BundleDescription bundle_5 = null;
 	BundleDescription bundle_6 = null;
 
-	
+
 	public void testTest_006() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -61,7 +61,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -120,7 +120,7 @@
 		checkWiringState_6();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -137,7 +137,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
@@ -147,7 +147,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_6.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
@@ -232,5 +232,5 @@
 		}
 		return bundle;
 	} // end of method
-	
+
 } // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java
index ee34e7d..9fe9e5a 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestRFC79_007.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -32,7 +32,7 @@
 	BundleDescription bundle_4 = null;
 	BundleDescription bundle_5 = null;
 
-	
+
 	public void testTest_007() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -59,7 +59,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -109,7 +109,7 @@
 		checkWiringState_5();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -124,7 +124,7 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
@@ -133,7 +133,7 @@
 		assertTrue("unexpected bundle resolution state", bundle_5.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
@@ -204,5 +204,5 @@
 		}
 		return bundle;
 	} // end of method
-	
+
 } // end of testcase
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java
index bf8ca3f..dad687e 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_001.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_001() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -105,7 +105,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -116,14 +116,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java
index 11f3dce..1609beb 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_002.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_002() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -94,7 +94,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -105,14 +105,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java
index 4640d7a..ec5f65f 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resolver/TestVersion_003.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	BundleDescription bundle_2 = null;
 	BundleDescription bundle_3 = null;
 
-	
+
 	public void testTest_003() {
 		State state = buildEmptyState();
 		StateObjectFactory sof = StateObjectFactory.defaultFactory;
@@ -55,7 +55,7 @@
 		checkWiring_a();
 	} // end of method
 
-	
+
 	public void checkWiringState_1() {
 		ExportPackageDescription[] exports = bundle_1.getResolvedImports();
 		assertNotNull("export array is unexpectedly null", exports);
@@ -83,7 +83,7 @@
 		checkWiringState_3();
 	} // end method
 
-	
+
 	public void addBundlesToState_a(State state) {
 		boolean added = false;
 		added = state.addBundle(bundle_1);
@@ -94,14 +94,14 @@
 		assertTrue("failed to add bundle ", added);
 	} // end method
 
-	
+
 	public void checkBundlesResolved_a() {
 		assertTrue("unexpected bundle resolution state", bundle_1.isResolved());
 		assertTrue("unexpected bundle resolution state", !bundle_2.isResolved());
 		assertTrue("unexpected bundle resolution state", bundle_3.isResolved());
 	} // end method
 
-	
+
 	public BundleDescription create_bundle_1(StateObjectFactory sof) {
 		java.util.Dictionary dictionary_1 = new java.util.Properties();
 		BundleDescription bundle = null;
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AbstractResourceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AbstractResourceTest.java
index 53b1d78..01ea6f2 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AbstractResourceTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AbstractResourceTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AllTests.java
index af04fdd..4070be3 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/BasicTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/BasicTest.java
index 79e85f1..2857c0e 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/BasicTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/BasicTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/ResolverHookTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/ResolverHookTests.java
index a639195..128fa0f 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/ResolverHookTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/resource/ResolverHookTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java
index a3d356d..4ea5ea5 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/BaseSecurityTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java
index aea0a0f..7d37dbe 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/KeyStoreTrustEngineTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java
index 1f4122b..fa4d097 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/OSGiAPICertificateTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -275,7 +275,7 @@
 	}
 
 	public void testAdminPermission03() {
-		// test trusted cert with exact match pattern + ! operation 
+		// test trusted cert with exact match pattern + ! operation
 		try {
 			getTrustEngine().addTrustAnchor(getTestCertificate("ca1_leafa"), "ca1_leafa"); //$NON-NLS-1$ //$NON-NLS-2$
 			Bundle testBundle = installBundle(getTestJarPath("signed")); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java
index f8bc0d8..cec31c6 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SecurityTestSuite.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java
index fbce8b1..12ea547 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/security/SignedBundleTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 
 	/*
 	private static Test[] s_tests = {
-	// positive tests 
+	// positive tests
 	new SignedBundleTest("testSignedContent01", "unsigned", new String[] {}) {
 		public void runTest() {
 			testSignedContent01();
@@ -55,19 +55,19 @@
 	n/a		n/a		n/a		= positive, unsigned				('unsigned.jar')
 	yes		n/a		yes		= positive, 1 signer				('signed.jar','ca1_leafa')
 	yes		yes		yes		= positive, 2 signers				('multiply_signed.jar','ca1_leafa,'ca1_leafb')
-	
+
 	//negative = untrusted tests
-	no		n/a		yes		= negative, 1 signer, 1 untrusted	('signed.jar')		
+	no		n/a		yes		= negative, 1 signer, 1 untrusted	('signed.jar')
 	no		no		yes		= negative, 2 signers, 2 untrusted  ('multiply_signed.jar')
 	yes		no		yes		= negative, 2 signers, 1 untrusted	('multiply_signed.jar', 'ca1_leafa')
-	
+
 	//negative = validity tests
 	yes		n/a		no		= negative, 1 signer, 1 corrupt		('signed_with_corrupt.jar','ca1_leafa')
 	yes		yes		no		= negative, 2 signers, 2 corrupt
-	
+
 	//TODO: OSGi-specific partial signer cases
 	//TODO: TSA tests (w/TSA signer trusted, untrusted, etc)
-	//TODO: More? NESTED JARS? 		
+	//TODO: More? NESTED JARS?
 	*/
 
 	//private String jarName;
@@ -97,11 +97,11 @@
 		registerEclipseTrustEngine();
 		/*
 				TrustEngine engine = getTrustEngine();
-		
+
 				if (supportStore == null) {
 					fail("Could not open keystore with test certificates!");
 				}
-		
+
 				// get the certs from the support store and add
 				for (int i = 0; i < aliases.length; i++) {
 					Certificate cert = supportStore.getCertificate(aliases[i]);
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java
index 447c80c..83d7aba 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityAdminUnitTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java
index 6d21765..8068ca0 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/securityadmin/SecurityManagerTests.java
@@ -215,7 +215,7 @@
 
 		BundleContext systemContext = equinox.getBundleContext();
 		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle to tests bug 
+		// try installing a bundle to tests bug
 		String locationSecurityA = installer.getBundleLocation("security.a"); //$NON-NLS-1$
 		// set the security for the bundle
 		ConditionalPermissionAdmin ca = (ConditionalPermissionAdmin) systemContext.getService(systemContext.getServiceReference(ConditionalPermissionAdmin.class.getName()));
@@ -284,7 +284,7 @@
 
 		BundleContext systemContext = equinox.getBundleContext();
 		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle to tests bug 
+		// try installing a bundle to tests bug
 		String locationLinkA = installer.getBundleLocation("test.link.a"); //$NON-NLS-1$
 		String locationLinkAClient = installer.getBundleLocation("test.link.a.client"); //$NON-NLS-1$
 
@@ -354,7 +354,7 @@
 
 		BundleContext systemContext = equinox.getBundleContext();
 		assertNotNull("System context is null", systemContext); //$NON-NLS-1$
-		// try installing a bundle to tests bug 
+		// try installing a bundle to tests bug
 		String locationLinkA = installer.getBundleLocation("test.link.a"); //$NON-NLS-1$
 		String locationLinkAClient = installer.getBundleLocation("test.link.a.client"); //$NON-NLS-1$
 
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java
index b50dabb..0917cf4 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceExceptionTests.java
@@ -30,7 +30,7 @@
 		// test a service factory which returns wrong object types
 		ServiceExceptionServiceFactory wrongObjectFactory = new ServiceExceptionServiceFactory("A String"); //$NON-NLS-1$
 		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
+		props.put("name", testMethodName); //$NON-NLS-1$
 		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), wrongObjectFactory, props);
 		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), null, ServiceException.FACTORY_ERROR);
 		OSGiTestsActivator.getContext().addFrameworkListener(listener);
@@ -68,7 +68,7 @@
 		// test a service factory which returns null objects
 		ServiceExceptionServiceFactory nullObjectFactory = new ServiceExceptionServiceFactory(null);
 		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
+		props.put("name", testMethodName); //$NON-NLS-1$
 		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), nullObjectFactory, props);
 		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), null, ServiceException.FACTORY_ERROR);
 		OSGiTestsActivator.getContext().addFrameworkListener(listener);
@@ -107,7 +107,7 @@
 		RuntimeException cause = new RuntimeException(testMethodName);
 		ServiceExceptionServiceFactory runtimeExceptionFactory = new ServiceExceptionServiceFactory(cause);
 		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
+		props.put("name", testMethodName); //$NON-NLS-1$
 		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runtimeExceptionFactory, props);
 		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), cause, ServiceException.FACTORY_EXCEPTION);
 		OSGiTestsActivator.getContext().addFrameworkListener(listener);
@@ -146,7 +146,7 @@
 		Error cause = new Error(testMethodName);
 		ServiceExceptionServiceFactory errorFactory = new ServiceExceptionServiceFactory(cause);
 		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
+		props.put("name", testMethodName); //$NON-NLS-1$
 		ServiceRegistration reg = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), errorFactory, props);
 		ServiceExceptionFrameworkListener listener = new ServiceExceptionFrameworkListener(OSGiTestsActivator.getContext().getBundle(), cause, ServiceException.FACTORY_EXCEPTION);
 		OSGiTestsActivator.getContext().addFrameworkListener(listener);
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
index 04940a5..0e4e0c5 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/serviceregistry/ServiceRegistryTests.java
@@ -367,7 +367,7 @@
 			}
 		};
 		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
+		props.put("name", testMethodName); //$NON-NLS-1$
 		props.put(Constants.SERVICE_DESCRIPTION, "min value"); //$NON-NLS-1$
 		props.put(Constants.SERVICE_RANKING, Integer.valueOf(Integer.MIN_VALUE));
 		ServiceRegistration reg1 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
@@ -422,7 +422,7 @@
 			}
 		};
 		Hashtable props = new Hashtable();
-		props.put("name", testMethodName); //$NON-NLS-1$ 
+		props.put("name", testMethodName); //$NON-NLS-1$
 		props.put(Constants.SERVICE_DESCRIPTION, "min value"); //$NON-NLS-1$
 		props.put(Constants.SERVICE_RANKING, Integer.valueOf(Integer.MIN_VALUE));
 		ServiceRegistration reg1 = OSGiTestsActivator.getContext().registerService(Runnable.class.getName(), runIt, props);
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java
index ce5c67d..0ac39c4 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java
index a655f7c..21de7fe 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/BasicLocationTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java
index 729f1b1..d1e3cc9 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/FileManagerTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -153,9 +153,9 @@
 	}
 
 	/**
-	 * This tests a FM update where the a specific file is managed with a 
+	 * This tests a FM update where the a specific file is managed with a
 	 * revision number of (n) and an update is requested while there already
-	 * exists a file with revision number (n+1). FM should skip that generation 
+	 * exists a file with revision number (n+1). FM should skip that generation
 	 * number and update the database with file version set to (n+2). This test is
 	 * possible if a power loss occurs between FM rename() and FM save().
 	 */
@@ -219,7 +219,7 @@
 
 	/**
 	 * This tests that FM apis throw exceptions if FM has not yet been opened
-	 * or if FM has been closed.  
+	 * or if FM has been closed.
 	 */
 	public void testNotOpen() {
 		String permanentFile = "testNotOpen.txt";
@@ -314,10 +314,10 @@
 	 * This tests FM remove() then add().  On a remove(), the file can not be deleted as it may
 	 * be in use by another FM. Then add() the file back and see if the version number written to
 	 * is (n+1) where (n) is the version when remove() called.  This is likely if framework uses
-	 * -clean where on clean we remove the file, then on exit we add the file back.  Make sure 
+	 * -clean where on clean we remove the file, then on exit we add the file back.  Make sure
 	 * this is orderly.
-	 * 
-	 * Currently is is a known issues that remove() will never delete any old manager contents. 
+	 *
+	 * Currently is is a known issues that remove() will never delete any old manager contents.
 	 */
 	public void testRemoveThenAdd() {
 		String fileName = "testRemoveThenAdd.txt";
@@ -384,7 +384,7 @@
 	 */
 	public void testMultipleFileManagers() {
 		// This test relies on a file lock to fail if the same process already
-		// holds a file lock. This is true on Win32 but not on Linux/Mac unless using Java 6. 
+		// holds a file lock. This is true on Win32 but not on Linux/Mac unless using Java 6.
 		// So run this test for windows only.
 		String ee = System.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT);
 		if (!"win32".equalsIgnoreCase(System.getProperty("osgi.os")) && ee.indexOf("JavaSE-1.6") == -1)
@@ -545,7 +545,7 @@
 			assertTrue(file3.toString(), file3.exists());
 
 			// This test relies on a file lock to fail if the same process already
-			// holds a file lock. This is true on Win32 but not on Linux/Mac unless using Java 6. 
+			// holds a file lock. This is true on Win32 but not on Linux/Mac unless using Java 6.
 			// So run this test for windows only or Java 6 or higher.
 			String ee = System.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT);
 			if ("win32".equalsIgnoreCase(System.getProperty("osgi.os")) || ee.indexOf("JavaSE-1.6") != -1) {
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java
index 7112de0..5fb03b8 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/LocationAreaSessionTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java
index bcc898f..b3b4b85 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/SimpleTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java
index 3faa6b2..290119f 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/datalocation/StreamManagerTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -107,7 +107,7 @@
 	/**
 	 * This tests that FM will keep a backup version of a reliableFile and that
 	 * corrupting the reliableFile will recover the previous contents.
-	 * 
+	 *
 	 */
 	public void testReliableFile() {
 		String fileName = "testReliableFile.txt";
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java
index b368614..1cda30d 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AbstractStateTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java
index 6f32c94..3a286a6 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/AllTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java
index e8c914a..da3243f 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DevModeTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java
index 649b60e..7372a97 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/DisabledInfoTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java
index 9184508..74d36cb 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/GenericCapabilityTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java
index 97a1435..33c42d1 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/NewResolverTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -24,7 +24,7 @@
 	public NewResolverTest(String testName) {
 		super(testName);
 	}
-	
+
 	public static Test suite() {
 		return new TestSuite(NewResolverTest.class);
 	}
@@ -33,28 +33,28 @@
 		State state = buildEmptyState();
 		state.resolve();
 	}
-	
+
 	public void testBasicScenario1() throws BundleException {
 		State state = buildEmptyState();
-		
-		final String MAN_A = "Bundle-SymbolicName: A\n" + 
+
+		final String MAN_A = "Bundle-SymbolicName: A\n" +
 		                     "Export-Package: servlet; specification-version=2.1";
 		BundleDescription bA = state.getFactory().createBundleDescription(parseManifest(MAN_A),
 																		"org.eclipse.basic1A", 0);
 		state.addBundle(bA);
-		
-		final String MAN_B = "Bundle-SymbolicName: B\n" + 
+
+		final String MAN_B = "Bundle-SymbolicName: B\n" +
         					 "Import-Package: servlet; specification-version=2.1";
 		BundleDescription bB = state.getFactory().createBundleDescription(parseManifest(MAN_B),
 													"org.eclipse.basic1B", 1);
 		state.addBundle(bB);
 
 		state.resolve();
-		
+
 		BundleDescription b0 = state.getBundle(0);
 		assertNotNull("0.1", b0);
 		assertFullyResolved("0.2", b0);
-		
+
 		BundleDescription b1 = state.getBundle(1);
 		assertNotNull("0.3", b1);
 		assertFullyResolved("0.4", b1);
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/OSGiCapabilityTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/OSGiCapabilityTest.java
index c584387..e5d4f9f 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/OSGiCapabilityTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/OSGiCapabilityTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java
index eb1c2d1..1e31fff 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/PlatformAdminTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java
index e5473ec..97aac13 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/R4ResolverTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java
index d5dd596..b65390b 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateComparisonTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java
index c5b70f4..0c19c67 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateCycleTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java
index 3715242..4c3fc82 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/StateResolverTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -66,7 +66,7 @@
 	 * Tests adding 3 new bundles to an already resolved state and then
 	 * resolving only one of the bundles. The result should be all 3 added
 	 * bundles being resolved.
-	 *  
+	 *
 	 */
 	public void testAdd3Resolve1() throws BundleException {
 		State state = buildInitialState();
@@ -455,7 +455,7 @@
 	 * resolving only one of the bundles. The result should be all 3 added
 	 * bundles being resolved. Then re-resolving the same bundle. The result
 	 * should be only the one bundle being resolved.
-	 *  
+	 *
 	 */
 	public void testReresolveBundle() throws BundleException {
 		State state = buildInitialState();
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java
index f9a7c01..58deafa 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/SubstitutableExportsTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java
index 3f450a5..501e6b5 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/VersionRangeTests.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -43,7 +43,7 @@
 	}
 
 	public void testGreaterThan() {
-		// any version equal or greater than 1.0 is ok 
+		// any version equal or greater than 1.0 is ok
 		VersionRange lowerBound = new VersionRange("1.0.0"); //$NON-NLS-1$
 		assertTrue("1.0", !lowerBound.isIncluded(Version.parseVersion("0.9"))); //$NON-NLS-1$ //$NON-NLS-2$
 		assertTrue("1.1", lowerBound.isIncluded(Version.parseVersion("1.0"))); //$NON-NLS-1$ //$NON-NLS-2$
@@ -52,7 +52,7 @@
 	}
 
 	public void testLowerThan() {
-		// any version lower than 2.0 is ok 		
+		// any version lower than 2.0 is ok
 		VersionRange upperBound = new VersionRange("[0,2.0)"); //$NON-NLS-1$
 		assertTrue("1.0", upperBound.isIncluded(Version.parseVersion("0.0"))); //$NON-NLS-1$ //$NON-NLS-2$
 		assertTrue("1.1", upperBound.isIncluded(Version.parseVersion("0.9"))); //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java
index 6fcc03a..c30c484 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/services/resolver/XFriendsInternalResolverTest.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -31,7 +31,7 @@
 	/**
 	 * Tests the x-friends directive.  A bundle should not be allowed to import a package which
 	 * declares an x-friends directive and the importer is not a friend.  When a bundle requires
-	 * anther bundle which exports packages which declare an x-friends directive it should not 
+	 * anther bundle which exports packages which declare an x-friends directive it should not
 	 * have access to the packages unless the requiring bundle is a friend.
 	 * @throws BundleException
 	 */
@@ -44,7 +44,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.exporter");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, 
+		manifest.put(Constants.EXPORT_PACKAGE,
 				"test.exporter.foo1; x-friends:=\"test.importer1, test.requirer1\"," +
 				"test.exporter.foo2; x-friends:=\"test.importer2, test.requirer2\"," +
 				"test.exporter.bar1; x-friends:=\"test.importer1, test.requirer1\"," +
@@ -55,7 +55,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.importer1");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, 
+		manifest.put(Constants.IMPORT_PACKAGE,
 				"test.exporter.foo1," +
 				"test.exporter.bar1," +
 				"test.exporter.foo2; resolution:=optional," +
@@ -66,7 +66,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.importer2");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, 
+		manifest.put(Constants.IMPORT_PACKAGE,
 				"test.exporter.foo1; resolution:=optional," +
 				"test.exporter.bar1; resolution:=optional," +
 				"test.exporter.foo2," +
@@ -77,7 +77,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.importer3");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.IMPORT_PACKAGE, 
+		manifest.put(Constants.IMPORT_PACKAGE,
 				"test.exporter.foo1," +
 				"test.exporter.bar1," +
 				"test.exporter.foo2; resolution:=optional," +
@@ -200,7 +200,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.exporter");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.EXPORT_PACKAGE, 
+		manifest.put(Constants.EXPORT_PACKAGE,
 				"test.base; base.exporter=split; mandatory:=base.exporter");
 		BundleDescription baseExporter = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
 
@@ -209,7 +209,7 @@
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.exporter.require");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
 		manifest.put(Constants.REQUIRE_BUNDLE, "test.base.exporter");
-		manifest.put(Constants.EXPORT_PACKAGE, 
+		manifest.put(Constants.EXPORT_PACKAGE,
 				"test.base; base.exporter.require=split; mandatory:=base.exporter.require");
 		BundleDescription baseExporterRequire = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
 
@@ -217,7 +217,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.exporter.require2");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, 
+		manifest.put(Constants.REQUIRE_BUNDLE,
 				"test.base.exporter.require");
 		manifest.put(Constants.EXPORT_PACKAGE, "test.base.exporter.require");
 		BundleDescription baseExporterRequire2 = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
@@ -227,7 +227,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "test.base.importer");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, 
+		manifest.put(Constants.REQUIRE_BUNDLE,
 				"test.base.exporter.require");
 		BundleDescription baseImporter = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
 
@@ -332,7 +332,7 @@
 		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");
 		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A");
 		manifest.put(Constants.BUNDLE_VERSION, "1.0");
-		manifest.put(Constants.REQUIRE_BUNDLE, "B; " + Constants.VISIBILITY_DIRECTIVE + ":=" + Constants.VISIBILITY_REEXPORT + 
+		manifest.put(Constants.REQUIRE_BUNDLE, "B; " + Constants.VISIBILITY_DIRECTIVE + ":=" + Constants.VISIBILITY_REEXPORT +
 																	",C");
 		BundleDescription a = state.getFactory().createBundleDescription(state, manifest, (String) manifest.get(Constants.BUNDLE_SYMBOLICNAME), bundleID++);
 
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java
index 07dfac7..0b28ad0 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/BidiTextProcessorTestCase.java
@@ -18,7 +18,7 @@
 
 /**
  * Tests for strings that use the TextProcessor and are run in a bidi locale.
- * 
+ *
  * NOTE: Run these tests as a session test in order to have the correct
  *		 locale set.  Run class AllTests.
  */
@@ -28,7 +28,7 @@
 	protected static final char LRM = '\u200e';
 	// left to right embedding
 	protected static final char LRE = '\u202a';
-	// pop directional format	
+	// pop directional format
 	protected static final char PDF = '\u202c';
 
 	private static String PATH_1_RESULT = LRE + PATH_1 + PDF;
@@ -71,7 +71,7 @@
 	private static String OTHER_STRING_1_RESULT = LRE + "*" + "." + "java" + PDF;
 	private static String OTHER_STRING_2_RESULT = LRE + "*" + "." + "\u05d0\u05d1\u05d2" + PDF;
 	private static String OTHER_STRING_3_RESULT = LRE + "\u05d0\u05d1\u05d2 " + LRM + "=" + " \u05ea\u05e9\u05e8\u05e7\u05e6" + PDF;
-	// result strings if null delimiter is passed 
+	// result strings if null delimiter is passed
 	private static String OTHER_STRING_1_ND_RESULT = LRE + "*" + "." + "java" + PDF;
 	private static String OTHER_STRING_2_ND_RESULT = LRE + "*" + "." + "\u05d0\u05d1\u05d2" + PDF;
 	private static String OTHER_STRING_3_ND_RESULT = LRE + "\u05d0\u05d1\u05d2 " + "=" + " \u05ea\u05e9\u05e8\u05e7\u05e6" + PDF;
@@ -103,7 +103,7 @@
 
 	/**
 	 * Constructor.
-	 * 
+	 *
 	 * @param name test name
 	 */
 	public BidiTextProcessorTestCase(String name) {
@@ -148,7 +148,7 @@
 	}
 
 	/*
-	 * Test other possible uses for TextProcessor, including file associations and 
+	 * Test other possible uses for TextProcessor, including file associations and
 	 * variable assignment statements.
 	 */
 	public void testOtherStrings() {
@@ -211,7 +211,7 @@
 	}
 
 	/*
-	 * Test the result to ensure markers aren't added more than once if the 
+	 * Test the result to ensure markers aren't added more than once if the
 	 * string is processed multiple times.
 	 */
 	public void testDoubleProcessPaths() {
@@ -226,7 +226,7 @@
 	}
 
 	/*
-	 * Test the result to ensure markers aren't added more than once if the 
+	 * Test the result to ensure markers aren't added more than once if the
 	 * string is processed multiple times.
 	 */
 	public void testDoubleProcessOtherStrings() {
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java
index 2e9caca..a5a0480 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/LatinTextProcessorTestCase.java
@@ -16,7 +16,7 @@
 import org.eclipse.osgi.util.TextProcessor;
 
 /**
- * Test for strings that use the TextProcessor but are not run in a bidi locale. 
+ * Test for strings that use the TextProcessor but are not run in a bidi locale.
  * Latin locales should return the same String that was passed in.
  *
  */
@@ -47,7 +47,7 @@
 
 	/**
 	 * Constructor for class.
-	 * 
+	 *
 	 * @param name test name
 	 */
 	public LatinTextProcessorTestCase(String name) {
@@ -61,14 +61,14 @@
 			verifyResult("Process string " + (i + 1), result, ALL_PATHS[i]);
 		}
 	}
-	
+
 	public void testLatinPathsDeprocess(){
 		// test all strings using process(String) method
 		for (int i = 0; i < ALL_PATHS.length; i++) {
 			String result = TextProcessor.process(ALL_PATHS[i]);
 			String resultDP = TextProcessor.deprocess(result);
 			verifyResult("Deprocess string " + (i + 1), resultDP, ALL_PATHS[i]);
-		}		
+		}
 	}
 
 	public void testLatinPathsWithNullDelimiter() {
@@ -78,7 +78,7 @@
 			verifyResult("Process string " + (i + 1), result, ALL_PATHS[i]);
 		}
 	}
-	
+
 	public void testLatinOtherStrings() {
 		// test the process(String, String) method
 		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
@@ -91,7 +91,7 @@
 			verifyResult("Equals expression " + (i + 1), result, TEST_EQUALS_PATHS[i]);
 		}
 	}
-	
+
 	public void testLatinOtherStringsDeprocess() {
 		// test the process(String, String) method
 		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
@@ -105,7 +105,7 @@
 			String resultDP = TextProcessor.deprocess(result);
 			verifyResult("Equals expression " + (i + 1), resultDP, TEST_EQUALS_PATHS[i]);
 		}
-	}	
+	}
 
 	public void testLatinOtherStringsWithNoDelimiter() {
 		for (int i = 0; i < TEST_STAR_PATHS.length; i++) {
@@ -123,17 +123,17 @@
 		verifyResult("TextProcessor.process(String) for empty string ", TextProcessor.process(""), EMPTY_STRING);
 		verifyResult("TextProcessor.process(String, String) for empty strings ", TextProcessor.process("", ""), EMPTY_STRING);
 	}
-	
+
 	public void testEmptyStringParamsDeprocess() {
 		verifyResult("TextProcessor.deprocess(String) for empty string ", TextProcessor.deprocess(""), EMPTY_STRING);
 	}
-	
+
 	public void testNullParams() {
 		assertNull("TextProcessor.process(String) for null param ", TextProcessor.process(null));
 		assertNull("TextProcessor.process(String, String) for params ", TextProcessor.process(null, null));
 	}
-	
+
 	public void testNullParamsDeprocess() {
 		assertNull("TextProcessor.deprocess(String) for null param ", TextProcessor.deprocess(null));
-	}	
+	}
 }
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java
index 93fc182..e7616b5 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorSessionTest.java
@@ -21,7 +21,7 @@
 	private String lang = null;
 
 	/**
-	 * Create a session test for the given class.  
+	 * Create a session test for the given class.
 	 * @param pluginId tests plugin id
 	 * @param clazz the test class to run
 	 * @param language the language to run the tests under (the -nl parameter value)
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java
index f0186c2..685b537 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/util/TextProcessorTestCase.java
@@ -26,7 +26,7 @@
 	protected static String HEBREW_STRING_3 = "\u05e5\u05e4\u05e3";
 	protected static String HEBREW_STRING_4 = "\u05e2\u05e1\u05e0";
 	protected static String HEBREW_STRING_5 = "\u05df\u05fd\u05dd";
-	protected static String HEBREW_STRING_6 = "\u05dc\u05db\u05da";	
+	protected static String HEBREW_STRING_6 = "\u05dc\u05db\u05da";
 	protected static String HEBREW_STRING_7 = "\u05d0";
 	protected static String HEBREW_STRING_8 = "\u05e9";
 	protected static String HEBREW_STRING_9 = "\u05dc";
@@ -34,9 +34,9 @@
 	protected static String HEBREW_STRING_11 = "\u05d4";
 	protected static String HEBREW_STRING_12 = "\u05da";
 	protected static String HEBREW_STRING_13 = "\u05df";
-		
+
 	// strings to test
-	
+
 	// paths
 	protected static String PATH_1 = "d:\\test\\" + HEBREW_STRING_1 + "\\segment";
 	protected static String PATH_2 = "\\test\\" + HEBREW_STRING_1 + "\\segment";
@@ -51,7 +51,7 @@
 	protected static String PATH_11 = "\\t\\" + HEBREW_STRING_7 + "\\segment";
 	protected static String PATH_12 = "d:\\";
 	protected static String PATH_13 = "\\t";
-	
+
 	protected static String STRING_1 = "d:\\all\\english";
 	protected static String STRING_2 = "all english with neutrals (spaces) in the middle";
 	protected static String STRING_3 = "_d:all/english with leading neutral";
@@ -67,7 +67,7 @@
 	protected static String STRING_13 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123/myfile." + HEBREW_STRING_6;
 	protected static String STRING_14 = "d:\\myFolder\\" + HEBREW_STRING_2 + "\\123myfile." + HEBREW_STRING_6;
 	protected static String STRING_15= "d:\\myFolder\\" + HEBREW_STRING_2 + "12-=\\<>?34" + HEBREW_STRING_6 + ".java";
-	protected static String STRING_16 = HEBREW_STRING_2 + "/" + HEBREW_STRING_6 + "/" + HEBREW_STRING_4 + "." + HEBREW_STRING_5; 
+	protected static String STRING_16 = HEBREW_STRING_2 + "/" + HEBREW_STRING_6 + "/" + HEBREW_STRING_4 + "." + HEBREW_STRING_5;
 	protected static String STRING_17 = HEBREW_STRING_7 + "/" + HEBREW_STRING_8 + "/" + HEBREW_STRING_9 + "/" + HEBREW_STRING_10 + "/" +HEBREW_STRING_11 + "/" + HEBREW_STRING_12 + "/" + HEBREW_STRING_13;
 	protected static String STRING_18 = "_" + HEBREW_STRING_2 + " mixed text starts and ends with neutral.";
 	protected static String STRING_19 = "english and " + HEBREW_STRING_2 + " text starts with LTR ends with neutral _";
@@ -94,7 +94,7 @@
 
 	/**
 	 * Constructor for class
-	 * 
+	 *
 	 * @param name
 	 */
 	public TextProcessorTestCase(String name) {
@@ -102,7 +102,7 @@
 	}
 
 	protected void verifyResult(String testName, String expected, String result){
-		assertTrue(testName + " result string is not the same as string passed in.", result.equals(expected));		
+		assertTrue(testName + " result string is not the same as string passed in.", result.equals(expected));
 	}
-	
+
 }
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/adaptor/EclipseStarter.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/adaptor/EclipseStarter.java
index d3d81e0..7b41681 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/adaptor/EclipseStarter.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/adaptor/EclipseStarter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Alex Blewitt (bug 172969)
@@ -53,16 +53,16 @@
 import org.osgi.util.tracker.ServiceTracker;
 
 /**
- * Special startup class for the Eclipse Platform. This class cannot be 
- * instantiated; all functionality is provided by static methods. 
+ * Special startup class for the Eclipse Platform. This class cannot be
+ * instantiated; all functionality is provided by static methods.
  * <p>
- * The Eclipse Platform makes heavy use of Java class loaders for loading 
+ * The Eclipse Platform makes heavy use of Java class loaders for loading
  * plug-ins. Even the Eclipse Runtime itself and the OSGi framework need
- * to be loaded by special class loaders. The upshot is that a 
- * client program (such as a Java main program, a servlet) cannot  
- * reference any part of Eclipse directly. Instead, a client must use this 
- * loader class to start the platform, invoking functionality defined 
- * in plug-ins, and shutting down the platform when done. 
+ * to be loaded by special class loaders. The upshot is that a
+ * client program (such as a Java main program, a servlet) cannot
+ * reference any part of Eclipse directly. Instead, a client must use this
+ * loader class to start the platform, invoking functionality defined
+ * in plug-ins, and shutting down the platform when done.
  * </p>
  * <p>Note that the fields on this class are not API. </p>
  * @since 3.0
@@ -89,12 +89,12 @@
 	private static final String ARCH = "-arch"; //$NON-NLS-1$
 	private static final String NL = "-nl"; //$NON-NLS-1$
 	private static final String NL_EXTENSIONS = "-nlExtensions"; //$NON-NLS-1$
-	private static final String CONFIGURATION = "-configuration"; //$NON-NLS-1$	
+	private static final String CONFIGURATION = "-configuration"; //$NON-NLS-1$
 	private static final String USER = "-user"; //$NON-NLS-1$
 	private static final String NOEXIT = "-noExit"; //$NON-NLS-1$
 	private static final String LAUNCHER = "-launcher"; //$NON-NLS-1$
 
-	// this is more of an Eclipse argument but this OSGi implementation stores its 
+	// this is more of an Eclipse argument but this OSGi implementation stores its
 	// metadata alongside Eclipse's.
 	private static final String DATA = "-data"; //$NON-NLS-1$
 
@@ -232,13 +232,13 @@
 
 	/**
 	 * Launches the platform and runs a single application. The application is either identified
-	 * in the given arguments (e.g., -application &lt;app id&gt;) or in the <code>eclipse.application</code> 
-	 * System property.  This convenience method starts 
-	 * up the platform, runs the indicated application, and then shuts down the 
-	 * platform. The platform must not be running already. 
-	 * 
+	 * in the given arguments (e.g., -application &lt;app id&gt;) or in the <code>eclipse.application</code>
+	 * System property.  This convenience method starts
+	 * up the platform, runs the indicated application, and then shuts down the
+	 * platform. The platform must not be running already.
+	 *
 	 * @param args the command line-style arguments used to configure the platform
-	 * @param endSplashHandler the block of code to run to tear down the splash 
+	 * @param endSplashHandler the block of code to run to tear down the splash
 	 * 	screen or <code>null</code> if no tear down is required
 	 * @return the result of running the application
 	 * @throws Exception if anything goes wrong
@@ -300,7 +300,7 @@
 	/**
 	 * Starts the platform and sets it up to run a single application. The application is either identified
 	 * in the given arguments (e.g., -application &lt;app id&gt;) or in the <code>eclipse.application</code>
-	 * System property.  The platform must not be running already. 
+	 * System property.  The platform must not be running already.
 	 * <p>
 	 * The given runnable (if not <code>null</code>) is used to tear down the splash screen if required.
 	 * </p>
@@ -371,8 +371,8 @@
 	}
 
 	/**
-	 * Runs the application for which the platform was started. The platform 
-	 * must be running. 
+	 * Runs the application for which the platform was started. The platform
+	 * must be running.
 	 * <p>
 	 * The given argument is passed to the application being run.  If it is <code>null</code>
 	 * then the command line arguments used in starting the platform, and not consumed
@@ -395,8 +395,8 @@
 				// create the ApplicationLauncher and register it as a service
 				appLauncher = new EclipseAppLauncher(context, Boolean.parseBoolean(getProperty(PROP_ALLOW_APPRELAUNCH)), launchDefault, log, equinoxConfig);
 				appLauncherRegistration = context.registerService(ApplicationLauncher.class.getName(), appLauncher, null);
-				// must start the launcher AFTER service restration because this method 
-				// blocks and runs the application on the current thread.  This method 
+				// must start the launcher AFTER service restration because this method
+				// blocks and runs the application on the current thread.  This method
 				// will return only after the application has stopped.
 				return appLauncher.start(argument);
 			}
@@ -415,19 +415,19 @@
 	}
 
 	/**
-	 * Shuts down the Platform. The state of the Platform is not automatically 
-	 * saved before shutting down. 
+	 * Shuts down the Platform. The state of the Platform is not automatically
+	 * saved before shutting down.
 	 * <p>
-	 * On return, the Platform will no longer be running (but could be re-launched 
+	 * On return, the Platform will no longer be running (but could be re-launched
 	 * with another call to startup). If relaunching, care must be taken to reinitialize
 	 * any System properties which the platform uses (e.g., osgi.instance.area) as
-	 * some policies in the platform do not allow resetting of such properties on 
+	 * some policies in the platform do not allow resetting of such properties on
 	 * subsequent runs.
 	 * </p><p>
-	 * Any objects handed out by running Platform, 
-	 * including Platform runnables obtained via getRunnable, will be 
-	 * permanently invalid. The effects of attempting to invoke methods 
-	 * on invalid objects is undefined. 
+	 * Any objects handed out by running Platform,
+	 * including Platform runnables obtained via getRunnable, will be
+	 * permanently invalid. The effects of attempting to invoke methods
+	 * on invalid objects is undefined.
 	 * </p>
 	 * @throws Exception if anything goes wrong
 	 */
@@ -516,8 +516,8 @@
 			url = createURL(new File(parent).toURL(), name);
 		} catch (MalformedURLException e) {
 			// TODO this is legacy support for non-URL names.  It should be removed eventually.
-			// if name was not a URL then construct one.  
-			// Assume it should be a reference and that it is relative.  This support need not 
+			// if name was not a URL then construct one.
+			// Assume it should be a reference and that it is relative.  This support need not
 			// be robust as it is temporary..
 			File child = new File(name);
 			fileLocation = child.isAbsolute() ? child : new File(parent, name);
@@ -543,7 +543,7 @@
 			if (!fileLocation.isAbsolute())
 				fileLocation = new File(parent, fileLocation.toString());
 		}
-		// If the result is a reference then search for the real result and 
+		// If the result is a reference then search for the real result and
 		// reconstruct the answer.
 		if (reference) {
 			String result = searchFor(fileLocation.getName(), new File(fileLocation.getParent()).getAbsolutePath());
@@ -553,7 +553,7 @@
 				return null;
 		}
 
-		// finally we have something worth trying	
+		// finally we have something worth trying
 		try {
 			URLConnection result = LocationHelper.getConnection(url);
 			result.connect();
@@ -567,7 +567,7 @@
 
 	/*
 	 * Ensure all basic bundles are installed, resolved and scheduled to start. Returns an array containing
-	 * all basic bundles that are marked to start. 
+	 * all basic bundles that are marked to start.
 	 * Returns null if the framework has been shutdown as a result of refreshPackages
 	 */
 	private static Bundle[] loadBasicBundles() throws InterruptedException {
@@ -586,7 +586,7 @@
 
 		// list of bundles to be refreshed
 		List<Bundle> toRefresh = new ArrayList<>(curInitBundles.length);
-		// uninstall any of the currently installed bundles that do not exist in the 
+		// uninstall any of the currently installed bundles that do not exist in the
 		// initial bundle list from installEntries.
 		uninstallBundles(curInitBundles, initialBundles, toRefresh);
 
@@ -705,7 +705,7 @@
 			// check for args without parameters (i.e., a flag arg)
 
 			// check if debug should be enabled for the entire platform
-			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
+			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
 			// simply enable debug.  Otherwise, assume that that the following arg is
 			// actually the filename of an options file.  This will be processed below.
 			if (args[i].equalsIgnoreCase(DEBUG) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
@@ -715,7 +715,7 @@
 			}
 
 			// check if development mode should be enabled for the entire platform
-			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
+			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
 			// simply enable development mode.  Otherwise, assume that that the following arg is
 			// actually some additional development time class path entries.  This will be processed below.
 			if (args[i].equalsIgnoreCase(DEV) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
@@ -741,7 +741,7 @@
 				found = true;
 			}
 
-			// look for the console with no port.  
+			// look for the console with no port.
 			if (args[i].equalsIgnoreCase(CONSOLE) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
 				setProperty(PROP_CONSOLE, ""); //$NON-NLS-1$
 				found = true;
@@ -763,25 +763,25 @@
 			}
 			String arg = args[++i];
 
-			// look for the console and port.  
+			// look for the console and port.
 			if (args[i - 1].equalsIgnoreCase(CONSOLE)) {
 				setProperty(PROP_CONSOLE, arg);
 				found = true;
 			}
 
-			// look for the configuration location .  
+			// look for the configuration location .
 			if (args[i - 1].equalsIgnoreCase(CONFIGURATION)) {
 				setProperty(EquinoxLocations.PROP_CONFIG_AREA, arg);
 				found = true;
 			}
 
-			// look for the data location for this instance.  
+			// look for the data location for this instance.
 			if (args[i - 1].equalsIgnoreCase(DATA)) {
 				setProperty(EquinoxLocations.PROP_INSTANCE_AREA, arg);
 				found = true;
 			}
 
-			// look for the user location for this instance.  
+			// look for the user location for this instance.
 			if (args[i - 1].equalsIgnoreCase(USER)) {
 				setProperty(EquinoxLocations.PROP_USER_AREA, arg);
 				found = true;
@@ -792,20 +792,20 @@
 				setProperty(EquinoxLocations.PROP_LAUNCHER, arg);
 				found = true;
 			}
-			// look for the development mode and class path entries.  
+			// look for the development mode and class path entries.
 			if (args[i - 1].equalsIgnoreCase(DEV)) {
 				setProperty(PROP_DEV, arg);
 				found = true;
 			}
 
-			// look for the debug mode and option file location.  
+			// look for the debug mode and option file location.
 			if (args[i - 1].equalsIgnoreCase(DEBUG)) {
 				setProperty(PROP_DEBUG, arg);
 				debug = true;
 				found = true;
 			}
 
-			// look for the window system.  
+			// look for the window system.
 			if (args[i - 1].equalsIgnoreCase(WS)) {
 				setProperty(PROP_WS, arg);
 				found = true;
@@ -835,7 +835,7 @@
 				found = true;
 			}
 
-			// done checking for args.  Remember where an arg was found 
+			// done checking for args.  Remember where an arg was found
 			if (found) {
 				configArgs[configArgIndex++] = i - 1;
 				configArgs[configArgIndex++] = i;
@@ -865,7 +865,7 @@
 
 	/**
 	 * Returns the result of converting a list of comma-separated tokens into an array
-	 * 
+	 *
 	 * @return the array of string tokens
 	 * @param prop the initial comma-separated string
 	 */
@@ -1076,7 +1076,7 @@
 	/**
 	 * Returns a URL which is equivalent to the given URL relative to the
 	 * specified base URL. Works only for file: URLs
-	 * @throws MalformedURLException 
+	 * @throws MalformedURLException
 	 */
 	private static URL makeRelative(URL base, URL location) throws MalformedURLException {
 		if (base == null)
@@ -1090,7 +1090,7 @@
 		if (!base.getProtocol().equals(nonReferenceLocation.getProtocol()))
 			return location;
 		File locationPath = new File(nonReferenceLocation.getPath());
-		// if location is not absolute, return original location 
+		// if location is not absolute, return original location
 		if (!locationPath.isAbsolute())
 			return location;
 		File relativePath = makeRelative(new File(base.getPath()), locationPath);
@@ -1098,9 +1098,9 @@
 		if (File.separatorChar != '/')
 			urlPath = urlPath.replace(File.separatorChar, '/');
 		if (nonReferenceLocation.getPath().endsWith("/")) //$NON-NLS-1$
-			// restore original trailing slash 
+			// restore original trailing slash
 			urlPath += '/';
-		// couldn't use File to create URL here because it prepends the path with user.dir 
+		// couldn't use File to create URL here because it prepends the path with user.dir
 		URL relativeURL = createURL(base.getProtocol(), base.getHost(), base.getPort(), urlPath);
 		// now make it back to a reference URL
 		relativeURL = createURL(REFERENCE_SCHEME + relativeURL.toExternalForm());
@@ -1205,9 +1205,9 @@
 
 	/**
 	 * Searches for the given target directory immediately under
-	 * the given start location.  If one is found then this location is returned; 
+	 * the given start location.  If one is found then this location is returned;
 	 * otherwise an exception is thrown.
-	 * 
+	 *
 	 * @return the location where target directory was found
 	 * @param start the location to begin searching
 	 */
@@ -1239,7 +1239,7 @@
 					continue;
 			}
 			// Note: directory with version suffix is always > than directory without version suffix
-			String version = candidateName.length() > target.length() + 1 && (versionSep == '_' || versionSep == '-') ? candidateName.substring(target.length() + 1) : ""; //$NON-NLS-1$ 
+			String version = candidateName.length() > target.length() + 1 && (versionSep == '_' || versionSep == '-') ? candidateName.substring(target.length() + 1) : ""; //$NON-NLS-1$
 			Object[] currentVersion = getVersionElements(version);
 			if (currentVersion != null && compareVersion(maxVersion, currentVersion) < 0) {
 				File candidate = new File(start, candidateName);
@@ -1263,7 +1263,7 @@
 	 * with suitable defaults.
 	 * @return an array of size 4; first three elements are of type Integer (representing
 	 * major, minor and service) and the fourth element is of type String (representing
-	 * qualifier).  A value of null is returned if there are no valid Integers.  Note, that 
+	 * qualifier).  A value of null is returned if there are no valid Integers.  Note, that
 	 * returning anything else will cause exceptions in the caller.
 	 */
 	private static Object[] getVersionElements(String version) {
@@ -1291,7 +1291,7 @@
 	}
 
 	/**
-	 * Compares version strings. 
+	 * Compares version strings.
 	 * @return result of comparison, as integer;
 	 * <code><0</code> if left < right;
 	 * <code>0</code> if left == right;
@@ -1330,12 +1330,12 @@
 	}
 
 	/**
-	 * Sets the initial properties for the platform.  
-	 * This method must be called before calling the {@link  #run(String[], Runnable)} or 
-	 * {@link #startup(String[], Runnable)} methods for the properties to be used in 
-	 * a launched instance of the platform.  
+	 * Sets the initial properties for the platform.
+	 * This method must be called before calling the {@link  #run(String[], Runnable)} or
+	 * {@link #startup(String[], Runnable)} methods for the properties to be used in
+	 * a launched instance of the platform.
 	 * <p>
-	 * If the specified properties contains a null value then the key for that value 
+	 * If the specified properties contains a null value then the key for that value
 	 * will be cleared from the properties of the platform.
 	 * </p>
 	 * @param initialProperties the initial properties to set for the platform.
@@ -1353,7 +1353,7 @@
 	}
 
 	/**
-	 * Returns the context of the system bundle.  A value of 
+	 * Returns the context of the system bundle.  A value of
 	 * <code>null</code> is returned if the platform is not running.
 	 * @return the context of the system bundle
 	 * @throws java.lang.SecurityException If the caller does not have the
@@ -1373,15 +1373,15 @@
 	/*
 	 * NOTE: This is an internal/experimental method used by launchers that need to react when the framework
 	 * is shutdown internally.
-	 * 
+	 *
 	 * Adds a framework shutdown handler. <p>
 	 * A handler implements the {@link Runnable} interface.  When the framework is shutdown
-	 * the {@link Runnable#run()} method is called for each registered handler.  Handlers should 
-	 * make no assumptions on the thread it is being called from.  If a handler object is 
+	 * the {@link Runnable#run()} method is called for each registered handler.  Handlers should
+	 * make no assumptions on the thread it is being called from.  If a handler object is
 	 * registered multiple times it will be called once for each registration.
 	 * <p>
-	 * At the time a handler is called the framework is shutdown.  Handlers must not depend on 
-	 * a running framework to execute or attempt to load additional classes from bundles 
+	 * At the time a handler is called the framework is shutdown.  Handlers must not depend on
+	 * a running framework to execute or attempt to load additional classes from bundles
 	 * installed in the framework.
 	 * @param handler the framework shutdown handler
 	 * @throws IllegalStateException if the platform is already running
@@ -1399,7 +1399,7 @@
 	/*
 	 * NOTE: This is an internal/experimental method used by launchers that need to react when the framework
 	 * is shutdown internally.
-	 * 
+	 *
 	 * Removes a framework shutdown handler. <p>
 	 * @param handler the framework shutdown handler
 	 * @throws IllegalStateException if the platform is already running
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/ConsoleManager.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/ConsoleManager.java
index e7055df..ef4a320 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/ConsoleManager.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/ConsoleManager.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/DefaultStartupMonitor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/DefaultStartupMonitor.java
index 583ddd5..bad1d89 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/DefaultStartupMonitor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/DefaultStartupMonitor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Andrew Niefer - IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -28,7 +28,7 @@
 	/**
 	 * Create a new startup monitor using the given splash handler.  The splash handle must
 	 * have an updateSplash method.
-	 * 
+	 *
 	 * @param splashHandler
 	 * @throws IllegalStateException
 	 */
@@ -42,7 +42,7 @@
 			//TODO maybe we could do something else in the update method in this case, like print something to the console?
 			throw new IllegalStateException(e.getMessage(), e);
 		}
-    
+
 	}
 
 	/* (non-Javadoc)
@@ -64,7 +64,7 @@
 	@Override
 	public void applicationRunning() {
 		if (EclipseStarter.debug) {
-			String timeString = equinoxConfig.getConfiguration("eclipse.startTime"); //$NON-NLS-1$ 
+			String timeString = equinoxConfig.getConfiguration("eclipse.startTime"); //$NON-NLS-1$
 			long time = timeString == null ? 0L : Long.parseLong(timeString);
 			Debug.println("Application started in : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
 		}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/EclipseAppLauncher.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/EclipseAppLauncher.java
index ffc771c..fef62df 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/EclipseAppLauncher.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/core/runtime/internal/adaptor/EclipseAppLauncher.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -71,7 +71,7 @@
 
 	/*
 	 * Starts this application launcher on the current thread.  This method
-	 * should be called by the main thread to ensure that applications are 
+	 * should be called by the main thread to ensure that applications are
 	 * launched in the main thread.
 	 */
 	public Object start(Object defaultContext) throws Exception {
@@ -128,9 +128,9 @@
 			// this must happen after we have acquired an application (by acquiring waitForAppLock above).
 			runningLock.acquire();
 			if (EclipseStarter.debug) {
-				String timeString = equinoxConfig.getConfiguration("eclipse.startTime"); //$NON-NLS-1$ 
+				String timeString = equinoxConfig.getConfiguration("eclipse.startTime"); //$NON-NLS-1$
 				long time = timeString == null ? 0L : Long.parseLong(timeString);
-				Debug.println("Starting application: " + (System.currentTimeMillis() - time)); //$NON-NLS-1$ 
+				Debug.println("Starting application: " + (System.currentTimeMillis() - time)); //$NON-NLS-1$
 			}
 			try {
 				// run the actual application on the current thread (main).
@@ -179,7 +179,7 @@
 
 	/*
 	 * Similar to the start method this method will restart the default method on current thread.
-	 * This method assumes that the default application was launched at least once and that an ApplicationDescriptor 
+	 * This method assumes that the default application was launched at least once and that an ApplicationDescriptor
 	 * exists that can be used to relaunch the default application.
 	 */
 	public Object reStart(Object argument) throws Exception {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/Module.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/Module.java
index 3e38958..8f92194 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/Module.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/Module.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -44,7 +44,7 @@
 	 */
 	public static enum StartOptions {
 		/**
-		 * The module start operation is transient and the persistent 
+		 * The module start operation is transient and the persistent
 		 * autostart or activation policy setting of the module is not modified.
 		 */
 		TRANSIENT,
@@ -87,7 +87,7 @@
 	 */
 	public static enum StopOptions {
 		/**
-		 * The module stop operation is transient and the persistent 
+		 * The module stop operation is transient and the persistent
 		 * autostart setting of the module is not modified.
 		 */
 		TRANSIENT;
@@ -379,7 +379,7 @@
 	}
 
 	/**
-	 * Returns the thread that currently owns the state change lock for this module, or 
+	 * Returns the thread that currently owns the state change lock for this module, or
 	 * <code>null</code> if not owned.
 	 * @return the owner, or <code>null</code> if not owned.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCapability.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCapability.java
index fb49562..0da9f66 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCapability.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCapability.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCollisionHook.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCollisionHook.java
index ceccd8d..7f2193d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCollisionHook.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleCollisionHook.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -41,17 +41,17 @@
 	 * <li> {@link #INSTALLING installing} - The target is the module associated
 	 * which is performing the install operation. The
 	 * collision candidate collection contains the existing modules installed
-	 * which have a current revision with the same symbolic name and version as the 
+	 * which have a current revision with the same symbolic name and version as the
 	 * module being installed.
-	 * <li> {@link #UPDATING updating} - The target is the module being updated. 
+	 * <li> {@link #UPDATING updating} - The target is the module being updated.
 	 * The collision candidate collection contains the existing modules installed which have
-	 * a current revision with the same symbolic name and version as the content the target 
+	 * a current revision with the same symbolic name and version as the content the target
 	 * module is being updated to.
 	 * </ul>
 	 * This method can filter the collection of collision candidates by removing
 	 * potential collisions. For the specified operation to succeed, the
 	 * collection of collision candidates must be empty when this method returns.
-	 * 
+	 *
 	 * @param operationType The operation type. Must be the value of
 	 *        {@link #INSTALLING installing} or {@link #UPDATING updating}.
 	 * @param target The target module used to determine what collision
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainer.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainer.java
index c248ff4..a45fafd 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainer.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainer.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -117,7 +117,7 @@
 	final ModuleContainerAdaptor adaptor;
 
 	/**
-	 * The module resolver which implements the ResolverContext and handles calling the 
+	 * The module resolver which implements the ResolverContext and handles calling the
 	 * resolver service.
 	 */
 	private final ModuleResolver moduleResolver;
@@ -191,7 +191,7 @@
 	}
 
 	/**
-	 * Returns the module installed with the specified id, or null if no 
+	 * Returns the module installed with the specified id, or null if no
 	 * such module is installed.
 	 * @param id the id of the module
 	 * @return the module with the specified id, or null of no such module is installed.
@@ -201,7 +201,7 @@
 	}
 
 	/**
-	 * Returns the module installed with the specified location, or null if no 
+	 * Returns the module installed with the specified location, or null if no
 	 * such module is installed.
 	 * @param location the location of the module
 	 * @return the module with the specified location, or null of no such module is installed.
@@ -224,17 +224,17 @@
 
 	/**
 	 * Installs a new module using the specified location.  The specified
-	 * builder is used to create a new {@link ModuleRevision revision} 
+	 * builder is used to create a new {@link ModuleRevision revision}
 	 * which will become the {@link Module#getCurrentRevision() current}
 	 * revision of the new module.
 	 * <p>
-	 * If a module already exists with the specified location then the 
+	 * If a module already exists with the specified location then the
 	 * existing module is returned and the builder is not used.
 	 * @param origin the module performing the install, may be {@code null}.
-	 * @param location The location identifier of the module to install. 
+	 * @param location The location identifier of the module to install.
 	 * @param builder the builder used to create the revision to install.
 	 * @param revisionInfo the revision info for the new revision, may be {@code null}.
-	 * @return a new module or a existing module if one exists at the 
+	 * @return a new module or a existing module if one exists at the
 	 *     specified location.
 	 * @throws BundleException if some error occurs installing the module
 	 */
@@ -325,7 +325,7 @@
 
 	/**
 	 * Updates the specified module with a new revision.  The specified
-	 * builder is used to create a new {@link ModuleRevision revision} 
+	 * builder is used to create a new {@link ModuleRevision revision}
 	 * which will become the {@link Module#getCurrentRevision() current}
 	 * revision of the new module.
 	 * @param module the module to update
@@ -481,7 +481,7 @@
 	 * Attempts to resolve the current revisions of the specified modules.
 	 * @param triggers the modules to resolve or {@code null} to resolve all unresolved
 	 *    current revisions.
-	 * @param triggersMandatory true if the triggers must be resolved.  This will result in 
+	 * @param triggersMandatory true if the triggers must be resolved.  This will result in
 	 *   a {@link ResolutionException} if set to true and one of the triggers could not be resolved.
 	 * @see FrameworkWiring#resolveBundles(Collection)
 	 * @return A resolution report for the resolve operation
@@ -562,7 +562,7 @@
 	 * Attempts to resolve the specified dynamic package name request for the specified revision.
 	 * @param dynamicPkgName the package name to attempt a dynamic resolution for
 	 * @param revision the module revision the dynamic resolution request is for
-	 * @return the new resolution wire establishing a dynamic package resolution or null if 
+	 * @return the new resolution wire establishing a dynamic package resolution or null if
 	 * a dynamic wire could not be established.
 	 */
 	public ModuleWire resolveDynamic(String dynamicPkgName, ModuleRevision revision) {
@@ -1141,8 +1141,8 @@
 	/**
 	 * Returns the dependency closure of for the specified modules.
 	 * @param initial The initial modules for which to generate the dependency closure
-	 * @return A collection containing a snapshot of the dependency closure of the specified 
-	 *    modules, or an empty collection if there were no specified modules. 
+	 * @return A collection containing a snapshot of the dependency closure of the specified
+	 *    modules, or an empty collection if there were no specified modules.
 	 */
 	public Collection<Module> getDependencyClosure(Collection<Module> initial) {
 		moduleDatabase.readLock();
@@ -1164,11 +1164,11 @@
 
 	/**
 	 * Return the active start level value of this container.
-	 * 
+	 *
 	 * If the container is in the process of changing the start level this
 	 * method must return the active start level if this differs from the
 	 * requested start level.
-	 * 
+	 *
 	 * @return The active start level value of the Framework.
 	 */
 	public int getStartLevel() {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainerAdaptor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainerAdaptor.java
index df8838e..5e067a8 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainerAdaptor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleContainerAdaptor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -242,7 +242,7 @@
 	}
 
 	/**
-	 * This is called when a wiring is made invalid and allows the adaptor to react 
+	 * This is called when a wiring is made invalid and allows the adaptor to react
 	 * to this.  This method is called while holding state change lock for the
 	 * module as well as for the module database.  Care must be taken not to introduce
 	 * deadlock.
@@ -256,7 +256,7 @@
 	/**
 	 * This is called if a request to refresh modules causes the system module
 	 * to be refreshed.  This causes the system module to be stopped in a back
-	 * ground thread.  This method is called before the background thread is 
+	 * ground thread.  This method is called before the background thread is
 	 * started to stop the system module.
 	 */
 	public void refreshedSystemModule() {
@@ -303,7 +303,7 @@
 	}
 
 	/**
-	 * Returns the executor used to by the 
+	 * Returns the executor used to by the
 	 * {@link ModuleContainer#getFrameworkStartLevel() FrameworkStartLevel} implementation to
 	 * start bundles that have the same start level.  This allows bundles to be
 	 * started in parallel.
@@ -319,11 +319,11 @@
 	 * call when a new module is {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object) installed}
 	 * into the container or when an existing module is {@link ModuleContainer#update(Module, ModuleRevisionBuilder, Object) updated}
 	 * with a new revision.  The container does not call any methods on the builder before calling this method.
-	 * @param operation The lifecycle operation event that is in progress using the supplied builder. 
+	 * @param operation The lifecycle operation event that is in progress using the supplied builder.
 	 * This will be either {@link ModuleEvent#INSTALLED installed} or {@link ModuleEvent#UPDATED updated}.
 	 * @param origin The module which originated the lifecycle operation. The origin may be {@code null} for
 	 * {@link ModuleEvent#INSTALLED installed} operations.  This is the module
-	 * passed to the {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object) install} or 
+	 * passed to the {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object) install} or
 	 * {@link ModuleContainer#update(Module, ModuleRevisionBuilder, Object) update} method.
 	 * @param builder the builder that will be used to create a new {@link ModuleRevision}.
 	 * @param revisionInfo the revision info that will be used for the new revision, may be {@code null}.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleDatabase.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleDatabase.java
index 1b27d8d..e1af371 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleDatabase.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleDatabase.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -59,7 +59,7 @@
  * the wiring states.
  * <p>
  * <strong>Concurrent Semantics</strong><br />
- * 
+ *
  * Implementations must be thread safe.  The database allows for concurrent
  * read operations and all read operations are protected by the
  * {@link #readLock() read} lock.  All write operations are
@@ -72,7 +72,7 @@
  * to upgrade from a read to a write lock.
  * <p>
  * A database is associated with a {@link ModuleContainer container}.  The container
- * associated with a database provides public API for manipulating the modules 
+ * associated with a database provides public API for manipulating the modules
  * and their wiring states.  For example, installing, updating, uninstalling,
  * resolving and unresolving modules.  Except for the {@link #load(DataInputStream)},
  * all other methods that perform write operations are intended to be used by
@@ -481,13 +481,13 @@
 
 	/**
 	 * Returns a cloned snapshot of the wirings of all revisions.  This
-	 * performs a clone of each {@link ModuleWiring}.  The 
+	 * performs a clone of each {@link ModuleWiring}.  The
 	 * {@link ModuleWiring#getRevision() revision},
 	 * {@link ModuleWiring#getModuleCapabilities(String) capabilities},
 	 * {@link ModuleWiring#getModuleRequirements(String) requirements},
 	 * {@link ModuleWiring#getProvidedModuleWires(String) provided wires},
 	 * {@link ModuleWiring#getRequiredModuleWires(String) required wires}, and
-	 * {@link ModuleWiring#getSubstitutedNames()} of 
+	 * {@link ModuleWiring#getSubstitutedNames()} of
 	 * each wiring are copied into a cloned copy of the wiring.
 	 * <p>
 	 * The returned map of wirings may be safely read from while not holding
@@ -813,7 +813,7 @@
 
 	/**
 	 * Adds the {@link ModuleRevision#getModuleCapabilities(String) capabilities}
-	 * provided by the specified revision to this database.  These capabilities must 
+	 * provided by the specified revision to this database.  These capabilities must
 	 * become available for lookup with the {@link ModuleDatabase#findCapabilities(Requirement)}
 	 * method.
 	 * <p>
@@ -832,7 +832,7 @@
 	/**
 	 * Removes the {@link ModuleRevision#getModuleCapabilities(String) capabilities}
 	 * provided by the specified revision from this database.  These capabilities
-	 * must no longer be available for lookup with the 
+	 * must no longer be available for lookup with the
 	 * {@link ModuleDatabase#findCapabilities(Requirement)} method.
 	 * <p>
 	 * This method must be called while holding the {@link #writeLock() write} lock.
@@ -844,7 +844,7 @@
 	}
 
 	/**
-	 * Returns a mutable snapshot of capabilities that are candidates for 
+	 * Returns a mutable snapshot of capabilities that are candidates for
 	 * satisfying the specified requirement.
 	 * <p>
 	 * A read operation protected by the {@link #readLock() read} lock.
@@ -866,14 +866,14 @@
 	 * Writes this database in a format suitable for using the {@link #load(DataInputStream)}
 	 * method.  All modules are stored which have a current {@link ModuleRevision revision}.
 	 * Only the current revision of each module is stored (no removal pending revisions
-	 * are stored).  Optionally the {@link ModuleWiring wiring} of each current revision 
+	 * are stored).  Optionally the {@link ModuleWiring wiring} of each current revision
 	 * may be stored.  Wiring can only be stored if there are no {@link #getRemovalPending()
 	 * removal pending} revisions.
 	 * <p>
 	 * This method acquires the {@link #readLock() read} lock while writing this
 	 * database.
 	 * <p>
-	 * After this database have been written, the output stream is flushed.  
+	 * After this database have been written, the output stream is flushed.
 	 * The output stream remains open after this method returns.
 	 * @param out the data output steam.
 	 * @param persistWirings true if wirings should be persisted.  This option will be ignored
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleLoader.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleLoader.java
index 2377471..9e2c390 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleLoader.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleLoader.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -37,7 +37,7 @@
 	protected abstract List<URL> findEntries(String path, String filePattern, int options);
 
 	/**
-	 * 
+	 *
 	 * @param path
 	 * @param filePattern
 	 * @param options
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRequirement.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRequirement.java
index 4cacf4e..42f69c1 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRequirement.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRequirement.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -24,7 +24,7 @@
 import org.osgi.resource.Namespace;
 
 /**
- * An implementation of {@link BundleRequirement}.  This requirement implements 
+ * An implementation of {@link BundleRequirement}.  This requirement implements
  * the matches method according to the OSGi specification which includes
  * implementing the mandatory directive for the osgi.wiring.* namespaces.
  * @since 3.10
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java
index 7766a670..cf8318a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleResolver.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -150,11 +150,11 @@
 
 	/**
 	 * Attempts to resolve all unresolved modules installed in the specified module database.
-	 * returns a delta containing the new wirings or modified wirings that should be 
+	 * returns a delta containing the new wirings or modified wirings that should be
 	 * merged into the specified moduleDatabase.
 	 * <p>
 	 * This method only does read operations on the database no wirings are modified
-	 * directly by this method.  The returned wirings need to be merged into 
+	 * directly by this method.  The returned wirings need to be merged into
 	 * the database.
 	 * @param triggers the triggers that caused the resolver operation to occur
 	 * @param triggersMandatory true if the triggers must be resolved by the resolve process
@@ -563,12 +563,12 @@
 		private final Collection<ModuleRevision> unresolved;
 		/*
 		 * Contains unresolved revisions that should not be resolved as part of
-		 * this process. The reasons they should not be resolved will vary. For 
+		 * this process. The reasons they should not be resolved will vary. For
 		 * example, some might have been filtered out by the resolver hook while
 		 * others represent singleton collisions. It is assumed that all
 		 * unresolved revisions are disabled at the start of the resolve
 		 * process (see initialization in constructors). Any not filtered out
-		 * by ResolverHook.filterResolvable are then removed but may be added 
+		 * by ResolverHook.filterResolvable are then removed but may be added
 		 * back later for other reasons.
 		 */
 		private final Collection<ModuleRevision> disabled;
@@ -589,7 +589,7 @@
 		private AtomicReference<ScheduledFuture<?>> timoutFuture = new AtomicReference<>();
 		/*
 		 * Used to generate the UNRESOLVED_PROVIDER resolution report entries.
-		 * 
+		 *
 		 * The inner map associates a requirement to the set of all matching
 		 * capabilities that were found. The outer map associates the requiring
 		 * resource to the inner map so that its contents may easily be looked
@@ -973,7 +973,7 @@
 						Map<Resource, List<Wire>> dynamicAttachWirings = resolveNonPayLoadFragments();
 						applyInterimResultToWiringCopy(dynamicAttachWirings);
 						if (!dynamicAttachWirings.isEmpty()) {
-							// be sure to remove the revisions from the optional and triggers 
+							// be sure to remove the revisions from the optional and triggers
 							// so they no longer attempt to be resolved
 							Set<Resource> fragmentResources = dynamicAttachWirings.keySet();
 							triggers.removeAll(fragmentResources);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevision.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevision.java
index 2239908..b7261b4 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevision.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevision.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -119,8 +119,8 @@
 
 	/**
 	 * Returns the capabilities declared by this revision
-	 * @param namespace The namespace of the declared capabilities to return or 
-	 * {@code null} to return the declared capabilities from all namespaces. 
+	 * @param namespace The namespace of the declared capabilities to return or
+	 * {@code null} to return the declared capabilities from all namespaces.
 	 * @return An unmodifiable list containing the declared capabilities.
 	 */
 	public List<ModuleCapability> getModuleCapabilities(String namespace) {
@@ -137,8 +137,8 @@
 
 	/**
 	 * Returns the requirements declared by this revision
-	 * @param namespace The namespace of the declared requirements to return or 
-	 * {@code null} to return the declared requirements from all namespaces. 
+	 * @param namespace The namespace of the declared requirements to return or
+	 * {@code null} to return the declared requirements from all namespaces.
 	 * @return An unmodifiable list containing the declared requirements.
 	 */
 	public List<ModuleRequirement> getModuleRequirements(String namespace) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisionBuilder.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisionBuilder.java
index a3b5e4b..ca895ae 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisionBuilder.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisionBuilder.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -32,9 +32,9 @@
 import org.osgi.resource.Namespace;
 
 /**
- * A builder for creating module {@link ModuleRevision} objects.  A builder can only be used by 
- * the module {@link ModuleContainer container} to build revisions when 
- * {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object) 
+ * A builder for creating module {@link ModuleRevision} objects.  A builder can only be used by
+ * the module {@link ModuleContainer container} to build revisions when
+ * {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object)
  * installing} or {@link ModuleContainer#update(Module, ModuleRevisionBuilder, Object) updating} a module.
  * <p>
  * The builder provides the instructions to the container for creating a {@link ModuleRevision}.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisions.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisions.java
index 00af04e..2570138 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisions.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleRevisions.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -20,10 +20,10 @@
 import org.osgi.framework.wiring.BundleRevisions;
 
 /**
- * An implementation of {@link BundleRevisions} which represent a 
+ * An implementation of {@link BundleRevisions} which represent a
  * {@link Module} installed in a {@link ModuleContainer container}.
- * The ModuleRevisions provides a bridge between the revisions, the 
- * module and the container they are associated with.  The 
+ * The ModuleRevisions provides a bridge between the revisions, the
+ * module and the container they are associated with.  The
  * ModuleRevisions holds the information about the installation of
  * a module in a container such as the module id and location.
  * @since 3.10
@@ -77,7 +77,7 @@
 
 	/**
 	 * Returns the current {@link ModuleRevision revision} associated with this revisions.
-	 * 
+	 *
 	 * @return the current {@link ModuleRevision revision} associated with this revisions
 	 *     or {@code null} if the current revision does not exist.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWire.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWire.java
index 1de66ab..8fa836b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWire.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWire.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWiring.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWiring.java
index 5d72c4f..7f21644 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWiring.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/ModuleWiring.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -261,7 +261,7 @@
 	}
 
 	/**
-	 * Returns the module loader for this wiring.  If the module 
+	 * Returns the module loader for this wiring.  If the module
 	 * loader does not exist yet then one will be created
 	 * @return the module loader for this wiring.
 	 */
@@ -384,7 +384,7 @@
 	}
 
 	/**
-	 * Returns an unmodifiable collection of package names for 
+	 * Returns an unmodifiable collection of package names for
 	 * package capabilities that have been substituted.
 	 * @return the substituted package names
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/SystemModule.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/SystemModule.java
index e7e8426..31f9e80 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/SystemModule.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/SystemModule.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -179,7 +179,7 @@
 	}
 
 	/**
-	 * @throws BundleException  
+	 * @throws BundleException
 	 */
 	protected void initWorker() throws BundleException {
 		// Do nothing
@@ -197,7 +197,7 @@
 	@Override
 	public void stop(StopOptions... options) throws BundleException {
 		ContainerEvent containerEvent = ContainerEvent.STOPPED_TIMEOUT;
-		// Need to lock the state change lock with no state to prevent 
+		// Need to lock the state change lock with no state to prevent
 		// other threads from starting the framework while we are shutting down
 		try {
 			if (stateChangeLock.tryLock(10, TimeUnit.SECONDS)) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java
index adcce44..6748504 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EclipsePlatformNamespace.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EclipsePlatformNamespace.java
index 3be5157..9376db0 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EclipsePlatformNamespace.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EclipsePlatformNamespace.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -17,14 +17,14 @@
 
 /**
  * Eclipse Platform and Requirement Namespace.
- * 
+ *
  * <p>
  * This class defines the names for the attributes and directives for this
  * namespace. All unspecified capability attributes are of type {@code String}
  * and are used as arbitrary matching attributes for the capability. The values
  * associated with the specified directive and attribute keys are of type
  * {@code String}, unless otherwise indicated.
- * 
+ *
  * @Immutable
  * @noinstantiate This class is not intended to be instantiated by clients.
  * @since 3.10
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxFragmentNamespace.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxFragmentNamespace.java
index 96aeba1..ef050fc 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxFragmentNamespace.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxFragmentNamespace.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -17,14 +17,14 @@
 
 /**
  * Equinox Namespace for fragment capabilities.
- * 
+ *
  * <p>
  * This class defines the names for the attributes and directives for this
  * namespace. All unspecified capability attributes are of type {@code String}
  * and are used as arbitrary matching attributes for the capability. The values
  * associated with the specified directive and attribute keys are of type
  * {@code String}, unless otherwise indicated.
- * 
+ *
  * @Immutable
  * @noinstantiate This class is not intended to be instantiated by clients.
  * @since 3.10
@@ -34,7 +34,7 @@
 	/**
 	/**
 	 * Namespace name for fragment capabilities and requirements.
-	 * 
+	 *
 	 * <p>
 	 * Also, the capability attribute used to specify the symbolic name of the host the
 	 * resource is providing a fragment for.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java
index 35f6c2a..bd51bc8 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -28,14 +28,14 @@
  *       header.</li>
  *   <li>The bundle class loading policy.
  * </ul>
- * 
- * This capability is provided for informational purposes and 
+ *
+ * This capability is provided for informational purposes and
  * should not be considered as effective by the resolver.
  * <p>
  * This class defines the names for the attributes and directives for this
  * namespace.  Capabilities in this namespace are not intended to be used to
  * match requirements and should not be considered as effective by a resolver.
- * 
+ *
  * @Immutable
  * @noinstantiate This class is not intended to be instantiated by clients.
  * @since 3.10
@@ -59,8 +59,8 @@
 	/** An Eclipse-LazyStart header attribute used to specify exception classes for auto start */
 	public static final String LAZYSTART_EXCEPTIONS_ATTRIBUTE = "exceptions"; //$NON-NLS-1$
 
-	/** 
-	 * The Equinox specific header for specifying the lazy start policy 
+	/**
+	 * The Equinox specific header for specifying the lazy start policy
 	 * @deprecated use {@link #LAZYSTART_HEADER}
 	 */
 	public static final String AUTOSTART_HEADER = "Eclipse-AutoStart"; //$NON-NLS-1$
@@ -75,7 +75,7 @@
 	 * The directive value identifying a {@link #CAPABILITY_EFFECTIVE_DIRECTIVE
 	 * capability} that is effective for information purposes.  Capabilities
 	 * in this namespace must have an effective directive value of information.
-	 * 
+	 *
 	 * @see #CAPABILITY_EFFECTIVE_DIRECTIVE
 	 */
 	public final static String EFFECTIVE_INFORMATION = "information"; //$NON-NLS-1$
@@ -95,19 +95,19 @@
 	public final static String CAPABILITY_ACTIVATION_POLICY_LAZY = "lazy"; //$NON-NLS-1$
 
 	/**
-	 * When the {@link #CAPABILITY_ACTIVATION_POLICY_LAZY lazy} policy is used this 
+	 * When the {@link #CAPABILITY_ACTIVATION_POLICY_LAZY lazy} policy is used this
 	 * attribute contains the package names that must
 	 * trigger the activation when a class is loaded of these packages.
-	 * If the attribute is not defined then the default is all package names. 
+	 * If the attribute is not defined then the default is all package names.
 	 * The value of this attribute must be of type {@code List<String>}.
 	 */
 	public final static String CAPABILITY_LAZY_INCLUDE_ATTRIBUTE = "lazy.include"; //$NON-NLS-1$
 
 	/**
-	 * When the {@link #CAPABILITY_ACTIVATION_POLICY_LAZY lazy} policy is used this 
+	 * When the {@link #CAPABILITY_ACTIVATION_POLICY_LAZY lazy} policy is used this
 	 * attribute contains the package names that must not
 	 * trigger the activation when a class is loaded of these packages.
-	 * If the attribute is not defined then the default is no package names. 
+	 * If the attribute is not defined then the default is no package names.
 	 * The value of this attribute must be of type {@code List<String>}.
 	 */
 	public final static String CAPABILITY_LAZY_EXCLUDE_ATTRIBUTE = "lazy.exclude"; //$NON-NLS-1$
@@ -129,7 +129,7 @@
 
 	/**
 	 * The capability attribute contains the list buddy loading policies
-	 * for the providing module revision as specified in the Eclipse-BuddyPolicy header.  
+	 * for the providing module revision as specified in the Eclipse-BuddyPolicy header.
 	 * The value of this attribute must be of type
 	 * {@code List<String>}.
 	 */
@@ -137,7 +137,7 @@
 
 	/**
 	 * The capability attribute contains the list of symbolic names the
-	 * providing module revision is a registered buddy of as specified by 
+	 * providing module revision is a registered buddy of as specified by
 	 * the Eclipse-BuddyPolicy header.  The value of this attribute must be of type
 	 * {@code List<String>}.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap.java
index 6edaf1c..a067b69 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/CaseInsensitiveDictionaryMap.java
@@ -293,7 +293,7 @@
 	}
 
 	/**
-	 * Returns the specified key or, if the key is a String, returns 
+	 * Returns the specified key or, if the key is a String, returns
 	 * a case-insensitive wrapping of the key.
 	 *
 	 * @param key
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/FilePath.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/FilePath.java
index e1d5cfc..e3b5793 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/FilePath.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/FilePath.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -15,13 +15,13 @@
 
 import java.io.File;
 
-/** 
+/**
  * A utility class for manipulating file system paths.
  * <p>
  * This class is not intended to be subclassed by clients but
  * may be instantiated.
  * </p>
- * 
+ *
  * @since 3.1
  */
 public class FilePath {
@@ -44,7 +44,7 @@
 
 	/**
 	 * Constructs a new file path from the given File object.
-	 * 
+	 *
 	 * @param location
 	 */
 	public FilePath(File location) {
@@ -57,7 +57,7 @@
 
 	/**
 	 * Constructs a new file path from the given string path.
-	 * 
+	 *
 	 * @param original
 	 */
 	public FilePath(String original) {
@@ -85,7 +85,7 @@
 	}
 
 	/*
-	 * Splits the given path string into an array of segments. 
+	 * Splits the given path string into an array of segments.
 	 */
 	private String[] computeSegments(String path) {
 		int maxSegmentCount = computeSegmentCount(path);
@@ -96,7 +96,7 @@
 		// allways absolute
 		int firstPosition = isAbsolute() ? 1 : 0;
 		int lastPosition = hasTrailingSlash() ? len - 2 : len - 1;
-		// for non-empty paths, the number of segments is 
+		// for non-empty paths, the number of segments is
 		// the number of slashes plus 1, ignoring any leading
 		// and trailing slashes
 		int next = firstPosition;
@@ -125,10 +125,10 @@
 	}
 
 	/**
-	 * Returns the device for this file system path, or <code>null</code> if 
+	 * Returns the device for this file system path, or <code>null</code> if
 	 * none exists. The device string ends with a colon.
-	 * 
-	 * @return the device string or null 
+	 *
+	 * @return the device string or null
 	 */
 	public String getDevice() {
 		return device;
@@ -136,8 +136,8 @@
 
 	/**
 	 * Returns the segments in this path. If this path has no segments, returns an empty array.
-	 * 
-	 * @return an array containing all segments for this path 
+	 *
+	 * @return an array containing all segments for this path
 	 */
 	public String[] getSegments() {
 		return segments.clone();
@@ -145,7 +145,7 @@
 
 	/**
 	 * Returns whether this path ends with a slash.
-	 * 
+	 *
 	 * @return <code>true</code> if the path ends with a slash, false otherwise
 	 */
 	public boolean hasTrailingSlash() {
@@ -158,7 +158,7 @@
 			// only deal with devices/UNC paths on Windows
 			int deviceSeparatorPos = original.indexOf(DEVICE_SEPARATOR);
 			if (deviceSeparatorPos >= 0) {
-				//extract device if any				
+				//extract device if any
 				//remove leading slash from device part to handle output of URL.getFile()
 				int start = original.charAt(0) == SEPARATOR ? 1 : 0;
 				device = original.substring(start, deviceSeparatorPos + 1);
@@ -186,7 +186,7 @@
 
 	/**
 	 * Returns whether this path is absolute (begins with a slash).
-	 * 
+	 *
 	 * @return <code>true</code> if this path is absolute, <code>false</code> otherwise
 	 */
 	public boolean isAbsolute() {
@@ -197,11 +197,11 @@
 	 * Returns a string representing this path as a relative to the given base path.
 	 * <p>
 	 * If this path and the given path do not use the same device letter, this path's
-	 * string representation is returned as is. 
+	 * string representation is returned as is.
 	 * </p>
-	 * 
+	 *
 	 * @param base the path this path should be made relative to
-	 * @return a string representation for this path as relative to the given base path 
+	 * @return a string representation for this path as relative to the given base path
 	 */
 	public String makeRelative(FilePath base) {
 		if (base.device != null && !base.device.equalsIgnoreCase(this.device))
@@ -210,7 +210,7 @@
 		int count = this.matchingFirstSegments(base);
 		if (baseCount == count && count == base.segments.length)
 			return base.hasTrailingSlash() ? ("." + SEPARATOR) : "."; //$NON-NLS-1$ //$NON-NLS-2$
-		StringBuilder relative = new StringBuilder(); //	
+		StringBuilder relative = new StringBuilder(); //
 		for (int j = 0; j < baseCount - count; j++)
 			relative.append(PARENT_DIR + SEPARATOR);
 		for (int i = 0; i < base.segments.length - count; i++) {
@@ -222,7 +222,7 @@
 		return relative.toString();
 	}
 
-	/* 
+	/*
 	 * Returns the number of segments in this matching the first segments of the
 	 * given path.
 	 */
@@ -240,7 +240,7 @@
 
 	/**
 	 * Returns a string representation of this path.
-	 * 
+	 *
 	 * @return  a string representation of this path
 	 */
 	@Override
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/Headers.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/Headers.java
index 02ea3af..bc6e00a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/Headers.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/Headers.java
@@ -157,8 +157,8 @@
 	 * @param key Key name.
 	 * @param value Value of the key or null to remove key.
 	 * @param replace A value of true will allow a previous
-	 * value of the key to be replaced.  A value of false 
-	 * will cause an IllegalArgumentException to be thrown 
+	 * value of the key to be replaced.  A value of false
+	 * will cause an IllegalArgumentException to be thrown
 	 * if a previous value of the key exists.
 	 * @return the previous value to which the key was mapped,
 	 * or null if the key did not have a previous mapping.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/KeyedElement.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/KeyedElement.java
index 33bb142..10bc792 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/KeyedElement.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/KeyedElement.java
@@ -20,7 +20,7 @@
  * A keyed element can easily be put into a standard Map implementation by using the keyed element
  * key for the mapping.
  * <p>
- * An element of an <code>KeyedHashSet</code>.  A KeyedElement privides the key which is used to hash 
+ * An element of an <code>KeyedHashSet</code>.  A KeyedElement privides the key which is used to hash
  * the elements in an <code>KeyedHashSet</code>.
  * @since 3.2
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ObjectPool.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ObjectPool.java
index 7d0ed38..44853f0 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ObjectPool.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ObjectPool.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/SecureAction.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/SecureAction.java
index 89684a9..1fc1693 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/SecureAction.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/SecureAction.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -41,9 +41,9 @@
 	});
 
 	/*
-	 * Package privaet constructor a new SecureAction object.  
-	 * The constructed SecureAction object uses the caller's AccessControlContext 
-	 * to perform security checks 
+	 * Package privaet constructor a new SecureAction object.
+	 * The constructed SecureAction object uses the caller's AccessControlContext
+	 * to perform security checks
 	 */
 	SecureAction() {
 		// save the control context to be used.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ThreadInfoReport.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ThreadInfoReport.java
index 89e8e5d..405b96c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ThreadInfoReport.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/framework/util/ThreadInfoReport.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleEntry.java
index 746af6c..1c60e02 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleEntry.java
@@ -61,7 +61,7 @@
 	 * @see org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry#getFileURL()
 	 * uses the wrapped bundle file to get the actual file url to the content of
 	 * the class on disk.
-	 * 
+	 *
 	 * This should is likely never to be called.
 	 */
 	@Override
@@ -85,7 +85,7 @@
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry#getBytes()
-	 * if classbytes is not null, it returns the magic cookie for the shared class.  This is used to define 
+	 * if classbytes is not null, it returns the magic cookie for the shared class.  This is used to define
 	 * the class during class loading.
 	 * if classbytes is null, it gets the contents from actual BundleEntry and caches it in classbytes.
 	 */
@@ -99,7 +99,7 @@
 	 * @see org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry#getLocalURL()
 	 * uses the wrapped bundle file to get the actual local url to the content of
 	 * the class on disk.
-	 * 
+	 *
 	 * This should is likely never to be called.
 	 */
 	@Override
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleFile.java
index 29a8dd7..beb6373 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSBundleFile.java
@@ -31,7 +31,7 @@
 
 /**
  * Wraps an actual BundleFile object for purposes of loading classes from the
- * shared classes cache. 
+ * shared classes cache.
  */
 public class CDSBundleFile extends BundleFileWrapper {
 	private final static String classFileExt = ".class"; //$NON-NLS-1$
@@ -63,10 +63,10 @@
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.osgi.storage.bundlefile.BundleFile#getEntry(java.lang.String)
-	 * 
-	 * If path is not for a class then just use the wrapped bundle file to answer the call. 
+	 *
+	 * If path is not for a class then just use the wrapped bundle file to answer the call.
 	 * If the path is for a class, it returns a CDSBundleEntry object.
-	 * If the path is for a class, it will look for the magic cookie in the 
+	 * If the path is for a class, it will look for the magic cookie in the
 	 * shared classes cache. If found, the bytes representing the magic cookie are stored in CDSBundleEntry object.
 	 */
 	@Override
@@ -88,7 +88,7 @@
 	}
 
 	/**
-	 * Returns the file url to the content of the actual bundle file 
+	 * Returns the file url to the content of the actual bundle file
 	 * @return the file url to the content of the actual bundle file
 	 */
 	URL getURL() {
@@ -96,7 +96,7 @@
 	}
 
 	/**
-	 * Returns the url helper for this bundle file.  This is set by the 
+	 * Returns the url helper for this bundle file.  This is set by the
 	 * class loading hook
 	 * @return the url helper for this bundle file
 	 */
@@ -105,7 +105,7 @@
 	}
 
 	/**
-	 * Sets the url helper for this bundle file.  This is called by the 
+	 * Sets the url helper for this bundle file.  This is called by the
 	 * class loading hook.
 	 * @param urlHelper the url helper
 	 */
@@ -115,8 +115,8 @@
 	}
 
 	/**
-	 * Sets the primed flag for the bundle file.  This is called by the 
-	 * class loading hook after the first class has been loaded from disk for 
+	 * Sets the primed flag for the bundle file.  This is called by the
+	 * class loading hook after the first class has been loaded from disk for
 	 * this bundle file.
 	 * @param primed the primed flag
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSHookImpls.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSHookImpls.java
index 3f1507a..5eddeaf 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSHookImpls.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/cds/CDSHookImpls.java
@@ -82,7 +82,7 @@
 					modified = true;
 				}
 				if (modified) {
-					// Class bytes have been modified by weaving hooks. 
+					// Class bytes have been modified by weaving hooks.
 					// Such classes need to be stored as Orphans, so skip the call to storeSharedClass()
 					return;
 				}
@@ -169,7 +169,7 @@
 				}
 			}
 		} catch (HelperAlreadyDefinedException e) {
-			// We should never get here. 
+			// We should never get here.
 			// If we do, we simply won't share for this ClassLoader
 		}
 	}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/AtomicLazyInitializer.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/AtomicLazyInitializer.java
index 71e45b3..071ab61 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/AtomicLazyInitializer.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/AtomicLazyInitializer.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -17,8 +17,8 @@
 import java.util.concurrent.atomic.AtomicReference;
 
 /**
- * A helper class for doing lazy initialization 
- * 
+ * A helper class for doing lazy initialization
+ *
  * @param <V> the type of object to lazy initialize
  */
 public class AtomicLazyInitializer<V> {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/Capabilities.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/Capabilities.java
index 25f1ac8..68318a6 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/Capabilities.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/Capabilities.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -207,7 +207,7 @@
 
 	/**
 	 * Adds the {@link ModuleRevision#getModuleCapabilities(String) capabilities}
-	 * provided by the specified revision to this database.  These capabilities must 
+	 * provided by the specified revision to this database.  These capabilities must
 	 * become available for lookup with the {@link #findCapabilities(Requirement)}
 	 * method.
 	 * @param revision the revision which has capabilities to add
@@ -240,7 +240,7 @@
 	/**
 	 * Removes the {@link ModuleRevision#getModuleCapabilities(String) capabilities}
 	 * provided by the specified revision from this database.  These capabilities
-	 * must no longer be available for lookup with the 
+	 * must no longer be available for lookup with the
 	 * {@link #findCapabilities(Requirement)} method.
 	 * @param revision
 	 */
@@ -254,7 +254,7 @@
 	}
 
 	/**
-	 * Returns a mutable snapshot of capabilities that are candidates for 
+	 * Returns a mutable snapshot of capabilities that are candidates for
 	 * satisfying the specified requirement.
 	 * @param requirement the requirement
 	 * @return the candidates for the requirement
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/ComputeNodeOrder.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/ComputeNodeOrder.java
index f54d5e1..6c0c8cf 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/ComputeNodeOrder.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/ComputeNodeOrder.java
@@ -17,11 +17,11 @@
 import java.util.*;
 
 /**
- * Borrowed from org.eclipse.core.internal.resources.ComputeProjectOrder 
+ * Borrowed from org.eclipse.core.internal.resources.ComputeProjectOrder
  * to be used when computing the stop order.
  * Implementation of a sort algorithm for computing the node order. This
  * algorithm handles cycles in the node reference graph in a reasonable way.
- * 
+ *
  * @since 3.0
  */
 public class ComputeNodeOrder {
@@ -93,14 +93,14 @@
 			 * Ordered list of adjacent vertexes. In other words, "this" is the
 			 * "from" vertex and the elements of this list are all "to"
 			 * vertexes.
-			 * 
+			 *
 			 * Element type: <code>Vertex</code>
 			 */
 			public List<Vertex> adjacent = new ArrayList<>(3);
 
 			/**
 			 * Creates a new vertex with the given id.
-			 * 
+			 *
 			 * @param id the vertex id
 			 */
 			public Vertex(Object id) {
@@ -110,14 +110,14 @@
 
 		/**
 		 * Ordered list of all vertexes in this graph.
-		 * 
+		 *
 		 * Element type: <code>Vertex</code>
 		 */
 		private List<Vertex> vertexList = new ArrayList<>(100);
 
 		/**
 		 * Map from id to vertex.
-		 * 
+		 *
 		 * Key type: <code>Object</code>; value type: <code>Vertex</code>
 		 */
 		private Map<Object, Vertex> vertexMap = new HashMap<>(100);
@@ -170,7 +170,7 @@
 		 * Defines a new vertex with the given id. The depth-first search is
 		 * performed in the relative order in which vertexes were added to the
 		 * graph.
-		 * 
+		 *
 		 * @param id the id of the vertex
 		 * @exception IllegalArgumentException if the vertex id is
 		 * already defined or if the graph is frozen
@@ -194,7 +194,7 @@
 		 * <code>addVertex</code>. The depth-first search is performed in the
 		 * relative order in which adjacent "to" vertexes were added to a given
 		 * "from" index.
-		 * 
+		 *
 		 * @param fromId the id of the "from" vertex
 		 * @param toId the id of the "to" vertex
 		 * @exception IllegalArgumentException if either vertex is undefined or
@@ -215,7 +215,7 @@
 		/**
 		 * Returns the ids of the vertexes in this graph ordered by depth-first
 		 * search finish time. The graph must be frozen.
-		 * 
+		 *
 		 * @param increasing <code>true</code> if objects are to be arranged
 		 * into increasing order of depth-first search finish time, and
 		 * <code>false</code> if objects are to be arranged into decreasing
@@ -244,7 +244,7 @@
 
 		/**
 		 * Returns whether the graph contains cycles. The graph must be frozen.
-		 * 
+		 *
 		 * @return <code>true</code> if this graph contains at least one cycle,
 		 * and <code>false</code> if this graph is cycle free
 		 * @exception IllegalArgumentException if the graph is not frozen
@@ -260,9 +260,9 @@
 		 * Returns the non-trivial components of this graph. A non-trivial
 		 * component is a set of 2 or more vertexes that were traversed
 		 * together. The graph must be frozen.
-		 * 
+		 *
 		 * @return the possibly empty list of non-trivial components, where
-		 * each component is an array of ids (element type: 
+		 * each component is an array of ids (element type:
 		 * <code>Object[]</code>)
 		 * @exception IllegalArgumentException if the graph is not frozen
 		 */
@@ -311,7 +311,7 @@
 		//		 * </p>
 		//		 */
 		//		private void recursiveDFS() {
-		//			// initialize 
+		//			// initialize
 		//			// all vertex.color initially Vertex.WHITE;
 		//			// all vertex.predecessor initially null;
 		//			time = 0;
@@ -325,7 +325,7 @@
 		//
 		//		/**
 		//		 * Helper method. Performs a depth first search of this graph.
-		//		 * 
+		//		 *
 		//		 * @param vertex the vertex to visit
 		//		 */
 		//		private void DFSVisit(Vertex vertex) {
@@ -364,7 +364,7 @@
 			// use precomputed objects to avoid garbage
 			final Integer NEXT_VERTEX_OBJECT = Integer.valueOf(NEXT_VERTEX);
 			final Integer AFTER_NEXTED_DFS_VISIT_OBJECT = Integer.valueOf(AFTER_NEXTED_DFS_VISIT);
-			// initialize 
+			// initialize
 			// all vertex.color initially Vertex.WHITE;
 			// all vertex.predecessor initially null;
 			time = 0;
@@ -460,7 +460,7 @@
 	 * Algorithms</it>, McGraw-Hill, 1990. The strongly-connected-components
 	 * algorithm is in section 23.5.
 	 * </p>
-	 * 
+	 *
 	 * @param objects a list of projects (element type:
 	 * <code>IProject</code>)
 	 * @param references a list of project references [A,B] meaning that A
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/InternalUtils.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/InternalUtils.java
index f2f3e75..d563aa1 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/InternalUtils.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/InternalUtils.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/LockSet.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/LockSet.java
index 531fe02..67dd60b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/LockSet.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/container/LockSet.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -25,7 +25,7 @@
  * over and over then new ReentrantLocks are created each time.  This set should be
  * used with care.  If the same object is going to be locked/unlocked over and over then
  * consider using a different locking strategy.
- * 
+ *
  * Previous implementations of this class attempted to use a WeakHashMap to cache
  * the locks, but this proved to be a flawed approach because of the unpredictable
  * timing of garbage collection, particularly with autoboxed types (e.g. bundle
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/Debug.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/Debug.java
index 645b99b..00bb826 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/Debug.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/Debug.java
@@ -21,7 +21,7 @@
 import org.eclipse.osgi.service.debug.DebugOptionsListener;
 
 /**
- * This class has debug constants which can be used by the Framework implementation 
+ * This class has debug constants which can be used by the Framework implementation
  * and Adaptor implementations
  * @since 3.1
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/EclipseDebugTrace.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/EclipseDebugTrace.java
index 846ced8..f948815 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/EclipseDebugTrace.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/EclipseDebugTrace.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -110,8 +110,8 @@
 
 	/**
 	 * Construct a new EclipseDebugTrace for the specified bundle symbolic name and write messages to the specified
-	 * trace file.  
-	 * 
+	 * trace file.
+	 *
 	 * @param bundleSymbolicName The symbolic name of the bundle being traced
 	 * @param debugOptions Used to determine if the specified bundle symbolic name + option-path has tracing enabled
 	 * @param traceClass The class that the client is using to perform trace API calls
@@ -126,7 +126,7 @@
 
 	/**
 	 * Is debugging enabled for the specified option-path
-	 * 
+	 *
 	 * @param optionPath The <i>option-path</i>
 	 * @return Returns true if debugging is enabled for the specified option-path on this bundle; Otherwise false.
 	 */
@@ -288,7 +288,7 @@
 	/**
 	 * Set the trace message for the specified record to include class and method information
 	 * if verbose debugging is disabled.
-	 *  
+	 *
 	 * @param record The {@link FrameworkDebugTraceEntry} containing the information to persist to the trace file.
 	 * @param originalMessage The original tracing message
 	 */
@@ -310,7 +310,7 @@
 
 	/**
 	 * Utility method to convert an array of StackTraceElement objects to form a String representation of a stack dump
-	 * 
+	 *
 	 * @param elements
 	 *            The array of StackTraceElement objects
 	 * @return A String of the stack dump produced by the list of elements
@@ -336,7 +336,7 @@
 
 	/**
 	 * Write the specified FrameworkTraceEntry to trace file
-	 * 
+	 *
 	 * @param entry The FrameworkTraceEntry to write to the log file.
 	 */
 	private void writeRecord(final FrameworkDebugTraceEntry entry) {
@@ -357,7 +357,7 @@
 					// flush the writer
 					traceWriter.flush();
 				} catch (Exception ex) {
-					// any exceptions during tracing should be caught 
+					// any exceptions during tracing should be caught
 					System.err.println("An exception occurred while writing to the platform trace file: ");//$NON-NLS-1$
 					ex.printStackTrace(System.err);
 				} finally {
@@ -394,8 +394,8 @@
 	}
 
 	/**
-	 * Checks the trace file size.  If the file size reaches the limit then the trace file is rotated. 
-	 * 
+	 * Checks the trace file size.  If the file size reaches the limit then the trace file is rotated.
+	 *
 	 * @param traceFile The tracing file
 	 * @param timestamp the timestamp for the session; this is the same timestamp as the first entry
 	 * @return false if an error occurred trying to rotate the trace file
@@ -419,7 +419,7 @@
 					final File backupFile = new File(backupFilename);
 					if (backupFile.exists()) {
 						if (!backupFile.delete()) {
-							System.err.println("Error when trying to delete old trace file: " + backupFile.getName());//$NON-NLS-1$ 
+							System.err.println("Error when trying to delete old trace file: " + backupFile.getName());//$NON-NLS-1$
 							if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) {
 								System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$
 							} else {
@@ -436,8 +436,8 @@
 						isBackupOK = false;
 					}
 					/*
-					 * Write a header to new log file stating that this new file is a continuation file. 
-					 * This method should already be called with the file lock set so we should be safe 
+					 * Write a header to new log file stating that this new file is a continuation file.
+					 * This method should already be called with the file lock set so we should be safe
 					 * to update it here.
 					*/
 					Writer traceWriter = null;
@@ -478,7 +478,7 @@
 
 	/**
 	 * Accessor to retrieve the time stamp in a formatted manner.
-	 * 
+	 *
 	 * @return A formatted time stamp based on the {@link EclipseDebugTrace#TRACE_FILE_DATE_FORMATTER} formatter
 	 */
 	private final String getFormattedDate(long timestamp) {
@@ -488,8 +488,8 @@
 
 	/**
 	 * Accessor to retrieve the text of a {@link Throwable} in a formatted manner so that it can be written to the
-	 * trace file. 
-	 * 
+	 * trace file.
+	 *
 	 * @param error The {@lnk Throwable} to format
 	 * @return The complete text of a {@link Throwable} as a {@link String} or null if the input error is null.
 	 */
@@ -514,17 +514,17 @@
 
 	/**
 	 * Writes header information to a new trace file
-	 * 
+	 *
 	 * @param traceWriter the trace writer
 	 * @param timestamp the timestamp for the session; this is the same timestamp as the first entry
-	 * @throws IOException If an error occurs while writing this session information 
+	 * @throws IOException If an error occurs while writing this session information
 	 */
 	private void writeSession(final Writer traceWriter, long timestamp) throws IOException {
 
 		writeComment(traceWriter, EclipseDebugTrace.TRACE_NEW_SESSION + this.getFormattedDate(timestamp));
 		writeComment(traceWriter, EclipseDebugTrace.TRACE_FILE_VERSION_COMMENT + EclipseDebugTrace.TRACE_FILE_VERSION);
 		writeComment(traceWriter, EclipseDebugTrace.TRACE_FILE_VERBOSE_COMMENT + debugOptions.isVerbose());
-		writeComment(traceWriter, "The following option strings are specified for this debug session:"); //$NON-NLS-1$ 
+		writeComment(traceWriter, "The following option strings are specified for this debug session:"); //$NON-NLS-1$
 		final String[] allOptions = debugOptions.getAllOptions();
 		for (String allOption : allOptions) {
 			writeComment(traceWriter, "\t" + allOption); //$NON-NLS-1$
@@ -532,10 +532,10 @@
 	}
 
 	/**
-	 * Writes the specified trace entry object to the trace file using the 
+	 * Writes the specified trace entry object to the trace file using the
 	 * {@link EclipseDebugTrace#TRACE_ELEMENT_DELIMITER} as the delimiter between
 	 * each element of the entry.
-	 * 
+	 *
 	 * @param traceWriter the trace writer
 	 * @param entry The trace entry object to write to the trace file
 	 * @throws IOException If an error occurs while writing this message
@@ -598,11 +598,11 @@
 	 * Encodes the specified string to replace any occurrence of the {@link EclipseDebugTrace#TRACE_ELEMENT_DELIMITER}
 	 * string with the {@link EclipseDebugTrace#TRACE_ELEMENT_DELIMITER_ENCODED}
 	 * string.  This can be used to ensure that the delimiter character does not break parsing when
-	 * the entry text contains the delimiter character. 
-	 * 
-	 * @param inputString The original string to be written to the trace file. 
+	 * the entry text contains the delimiter character.
+	 *
+	 * @param inputString The original string to be written to the trace file.
 	 * @return The original input string with all occurrences of
-	 * {@link EclipseDebugTrace#TRACE_ELEMENT_DELIMITER} replaced with 
+	 * {@link EclipseDebugTrace#TRACE_ELEMENT_DELIMITER} replaced with
 	 * {@link EclipseDebugTrace#TRACE_ELEMENT_DELIMITER_ENCODED}. A <code>null</code> value will be
 	 * returned if the input string is <code>null</code>.
 	 */
@@ -630,9 +630,9 @@
 	/**
 	 * Creates the trace writer.
 	 * If the tracing file is null then the writer will use System.out to print any messages.
-	 * 
+	 *
 	 * @param traceFile The tracing file
-	 * @return Returns a new Writer object  
+	 * @return Returns a new Writer object
 	 */
 	private Writer openWriter(final File traceFile) {
 		OutputStream out = null;
@@ -647,7 +647,7 @@
 		if (out == null) {
 			out = new FilterOutputStream(System.out) {
 				/**
-				 * @throws IOException  
+				 * @throws IOException
 				 */
 				@Override
 				public void close() throws IOException {
@@ -685,7 +685,7 @@
 
 	/**
 	 * Close the trace writer
-	 * 
+	 *
 	 * @param traceWriter The trace writer
 	 */
 	private void closeWriter(Writer traceWriter) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugOptions.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugOptions.java
index 6f11c7b..cbea861 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugOptions.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugOptions.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -39,7 +39,7 @@
  * The DebugOptions implementation class that allows accessing the list of debug options specified
  * for the application as well as creating {@link DebugTrace} objects for the purpose of having
  * dynamic enablement of debug tracing.
- * 
+ *
  * @since 3.1
  */
 public class FrameworkDebugOptions implements DebugOptions, ServiceTrackerCustomizer<DebugOptionsListener, DebugOptionsListener> {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugTraceEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugTraceEntry.java
index f466752..90c1f13 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugTraceEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/debug/FrameworkDebugTraceEntry.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,7 +27,7 @@
 
 	/**
 	 * The date and time when the trace occurred.
-	 * 
+	 *
 	 */
 	private final long timestamp;
 
@@ -68,7 +68,7 @@
 
 	/**
 	 * Construct a new FrameworkTraceRecord object
-	 * 
+	 *
 	 * @param bundleSymbolicName
 	 *            The symbolic name of the bundle being traced
 	 * @param optionPath
@@ -84,7 +84,7 @@
 
 	/**
 	 * Construct a new FrameworkTraceRecord object
-	 * 
+	 *
 	 * @param bundleSymbolicName
 	 *            The symbolic name of the bundle being traced
 	 * @param optionPath
@@ -94,7 +94,7 @@
 	 * @param error
 	 *            An exception to be traced
 	 * @param traceClass
-	 *            The class that calls the trace API 
+	 *            The class that calls the trace API
 	 */
 	public FrameworkDebugTraceEntry(String bundleSymbolicName, final String optionPath, final String message, final Throwable error, final String traceClass) {
 		threadName = Thread.currentThread().getName();
@@ -123,7 +123,7 @@
 				 * is likely that class so we should find out who called it.  If a
 				 * trace class has not been specified, or has been specified and this
 				 * stack element is not that class, then we assume this stack element
-				 * is the caller of the trace API. 
+				 * is the caller of the trace API.
 				 */
 				if ((traceClass == null) || !fullClassName.equals(traceClass)) {
 					determineClassName = stackElements[i].getClassName();
@@ -142,7 +142,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see java.lang.Object#toString()
 	 */
 	@Override
@@ -173,7 +173,7 @@
 
 	/**
 	 * Accessor to the threads name
-	 * 
+	 *
 	 * @return the name of the thread
 	 */
 	public final String getThreadName() {
@@ -183,7 +183,7 @@
 
 	/**
 	 * Accessor to the timestamp for this trace record
-	 * 
+	 *
 	 * @return the date
 	 */
 	public final long getTimestamp() {
@@ -193,7 +193,7 @@
 
 	/**
 	 * Accessor for the symbolic name of the bundle being traced
-	 * 
+	 *
 	 * @return The symbolic name of the bundle being traced
 	 */
 	public final String getBundleSymbolicName() {
@@ -203,7 +203,7 @@
 
 	/**
 	 * Accessor for the trace message
-	 * 
+	 *
 	 * @return the trace message
 	 */
 	public final String getMessage() {
@@ -213,7 +213,7 @@
 
 	/**
 	 * Accessor for the trace exception. This may be null if there is no exception.
-	 * 
+	 *
 	 * @return the trace exception or null if none was defined.
 	 */
 	public final Throwable getThrowable() {
@@ -223,7 +223,7 @@
 
 	/**
 	 * Accessor for the name of the class being traced.
-	 * 
+	 *
 	 * @return The name of the class being traced.
 	 */
 	public final String getClassName() {
@@ -233,7 +233,7 @@
 
 	/**
 	 * Accessor for the method being traced.
-	 * 
+	 *
 	 * @return The name of the method being traced.
 	 */
 	public final String getMethodName() {
@@ -244,14 +244,14 @@
 	/**
 	 * Accessor for the option-path being traced. The <i>&lt;option-path&gt;</i> part of the debug option string
 	 * required for the Eclipse debugging framework.
-	 * 
+	 *
 	 * <pre>
 	 *    Examples:
 	 *       1) If a trace string com.ibm.myplugin.core/debug=true is specified then 'debug' is the option-path value.
 	 *       2) If a trace string com.ibm.myplugin.core/debug/perf=true is specified then 'debug/perf' is the option-path value.
 	 * </pre>
-	 * 
-	 * 
+	 *
+	 *
 	 * @return The option-path being traced.
 	 */
 	public final String getOptionPath() {
@@ -261,7 +261,7 @@
 
 	/**
 	 * Return the line number in the class/method where the trace originator
-	 * 
+	 *
 	 * @return The line number from the class and method where the trace request originated
 	 */
 	public final int getLineNumber() {
@@ -270,7 +270,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param newMessage
 	 */
 	void setMessage(final String newMessage) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/BundleContextImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/BundleContextImpl.java
index 5d900bf..29b20c0 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/BundleContextImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/BundleContextImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -264,7 +264,7 @@
 
 	void notifyFindHooksPriviledged(final BundleContextImpl context, final Collection<Bundle> allBundles) {
 		if (debug.DEBUG_HOOKS) {
-			Debug.println("notifyBundleFindHooks(" + allBundles + ")"); //$NON-NLS-1$ //$NON-NLS-2$ 
+			Debug.println("notifyBundleFindHooks(" + allBundles + ")"); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		container.getServiceRegistry().notifyHooksPrivileged(new HookContext() {
 			@Override
@@ -281,7 +281,7 @@
 
 			@Override
 			public String getHookMethodName() {
-				return "find"; //$NON-NLS-1$ 
+				return "find"; //$NON-NLS-1$
 			}
 
 			@Override
@@ -860,7 +860,7 @@
 			String clazz = null;
 			clazz = bundleActivator.getClass().getName();
 
-			throw new BundleException(NLS.bind(Msg.BUNDLE_ACTIVATOR_EXCEPTION, new Object[] {clazz, "start", bundle.getSymbolicName() == null ? "" + bundle.getBundleId() : bundle.getSymbolicName()}), BundleException.ACTIVATOR_ERROR, t); //$NON-NLS-1$ //$NON-NLS-2$ 
+			throw new BundleException(NLS.bind(Msg.BUNDLE_ACTIVATOR_EXCEPTION, new Object[] {clazz, "start", bundle.getSymbolicName() == null ? "" + bundle.getBundleId() : bundle.getSymbolicName()}), BundleException.ACTIVATOR_ERROR, t); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 	}
 
@@ -916,16 +916,16 @@
 
 			String clazz = (activator == null) ? "" : activator.getClass().getName(); //$NON-NLS-1$
 
-			throw new BundleException(NLS.bind(Msg.BUNDLE_ACTIVATOR_EXCEPTION, new Object[] {clazz, "stop", bundle.getSymbolicName() == null ? "" + bundle.getBundleId() : bundle.getSymbolicName()}), BundleException.ACTIVATOR_ERROR, t); //$NON-NLS-1$ //$NON-NLS-2$ 
+			throw new BundleException(NLS.bind(Msg.BUNDLE_ACTIVATOR_EXCEPTION, new Object[] {clazz, "stop", bundle.getSymbolicName() == null ? "" + bundle.getBundleId() : bundle.getSymbolicName()}), BundleException.ACTIVATOR_ERROR, t); //$NON-NLS-1$ //$NON-NLS-2$
 		} finally {
 			activator = null;
 		}
 	}
 
-	/** 
+	/**
 	 * Return the map of ServiceRegistrationImpl to ServiceUse for services being
 	 * used by this context.
-	 * @return A map of ServiceRegistrationImpl to ServiceUse for services in use by 
+	 * @return A map of ServiceRegistrationImpl to ServiceUse for services in use by
 	 * this context.
 	 */
 	public Map<ServiceRegistrationImpl<?>, ServiceUse<?>> getServicesInUseMap() {
@@ -1057,7 +1057,7 @@
 	}
 
 	/**
-	 * This method checks that the context is still valid. 
+	 * This method checks that the context is still valid.
 	 *
 	 * @return true if the context is still valid; false otherwise
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/ContextFinder.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/ContextFinder.java
index 0c3cf1e..2ea40c9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/ContextFinder.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/ContextFinder.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -60,7 +60,7 @@
 		this.parentContextClassLoader = contextClassLoader != null ? contextClassLoader : bootLoader;
 	}
 
-	// Return a list of all classloaders on the stack that are neither the 
+	// Return a list of all classloaders on the stack that are neither the
 	// ContextFinder classloader nor the boot classloader.  The last classloader
 	// in the list is either a bundle classloader or the framework's classloader
 	// We assume that the bootclassloader never uses the context classloader to find classes in itself.
@@ -85,7 +85,7 @@
 		return result;
 	}
 
-	// ensures that a classloader does not have the ContextFinder as part of the 
+	// ensures that a classloader does not have the ContextFinder as part of the
 	// parent hierachy.  A classloader which has the ContextFinder as a parent must
 	// not be used as a delegate, otherwise we endup in endless recursion.
 	private boolean checkClassLoader(ClassLoader classloader) {
@@ -109,7 +109,7 @@
 	}
 
 	//Return whether the request for loading "name" should proceed.
-	//False is returned when a cycle is being detected 
+	//False is returned when a cycle is being detected
 	private boolean startLoading(String name) {
 		Set<String> classesAndResources = cycleDetector.get();
 		if (classesAndResources != null && classesAndResources.contains(name))
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/DTOBuilder.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/DTOBuilder.java
index a54e9ba..9607429 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/DTOBuilder.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/DTOBuilder.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxBundle.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxBundle.java
index aefaac6..684d805 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxBundle.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxBundle.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxConfiguration.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxConfiguration.java
index da2fb2d..2cb16eb 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxConfiguration.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxConfiguration.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -160,7 +160,7 @@
 	public static final String ECLIPSE_FRAMEWORK_VENDOR = "Eclipse"; //$NON-NLS-1$
 
 	public static final String PROP_OSGI_JAVA_PROFILE = "osgi.java.profile"; //$NON-NLS-1$
-	public static final String PROP_OSGI_JAVA_PROFILE_NAME = "osgi.java.profile.name"; //$NON-NLS-1$ 
+	public static final String PROP_OSGI_JAVA_PROFILE_NAME = "osgi.java.profile.name"; //$NON-NLS-1$
 	// OSGi java profile bootdelegation; used to indicate how the org.osgi.framework.bootdelegation
 	// property defined in the java profile should be processed, (ingnore, override, none). default is ignore
 	public static final String PROP_OSGI_JAVA_PROFILE_BOOTDELEGATION = "osgi.java.profile.bootdelegation"; //$NON-NLS-1$
@@ -186,7 +186,7 @@
 
 	public static final String PROP_ROOT_LOCALE = "equinox.root.locale"; //$NON-NLS-1$
 
-	public static final String PROP_PARENT_CLASSLOADER = "osgi.parentClassloader"; //$NON-NLS-1$	
+	public static final String PROP_PARENT_CLASSLOADER = "osgi.parentClassloader"; //$NON-NLS-1$
 	// A parent classloader type that specifies the framework classlaoder
 	public static final String PARENT_CLASSLOADER_FWK = "fwk"; //$NON-NLS-1$
 	// System property used to set the context classloader parent classloader type (ccl is the default)
@@ -415,7 +415,7 @@
 								Method getenv = System.class.getMethod("getenv", new Class[] {String.class}); //$NON-NLS-1$
 								prop = (String) getenv.invoke(null, new Object[] {var});
 							} catch (Throwable t) {
-								// do nothing; 
+								// do nothing;
 								// on 1.4 VMs this throws an error
 								// on J2ME this method does not exist
 							}
@@ -1036,7 +1036,7 @@
 		/*
 		 * Initializes the execution context for this run of the platform.  The context
 		 * includes information about the locale, operating system and window system.
-		 * 
+		 *
 		 * NOTE: The OS, WS, and ARCH values should never be null. The executable should
 		 * be setting these values and therefore this code path is obsolete for Eclipse
 		 * when run from the executable.
@@ -1053,7 +1053,7 @@
 		nlValue = Locale.getDefault().toString();
 		setConfiguration(PROP_OSGI_NL, nlValue);
 
-		// if the user didn't set the operating system with a command line 
+		// if the user didn't set the operating system with a command line
 		// argument then use the default.
 		String osValue = getConfiguration(PROP_OSGI_OS);
 		if (osValue == null) {
@@ -1061,7 +1061,7 @@
 			setConfiguration(PROP_OSGI_OS, osValue);
 		}
 
-		// if the user didn't set the window system with a command line 
+		// if the user didn't set the window system with a command line
 		// argument then use the default.
 		String wsValue = getConfiguration(PROP_OSGI_WS);
 		if (wsValue == null) {
@@ -1069,7 +1069,7 @@
 			setConfiguration(PROP_OSGI_WS, wsValue);
 		}
 
-		// if the user didn't set the system architecture with a command line 
+		// if the user didn't set the system architecture with a command line
 		// argument then use the default.
 		String archValue = getConfiguration(PROP_OSGI_ARCH);
 		if (archValue == null) {
@@ -1138,22 +1138,22 @@
 	 * <p>
 	 * Converts a String to a Locale.
 	 * </p>
-	 * 
+	 *
 	 * <p>
 	 * This method takes the string format of a locale and creates the locale object from it.
 	 * </p>
-	 * 
+	 *
 	 * <p>
 	 * This method validates the input strictly. The language code must be lowercase. The country
 	 * code must be uppercase. The separator must be an underscore. The length must be correct.
 	 * </p>
-	 * 
+	 *
 	 * <p>
 	 * This method is inspired by <code>org.apache.commons.lang.LocaleUtils.toLocale(String)</code>
 	 * by fixing the parsing error for uncommon Locales like having a language and a variant code
 	 * but no country code, or a Locale that only consists of a country code.
 	 * </p>
-	 * 
+	 *
 	 * @param str
 	 *            the locale String to convert
 	 * @param defaultLocale
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainer.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainer.java
index d728c9f..af1b7d0 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainer.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainer.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -208,7 +208,7 @@
 		// do this outside of the lock to avoid deadlock
 		currentSaver.close();
 		currentStorage.close();
-		// Must be done last since it will result in termination of the 
+		// Must be done last since it will result in termination of the
 		// framework active thread.
 		currentExecutor.shutdown();
 	}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java
index ace518c..e6e3a6e 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxEventPublisher.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxEventPublisher.java
index 19daba4..8df1049 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxEventPublisher.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxEventPublisher.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -120,7 +120,7 @@
 	/**
 	 * Deliver a BundleEvent to SynchronousBundleListeners (synchronous) and
 	 * BundleListeners (asynchronous).
-	 * 
+	 *
 	 * @param type
 	 *            BundleEvent type.
 	 * @param bundle
@@ -250,7 +250,7 @@
 
 	private void notifyEventHooksPrivileged(final BundleEvent event, final Collection<BundleContext> result) {
 		if (container.getConfiguration().getDebug().DEBUG_HOOKS) {
-			Debug.println("notifyBundleEventHooks(" + event.getType() + ":" + event.getBundle() + ", " + result + " )"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$  
+			Debug.println("notifyBundleEventHooks(" + event.getType() + ":" + event.getBundle() + ", " + result + " )"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		}
 
 		ServiceRegistry serviceRegistry = container.getServiceRegistry();
@@ -283,7 +283,7 @@
 
 	/**
 	 * Deliver a FrameworkEvent.
-	 * 
+	 *
 	 * @param type
 	 *            FrameworkEvent type.
 	 * @param bundle
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/FilterImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/FilterImpl.java
index c9f5747..d0ccb36 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/FilterImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/FilterImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -58,7 +58,7 @@
  * <p>
  * The string representation of an LDAP search filter is defined by the
  * following grammar. It uses a prefix format.
- * 
+ *
  * <pre>
  *   &lt;filter&gt; ::= '(' &lt;filtercomp&gt; ')'
  *   &lt;filtercomp&gt; ::= &lt;and&gt; | &lt;or&gt; | &lt;not&gt; | &lt;item&gt;
@@ -80,7 +80,7 @@
  *   &lt;starval&gt; ::= NULL | &lt;value&gt; '*' &lt;starval&gt;
  *   &lt;final&gt; ::= NULL | &lt;value&gt;
  * </pre>
- * 
+ *
  * {@code &lt;attr&gt;} is a string representing an attribute, or key, in the
  * properties objects of the registered services. Attribute names are not case
  * sensitive; that is cn and CN both refer to the same attribute.
@@ -94,7 +94,7 @@
  * presence filter.
  * <p>
  * Examples of LDAP filters are:
- * 
+ *
  * <pre>
  *   &quot;(cn=Babs Jensen)&quot;
  *   &quot;(!(cn=Tim Howes))&quot;
@@ -144,14 +144,14 @@
  * Note: arrays of primitives are also supported. </blockquote> A filter matches
  * a key that has multiple values if it matches at least one of those values.
  * For example,
- * 
+ *
  * <pre>
  * Dictionary d = new Hashtable();
  * d.put(&quot;cn&quot;, new String[] {
  * 		&quot;a&quot;, &quot;b&quot;, &quot;c&quot;
  * });
  * </pre>
- * 
+ *
  * d will match {@code (cn=a)} and also {@code (cn=b)}
  * <p>
  * A filter component that references a key having an unrecognizable data type
@@ -167,7 +167,7 @@
 	 * <p>
 	 * If the filter cannot be parsed, an {@link InvalidSyntaxException} will be
 	 * thrown with a human readable message where the filter became unparsable.
-	 * 
+	 *
 	 * @param filterString the filter string.
 	 * @throws InvalidSyntaxException If the filter parameter contains an
 	 *             invalid filter string that cannot be parsed.
@@ -190,7 +190,7 @@
 	 * This {@code Filter} is executed using the keys and values of the
 	 * referenced service's properties. The keys are looked up in a case
 	 * insensitive manner.
-	 * 
+	 *
 	 * @param reference The reference to the service whose properties are used
 	 *            in the match.
 	 * @return {@code true} if the service's properties match this
@@ -205,7 +205,7 @@
 	 * Filter using a {@code Dictionary} with case insensitive key lookup. This
 	 * {@code Filter} is executed using the specified {@code Dictionary}'s keys
 	 * and values. The keys are looked up in a case insensitive manner.
-	 * 
+	 *
 	 * @param dictionary The {@code Dictionary} whose key/value pairs are used
 	 *            in the match.
 	 * @return {@code true} if the {@code Dictionary}'s values match this
@@ -222,7 +222,7 @@
 	 * Filter using a {@code Dictionary}. This {@code Filter} is executed using
 	 * the specified {@code Dictionary}'s keys and values. The keys are looked
 	 * up in a normal manner respecting case.
-	 * 
+	 *
 	 * @param dictionary The {@code Dictionary} whose key/value pairs are used
 	 *            in the match.
 	 * @return {@code true} if the {@code Dictionary}'s values match this
@@ -238,7 +238,7 @@
 	 * Filter using a {@code Map}. This {@code Filter} is executed using the
 	 * specified {@code Map}'s keys and values. The keys are looked up in a
 	 * normal manner respecting case.
-	 * 
+	 *
 	 * @param map The {@code Map} whose key/value pairs are used in the match.
 	 *            Maps with {@code null} key or values are not supported. A
 	 *            {@code null} value is considered not present to the filter.
@@ -258,7 +258,7 @@
 	 * <p>
 	 * The filter string is normalized by removing whitespace which does not
 	 * affect the meaning of the filter.
-	 * 
+	 *
 	 * @return This {@code Filter}'s filter string.
 	 */
 	@Override
@@ -275,7 +275,7 @@
 	 * <p>
 	 * The filter string is normalized by removing whitespace which does not
 	 * affect the meaning of the filter.
-	 * 
+	 *
 	 * @return This {@code Filter}'s filter string.
 	 */
 	abstract StringBuilder normalize(StringBuilder sb);
@@ -285,7 +285,7 @@
 	 * <p>
 	 * This implementation returns the result of calling
 	 * {@code this.toString().equals(obj.toString()}.
-	 * 
+	 *
 	 * @param obj The object to compare against this {@code Filter}.
 	 * @return If the other object is a {@code Filter} object, then returns the
 	 *         result of calling {@code this.toString().equals(obj.toString()};
@@ -309,7 +309,7 @@
 	 * <p>
 	 * This implementation returns the result of calling
 	 * {@code this.toString().hashCode()}.
-	 * 
+	 *
 	 * @return The hashCode of this {@code Filter}.
 	 */
 	@Override
@@ -714,7 +714,7 @@
 
 		/**
 		 * Encode the value string such that '(', '*', ')' and '\' are escaped.
-		 * 
+		 *
 		 * @param value unencoded value string.
 		 */
 		static StringBuilder encodeValue(StringBuilder sb, String value) {
@@ -1258,7 +1258,7 @@
 		 * Map a string for an APPROX (~=) comparison. This implementation
 		 * removes white spaces. This is the minimum implementation allowed by
 		 * the OSGi spec.
-		 * 
+		 *
 		 * @param input Input string.
 		 * @return String ready for APPROX comparison.
 		 */
@@ -1292,7 +1292,7 @@
 
 	/**
 	 * Returns the leftmost required objectClass value for the filter to evaluate to true.
-	 * 
+	 *
 	 * @return The leftmost required objectClass value or null if none could be determined.
 	 */
 	public String getRequiredObjectClass() {
@@ -1682,7 +1682,7 @@
 
 		/**
 		 * Create a case insensitive map from the specified dictionary.
-		 * 
+		 *
 		 * @param dictionary
 		 * @throws IllegalArgumentException If {@code dictionary} contains case
 		 *             variants of the same key name.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/OSGiFrameworkHooks.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/OSGiFrameworkHooks.java
index 8f38c2b..feed04d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/OSGiFrameworkHooks.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/OSGiFrameworkHooks.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -115,7 +115,7 @@
 
 		void notifyCollisionHooksPriviledged(final int operationType, final Bundle target, final Collection<Bundle> collisionCandidates) {
 			if (debug.DEBUG_HOOKS) {
-				Debug.println("notifyCollisionHooks(" + operationType + ", " + target + ", " + collisionCandidates + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ 
+				Debug.println("notifyCollisionHooks(" + operationType + ", " + target + ", " + collisionCandidates + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 			}
 			ServiceRegistry registry = container.getServiceRegistry();
 			if (registry != null) {
@@ -134,7 +134,7 @@
 
 					@Override
 					public String getHookMethodName() {
-						return "filterCollisions"; //$NON-NLS-1$ 
+						return "filterCollisions"; //$NON-NLS-1$
 					}
 
 					@Override
@@ -150,7 +150,7 @@
 	 * This class encapsulates the delegation to ResolverHooks that are registered with the service
 	 * registry.  This way the resolver implementation only has to call out to a single hook
 	 * which does all the necessary service registry lookups.
-	 * 
+	 *
 	 * This class is not thread safe and expects external synchronization.
 	 *
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/StorageSaver.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/StorageSaver.java
index cd85841..13f239f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/StorageSaver.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/StorageSaver.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/SystemBundleActivator.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/SystemBundleActivator.java
index 4cb0b3c..b1917a1 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/SystemBundleActivator.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/SystemBundleActivator.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/XMLParsingServiceFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/XMLParsingServiceFactory.java
index fbeb96e..84a6e37 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/XMLParsingServiceFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/XMLParsingServiceFactory.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -33,10 +33,10 @@
 			return createService();
 		/*
 		 * Set the TCCL while creating jaxp factory instances to the
-		 * requesting bundles class loader.  This is needed to 
-		 * work around bug 285505.  There are issues if multiple 
+		 * requesting bundles class loader.  This is needed to
+		 * work around bug 285505.  There are issues if multiple
 		 * xerces implementations are available on the bundles class path
-		 * 
+		 *
 		 * The real issue is that the ContextFinder will only delegate
 		 * to the framework class loader in this case.  This class
 		 * loader forces the requesting bundle to be delegated to for
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/PackageAdminImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/PackageAdminImpl.java
index 6044e15..c6fe2c7 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/PackageAdminImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/PackageAdminImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -57,7 +57,7 @@
 public class PackageAdminImpl implements PackageAdmin {
 	private final ModuleContainer container;
 
-	/* 
+	/*
 	 * We need to make sure that the GetBundleAction class loads early to prevent a ClassCircularityError when checking permissions.
 	 * See bug 161561
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/StartLevelImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/StartLevelImpl.java
index 2d3f7cf..45e272d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/StartLevelImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/legacy/StartLevelImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/BundleFileWrapperFactoryHook.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/BundleFileWrapperFactoryHook.java
index 22efbda..6d38949 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/BundleFileWrapperFactoryHook.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/BundleFileWrapperFactoryHook.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -23,8 +23,8 @@
  */
 public interface BundleFileWrapperFactoryHook {
 	/**
-	 * Wraps a bundle file for the given content and base data.  If the 
-	 * specified bundle file should not be wrapped then null is returned 
+	 * Wraps a bundle file for the given content and base data.  If the
+	 * specified bundle file should not be wrapped then null is returned
 	 * @param bundleFile the bundle file to be wrapped
 	 * @param generation the generation the bundle file is for
 	 * @param base true if the content is for the base bundle (not an inner jar, directory etc.)
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/ClassLoaderHook.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/ClassLoaderHook.java
index 8e0a529..3a906b9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/ClassLoaderHook.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/ClassLoaderHook.java
@@ -32,7 +32,7 @@
  */
 public abstract class ClassLoaderHook {
 	/**
-	 * Gets called by a classpath manager before defining a class.  This method allows a class loading hook 
+	 * Gets called by a classpath manager before defining a class.  This method allows a class loading hook
 	 * to process the bytes of a class that is about to be defined and return a transformed byte array.
 	 * @param name the name of the class being defined
 	 * @param classbytes the bytes of the class being defined
@@ -47,7 +47,7 @@
 
 	/**
 	 * Gets called by a classpath manager before defining a class.  This method allows a class loading hook
-	 * to reject a transformation to the class bytes by a 
+	 * to reject a transformation to the class bytes by a
 	 * {@link #processClass(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager) processClass} method.
 	 * @param name the name of the class being defined
 	 * @param transformedBytes the transformed bytes of the class being defined
@@ -61,7 +61,7 @@
 	}
 
 	/**
-	 * Gets called by a classpath manager when looking for ClasspathEntry objects.  This method allows 
+	 * Gets called by a classpath manager when looking for ClasspathEntry objects.  This method allows
 	 * a class loading hook to add additional ClasspathEntry objects
 	 * @param cpEntries the list of ClasspathEntry objects currently available for the requested classpath
 	 * @param cp the name of the requested classpath
@@ -75,8 +75,8 @@
 
 	/**
 	 * Gets called by a base data during {@link ModuleClassLoader#findLibrary(String)}.
-	 * A this method is called for each configured class loading hook until one 
-	 * class loading hook returns a non-null value.  If no class loading hook returns 
+	 * A this method is called for each configured class loading hook until one
+	 * class loading hook returns a non-null value.  If no class loading hook returns
 	 * a non-null value then the default behavior will be used.
 	 * @param generation the bundle generation to find a native library for.
 	 * @param libName the name of the native library.
@@ -93,7 +93,7 @@
 	 * returns null indicating the built-in implementation should be used.
 	 * Only one hook is able to provide the implementation of the module class loader
 	 * and the first one to return non-null wins.
-	 * 
+	 *
 	 * @param parent the parent classloader
 	 * @param configuration the equinox configuration
 	 * @param delegate the delegate for this classloader
@@ -107,7 +107,7 @@
 	}
 
 	/**
-	 * Gets called by a classpath manager at the end of 
+	 * Gets called by a classpath manager at the end of
 	 * {@link BundleLoader#getClassLoader()} is called the first time and a class loader is created.
 	 * @param classLoader the newly created bundle classloader
 	 */
@@ -116,10 +116,10 @@
 	}
 
 	/**
-	 * Called by a {@link BundleLoader#findClass(String)} method before delegating to the resolved constraints and 
-	 * local bundle for a class load.  If this method returns null then normal delegation is done.  If this method 
+	 * Called by a {@link BundleLoader#findClass(String)} method before delegating to the resolved constraints and
+	 * local bundle for a class load.  If this method returns null then normal delegation is done.  If this method
 	 * returns a non-null value then the rest of the delegation process is skipped and the returned value is used.
-	 * If this method throws a <code>ClassNotFoundException</code> then the calling 
+	 * If this method throws a <code>ClassNotFoundException</code> then the calling
 	 * {@link BundleLoader#findClass(String)} method re-throws the exception.
 	 * @param name the name of the class to find
 	 * @param classLoader the module class loader
@@ -131,7 +131,7 @@
 	}
 
 	/**
-	 * Called by a {@link BundleLoader#findClass(String)} method after delegating to the resolved constraints and 
+	 * Called by a {@link BundleLoader#findClass(String)} method after delegating to the resolved constraints and
 	 * local bundle for a class load.  This method will only be called if no class was found
 	 * from the normal delegation.
 	 * @param name the name of the class to find
@@ -144,8 +144,8 @@
 	}
 
 	/**
-	 * Called by a {@link BundleLoader#findResource(String)} before delegating to the resolved constraints and 
-	 * local bundle for a resource load.  If this method returns null then normal delegation is done.  
+	 * Called by a {@link BundleLoader#findResource(String)} before delegating to the resolved constraints and
+	 * local bundle for a resource load.  If this method returns null then normal delegation is done.
 	 * If this method returns a non-null value then the rest of the delegation process is skipped and the returned value is used.
 	 * If this method throws an <code>FileNotFoundException</code> then the delegation is terminated.
 	 * @param name the name of the resource to find
@@ -158,7 +158,7 @@
 	}
 
 	/**
-	 * Called by a {@link BundleLoader#findResource(String)} after delegating to the resolved constraints and 
+	 * Called by a {@link BundleLoader#findResource(String)} after delegating to the resolved constraints and
 	 * local bundle for a resource load.  This method will only be called if no resource was found
 	 * from the normal delegation.
 	 * @param name the name of the resource to find
@@ -171,8 +171,8 @@
 	}
 
 	/**
-	 * Called by a {@link BundleLoader#findResources(String)} before delegating to the resolved constraints and 
-	 * local bundle for a resource load.  If this method returns null then normal delegation is done.  
+	 * Called by a {@link BundleLoader#findResources(String)} before delegating to the resolved constraints and
+	 * local bundle for a resource load.  If this method returns null then normal delegation is done.
 	 * If this method returns  a non-null value then the rest of the delegation process is skipped and the returned value is used.
 	 * If this method throws an <code>FileNotFoundException</code> then the delegation is terminated
 	 * @param name the name of the resource to find
@@ -185,7 +185,7 @@
 	}
 
 	/**
-	 * Called by a {@link BundleLoader#findResources(String)} after delegating to the resolved constraints and 
+	 * Called by a {@link BundleLoader#findResources(String)} after delegating to the resolved constraints and
 	 * local bundle for a resource load.  This method will only be called if no resources were found
 	 * from the normal delegation.
 	 * @param name the name of the resource to find
@@ -198,7 +198,7 @@
 	}
 
 	/**
-	 * Called by a {@link ClasspathManager} before normal delegation.  If this method returns 
+	 * Called by a {@link ClasspathManager} before normal delegation.  If this method returns
 	 * a non-null value then the rest of the delegation process is skipped and the returned value
 	 * is used.
 	 * @param name the name of the library to find
@@ -222,8 +222,8 @@
 	}
 
 	/**
-	 * Gets called by a classpath manager during {@link ClasspathManager#findLocalClass(String)} before 
-	 * searching the local classloader for a class.  A classpath manager will call this method for 
+	 * Gets called by a classpath manager during {@link ClasspathManager#findLocalClass(String)} before
+	 * searching the local classloader for a class.  A classpath manager will call this method for
 	 * each configured class loading hook.
 	 * @param name the name of the requested class
 	 * @param manager the classpath manager used to find and load the requested class
@@ -235,7 +235,7 @@
 
 	/**
 	 * Gets called by a classpath manager during {@link ClasspathManager#findLocalClass(String)} after
-	 * searching the local classloader for a class. A classpath manager will call this method for 
+	 * searching the local classloader for a class. A classpath manager will call this method for
 	 * each configured class loading hook.
 	 * @param name the name of the requested class
 	 * @param clazz the loaded class or null if not found
@@ -249,7 +249,7 @@
 
 	/**
 	 * Gets called by a classpath manager during {@link ClasspathManager#findLocalResource(String)} before
-	 * searching the local classloader for a resource. A classpath manager will call this method for 
+	 * searching the local classloader for a resource. A classpath manager will call this method for
 	 * each configured class loading hook.
 	 * @param name the name of the requested resource
 	 * @param manager the classpath manager used to find the requested resource
@@ -261,7 +261,7 @@
 
 	/**
 	 * Gets called by a classpath manager during {@link ClasspathManager#findLocalResource(String)} after
-	 * searching the local classloader for a resource. A classpath manager will call this method for 
+	 * searching the local classloader for a resource. A classpath manager will call this method for
 	 * each configured class loading hook.
 	 * @param name the name of the requested resource
 	 * @param resource the URL to the requested resource or null if not found
@@ -273,8 +273,8 @@
 	}
 
 	/**
-	 * Gets called by a classpath manager after an attempt is made to define a class.  This method allows 
-	 * a class loading hook to record data about a class definition. 
+	 * Gets called by a classpath manager after an attempt is made to define a class.  This method allows
+	 * a class loading hook to record data about a class definition.
 	 * @param name the name of the class that got defined
 	 * @param clazz the class object that got defined or null if an error occurred while defining a class
 	 * @param classbytes the class bytes used to define the class
@@ -300,7 +300,7 @@
 	}
 
 	/**
-	 * Returns true if this hook can support invoking 
+	 * Returns true if this hook can support invoking
 	 * {@link ClassLoaderHook#processClass(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager) processClass}
 	 * recursively for the same class name.  If false is returned then a class
 	 * loading error will occur if recursive class processing is detected.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/FrameworkUtilHelper.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/FrameworkUtilHelper.java
index 80bc1a8..5bfb4e3 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/FrameworkUtilHelper.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/FrameworkUtilHelper.java
@@ -27,7 +27,7 @@
 	/**
 	 * See {@link FrameworkUtil#getBundle(Class)}
 	 * @param classFromBundle a class defined by a bundle class loader.
-	 * @return A Bundle for the specified bundle class or null if the 
+	 * @return A Bundle for the specified bundle class or null if the
 	 * specified class was not defined by a bundle class loader.
 	 */
 	public Bundle getBundle(Class<?> classFromBundle) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/HookRegistry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/HookRegistry.java
index a2c9f39..552438a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/HookRegistry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/HookRegistry.java
@@ -40,15 +40,15 @@
 public final class HookRegistry {
 	/**
 	 * The hook configurators properties file (&quot;hookconfigurators.properties&quot;) <p>
-	 * A framework extension may supply a hook configurators properties file to specify a 
+	 * A framework extension may supply a hook configurators properties file to specify a
 	 * list of hook configurators.
 	 * @see #HOOK_CONFIGURATORS
 	 */
 	public static final String HOOK_CONFIGURATORS_FILE = "hookconfigurators.properties"; //$NON-NLS-1$
 
 	/**
-	 * The hook configurators property key (&quot;hookconfigurators.properties&quot;) used in 
-	 * a hook configurators properties file to specify a comma separated list of fully 
+	 * The hook configurators property key (&quot;hookconfigurators.properties&quot;) used in
+	 * a hook configurators properties file to specify a comma separated list of fully
 	 * qualified hook configurator classes.
 	 */
 	public static final String HOOK_CONFIGURATORS = "hook.configurators"; //$NON-NLS-1$
@@ -60,7 +60,7 @@
 	public static final String PROP_HOOK_CONFIGURATORS_INCLUDE = "osgi.hook.configurators.include"; //$NON-NLS-1$
 
 	/**
-	 * A system property (&quot;osgi.hook.configurators.exclude&quot;) used to exclude 
+	 * A system property (&quot;osgi.hook.configurators.exclude&quot;) used to exclude
 	 * any hook configurators.  This is helpful for disabling hook
 	 * configurators that is specified in hook configurator properties files.
 	 */
@@ -68,7 +68,7 @@
 
 	/**
 	 * A system property (&quot;osgi.hook.configurators&quot;) used to specify the list
-	 * of hook configurators.  If this property is set then the list of configurators 
+	 * of hook configurators.  If this property is set then the list of configurators
 	 * specified will be the only configurators used.
 	 */
 	public static final String PROP_HOOK_CONFIGURATORS = "osgi.hook.configurators"; //$NON-NLS-1$
@@ -92,9 +92,9 @@
 
 	/**
 	 * Initializes the hook configurators.  The following steps are used to initialize the hook configurators. <p>
-	 * 1. Get a list of hook configurators from all hook configurators properties files on the classpath, 
+	 * 1. Get a list of hook configurators from all hook configurators properties files on the classpath,
 	 *    add this list to the overall list of hook configurators, remove duplicates. <p>
-	 * 2. Get a list of hook configurators from the (&quot;osgi.hook.configurators.include&quot;) system property 
+	 * 2. Get a list of hook configurators from the (&quot;osgi.hook.configurators.include&quot;) system property
 	 *    and add this list to the overall list of hook configurators, remove duplicates. <p>
 	 * 3. Get a list of hook configurators from the (&quot;osgi.hook.configurators.exclude&quot;) system property
 	 *    and remove this list from the overall list of hook configurators. <p>
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/StorageHookFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/StorageHookFactory.java
index 34cd3dd..261e813 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/StorageHookFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hookregistry/StorageHookFactory.java
@@ -41,10 +41,10 @@
 	protected final String KEY = this.getClass().getName().intern();
 
 	/**
-	 * Returns the storage version of this storage hook.  This version 
-	 * is used by the storage to check the consistency of cached persistent 
-	 * data.  Any time a storage hook changes the format of its persistent 
-	 * data the storage version should be incremented. 
+	 * Returns the storage version of this storage hook.  This version
+	 * is used by the storage to check the consistency of cached persistent
+	 * data.  Any time a storage hook changes the format of its persistent
+	 * data the storage version should be incremented.
 	 * @return the storage version of this storage hook
 	 */
 	public int getStorageVersion() {
@@ -60,13 +60,13 @@
 	}
 
 	/**
-	 * Returns true if the persisted version is compatible with the 
+	 * Returns true if the persisted version is compatible with the
 	 * current version of this storage hook.  The default implementation
 	 * returns true if the specified version is identical to the current
 	 * version.  Implementations must override this method if they
 	 * want to support other (older) versions for migration purposes.
 	 * @param version the persisted version
-	 * @return true if the persisted version is compatible with 
+	 * @return true if the persisted version is compatible with
 	 * the current version.
 	 */
 	public boolean isCompatibleWith(int version) {
@@ -74,7 +74,7 @@
 	}
 
 	/**
-	 * Creates a save context object for a storage hook.  The 
+	 * Creates a save context object for a storage hook.  The
 	 * save context is passed to the {@link StorageHook#save(Object, DataOutputStream)}
 	 * for each generation being persisted by the framework.
 	 * @return a save context object or {@code null} if no save context is needed
@@ -108,7 +108,7 @@
 	 * Creates a storage hook for the specified generation and checks that the
 	 * factory class of the storage hook equals the class of this storage hook
 	 * factory.
-	 * 
+	 *
 	 * @param generation - The generation for which a storage hook should be
 	 *        created.
 	 * @return A newly created storage hook or {@code null} if no hook is needed
@@ -168,7 +168,7 @@
 		}
 
 		/**
-		 * Initializes this storage hook with the content of the specified bundle manifest.  
+		 * Initializes this storage hook with the content of the specified bundle manifest.
 		 * This method is called when a bundle is installed or updated.
 		 * @param manifest the bundle manifest to load into this storage hook
 		 * @throws BundleException if any error occurs
@@ -184,7 +184,7 @@
 		 * This will be either {@link ModuleEvent#INSTALLED installed} or {@link ModuleEvent#UPDATED updated}.
 		 * @param origin The module which originated the lifecycle operation. The origin may be {@code null} for
 		 * {@link ModuleEvent#INSTALLED installed} operations.  This is the module
-		 * passed to the {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object) install} or 
+		 * passed to the {@link ModuleContainer#install(Module, String, ModuleRevisionBuilder, Object) install} or
 		 * {@link ModuleContainer#update(Module, ModuleRevisionBuilder, Object) update} method.
 		 * @param builder the builder that will be used to create a new {@link ModuleRevision}.
 		 * @return The modified builder or a completely new builder to be used by the bundle.  A {@code null} value
@@ -198,10 +198,10 @@
 		}
 
 		/**
-		 * Loads the data from the specified 
-		 * input stream into the storage hook.  This method is called during startup to 
+		 * Loads the data from the specified
+		 * input stream into the storage hook.  This method is called during startup to
 		 * load all the persistently installed bundles. <p>
-		 * It is important that this method and the {@link #save(Object, DataOutputStream)} method 
+		 * It is important that this method and the {@link #save(Object, DataOutputStream)} method
 		 * stay in sync.  This method must be able to successfully read the data saved by the
 		 * {@link #save(Object, DataOutputStream)} method.
 		 * @param is an input stream used to load the storage hook's data from.
@@ -216,7 +216,7 @@
 		 * Saves the data from this storage hook into the specified output stream.  This method
 		 * is called if some persistent data has changed for the bundle. <p>
 		 * It is important that this method and the {@link #load(Object, DataInputStream)}
-		 * method stay in sync.  This method must be able to save data which the 
+		 * method stay in sync.  This method must be able to save data which the
 		 * {@link #load(Object, DataInputStream)} method can ready successfully.
 		 * @see #load(Object, DataInputStream)
 		 * @param os an output stream used to save the storage hook's data from.
@@ -235,7 +235,7 @@
 		}
 
 		/**
-		 * Validates the data in this storage hook, if the data is invalid then an illegal state 
+		 * Validates the data in this storage hook, if the data is invalid then an illegal state
 		 * exception is thrown
 		 * @throws IllegalStateException if the data is invalid
 		 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/DevClassLoadingHook.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/DevClassLoadingHook.java
index a1cfc66..8a4eb82 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/DevClassLoadingHook.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/DevClassLoadingHook.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -77,7 +77,7 @@
 				}
 			}
 		}
-		// mark the first entry of the list.  
+		// mark the first entry of the list.
 		// This way we can quickly tell that dev classpath entries have been added to the list
 		if (result && cpEntries.size() > 0)
 			cpEntries.get(0).addUserObject(this);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/EclipseLazyStarter.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/EclipseLazyStarter.java
index 8339703..c9ade4c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/EclipseLazyStarter.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/hooks/EclipseLazyStarter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoader.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoader.java
index 4db5039..b584320 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoader.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoader.java
@@ -213,7 +213,7 @@
 					if (!exportNames.contains(name)) {
 						// must force filtered and reexport sources to be created early
 						// to prevent lazy normal package source creation.
-						// We only do this for the first export of a package name. 
+						// We only do this for the first export of a package name.
 						sources.createPackageSource(export, true);
 					}
 				}
@@ -370,9 +370,9 @@
 	}
 
 	/**
-	 * This method gets a resource from the bundle.  The resource is searched 
-	 * for in the same manner as it would if it was being loaded from a bundle 
-	 * (i.e. all hosts, fragments, import, required bundles and 
+	 * This method gets a resource from the bundle.  The resource is searched
+	 * for in the same manner as it would if it was being loaded from a bundle
+	 * (i.e. all hosts, fragments, import, required bundles and
 	 * local resources are searched).
 	 *
 	 * @param name the name of the desired resource.
@@ -386,7 +386,7 @@
 	 * Finds a class local to this bundle.  Only the classloader for this bundle is searched.
 	 * @param name The name of the class to find.
 	 * @return The loaded Class or null if the class is not found.
-	 * @throws ClassNotFoundException 
+	 * @throws ClassNotFoundException
 	 */
 	public Class<?> findLocalClass(String name) throws ClassNotFoundException {
 		long start = 0;
@@ -960,7 +960,7 @@
 		for (ModuleWire bundleWire : requiredBundleWires) {
 			if (local != null || BundleNamespace.VISIBILITY_REEXPORT.equals(bundleWire.getRequirement().getDirectives().get(BundleNamespace.REQUIREMENT_VISIBILITY_DIRECTIVE))) {
 				// always add required bundles first if we locally provide the package
-				// This allows a bundle to provide a package from a required bundle without 
+				// This allows a bundle to provide a package from a required bundle without
 				// re-exporting the whole required bundle.
 				BundleLoader loader = getProviderLoader(bundleWire);
 				if (loader != null) {
@@ -1147,7 +1147,7 @@
 		PackageSource result = findImportedSource(pkgName, null);
 		if (result != null)
 			return result;
-		// Note that dynamic imports are not checked to avoid aggressive wiring (bug 105779)  
+		// Note that dynamic imports are not checked to avoid aggressive wiring (bug 105779)
 		return findRequiredSource(pkgName, null);
 	}
 
@@ -1225,7 +1225,7 @@
 			// so we do not have to do the search again for this package.
 			source = NullPackageSource.getNullPackageSource(pkgName);
 		} else if (result.size() == 1) {
-			// if there is just one source, remember just the single source 
+			// if there is just one source, remember just the single source
 			source = result.get(0);
 		} else {
 			// if there was more than one source, build a multisource and cache that.
@@ -1240,7 +1240,7 @@
 
 	/*
 	 * Gets the package source for the pkgName.  This will include the local package source
-	 * if the bundle exports the package.  This is used to compare the PackageSource of a 
+	 * if the bundle exports the package.  This is used to compare the PackageSource of a
 	 * package from two different bundles.
 	 */
 	public final PackageSource getPackageSource(String pkgName) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoaderSources.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoaderSources.java
index a4a7f75..3b24f87 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoaderSources.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/BundleLoaderSources.java
@@ -52,7 +52,7 @@
 	// creates a PackageSource from an ExportPackageDescription.  This is called when initializing
 	// a BundleLoader to ensure that the proper PackageSource gets created and used for
 	// filtered and reexport packages.  The storeSource flag is used by initialize to indicate
-	// that the source for special case package sources (filtered or re-exported should be stored 
+	// that the source for special case package sources (filtered or re-exported should be stored
 	// in the cache.  if this flag is set then a normal SinglePackageSource will not be created
 	// (i.e. it will be created lazily)
 	public PackageSource createPackageSource(ModuleCapability packageCapability, boolean storeSource) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/ModuleClassLoader.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/ModuleClassLoader.java
index b511943..31aa057 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/ModuleClassLoader.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/ModuleClassLoader.java
@@ -154,9 +154,9 @@
 	/**
 	 * Loads a class for the bundle.  First delegate.findClass(name) is called.
 	 * The delegate will query the system class loader, bundle imports, bundle
-	 * local classes, bundle hosts and fragments.  The delegate will call 
-	 * BundleClassLoader.findLocalClass(name) to find a class local to this 
-	 * bundle.  
+	 * local classes, bundle hosts and fragments.  The delegate will call
+	 * BundleClassLoader.findLocalClass(name) to find a class local to this
+	 * bundle.
 	 * @param name the name of the class to load.
 	 * @param resolve indicates whether to resolve the loaded class or not.
 	 * @return The Class object.
@@ -199,11 +199,11 @@
 	}
 
 	/**
-	 * Gets a resource for the bundle.  First delegate.findResource(name) is 
+	 * Gets a resource for the bundle.  First delegate.findResource(name) is
 	 * called. The delegate will query the system class loader, bundle imports,
-	 * bundle local resources, bundle hosts and fragments.  The delegate will 
-	 * call BundleClassLoader.findLocalResource(name) to find a resource local 
-	 * to this bundle.  
+	 * bundle local resources, bundle hosts and fragments.  The delegate will
+	 * call BundleClassLoader.findLocalResource(name) to find a resource local
+	 * to this bundle.
 	 * @param name The resource path to get.
 	 * @return The URL of the resource or null if it does not exist.
 	 */
@@ -263,7 +263,7 @@
 	}
 
 	/**
-	 * Finds a library for this bundle.  Simply calls 
+	 * Finds a library for this bundle.  Simply calls
 	 * manager.findLibrary(libname) to find the library.
 	 * @param libname The library to find.
 	 * @return The absolution path to the library or null if not found
@@ -350,7 +350,7 @@
 	 * Creates a ProtectionDomain which uses specified BundleFile and the permissions of the baseDomain
 	 * @param bundlefile The source bundlefile the domain is for.
 	 * @param domainGeneration the source generation for the domain
-	 * @return a ProtectionDomain which uses specified BundleFile and the permissions of the baseDomain 
+	 * @return a ProtectionDomain which uses specified BundleFile and the permissions of the baseDomain
 	 */
 	@SuppressWarnings("deprecation")
 	protected ProtectionDomain createProtectionDomain(BundleFile bundlefile, Generation domainGeneration) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/SystemBundleLoader.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/SystemBundleLoader.java
index e8c7f73..11099cf 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/SystemBundleLoader.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/SystemBundleLoader.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -55,7 +55,7 @@
 	}
 
 	/**
-	 * The ClassLoader that loads OSGi framework classes is used to find the class. 
+	 * The ClassLoader that loads OSGi framework classes is used to find the class.
 	 */
 	@Override
 	public Class<?> findLocalClass(String name) {
@@ -100,7 +100,7 @@
 	/**
 	 * The ClassLoader that loads OSGi framework classes is used to find the resource.
 	 * This method never gets called because there is no ModuleClassLoader for the framework.
-	 * @throws IOException 
+	 * @throws IOException
 	 */
 	@Override
 	public Enumeration<URL> findResources(String name) throws IOException {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/DependentPolicy.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/DependentPolicy.java
index 838d9d5..3e8dd60 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/DependentPolicy.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/DependentPolicy.java
@@ -24,7 +24,7 @@
 import org.osgi.framework.namespace.PackageNamespace;
 
 /**
- * DependentPolicy is an implementation of a buddy policy. 
+ * DependentPolicy is an implementation of a buddy policy.
  * It is responsible for looking up a class in the dependents of the bundle
  * to which this policy is attached to.
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/IBuddyPolicy.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/IBuddyPolicy.java
index f6993fd..704b5d1 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/IBuddyPolicy.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/IBuddyPolicy.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/PolicyHandler.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/PolicyHandler.java
index 1628544..190ca9c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/PolicyHandler.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/PolicyHandler.java
@@ -190,7 +190,7 @@
 					results = new ArrayList<>(policyCount);
 				while (result.hasMoreElements()) {
 					URL url = result.nextElement();
-					if (!results.contains(url)) //only add if not already added 
+					if (!results.contains(url)) //only add if not already added
 						results.add(url);
 				}
 			}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/RegisteredPolicy.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/RegisteredPolicy.java
index 3546bb4..8bfc83b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/RegisteredPolicy.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/RegisteredPolicy.java
@@ -22,7 +22,7 @@
 import org.eclipse.osgi.internal.loader.BundleLoader;
 
 /**
- *Registered policy is an implementation of a buddy policy. 
+ *Registered policy is an implementation of a buddy policy.
  * It is responsible for looking up a class in the bundles (registrant) that declare interest in the bundle that require the buddy loading.
  * Note that the registrants must have a direct dependency on the bundle needing buddy.
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/SystemPolicy.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/SystemPolicy.java
index 9c5eb81..4a5d026 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/SystemPolicy.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/buddy/SystemPolicy.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathEntry.java
index 5b7882b..d936183 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathEntry.java
@@ -37,9 +37,9 @@
 import org.eclipse.osgi.storage.bundlefile.BundleFile;
 
 /**
- * A ClasspathEntry contains a single <code>BundleFile</code> which is used as 
- * a source to load classes and resources from, and a single 
- * <code>ProtectionDomain</code> which is used as the domain to define classes 
+ * A ClasspathEntry contains a single <code>BundleFile</code> which is used as
+ * a source to load classes and resources from, and a single
+ * <code>ProtectionDomain</code> which is used as the domain to define classes
  * loaded from this ClasspathEntry.
  * @since 3.2
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathManager.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathManager.java
index d4b950f..fa24f45 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathManager.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ClasspathManager.java
@@ -51,10 +51,10 @@
 import org.osgi.framework.namespace.HostNamespace;
 
 /**
- * A helper class for {@link ModuleClassLoader} implementations.  This class will keep track of 
- * {@link ClasspathEntry} objects for the host bundle and any attached fragment bundles.  This 
+ * A helper class for {@link ModuleClassLoader} implementations.  This class will keep track of
+ * {@link ClasspathEntry} objects for the host bundle and any attached fragment bundles.  This
  * class takes care of searching the {@link ClasspathEntry} objects for a module class loader
- * implementation.  Additional behavior may be added to a classpath manager by configuring a 
+ * implementation.  Additional behavior may be added to a classpath manager by configuring a
  * {@link ClassLoaderHook}.
  * @see ModuleClassLoader
  * @see ClassLoaderHook
@@ -173,7 +173,7 @@
 	/**
 	 * Finds all the ClasspathEntry objects for the requested classpath.  This method will first call all
 	 * the configured class loading hooks {@link ClassLoaderHook#addClassPathEntry(ArrayList, String, ClasspathManager, Generation)}
-	 * methods.  This allows class loading hooks to add additional ClasspathEntry objects to the result for the 
+	 * methods.  This allows class loading hooks to add additional ClasspathEntry objects to the result for the
 	 * requested classpath.  Then the local host classpath entries and attached fragment classpath entries are
 	 * searched.
 	 * @param result a list of ClasspathEntry objects.  This list is used to add new ClasspathEntry objects to.
@@ -254,12 +254,12 @@
 		if (var.equals("ws")) //$NON-NLS-1$
 			return ClasspathManager.addStandardClassPathEntry(cpEntries, "ws/" + configuration.getWS() + cp.substring(4), hostManager, source); //$NON-NLS-1$
 		if (var.equals("os")) //$NON-NLS-1$
-			return ClasspathManager.addStandardClassPathEntry(cpEntries, "os/" + configuration.getOS() + cp.substring(4), hostManager, source); //$NON-NLS-1$ 
+			return ClasspathManager.addStandardClassPathEntry(cpEntries, "os/" + configuration.getOS() + cp.substring(4), hostManager, source); //$NON-NLS-1$
 		if (var.equals("nl")) { //$NON-NLS-1$
 			cp = cp.substring(4);
 			List<String> NL_JAR_VARIANTS = source.getBundleInfo().getStorage().getConfiguration().ECLIPSE_NL_JAR_VARIANTS;
 			for (String nlVariant : NL_JAR_VARIANTS) {
-				if (ClasspathManager.addStandardClassPathEntry(cpEntries, "nl/" + nlVariant + cp, hostManager, source)) //$NON-NLS-1$ 
+				if (ClasspathManager.addStandardClassPathEntry(cpEntries, "nl/" + nlVariant + cp, hostManager, source)) //$NON-NLS-1$
 					return true;
 			}
 		}
@@ -350,8 +350,8 @@
 
 	/**
 	 * Finds a local resource by searching the ClasspathEntry objects of the classpath manager.
-	 * This method will first call all the configured class loading hooks 
-	 * {@link ClassLoaderHook#preFindLocalResource(String, ClasspathManager)} methods.  Then it 
+	 * This method will first call all the configured class loading hooks
+	 * {@link ClassLoaderHook#preFindLocalResource(String, ClasspathManager)} methods.  Then it
 	 * will search for the resource.  Finally it will call all the configured class loading hooks
 	 * {@link ClassLoaderHook#postFindLocalResource(String, URL, ClasspathManager)} methods.
 	 * @param resource the requested resource name.
@@ -536,15 +536,15 @@
 
 	/**
 	 * Finds a local class by searching the ClasspathEntry objects of the classpath manager.
-	 * This method will first call all the configured class loader hooks 
-	 * {@link ClassLoaderHook#preFindLocalClass(String, ClasspathManager)} methods.  Then it 
+	 * This method will first call all the configured class loader hooks
+	 * {@link ClassLoaderHook#preFindLocalClass(String, ClasspathManager)} methods.  Then it
 	 * will search for the class.  If a class is found then
 	 * <ol>
 	 *   <li>All configured class loader hooks
 	 *       {@link ClassLoaderHook#processClass(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager)}
 	 *       methods will be called.</li>
-	 *   <li>The class is then defined.</li>  
-	 *   <li>Finally, all configured class loading 
+	 *   <li>The class is then defined.</li>
+	 *   <li>Finally, all configured class loading
 	 *       stats hooks {@link ClassLoaderHook#recordClassDefine(String, Class, byte[], ClasspathEntry, BundleEntry, ClasspathManager)}
 	 *       methods are called.</li>
 	 * </ol>
@@ -651,10 +651,10 @@
 	}
 
 	/**
-	 * Defines the specified class.  This method will first call all the configured class loader hooks 
-	 * {@link ClassLoadingHook#processClass(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager)} 
-	 * methods.  If any hook modifies the bytes the all configured hook 
-	 * {@link ClassLoaderHook#rejectTransformation(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager)} 
+	 * Defines the specified class.  This method will first call all the configured class loader hooks
+	 * {@link ClassLoadingHook#processClass(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager)}
+	 * methods.  If any hook modifies the bytes the all configured hook
+	 * {@link ClassLoaderHook#rejectTransformation(String, byte[], ClasspathEntry, BundleEntry, ClasspathManager)}
 	 * methods are called.  Then it will call the {@link ModuleClassLoader#defineClass(String, byte[], ClasspathEntry, BundleEntry)}
 	 * method to define the class. After that, the class loader hooks are called to announce the class
 	 * definition by calling {@link ClassLoaderHook#recordClassDefine(String, Class, byte[], ClasspathEntry, BundleEntry, ClasspathManager)}.
@@ -679,7 +679,7 @@
 			// First call the hooks that do not handle recursion themselves
 			if (!hookRegistry.getContainer().isProcessClassRecursionSupportedByAll()) {
 				// One or more hooks do not support recursive class processing.
-				// We need to detect recursions for this set of hooks. 
+				// We need to detect recursions for this set of hooks.
 				if (context.currentlyProcessing.contains(name)) {
 					// Avoid recursion for the same class name for these hooks
 					recursionDetected = true;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ManifestPackageAttributes.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ManifestPackageAttributes.java
index 8d27054..9dec7ab 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ManifestPackageAttributes.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/ManifestPackageAttributes.java
@@ -38,8 +38,8 @@
 	 * Factory method for creating ManifestPackageAttributes.  If any of the given title,
 	 * version, or vendor values are <code>null</code> then the defaultAttributes will be
 	 * used.  If the defaultAttributes is null or returns all <code>null</code> values then
-	 * <code>null</code> values will be used.  If <code>null</code> values are used for all of the 
-	 * versions, titles, and vendors then {@link #NONE} is returned. 
+	 * <code>null</code> values will be used.  If <code>null</code> values are used for all of the
+	 * versions, titles, and vendors then {@link #NONE} is returned.
 	 * @param specificationTitle the package specification title
 	 * @param specificationVersion the package specification version
 	 * @param specificationVendor the package specification vendor
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/TitleVersionVendor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/TitleVersionVendor.java
index 1ed88db..1a754a7 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/TitleVersionVendor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/classpath/TitleVersionVendor.java
@@ -27,7 +27,7 @@
 	private final String vendor;
 
 	/**
-	 * Factory for creating TitleVersionVendor objects.  If the given title, version and 
+	 * Factory for creating TitleVersionVendor objects.  If the given title, version and
 	 * vendor are <code>null</code> then {@link #NONE} is returned.
 	 * @param title
 	 * @param version
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/FilteredSourcePackage.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/FilteredSourcePackage.java
index 39d2031..051df33 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/FilteredSourcePackage.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/FilteredSourcePackage.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/MultiSourcePackage.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/MultiSourcePackage.java
index ee7559a..b42472a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/MultiSourcePackage.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/MultiSourcePackage.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java
index 99471fd..556b07e 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/PackageSource.java
@@ -149,7 +149,7 @@
 				@SuppressWarnings("deprecation")
 				Bundle bundle = container.getPackageAdmin().getBundle(serviceClass);
 				if (bundle != null && bundle != registrant)
-					// in this case we have a wacky ServiceFactory that is doing something we cannot 
+					// in this case we have a wacky ServiceFactory that is doing something we cannot
 					// verify if it is correct.  Instead of failing we allow the assignment and hope for the best
 					// bug 326918
 					return true;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/SingleSourcePackage.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/SingleSourcePackage.java
index a686cd8..204e979 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/SingleSourcePackage.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/loader/sources/SingleSourcePackage.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/BasicLocation.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/BasicLocation.java
index 45c38d5..7197ef2 100755
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/BasicLocation.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/BasicLocation.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java
index f58e50a..0c13ace 100755
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/location/EquinoxLocations.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rapicorp, Inc - Support for Mac Layout (bug 431116)
@@ -115,8 +115,8 @@
 			// only compute the default if the configuration area property is not set
 			defaultLocation = buildURL(computeDefaultConfigurationLocation(), true);
 		configurationLocation = buildLocation(PROP_CONFIG_AREA, defaultLocation, "", false, false, null); //$NON-NLS-1$
-		// get the parent location based on the system property. This will have been set on the 
-		// way in either by the caller/user or by main.  There will be no parent location if we are not 
+		// get the parent location based on the system property. This will have been set on the
+		// way in either by the caller/user or by main.  There will be no parent location if we are not
 		// cascaded.
 		URL parentLocation = computeSharedConfigurationLocation();
 		if (parentLocation != null && !parentLocation.equals(configurationLocation.getURL())) {
@@ -183,10 +183,10 @@
 	@SuppressWarnings("deprecation")
 	private Location buildLocation(String property, URL defaultLocation, String userDefaultAppendage, boolean readOnlyDefault, boolean computeReadOnly, String dataAreaPrefix) {
 		String location = equinoxConfig.clearConfiguration(property);
-		// the user/product may specify a non-default readOnly setting   
+		// the user/product may specify a non-default readOnly setting
 		String userReadOnlySetting = equinoxConfig.getConfiguration(property + READ_ONLY_AREA_SUFFIX);
 		boolean readOnly = (userReadOnlySetting == null ? readOnlyDefault : Boolean.valueOf(userReadOnlySetting).booleanValue());
-		// if the instance location is not set, predict where the workspace will be and 
+		// if the instance location is not set, predict where the workspace will be and
 		// put the instance area inside the workspace meta area.
 		if (location == null)
 			return new BasicLocation(property, defaultLocation, userReadOnlySetting != null || !computeReadOnly ? readOnly : !canWrite(defaultLocation), dataAreaPrefix, equinoxConfig, container, debugLocations);
@@ -247,16 +247,16 @@
 			sharedConfigurationURL = new URL(installURL, sharedConfigurationURL.getPath());
 			equinoxConfig.setConfiguration(PROP_SHARED_CONFIG_AREA, sharedConfigurationURL.toExternalForm());
 		} catch (MalformedURLException e) {
-			// do nothing here since it is basically impossible to get a bogus url 
+			// do nothing here since it is basically impossible to get a bogus url
 		}
 		return null;
 	}
 
 	private String computeDefaultConfigurationLocation() {
 		// 1) We store the config state relative to the 'eclipse' directory if possible
-		// 2) If this directory is read-only 
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
+		// 2) If this directory is read-only
+		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home>
+		//    is unique for each local user, and <application-id> is the one
 		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
 		//    exist, use "eclipse" as the application-id.
 
@@ -285,8 +285,8 @@
 	}
 
 	private String computeDefaultUserAreaLocation(String pathAppendage) {
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
+		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home>
+		//    is unique for each local user, and <application-id> is the one
 		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
 		//    exist, use "eclipse" as the application-id.
 		String installProperty = equinoxConfig.getConfiguration(PROP_INSTALL_AREA);
@@ -310,7 +310,7 @@
 					appVersion = ""; //$NON-NLS-1$
 				appName += File.separator + appId + "_" + appVersion + "_" + installDirHash; //$NON-NLS-1$ //$NON-NLS-2$
 			} catch (IOException e) {
-				// Do nothing if we get an exception.  We will default to a standard location 
+				// Do nothing if we get an exception.  We will default to a standard location
 				// in the user's home dir.
 				// add the hash to help prevent collisions
 				appName += File.separator + installDirHash;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ConfigAdminListener.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ConfigAdminListener.java
index 9252f35..a2d7319 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ConfigAdminListener.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ConfigAdminListener.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogFactory.java
index e24e7bb..99a0d0a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogFactory.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogServices.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogServices.java
index 8040f90..2efb306 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogServices.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogServices.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -114,7 +114,7 @@
 	private ServiceRegistration<?> perfLogReg;
 
 	/**
-	 * @throws BundleException  
+	 * @throws BundleException
 	 */
 	public void start(BundleContext context) throws BundleException {
 		logServiceManager.start(context);
@@ -123,7 +123,7 @@
 	}
 
 	/**
-	 * @throws BundleException  
+	 * @throws BundleException
 	 */
 	public void stop(BundleContext context) throws BundleException {
 		frameworkLogReg.unregister();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogWriter.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogWriter.java
index 4e49462..134f4fc 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogWriter.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EquinoxLogWriter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -43,7 +43,7 @@
 import org.osgi.service.log.admin.LoggerContext;
 
 class EquinoxLogWriter implements SynchronousLogListener, LogFilter {
-	private static final String PASSWORD = "-password"; //$NON-NLS-1$	
+	private static final String PASSWORD = "-password"; //$NON-NLS-1$
 	/** The session tag */
 	private static final String SESSION = "!SESSION"; //$NON-NLS-1$
 	/** The entry tag */
@@ -179,7 +179,7 @@
 	 * @return the session timestamp
 	 */
 	private String getSessionTimestamp() {
-		// Main should have set the session start-up timestamp so return that. 
+		// Main should have set the session start-up timestamp so return that.
 		// Return the "now" time if not available.
 		String ts = environmentInfo.getConfiguration("eclipse.startTime"); //$NON-NLS-1$
 		if (ts != null) {
@@ -233,7 +233,7 @@
 		write(", ARCH=" + environmentInfo.getOSArch()); //$NON-NLS-1$
 		write(", WS=" + environmentInfo.getWS()); //$NON-NLS-1$
 		writeln(", NL=" + environmentInfo.getNL()); //$NON-NLS-1$
-		// Add the command-line arguments used to invoke the platform 
+		// Add the command-line arguments used to invoke the platform
 		// XXX: this includes runtime-private arguments - should we do that?
 		if (includeCommandLine) {
 			writeArgs("Framework arguments: ", environmentInfo.getNonFrameworkArgs()); //$NON-NLS-1$
@@ -303,7 +303,7 @@
 			writeLog(0, logEntry);
 			writer.flush();
 		} catch (Exception e) {
-			// any exceptions during logging should be caught 
+			// any exceptions during logging should be caught
 			System.err.println("An exception occurred while writing to the platform log:");//$NON-NLS-1$
 			e.printStackTrace(System.err);
 			System.err.println("Logging to the console instead.");//$NON-NLS-1$
@@ -326,7 +326,7 @@
 	}
 
 	/**
-	 * @throws IOException  
+	 * @throws IOException
 	 */
 	public synchronized void setFile(File newFile, boolean append) throws IOException {
 		if (newFile != null && !newFile.equals(this.outFile)) {
@@ -591,7 +591,7 @@
 	}
 
 	/**
-	 * Checks the log file size.  If the log file size reaches the limit then the log 
+	 * Checks the log file size.  If the log file size reaches the limit then the log
 	 * is rotated
 	 * @return false if an error occured trying to rotate the log
 	 */
@@ -614,7 +614,7 @@
 				File backupFile = new File(backupFilename);
 				if (backupFile.exists()) {
 					if (!backupFile.delete()) {
-						System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ 
+						System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$
 						if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) {
 							System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$
 						} else {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EventAdminAdapter.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EventAdminAdapter.java
index cf67343..fe62d5a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EventAdminAdapter.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/EventAdminAdapter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceFactory.java
index cca82e3..4972ccf 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceFactory.java
@@ -114,7 +114,7 @@
 			// Catch linkage errors as these are generally recoverable but let other Errors propagate (see bug 222001)
 			getErrorStream().println("LogListener.logged threw a non-fatal unchecked exception as follows:"); //$NON-NLS-1$
 			e.printStackTrace(getErrorStream());
-		} 	
+		}
 	}
 
 	public ExtendedLogReaderServiceFactory(int maxHistory, LogLevel defaultLevel) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceImpl.java
index 273f9fc..8cd1161 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/ExtendedLogReaderServiceImpl.java
@@ -32,7 +32,7 @@
 			throw new IllegalArgumentException("LogListener must not be null"); //$NON-NLS-1$
 
 		if (filter == null)
-			throw new IllegalArgumentException("LogFilter must not be null"); //$NON-NLS-1$		
+			throw new IllegalArgumentException("LogFilter must not be null"); //$NON-NLS-1$
 
 		listeners.add(listener);
 		factory.addLogListener(listener, filter);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LoggerContextTargetMap.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LoggerContextTargetMap.java
index 2f6c0f8..3dd8719 100755
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LoggerContextTargetMap.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/log/LoggerContextTargetMap.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/BundlePermissions.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/BundlePermissions.java
index 6168edb..2d874bd 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/BundlePermissions.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/BundlePermissions.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -22,7 +22,7 @@
 public final class BundlePermissions extends PermissionCollection {
 	private static final long serialVersionUID = -5443618108312606612L;
 
-	// Note that this forces the Enumeration inner class to be loaded as soon as possible (see bug 119069)  
+	// Note that this forces the Enumeration inner class to be loaded as soon as possible (see bug 119069)
 	static final Enumeration<Permission> EMPTY_ENUMERATION = new Enumeration<Permission>() {
 		@Override
 		public boolean hasMoreElements() {
@@ -60,7 +60,7 @@
 	 * <p/>
 	 * Bundles may require additional permissions in order to execute byte code
 	 * woven by weaving hooks.
-	 * 
+	 *
 	 * @param permission The package permission to add to this woven bundle.
 	 * @throws SecurityException If the <code>permission</code>
 	 *         does not have an action of {@link PackagePermission#IMPORT}.
@@ -73,7 +73,7 @@
 
 	@Override
 	public Enumeration<Permission> elements() {
-		// TODO return an empty enumeration for now; 
+		// TODO return an empty enumeration for now;
 		// It does not seem possible to do this properly with multiple exports and conditional permissions.
 		// When looking to fix this be sure the Enumeration class is loaded as soon as possible (see bug 119069)
 		return EMPTY_ENUMERATION;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/EquinoxSecurityManager.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/EquinoxSecurityManager.java
index 0234cc8..fed8442 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/EquinoxSecurityManager.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/EquinoxSecurityManager.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -20,13 +20,13 @@
 import org.osgi.service.condpermadmin.Condition;
 
 /**
- * 
+ *
  * This security manager implements the ConditionalPermission processing for
  * OSGi. It is to be used with ConditionalPermissionAdmin.
- * 
+ *
  */
 public class EquinoxSecurityManager extends SecurityManager {
-	/* 
+	/*
 	 * This is super goofy, but we need to make sure that the CheckContext and
 	 * CheckPermissionAction classes load early. Otherwise, we run into problems later.
 	 */
@@ -96,7 +96,7 @@
 	/**
 	 * Gets the AccessControlContext currently being evaluated by
 	 * the SecurityManager.
-	 * 
+	 *
 	 * @return the AccessControlContext currently being evaluated by the SecurityManager, or
 	 * null if no AccessControlContext is being evaluated. Note: this method will
 	 * return null if the permission check is being done directly on the AccessControlContext
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionAdminTable.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionAdminTable.java
index 49e4db1..54e2d45 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionAdminTable.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionAdminTable.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionInfoCollection.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionInfoCollection.java
index cb05796..e663542 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionInfoCollection.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/PermissionInfoCollection.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -69,7 +69,7 @@
 
 	@Override
 	public Enumeration<Permission> elements() {
-		// TODO return an empty enumeration for now; 
+		// TODO return an empty enumeration for now;
 		return BundlePermissions.EMPTY_ENUMERATION;
 	}
 
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityAdmin.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityAdmin.java
index 2555770..4a1ad52 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityAdmin.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityAdmin.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRow.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRow.java
index 0dbb366..af9efda 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRow.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRow.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Connexta, LLC - performance improvements
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRowSnapShot.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRowSnapShot.java
index e9c0b1b..b2b415c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRowSnapShot.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityRowSnapShot.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java
index 34aa2a1..ff32046 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTable.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Connexta, LLC - evaluation cache implementation
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTableUpdate.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTableUpdate.java
index 1522f8a..e99eafb 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTableUpdate.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/permadmin/SecurityTableUpdate.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEngine.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEngine.java
index 0d14878..b57c392 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEngine.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEngine.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -38,9 +38,9 @@
 	}
 
 	/**
-	 * Authorizes a <code>SignedContent</code> object.  The engine determines if the 
-	 * signed content authorization should be granted.  The context is the entity 
-	 * associated with the signed content.  For example, signed content 
+	 * Authorizes a <code>SignedContent</code> object.  The engine determines if the
+	 * signed content authorization should be granted.  The context is the entity
+	 * associated with the signed content.  For example, signed content
 	 * for a bundle will have a <code>Bundle</code> object as the context.
 	 * @param content the signed content. The value may be <code>null</code>.
 	 * @param context the context associated with the signed content. The value may be <code>null</code>.
@@ -65,7 +65,7 @@
 	}
 
 	/**
-	 * Authorizes a <code>SignedContent</code> object.  The engine determines if the 
+	 * Authorizes a <code>SignedContent</code> object.  The engine determines if the
 	 * signed content authorization should be granted.
 	 * @param content
 	 * @param context the context associated with the signed content
@@ -76,7 +76,7 @@
 
 	/**
 	 * Return the current status of the Authorization system.
-	 * 
+	 *
 	 * @return A value of {@link AuthorizationStatus#OK} or {@link AuthorizationStatus#ERROR}
 	 * @see AuthorizationStatus#OK
 	 * @see AuthorizationStatus#ERROR
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEvent.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEvent.java
index 41c3147..3798cb6 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEvent.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationEvent.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -17,7 +17,7 @@
 
 /**
  * An event that is fired when an AuthorizationEngine implementation makes
- * a decision. 
+ * a decision.
  * @since 3.4
  */
 public class AuthorizationEvent {
@@ -39,7 +39,7 @@
 
 	/**
 	 * Create a new AuthorizationEvent
-	 * @param result - the result code 
+	 * @param result - the result code
 	 * @param content - the signed content
 	 * @param context - operation specific context
 	 * @param severity - severity code
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationListener.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationListener.java
index 516087e..4284fff 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationListener.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationListener.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,7 +16,7 @@
 import java.util.EventListener;
 
 /**
- * A Listener interface for an authorization handler. Implementors 
+ * A Listener interface for an authorization handler. Implementors
  * should register as an OSGI service.
  * @since 3.4
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationStatus.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationStatus.java
index 1a6493d..b060888 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationStatus.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/service/security/AuthorizationStatus.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -18,7 +18,7 @@
  * <p>
  * This class is not intended to be extended by clients.
  * </p>
- * 
+ *
  * @since 3.4
  */
 public class AuthorizationStatus {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateChain.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateChain.java
index 14d9882..f4a9d56 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateChain.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateChain.java
@@ -28,7 +28,7 @@
 public interface CertificateChain {
 	/**
 	 * Returns the list of X500 distinguished names that make up the certificate chain. Each
-	 * distinguished name is separated by a ';'. The first distinguished name is the signer 
+	 * distinguished name is separated by a ';'. The first distinguished name is the signer
 	 * and the last is the root Certificate Authority.
 	 * @return the list of X500 distinguished names that make up the certificate chain
 	 */
@@ -60,7 +60,7 @@
 
 	/**
 	 * Return the signing time for this signer.
-	 * 
+	 *
 	 * @return	null if there is a signing time for this signer null otherwise
 	 */
 	public Date getSigningTime();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateTrustAuthority.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateTrustAuthority.java
index 324d1ce..ec126b7 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateTrustAuthority.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateTrustAuthority.java
@@ -19,12 +19,12 @@
 
 /**
  * A CertificateTrustAuthority is used to check if certificate chains are trusted.
- * 
+ *
  */
 public interface CertificateTrustAuthority {
 
 	/**
-	 * Determines if the certificates are trusted.  This method will throw a 
+	 * Determines if the certificates are trusted.  This method will throw a
 	 * <code>CertificateException</code> if the specified certificate chain is not trusted.
 	 * @param certChain a chain of certificates
 	 * @throws CertificateException if the certficates are not trusted
@@ -33,7 +33,7 @@
 
 	/**
 	 * Add the specified certificate chain as a trusted certificate chain.
-	 * 
+	 *
 	 * @param certChain a chain of certificates
 	 */
 	public void addTrusted(Certificate[] certChain) throws CertificateException;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifier.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifier.java
index 96fbf39..b8170bc 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifier.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifier.java
@@ -17,8 +17,8 @@
 import java.security.cert.*;
 
 /**
- * A certificate verifier is used to verify the authenticity of a signed 
- * repository.  A certificate verifier is created using a 
+ * A certificate verifier is used to verify the authenticity of a signed
+ * repository.  A certificate verifier is created using a
  * {@link CertificateVerifierFactory}.
  * <p>
  * <strong>EXPERIMENTAL</strong>. This class or interface has been added as
@@ -30,8 +30,8 @@
 public interface CertificateVerifier {
 	/**
 	 * Verify the content of the repository.
-	 * 
-	 * @throws CertificateException			
+	 *
+	 * @throws CertificateException
 	 * @throws CertificateExpiredException
 	 * @throws CertificateParsingException
 	 * @throws SignatureException
@@ -39,10 +39,10 @@
 	public void checkContent() throws CertificateException, CertificateExpiredException, SignatureException;
 
 	/**
-	 * Verifies the content of the repository.  An array is returned with the entry names 
+	 * Verifies the content of the repository.  An array is returned with the entry names
 	 * which are corrupt.  If no entries are corrupt then an empty array is returned.
-	 * @return An array of entry names which are corrupt.  An empty array is returned if the 
-	 * repository is not corrupt or if the repository is not signed. 
+	 * @return An array of entry names which are corrupt.  An empty array is returned if the
+	 * repository is not corrupt or if the repository is not signed.
 	 */
 	public String[] verifyContent();
 
@@ -54,7 +54,7 @@
 
 	/**
 	 * Returns all certificate chains of the repository.  All certificate chains
-	 * are returned whether they are trusted or not.  If the repository is not signed 
+	 * are returned whether they are trusted or not.  If the repository is not signed
 	 * then an empty array is returned.
 	 * @return all certificate chains of the repository
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifierFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifierFactory.java
index 25c91cb..c03e470 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifierFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/provisional/verifier/CertificateVerifierFactory.java
@@ -37,7 +37,7 @@
 
 	/**
 	 * Returns a certificate verifier for the specified bundle.
-	 * @param bundle the bundle to get a verifier for 
+	 * @param bundle the bundle to get a verifier for
 	 * @return a certificate verifier for the specified bundle.
 	 * @throws IOException if an IO exception occurs while reading the bundle content
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/service/security/KeyStoreTrustEngine.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/service/security/KeyStoreTrustEngine.java
index 4295da3..47764b5 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/service/security/KeyStoreTrustEngine.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/service/security/KeyStoreTrustEngine.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -46,7 +46,7 @@
 	private final SignedBundleHook signedBundleHook;
 
 	/**
-	 * Create a new KeyStoreTrustEngine that is backed by a KeyStore 
+	 * Create a new KeyStoreTrustEngine that is backed by a KeyStore
 	 * @param path - path to the keystore
 	 * @param type - the type of keystore at the path location
 	 * @param password - the password required to unlock the keystore
@@ -77,7 +77,7 @@
 
 	/**
 	 * Return the password
-	 * @return password - the password as a char[] 
+	 * @return password - the password as a char[]
 	 */
 	private char[] getPassword() {
 		return password;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/FilteredServiceListener.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/FilteredServiceListener.java
index 1a66383..7468872 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/FilteredServiceListener.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/FilteredServiceListener.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -73,7 +73,7 @@
 
 	/**
 	 * Receives notification that a service has had a lifecycle change.
-	 * 
+	 *
 	 * @param event The <code>ServiceEvent</code> object.
 	 */
 	@Override
@@ -85,7 +85,7 @@
 			String[] classes = reference.getClasses();
 			int size = classes.length;
 			for (int i = 0; i < size; i++) {
-				if (classes[i] == objectClass) // objectClass strings have previously been interned for identity comparison 
+				if (classes[i] == objectClass) // objectClass strings have previously been interned for identity comparison
 					break objectClassCheck;
 			}
 			return; // no class in this event matches a required part of the filter; we do not need to deliver this event
@@ -117,7 +117,7 @@
 	/**
 	 * Returns a service event that should be delivered to the listener based on the filter evaluation.
 	 * This may result in a service event of type MODIFIED_ENDMATCH.
-	 * 
+	 *
 	 * @param delivered The service event delivered by the framework.
 	 * @return The event to be delivered or null if no event is to be delivered to the listener.
 	 */
@@ -155,7 +155,7 @@
 		return listener.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(listener)) + filterString; //$NON-NLS-1$
 	}
 
-	/** 
+	/**
 	 * Return the bundle context for the ListenerHook.
 	 * @return The context of the bundle which added the service listener.
 	 * @see org.osgi.framework.hooks.service.ListenerHook.ListenerInfo#getBundleContext()
@@ -165,7 +165,7 @@
 		return context;
 	}
 
-	/** 
+	/**
 	 * Return the filter string for the ListenerHook.
 	 * @return The filter string with which the listener was added. This may
 	 * be <code>null</code> if the listener was added without a filter.
@@ -185,7 +185,7 @@
 	 * indicating the listener has been added but has not been removed.
 	 * After the listener has been removed, this method must always return
 	 * <code>true</code>.
-	 * 
+	 *
 	 * @return <code>false</code> if the listener has not been been removed,
 	 *         <code>true</code> otherwise.
 	 */
@@ -194,7 +194,7 @@
 		return removed;
 	}
 
-	/** 
+	/**
 	 * Mark the service listener registration as removed.
 	 */
 	void markRemoved() {
@@ -203,7 +203,7 @@
 
 	/**
 	 * Returns an objectClass filter string for the specified class name.
-	 * @return A filter string for the specified class name or <code>null</code> if the 
+	 * @return A filter string for the specified class name or <code>null</code> if the
 	 * specified class name is <code>null</code>.
 	 */
 	private static String getObjectClassFilterString(String className) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/HookContext.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/HookContext.java
index c4fb74c..a16d885 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/HookContext.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/HookContext.java
@@ -27,7 +27,7 @@
 
 	/**
 	 * Call the specified hook.
-	 * 
+	 *
 	 * @param hook The hook object to call. The hook object must be of the type
 	 * supported by this hook context. If it is not, then this method will
 	 * simply return.
@@ -38,14 +38,14 @@
 
 	/**
 	 * Return the class name of the hook type supported by this hook context.
-	 * 
+	 *
 	 * @return The class name of the hook type supported by this hook context.
 	 */
 	public String getHookClassName();
 
 	/**
 	 * Return the hook method name called by this hook context.
-	 * 
+	 *
 	 * @return The hook method name called by this hook context.
 	 */
 	public String getHookMethodName();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ModifiedServiceEvent.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ModifiedServiceEvent.java
index 247d893..4ae46dc 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ModifiedServiceEvent.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ModifiedServiceEvent.java
@@ -29,7 +29,7 @@
 
 	/**
 	 * Create a ServiceEvent containing the service properties prior to modification.
-	 * 
+	 *
 	 * @param reference Reference to service with modified properties.
 	 * @param previousProperties Service properties prior to modification.
 	 */
@@ -42,7 +42,7 @@
 
 	/**
 	 * Return the service event of type MODIFIED.
-	 * 
+	 *
 	 * @return The service event of type MODIFIED.
 	 */
 	ServiceEvent getModifiedEvent() {
@@ -51,7 +51,7 @@
 
 	/**
 	 * Return the service event of type MODIFIED_ENDMATCH.
-	 * 
+	 *
 	 * @return The service event of type MODIFIED_ENDMATCH.
 	 */
 	ServiceEvent getModifiedEndMatchEvent() {
@@ -59,15 +59,15 @@
 	}
 
 	/**
-	 * Return if the specified filter matches the previous service 
+	 * Return if the specified filter matches the previous service
 	 * properties.
-	 * 
-	 * @param filter The filer to evaluate using the previous service 
+	 *
+	 * @param filter The filer to evaluate using the previous service
 	 * properties.
 	 * @return True is the filter matches the previous service properties.
 	 */
 	boolean matchPreviousProperties(Filter filter) {
-		/* We use matches here since ServiceProperties already 
+		/* We use matches here since ServiceProperties already
 		 * does case insensitive lookup.
 		 */
 		return filter.matches(previousProperties);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/PrototypeServiceFactoryUse.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/PrototypeServiceFactoryUse.java
index 12bda08..20a25f8 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/PrototypeServiceFactoryUse.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/PrototypeServiceFactoryUse.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -24,11 +24,11 @@
 
 /**
  * This class represents the use of a service by a bundle. One is created for each
- * service acquired by a bundle. 
- * 
+ * service acquired by a bundle.
+ *
  * <p>
  * This class manages a prototype service factory.
- * 
+ *
  * @ThreadSafe
  */
 public class PrototypeServiceFactoryUse<S> extends ServiceFactoryUse<S> {
@@ -49,9 +49,9 @@
 
 	/**
 	 * Create a new service object for the service.
-	 * 
+	 *
 	 * <p>
-	 * 
+	 *
 	 * @return The service object.
 	 */
 	/* @GuardedBy("this") */
@@ -79,7 +79,7 @@
 
 	/**
 	 * Release a service object for the service.
-	 * 
+	 *
 	 * @param service The service object to release.
 	 * @return true if the service was released; otherwise false.
 	 * @throws IllegalArgumentException If the specified service was not
@@ -105,7 +105,7 @@
 
 	/**
 	 * Release all uses of the service and reset the use count to zero.
-	 * 
+	 *
 	 * <ol>
 	 * <li>The bundle's use count for this service is set to zero.
 	 * <li>The {@link PrototypeServiceFactory#ungetService(Bundle, ServiceRegistration, Object)} method
@@ -127,7 +127,7 @@
 
 	/**
 	 * Is this service use using any services?
-	 * 
+	 *
 	 * @return true if no services are being used and this service use can be discarded.
 	 */
 	/* @GuardedBy("this") */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceConsumer.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceConsumer.java
index 192f830..1e62ea9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceConsumer.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceConsumer.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,10 +16,10 @@
 
 /**
  * Closure to allow sharing the same code for getting and ungetting a service.
- * The {@link #prototypeConsumer} closure must be used for calls from 
+ * The {@link #prototypeConsumer} closure must be used for calls from
  * ServiceObjects and the {@link #singletonConsumer} closure must be used
  * for calls from BundleContext.
- * 
+ *
  * The closure instance calls the correct method on the specified ServiceUse
  * object for the current service consumer type.
  */
@@ -56,7 +56,7 @@
 
 	/**
 	 * Get a service for the consumer.
-	 * 
+	 *
 	 * @param use Service Use object to get the service from.
 	 * @return The obtained service.
 	 */
@@ -64,7 +64,7 @@
 
 	/**
 	 * Unget the service for the consumer.
-	 * 
+	 *
 	 * @param use Service Use object to unget the service from.
 	 * @param service The Service to unget.
 	 * @return true if the service was ungotten, false otherwise.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceFactoryUse.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceFactoryUse.java
index cd55b5b..18dff7b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceFactoryUse.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceFactoryUse.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -24,11 +24,11 @@
 
 /**
  * This class represents the use of a service by a bundle. One is created for each
- * service acquired by a bundle. 
- * 
+ * service acquired by a bundle.
+ *
  * <p>
  * This class manages a service factory.
- * 
+ *
  * @ThreadSafe
  */
 public class ServiceFactoryUse<S> extends ServiceUse<S> {
@@ -73,7 +73,7 @@
 	 * is called to create a service object for the context bundle.
 	 * This service object is cached.
 	 * While the use count is greater than zero,
-	 * subsequent calls to get the service object 
+	 * subsequent calls to get the service object
 	 * will return the cached service object.
 	 * <br>If the service object returned by the {@link ServiceFactory}
 	 * is not an <code>instanceof</code>
@@ -127,7 +127,7 @@
 
 	/**
 	 * Unget a service's service object.
-	 * 
+	 *
 	 * <p>
 	 * Decrements the use count if the service was being used.
 	 *
@@ -166,7 +166,7 @@
 
 	/**
 	 * Release all uses of the service and reset the use count to zero.
-	 * 
+	 *
 	 * <ol>
 	 * <li>The bundle's use count for this service is set to zero.
 	 * <li>The {@link ServiceFactory#ungetService(Bundle, ServiceRegistration, Object)} method
@@ -203,7 +203,7 @@
 
 	/**
 	 *  Call the service factory to get the service.
-	 *  
+	 *
 	 * @return The service returned by the factory or null if there was an error.
 	 */
 	/* @GuardedBy("this") */
@@ -223,7 +223,7 @@
 			}
 			// allow the adaptor to handle this unexpected error
 			context.getContainer().handleRuntimeError(t);
-			ServiceException se = new ServiceException(NLS.bind(Msg.SERVICE_FACTORY_EXCEPTION, factory.getClass().getName(), "getService"), ServiceException.FACTORY_EXCEPTION, t); //$NON-NLS-1$ 
+			ServiceException se = new ServiceException(NLS.bind(Msg.SERVICE_FACTORY_EXCEPTION, factory.getClass().getName(), "getService"), ServiceException.FACTORY_EXCEPTION, t); //$NON-NLS-1$
 			context.getContainer().getEventPublisher().publishFrameworkEvent(FrameworkEvent.ERROR, registration.getBundle(), se);
 			return null;
 		}
@@ -253,7 +253,7 @@
 
 	/**
 	 *  Call the service factory to unget the service.
-	 *  
+	 *
 	 *  @param service The service object to pass to the factory.
 	 */
 	/* @GuardedBy("this") */
@@ -272,7 +272,7 @@
 				Debug.printStackTrace(t);
 			}
 
-			ServiceException se = new ServiceException(NLS.bind(Msg.SERVICE_FACTORY_EXCEPTION, factory.getClass().getName(), "ungetService"), ServiceException.FACTORY_EXCEPTION, t); //$NON-NLS-1$ 
+			ServiceException se = new ServiceException(NLS.bind(Msg.SERVICE_FACTORY_EXCEPTION, factory.getClass().getName(), "ungetService"), ServiceException.FACTORY_EXCEPTION, t); //$NON-NLS-1$
 			context.getContainer().getEventPublisher().publishFrameworkEvent(FrameworkEvent.ERROR, registration.getBundle(), se);
 		}
 	}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceObjectsImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceObjectsImpl.java
index da22a81..6b92427 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceObjectsImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceObjectsImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -44,7 +44,7 @@
 	/**
 	 * Returns a service object for the {@link #getServiceReference()
 	 * referenced} service.
-	 * 
+	 *
 	 * <p>
 	 * This {@code ServiceObjects} object can be used to obtain multiple service
 	 * objects for the referenced service if the service has
@@ -54,11 +54,11 @@
 	 * as calling the {@link BundleContext#getService(ServiceReference)} method
 	 * for the referenced service. That is, only one, use-counted service object
 	 * is available from this {@link ServiceObjects} object.
-	 * 
+	 *
 	 * <p>
 	 * This method will always return {@code null} when the referenced service
 	 * has been unregistered.
-	 * 
+	 *
 	 * <p>
 	 * For a prototype scope service, the following steps are required to get
 	 * the service object:
@@ -76,7 +76,7 @@
 	 * {@link ServiceException} describing the error is fired.</li>
 	 * <li>The service object is returned.</li>
 	 * </ol>
-	 * 
+	 *
 	 * @return A service object for the referenced service or {@code null} if
 	 *         the service is not registered, the service object returned by a
 	 *         {@code ServiceFactory} does not implement the classes under which
@@ -95,7 +95,7 @@
 	/**
 	 * Releases a service object for the {@link #getServiceReference()
 	 * referenced} service.
-	 * 
+	 *
 	 * <p>
 	 * This {@code ServiceObjects} object can be used to obtain multiple service
 	 * objects for the referenced service if the service has
@@ -105,7 +105,7 @@
 	 * as calling the {@link BundleContext#ungetService(ServiceReference)}
 	 * method for the referenced service. That is, only one, use-counted service
 	 * object is available from this {@link ServiceObjects} object.
-	 * 
+	 *
 	 * <p>
 	 * For a prototype scope service, the following steps are required to
 	 * release the service object:
@@ -116,11 +116,11 @@
 	 * {@link PrototypeServiceFactory#ungetService(Bundle, ServiceRegistration, Object)}
 	 * method is called to release the specified service object.</li>
 	 * </ol>
-	 * 
+	 *
 	 * <p>
 	 * The specified service object must no longer be used and all references to
 	 * it should be destroyed after calling this method.
-	 * 
+	 *
 	 * @param service A service object previously provided by this
 	 *        {@code ServiceObjects} object.
 	 * @throws IllegalStateException If the BundleContext used to create this
@@ -144,7 +144,7 @@
 	/**
 	 * Returns the {@link ServiceReference} for the service associated with this
 	 * {@code ServiceObjects} object.
-	 * 
+	 *
 	 * @return The {@link ServiceReference} for the service associated with this
 	 *         {@code ServiceObjects} object.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceProperties.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceProperties.java
index 982d002..29ac598 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceProperties.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceProperties.java
@@ -23,7 +23,7 @@
 
 /**
  * Service properties.
- * 
+ *
  * Supports case-insensitive key lookup.
  */
 class ServiceProperties extends CaseInsensitiveDictionaryMap<String, Object> {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceReferenceImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceReferenceImpl.java
index a1887a7..3cafc16 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceReferenceImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceReferenceImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -19,7 +19,7 @@
 
 /**
  * A reference to a service.
- * 
+ *
  * <p>
  * The Framework returns <code>ServiceReference</code> objects from the
  * <code>BundleContext.getServiceReference</code> and
@@ -40,7 +40,7 @@
  * If the same service object is registered multiple times,
  * <code>ServiceReference</code> objects associated with different
  * <code>ServiceRegistration</code> objects are not equal.
- * 
+ *
  * @see BundleContext#getServiceReference
  * @see BundleContext#getServiceReferences
  * @see BundleContext#getService
@@ -66,16 +66,16 @@
 	 * Returns the property value to which the specified property key is mapped
 	 * in the properties <code>Dictionary</code> object of the service
 	 * referenced by this <code>ServiceReference</code> object.
-	 * 
+	 *
 	 * <p>
 	 * Property keys are case-insensitive.
-	 * 
+	 *
 	 * <p>
 	 * This method must continue to return property values after the service has
 	 * been unregistered. This is so references to unregistered services (for
 	 * example, <code>ServiceReference</code> objects stored in the log) can
 	 * still be interrogated.
-	 * 
+	 *
 	 * @param key The property key.
 	 * @return The property value to which the key is mapped; <code>null</code>
 	 *         if there is no property named after the key.
@@ -89,20 +89,20 @@
 	 * Returns an array of the keys in the properties <code>Dictionary</code>
 	 * object of the service referenced by this <code>ServiceReference</code>
 	 * object.
-	 * 
+	 *
 	 * <p>
 	 * This method will continue to return the keys after the service has been
 	 * unregistered. This is so references to unregistered services (for
 	 * example, <code>ServiceReference</code> objects stored in the log) can
 	 * still be interrogated.
-	 * 
+	 *
 	 * <p>
 	 * This method is <i>case-preserving </i>; this means that every key in the
 	 * returned array must have the same case as the corresponding key in the
 	 * properties <code>Dictionary</code> that was passed to the
 	 * {@link BundleContext#registerService(String[],Object,java.util.Dictionary)}
 	 * or {@link ServiceRegistration#setProperties} methods.
-	 * 
+	 *
 	 * @return An array of property keys.
 	 */
 	@Override
@@ -113,12 +113,12 @@
 	/**
 	 * Returns the bundle that registered the service referenced by this
 	 * <code>ServiceReference</code> object.
-	 * 
+	 *
 	 * <p>
 	 * This method must return <code>null</code> when the service has been
 	 * unregistered. This can be used to determine if the service has been
 	 * unregistered.
-	 * 
+	 *
 	 * @return The bundle that registered the service referenced by this
 	 *         <code>ServiceReference</code> object; <code>null</code> if
 	 *         that service has already been unregistered.
@@ -133,12 +133,12 @@
 	 * Returns the bundles that are using the service referenced by this
 	 * <code>ServiceReference</code> object. Specifically, this method returns
 	 * the bundles whose usage count for that service is greater than zero.
-	 * 
+	 *
 	 * @return An array of bundles whose usage count for the service referenced
 	 *         by this <code>ServiceReference</code> object is greater than
 	 *         zero; <code>null</code> if no bundles are currently using that
 	 *         service.
-	 * 
+	 *
 	 * @since 1.1
 	 */
 	@Override
@@ -163,14 +163,14 @@
 	 * package source of the specified bundle then return <code>true</code>;
 	 * otherwise return <code>false</code>.</li>
 	 * </ol>
-	 * 
+	 *
 	 * @param bundle The <code>Bundle</code> object to check.
 	 * @param className The class name to check.
 	 * @return <code>true</code> if the bundle which registered the service
 	 *         referenced by this <code>ServiceReference</code> and the
 	 *         specified bundle use the same source for the package of the
 	 *         specified class name. Otherwise <code>false</code> is returned.
-	 * 
+	 *
 	 * @since 1.3
 	 */
 	@Override
@@ -181,7 +181,7 @@
 	/**
 	 * Compares this <code>ServiceReference</code> with the specified
 	 * <code>ServiceReference</code> for order.
-	 * 
+	 *
 	 * <p>
 	 * If this <code>ServiceReference</code> and the specified
 	 * <code>ServiceReference</code> have the same
@@ -196,7 +196,7 @@
 	 * <code>ServiceReference</code> if it has a higher
 	 * {@link Constants#SERVICE_ID service id} and greater if it has a lower
 	 * service id.
-	 * 
+	 *
 	 * @param object The <code>ServiceReference</code> to be compared.
 	 * @return Returns a negative integer, zero, or a positive integer if this
 	 *         <code>ServiceReference</code> is less than, equal to, or
@@ -270,7 +270,7 @@
 
 	/**
 	 * Return the ServiceRegistrationImpl for this ServiceReferenceImpl.
-	 * 
+	 *
 	 * @return The ServiceRegistrationImpl for this ServiceReferenceImpl.
 	 */
 	public ServiceRegistrationImpl<S> getRegistration() {
@@ -309,7 +309,7 @@
 	 * {@link ServiceRegistration#setProperties(Dictionary)} must be called to
 	 * modify the properties of the service.</li>
 	 * </ul>
-	 * 
+	 *
 	 * @return A copy of the properties of the service referenced by this
 	 *         {@code ServiceReference} object
 	 * @since 1.9
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistrationImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistrationImpl.java
index 9c9f09b..09a0c82 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistrationImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistrationImpl.java
@@ -35,7 +35,7 @@
  * the service. This implies that if a
  * bundle wants to keep its service registered, it should keep the
  * ServiceRegistration object referenced.
- * 
+ *
  * @ThreadSafe
  */
 public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>, Comparable<ServiceRegistrationImpl<?>> {
@@ -57,7 +57,7 @@
 	/* @GuardedBy("registrationLock") */
 	private ServiceReferenceImpl<S> reference;
 
-	/** List of contexts using the service. 
+	/** List of contexts using the service.
 	 * List&lt;BundleContextImpl&gt;.
 	 * */
 	/* @GuardedBy("registrationLock") */
@@ -258,7 +258,7 @@
 
 	/**
 	 * Is this registration unregistered?
-	 * 
+	 *
 	 * @return true if unregistered; otherwise false.
 	 */
 	boolean isUnregistered() {
@@ -454,7 +454,7 @@
 	}
 
 	/**
-	 * This method returns the bundle which registered the 
+	 * This method returns the bundle which registered the
 	 * service regardless of the registration status of this
 	 * service registration.  This is not an OSGi specified
 	 * method.
@@ -529,7 +529,7 @@
 				}
 				S serviceObject = consumer.getService(use);
 				/* if the service factory failed to return an object and
-				 * we created the service use, then remove the 
+				 * we created the service use, then remove the
 				 * optimistically added ServiceUse. */
 				if ((serviceObject == null) && added) {
 					synchronized (servicesInUse) {
@@ -546,7 +546,7 @@
 
 	/**
 	 * Create a new ServiceObjects for the requesting bundle.
-	 * 
+	 *
 	 * @param user The requesting bundle.
 	 * @return A new ServiceObjects for this service and the requesting bundle.
 	 */
@@ -563,7 +563,7 @@
 
 	/**
 	 * Create a new ServiceUse object for this service and user.
-	 * 
+	 *
 	 * @param user The bundle using this service.
 	 * @return The ServiceUse object for the bundle using this service.
 	 */
@@ -717,12 +717,12 @@
 	/**
 	 * Compares this <code>ServiceRegistrationImpl</code> with the specified
 	 * <code>ServiceRegistrationImpl</code> for order.
-	 * 
+	 *
 	 * <p>
 	 * This does a reverse comparison so that the highest item is sorted to the left.
 	 * We keep ServiceRegistationImpls in sorted lists such that the highest
 	 * ranked service is at element 0 for quick retrieval.
-	 * 
+	 *
 	 * @param other The <code>ServiceRegistrationImpl</code> to be compared.
 	 * @return Returns a negative integer, zero, or a positive integer if this
 	 *         <code>ServiceRegistrationImpl</code> is greater than, equal to, or
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistry.java
index d53f3b2..36ceb97 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceRegistry.java
@@ -60,9 +60,9 @@
 import org.osgi.framework.hooks.service.ListenerHook.ListenerInfo;
 
 /**
- * The Service Registry. This class is the main control point for service 
+ * The Service Registry. This class is the main control point for service
  * layer operations in the framework.
- * 
+ *
  * @ThreadSafe
  */
 public class ServiceRegistry {
@@ -74,23 +74,23 @@
 	static final String eventListenerHookName = EventListenerHook.class.getName();
 	static final String listenerHookName = ListenerHook.class.getName();
 
-	/** Published services by class name. 
-	 * The {@literal List<ServiceRegistrationImpl<?>>}s are both sorted 
+	/** Published services by class name.
+	 * The {@literal List<ServiceRegistrationImpl<?>>}s are both sorted
 	 * in the natural order of ServiceRegistrationImpl and also are sets in that
 	 * there must be no two entries in a List which are equal.
 	 */
 	/* @GuardedBy("this") */
 	private final Map<String, List<ServiceRegistrationImpl<?>>> publishedServicesByClass;
 
-	/** All published services. 
+	/** All published services.
 	 * The List is both sorted in the natural order of ServiceRegistrationImpl and also is a
 	 * set in that there must be no two entries in the List which are equal.
 	 */
 	/* @GuardedBy("this") */
 	private final List<ServiceRegistrationImpl<?>> allPublishedServices;
 
-	/** Published services by BundleContextImpl.  
-	 * The {@literal List<ServiceRegistrationImpl<?>>}s are NOT sorted 
+	/** Published services by BundleContextImpl.
+	 * The {@literal List<ServiceRegistrationImpl<?>>}s are NOT sorted
 	 * and also are sets in that
 	 * there must be no two entries in a List which are equal.
 	 */
@@ -142,12 +142,12 @@
 	 * bundles. The registering bundle is defined to be the context bundle.
 	 * Other bundles can locate the service by using either the
 	 * {@link #getServiceReferences} or {@link #getServiceReference} method.
-	 * 
+	 *
 	 * <p>
 	 * A bundle can register a service object that implements the
 	 * {@link ServiceFactory} interface to have more flexibility in providing
 	 * service objects to other bundles.
-	 * 
+	 *
 	 * <p>
 	 * The following steps are required to register a service:
 	 * <ol>
@@ -168,7 +168,7 @@
 	 * <li>A <code>ServiceRegistration</code> object for this registration is
 	 * returned.
 	 * </ol>
-	 * 
+	 *
 	 * @param context The BundleContext of the registering bundle.
 	 * @param clazzes The class names under which the service can be located.
 	 *        The class names in this array will be stored in the service's
@@ -183,11 +183,11 @@
 	 *        {@link ServiceRegistration#setProperties} method must be called.
 	 *        The set of properties may be <code>null</code> if the service
 	 *        has no properties.
-	 * 
+	 *
 	 * @return A <code>ServiceRegistrationImpl</code> object for use by the bundle
 	 *         registering the service to update the service's properties or to
 	 *         unregister the service.
-	 * 
+	 *
 	 * @throws java.lang.IllegalArgumentException If one of the following is
 	 *         true:
 	 *         <ul>
@@ -198,15 +198,15 @@
 	 *         <li><code>properties</code> contains case variants of the same
 	 *         key name.
 	 *         </ul>
-	 * 
+	 *
 	 * @throws java.lang.SecurityException If the caller does not have the
 	 *         <code>ServicePermission</code> to register the service for all
 	 *         the named classes and the Java Runtime Environment supports
 	 *         permissions.
-	 * 
+	 *
 	 * @throws java.lang.IllegalStateException If this BundleContext is no
 	 *         longer valid.
-	 * 
+	 *
 	 * @see ServiceRegistration
 	 * @see ServiceFactory
 	 */
@@ -269,23 +269,23 @@
 	 * criteria, and the packages for the class names under which the services
 	 * were registered match the context bundle's packages as defined in
 	 * {@link ServiceReference#isAssignableTo(Bundle, String)}.
-	 * 
+	 *
 	 * <p>
 	 * The list is valid at the time of the call to this method, however since
 	 * the Framework is a very dynamic environment, services can be modified or
 	 * unregistered at anytime.
-	 * 
+	 *
 	 * <p>
 	 * <code>filter</code> is used to select the registered service whose
 	 * properties objects contain keys and values which satisfy the filter. See
 	 * {@link Filter} for a description of the filter string syntax.
-	 * 
+	 *
 	 * <p>
 	 * If <code>filter</code> is <code>null</code>, all registered services
 	 * are considered to match the filter. If <code>filter</code> cannot be
 	 * parsed, an {@link InvalidSyntaxException} will be thrown with a human
 	 * readable message where the filter became unparsable.
-	 * 
+	 *
 	 * <p>
 	 * The following steps are required to select a set of
 	 * <code>ServiceReferenceImpl</code> objects:
@@ -320,7 +320,7 @@
 	 * <li>An array of the remaining <code>ServiceReferenceImpl</code> objects is
 	 * returned.
 	 * </ol>
-	 * 
+	 *
 	 * @param context The BundleContext of the requesting bundle.
 	 * @param clazz The class name with which the service was registered or
 	 *        <code>null</code> for all services.
@@ -379,12 +379,12 @@
 	/**
 	 * Returns a <code>ServiceReference</code> object for a service that
 	 * implements and was registered under the specified class.
-	 * 
+	 *
 	 * <p>
 	 * This <code>ServiceReference</code> object is valid at the time of the
 	 * call to this method, however as the Framework is a very dynamic
 	 * environment, services can be modified or unregistered at anytime.
-	 * 
+	 *
 	 * <p>
 	 * This method is the same as calling
 	 * {@link BundleContext#getServiceReferences(String, String)} with a
@@ -398,7 +398,7 @@
 	 * If there is a tie in ranking, the service with the lowest service ID (as
 	 * specified in its {@link Constants#SERVICE_ID} property); that is, the
 	 * service that was registered first is returned.
-	 * 
+	 *
 	 * @param context The BundleContext of the requesting bundle.
 	 * @param clazz The class name with which the service was registered.
 	 * @return A <code>ServiceReference</code> object, or <code>null</code>
@@ -441,11 +441,11 @@
 	 * <p>
 	 * When a bundle's use count for a service drops to zero, the bundle should
 	 * no longer use that service.
-	 * 
+	 *
 	 * <p>
 	 * This method will always return <code>null</code> when the service
 	 * associated with this <code>reference</code> has been unregistered.
-	 * 
+	 *
 	 * <p>
 	 * The following steps are required to get the service object:
 	 * <ol>
@@ -470,7 +470,7 @@
 	 * describing the error is fired.
 	 * <li>The service object for the service is returned.
 	 * </ol>
-	 * 
+	 *
 	 * @param context The BundleContext of the requesting bundle.
 	 * @param reference A reference to the service.
 	 * @return A service object for the service associated with
@@ -497,7 +497,7 @@
 	/**
 	 * Returns the {@link ServiceObjects} object for the service referenced by
 	 * the specified {@code ServiceReference} object.
-	 * 
+	 *
 	 * <p>
 	 * The {@link ServiceObjects} object can be used to obtain multiple
 	 * service objects for services with {@link Constants#SCOPE_PROTOTYPE
@@ -509,11 +509,11 @@
 	 * the {@link BundleContext#ungetService(ServiceReference)} method. That is, only one,
 	 * use-counted service object is available from the {@link ServiceObjects}
 	 * object.
-	 * 
+	 *
 	 * <p>
 	 * This method will always return {@code null} when the service associated
 	 * with the specified {@code reference} has been unregistered.
-	 * 
+	 *
 	 * @param <S> Type of Service.
 	 * @param context The BundleContext of the requesting bundle.
 	 * @param reference A reference to the service.
@@ -536,12 +536,12 @@
 	 * for the service is zero, this method returns <code>false</code>.
 	 * Otherwise, the context bundle's use count for the service is decremented
 	 * by one.
-	 * 
+	 *
 	 * <p>
 	 * The service's service object should no longer be used and all references
 	 * to it should be destroyed when a bundle's use count for the service drops
 	 * to zero.
-	 * 
+	 *
 	 * <p>
 	 * The following steps are required to unget the service object:
 	 * <ol>
@@ -556,7 +556,7 @@
 	 * method is called to release the service object for the context bundle.
 	 * <li><code>true</code> is returned.
 	 * </ol>
-	 * 
+	 *
 	 * @param context The BundleContext of the requesting bundle.
 	 * @param reference A reference to the service to be released.
 	 * @return <code>false</code> if the context bundle's use count for the
@@ -577,18 +577,18 @@
 	 * Returns this bundle's <code>ServiceReference</code> list for all
 	 * services it has registered or <code>null</code> if this bundle has no
 	 * registered services.
-	 * 
+	 *
 	 * <p>
 	 * If the Java runtime supports permissions, a <code>ServiceReference</code>
 	 * object to a service is included in the returned list only if the caller
 	 * has the <code>ServicePermission</code> to get the service using at
 	 * least one of the named classes the service was registered under.
-	 * 
+	 *
 	 * <p>
 	 * The list is valid at the time of the call to this method, however, as the
 	 * Framework is a very dynamic environment, services can be modified or
 	 * unregistered at anytime.
-	 * 
+	 *
 	 * @param context The BundleContext of the requesting bundle.
 	 * @return An array of <code>ServiceReference</code> objects or
 	 *         <code>null</code>.
@@ -629,7 +629,7 @@
 	 * services it is using or returns <code>null</code> if this bundle is not
 	 * using any services. A bundle is considered to be using a service if its
 	 * use count for that service is greater than zero.
-	 * 
+	 *
 	 * <p>
 	 * If the Java Runtime Environment supports permissions, a
 	 * <code>ServiceReference</code> object to a service is included in the
@@ -640,7 +640,7 @@
 	 * The list is valid at the time of the call to this method, however, as the
 	 * Framework is a very dynamic environment, services can be modified or
 	 * unregistered at anytime.
-	 * 
+	 *
 	 * @param context The BundleContext of the requesting bundle.
 	 * @return An array of <code>ServiceReference</code> objects or
 	 *         <code>null</code>.
@@ -689,7 +689,7 @@
 	/**
 	 * Called when the BundleContext is closing to unregister all services
 	 * currently registered by the bundle.
-	 * 
+	 *
 	 * @param context The BundleContext of the closing bundle.
 	 */
 	public void unregisterServices(BundleContextImpl context) {
@@ -706,7 +706,7 @@
 	/**
 	 * Called when the BundleContext is closing to unget all services
 	 * currently used by the bundle.
-	 * 
+	 *
 	 * @param context The BundleContext of the closing bundle.
 	 */
 	public void releaseServicesInUse(BundleContextImpl context) {
@@ -731,7 +731,7 @@
 
 	/**
 	 * Add a new Service Listener for a bundle.
-	 * 
+	 *
 	 * @param context Context of bundle adding listener.
 	 * @param listener Service Listener to be added.
 	 * @param filter Filter string for listener or null.
@@ -766,7 +766,7 @@
 
 	/**
 	 * Remove a Service Listener for a bundle.
-	 * 
+	 *
 	 * @param context Context of bundle removing listener.
 	 * @param listener Service Listener to be removed.
 	 */
@@ -795,7 +795,7 @@
 
 	/**
 	 * Remove all Service Listener for a bundle.
-	 * 
+	 *
 	 * @param context Context of bundle removing all listeners.
 	 */
 	public void removeAllServiceListeners(BundleContextImpl context) {
@@ -826,7 +826,7 @@
 
 	/**
 	 * Deliver a ServiceEvent.
-	 * 
+	 *
 	 * @param event The ServiceEvent to deliver.
 	 */
 	public void publishServiceEvent(final ServiceEvent event) {
@@ -909,7 +909,7 @@
 
 	/**
 	 * Return the next available service id.
-	 * 
+	 *
 	 * @return next service id.
 	 */
 	synchronized long getNextServiceId() {
@@ -920,7 +920,7 @@
 
 	/**
 	 * Add the ServiceRegistrationImpl to the data structure.
-	 * 
+	 *
 	 * @param context The BundleContext of the bundle registering the service.
 	 * @param registration The new ServiceRegistration.
 	 */
@@ -959,7 +959,7 @@
 
 	/**
 	 * Modify the ServiceRegistrationImpl in the data structure.
-	 * 
+	 *
 	 * @param context The BundleContext of the bundle registering the service.
 	 * @param registration The modified ServiceRegistration.
 	 */
@@ -990,7 +990,7 @@
 
 	/**
 	 * Remove the ServiceRegistrationImpl from the data structure.
-	 * 
+	 *
 	 * @param context The BundleContext of the bundle registering the service.
 	 * @param registration The ServiceRegistration to remove.
 	 */
@@ -1018,7 +1018,7 @@
 
 	/**
 	 * Lookup Service Registrations in the data structure by class name and filter.
-	 * 
+	 *
 	 * @param clazz The class name with which the service was registered or
 	 *        <code>null</code> for all services.
 	 * @param filter The filter criteria.
@@ -1064,7 +1064,7 @@
 
 	/**
 	 * Lookup Service Registrations in the data structure by BundleContext.
-	 * 
+	 *
 	 * @param context The BundleContext for which to return Service Registrations.
 	 * @return List<ServiceRegistrationImpl>
 	 */
@@ -1081,7 +1081,7 @@
 
 	/**
 	 * Remove Service Registrations in the data structure by BundleContext.
-	 * 
+	 *
 	 * @param context The BundleContext for which to remove Service Registrations.
 	 */
 	private synchronized void removeServiceRegistrations(BundleContextImpl context) {
@@ -1090,7 +1090,7 @@
 
 	/**
 	 * Check for permission to register a service.
-	 * 
+	 *
 	 * The caller must have permission for ALL names.
 	 */
 	private static void checkRegisterServicePermission(String[] names) {
@@ -1130,8 +1130,8 @@
 		return domain.implies(new ServicePermission(event.getServiceReference(), ServicePermission.GET));
 	}
 
-	/** 
-	 * Return the name of the class that is not satisfied by the service object. 
+	/**
+	 * Return the name of the class that is not satisfied by the service object.
 	 * @param clazzes Array of class names.
 	 * @param serviceObject Service object.
 	 * @return The name of the class that is not satisfied by the service object.
@@ -1184,7 +1184,7 @@
 	 * Call the registered FindHook services to allow them to inspect and possibly shrink the result.
 	 * The FindHook must be called in order: descending by service.ranking, then ascending by service.id.
 	 * This is the natural order for ServiceReference.
-	 * 
+	 *
 	 * @param context The context of the bundle getting the service references.
 	 * @param clazz The class name used to search for the service references.
 	 * @param filterstring The filter used to search for the service references.
@@ -1238,13 +1238,13 @@
 	 * Call the registered EventHook services to allow them to inspect and possibly shrink the result.
 	 * The EventHooks must be called in order: descending by service.ranking, then ascending by service.id.
 	 * This is the natural order for ServiceReference.
-	 * 
+	 *
 	 * @param event The service event to be delivered.
 	 * @param result The result to return to the caller which may have been shrunk by the EventHooks.
 	 */
 	private void notifyEventHooksPrivileged(final ServiceEvent event, final Collection<BundleContext> result) {
 		if (debug.DEBUG_HOOKS) {
-			Debug.println("notifyServiceEventHooks(" + event.getType() + ":" + event.getServiceReference() + "," + result + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ 
+			Debug.println("notifyServiceEventHooks(" + event.getType() + ":" + event.getServiceReference() + "," + result + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		}
 		notifyHooksPrivileged(new HookContext() {
 			@SuppressWarnings("deprecation")
@@ -1276,13 +1276,13 @@
 	 * Call the registered EventListenerHook services to allow them to inspect and possibly shrink the result.
 	 * The EventListenerHooks must be called in order: descending by service.ranking, then ascending by service.id.
 	 * This is the natural order for ServiceReference.
-	 * 
+	 *
 	 * @param event The service event to be delivered.
 	 * @param result The result to return to the caller which may have been shrunk by the EventListenerHooks.
 	 */
 	private void notifyEventListenerHooksPrivileged(final ServiceEvent event, final Map<BundleContext, Collection<ListenerInfo>> result) {
 		if (debug.DEBUG_HOOKS) {
-			Debug.println("notifyServiceEventListenerHooks(" + event.getType() + ":" + event.getServiceReference() + "," + result + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ 
+			Debug.println("notifyServiceEventListenerHooks(" + event.getType() + ":" + event.getServiceReference() + "," + result + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		}
 		notifyHooksPrivileged(new HookContext() {
 			@Override
@@ -1311,7 +1311,7 @@
 
 	/**
 	 * Calls all hook services of the type specified by the hook context.
-	 * 
+	 *
 	 * @param hookContext Context to use when calling the hook services.
 	 */
 	public void notifyHooksPrivileged(HookContext hookContext) {
@@ -1326,7 +1326,7 @@
 
 	/**
 	 * Call a hook service via a hook context.
-	 * 
+	 *
 	 * @param context Context of the bundle to get the hook service.
 	 * @param registration Hook service to call.
 	 * @param hookContext Context to use when calling the hook service.
@@ -1358,7 +1358,7 @@
 	/**
 	 * Call a newly registered ListenerHook service to provide the current collection of
 	 * service listeners.
-	 * 
+	 *
 	 * @param registration The newly registered ListenerHook service.
 	 */
 	private void notifyNewListenerHook(final ServiceRegistrationImpl<?> registration) {
@@ -1378,7 +1378,7 @@
 
 	void notifyNewListenerHookPrivileged(ServiceRegistrationImpl<?> registration) {
 		if (debug.DEBUG_HOOKS) {
-			Debug.println("notifyServiceNewListenerHook(" + registration + ")"); //$NON-NLS-1$ //$NON-NLS-2$ 
+			Debug.println("notifyServiceNewListenerHook(" + registration + ")"); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 
 		// snapshot the listeners
@@ -1421,9 +1421,9 @@
 	 * Call the registered ListenerHook services to notify them of newly added or removed service listeners.
 	 * The ListenerHook must be called in order: descending by service.ranking, then ascending by service.id.
 	 * This is the natural order for ServiceReference.
-	 * 
-	 * @param listeners A non-empty, unmodifiable collection of ListenerInfo objects. 
-	 * All elements in the list must be for the same bundle. 
+	 *
+	 * @param listeners A non-empty, unmodifiable collection of ListenerInfo objects.
+	 * All elements in the list must be for the same bundle.
 	 * @param added <code>true</code> if the specified listeners are being added. <code>false</code>
 	 * if they are being removed.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceUse.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceUse.java
index 54b0ef0..7575322 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceUse.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ServiceUse.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -20,11 +20,11 @@
 
 /**
  * This class represents the use of a service by a bundle. One is created for each
- * service acquired by a bundle. 
- * 
+ * service acquired by a bundle.
+ *
  * <p>
  * This class manages a singleton service.
- * 
+ *
  * @ThreadSafe
  */
 public class ServiceUse<S> {
@@ -60,10 +60,10 @@
 
 	/**
 	 * Unget a service's service object.
-	 * 
+	 *
 	 * <p>
 	 * Decrements the use count if the service was being used.
-	 * 
+	 *
 	 * @return true if the service was ungotten; otherwise false.
 	 */
 	/* @GuardedBy("this") */
@@ -88,10 +88,10 @@
 
 	/**
 	 * Get a new service object for the service.
-	 * 
+	 *
 	 * <p>
 	 * By default, this returns the result of {@link #getService()}.
-	 * 
+	 *
 	 * @return The service object.
 	 */
 	/* @GuardedBy("this") */
@@ -101,10 +101,10 @@
 
 	/**
 	 * Release a service object for the service.
-	 * 
+	 *
 	 * <p>
 	 * By default, this returns the result of {@link #ungetService()}.
-	 * 
+	 *
 	 * @param service The service object to release.
 	 * @return true if the service was released; otherwise false.
 	 * @throws IllegalArgumentException If the specified service was not
@@ -129,7 +129,7 @@
 
 	/**
 	 * Is this service use using any services?
-	 * 
+	 *
 	 * @return true if no services are being used and this service use can be discarded.
 	 */
 	/* @GuardedBy("this") */
@@ -140,7 +140,7 @@
 
 	/**
 	 * Is the use count non zero?
-	 * 
+	 *
 	 * @return true if the use count is greater than zero.
 	 */
 	/* @GuardedBy("this") */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java
index 43e41bd..f770d9d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableCollection.java
@@ -19,12 +19,12 @@
 /**
  * A Shrinkable Collection. This class provides a wrapper for a list of collections
  * that allows items to be removed from the wrapped collections (shrinking) but
- * does not allow items to be added to the wrapped collections. 
- * 
+ * does not allow items to be added to the wrapped collections.
+ *
  * <p>
  * The collections must act as sets in that each collection in the list
  * must not have two entries which are equal.
- * 
+ *
  * <p>
  * All the optional <code>Collection</code> operations except
  * <code>add</code> and <code>addAll</code> are supported. Attempting to add to the
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableValueCollectionMap.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableValueCollectionMap.java
index b3190ba..34b337d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableValueCollectionMap.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/serviceregistry/ShrinkableValueCollectionMap.java
@@ -120,7 +120,7 @@
 		}
 	}
 
-	/** 
+	/**
 	 * Iterator class used for entry sets.
 	 */
 	private final class EntryIterator implements Iterator<Map.Entry<K, Collection<V>>> {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/BERProcessor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/BERProcessor.java
index 9c6742a..567c78a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/BERProcessor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/BERProcessor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -83,11 +83,11 @@
 	/**
 	 * Constructs a BERProcessor to operate on the passed buffer. The first structure in the
 	 * buffer will be processed before this method returns.
-	 * 
+	 *
 	 * @param buffer the buffer containing the BER structures.
 	 * @param offset the offset into <code>buffer</code> to the start of the first structure.
 	 * @param len the length of the BER structure.
-	 * @throws SignatureException 
+	 * @throws SignatureException
 	 */
 	public BERProcessor(byte buffer[], int offset, int len) throws SignatureException {
 		this.buffer = buffer;
@@ -98,7 +98,7 @@
 
 	/**
 	 * Parse the structure found at the current <code>offset</code> into <code>buffer</code>.
-	 * Most methods, constructor, and stepinto, will call this method automatically. If 
+	 * Most methods, constructor, and stepinto, will call this method automatically. If
 	 * <code>offset</code> is modified outside of those methods, this method will need to
 	 * be invoked.
 	 */
@@ -197,7 +197,7 @@
 
 	/**
 	 * Returns a BERProcessor for the content of the current structure.
-	 * @throws SignatureException 
+	 * @throws SignatureException
 	 */
 	public BERProcessor stepInto() throws SignatureException {
 		return new BERProcessor(buffer, contentOffset, contentLength);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/Base64.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/Base64.java
index d6d5528..940b6b5 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/Base64.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/Base64.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -26,7 +26,7 @@
 	 * This method decodes the byte array in base 64 encoding into a char array
 	 * Base 64 encoding has to be according to the specification given by the
 	 * RFC 1521 (5.2).
-	 * 
+	 *
 	 * @param data the encoded byte array
 	 * @return the decoded byte array
 	 */
@@ -110,7 +110,7 @@
 
 	/**
 	 * This method converts a Base 64 digit to its numeric value.
-	 * 
+	 *
 	 * @param data digit (character) to convert
 	 * @return value for the digit
 	 */
@@ -135,7 +135,7 @@
 	/**
 	 * This method encodes the byte array into a char array in base 64 according
 	 * to the specification given by the RFC 1521 (5.2).
-	 * 
+	 *
 	 * @param data the encoded char array
 	 * @return the byte array that needs to be encoded
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/DigestedInputStream.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/DigestedInputStream.java
index 3c39a4f..812bcad 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/DigestedInputStream.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/DigestedInputStream.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -40,12 +40,12 @@
 	 * Constructs an InputStream that uses another InputStream as a source and
 	 * calculates the digest. At the end of the stream an exception will be
 	 * thrown if the calculated digest doesn't match the passed digest.
-	 * 
+	 *
 	 * @param in the stream to use as an input source.
 	 * @param signerInfos the signers.
 	 * @param results the expected digest.
-	 * @throws IOException 
-	 * @throws NoSuchAlgorithmException 
+	 * @throws IOException
+	 * @throws NoSuchAlgorithmException
 	 */
 	DigestedInputStream(BundleEntry entry, BundleFile bundleFile, SignerInfo[] signerInfos, byte results[][], long size) throws IOException, NoSuchAlgorithmException {
 		super(entry.getInputStream());
@@ -77,7 +77,7 @@
 	/**
 	 * Read a byte from the InputStream. Digests are calculated on reads. At the
 	 * end of the stream the calculated digests must match the expected digests.
-	 * 
+	 *
 	 * @return the character read or -1 at end of stream.
 	 * @throws IOException if there was an problem reading the byte or at the
 	 *         end of the stream the calculated digests do not match the
@@ -115,7 +115,7 @@
 	/**
 	 * Read bytes from the InputStream. Digests are calculated on reads. At the
 	 * end of the stream the calculated digests must match the expected digests.
-	 * 
+	 *
 	 * @return the number of characters read or -1 at end of stream.
 	 * @throws IOException if there was an problem reading or at the
 	 *         end of the stream the calculated digests do not match the
@@ -143,7 +143,7 @@
 
 	/**
 	 * Not supported.
-	 * 
+	 *
 	 * @throws IOException always thrown if this method is called since mark/reset is not supported.
 	 * @see java.io.InputStream#reset()
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7DateParser.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7DateParser.java
index 1e394f8..7bb56d4 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7DateParser.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7DateParser.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7Processor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7Processor.java
index 394ce01..d8db5d5 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7Processor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/PKCS7Processor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
@@ -228,7 +228,7 @@
 				int noS = dateString.indexOf('Z') - 1 - dotIndex;
 				dateFormatSB.append('.');
 
-				// append s	
+				// append s
 				for (int i = 0; i < noS; i++) {
 					dateFormatSB.append('s');
 				}
@@ -237,8 +237,8 @@
 
 			try {
 				// if the current locale is th_TH, or ja_JP_JP, then our dateFormat object will end up with
-				// a calendar such as Buddhist or Japanese Imperial Calendar, and the signing time will be 
-				// incorrect ... so always use English as the locale for parsing the time, resulting in a 
+				// a calendar such as Buddhist or Japanese Imperial Calendar, and the signing time will be
+				// incorrect ... so always use English as the locale for parsing the time, resulting in a
 				// Gregorian calendar
 				DateFormat dateFormt = new SimpleDateFormat(dateFormatSB.toString(), Locale.ENGLISH);
 				dateFormt.setTimeZone(TimeZone.getTimeZone("GMT")); //$NON-NLS-1$
@@ -305,7 +305,7 @@
 	}
 
 	private Certificate processSignerInfos(BERProcessor bp, List<Certificate> certs) throws CertificateException, NoSuchAlgorithmException, SignatureException {
-		// We assume there is only one SingerInfo element 
+		// We assume there is only one SingerInfo element
 
 		// PKCS7: SignerINFOS processing
 		bp = bp.stepInto(); // Step into the set of signerinfos
@@ -317,7 +317,7 @@
 			throw new CertificateException(SignedContentMessages.PKCS7_SignerInfo_Version_Not_Supported);
 		}
 
-		// PKCS7: version CMSVersion 
+		// PKCS7: version CMSVersion
 		bp.stepOver(); // Skip the version
 
 		// PKCS7: sid [SignerIdentifier : issuerAndSerialNumber or subjectKeyIdentifer]
@@ -367,7 +367,7 @@
 		// PKCS7: signature
 		signature = bp.getBytes();
 
-		// PKCS7: Step into the unsignedAttrs, 
+		// PKCS7: Step into the unsignedAttrs,
 		bp.stepOver();
 
 		// process the unsigned attributes if there is any
@@ -383,7 +383,7 @@
 			// there are some unsignedAttrs are found!!
 			unsignedAttrs = new HashMap<>();
 
-			// step into a set of unsigned attributes, I believe, when steps 
+			// step into a set of unsigned attributes, I believe, when steps
 			// into here, the 'poiter' is pointing to the first element
 			BERProcessor unsignedAttrsBERS = bp.stepInto();
 			do {
@@ -445,7 +445,7 @@
 
 	/**
 	 * Return a map of signed attributes, the key(objid) = value(PKCSBlock in bytes for the key)
-	 * 
+	 *
 	 * @return  map if there is any signed attributes, null otherwise
 	 */
 	public Map<int[], byte[]> getUnsignedAttrs() {
@@ -454,7 +454,7 @@
 
 	/**
 	 * Return a map of signed attributes, the key(objid) = value(PKCSBlock in bytes for the key)
-	 * 
+	 *
 	 * @return  map if there is any signed attributes, null otherwise
 	 */
 	public Map<int[], byte[]> getSignedAttrs() {
@@ -462,12 +462,12 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param bp
 	 * @return		a List of certificates from target cert to root cert in order
-	 * 
+	 *
 	 * @throws CertificateException
-	 * @throws SignatureException 
+	 * @throws SignatureException
 	 */
 	private List<Certificate> processCertificates(BERProcessor bp) throws CertificateException, SignatureException {
 		List<Certificate> rtvList = new ArrayList<>(3);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignatureBlockProcessor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignatureBlockProcessor.java
index e3eb1a3..defe49a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignatureBlockProcessor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignatureBlockProcessor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
@@ -103,7 +103,7 @@
 		be = bf.getEntry(signer.substring(0, dotIndex) + DOT_SF);
 		byte sfBytes[] = readIntoArray(be);
 
-		// Step 1, verify the .SF file is signed by the private key that corresponds to the public key 
+		// Step 1, verify the .SF file is signed by the private key that corresponds to the public key
 		// in the .RSA/.DSA file
 		String baseFile = bf.getBaseFile() != null ? bf.getBaseFile().toString() : null;
 		PKCS7Processor processor = new PKCS7Processor(pkcs7Bytes, 0, pkcs7Bytes.length, signer, baseFile);
@@ -138,7 +138,7 @@
 
 	/**
 	 * Verify the digest listed in each entry in the .SF file with corresponding section in the manifest
-	 * @throws SignatureException 
+	 * @throws SignatureException
 	 */
 	private void verifyManifestAndSignatureFile(byte[] manifestBytes, byte[] sfBytes) throws SignatureException {
 
@@ -163,7 +163,7 @@
 					manifestDigest = calculateDigest(getMessageDigest(digestName), manifestBytes);
 				off += digestManifestSearchLen;
 
-				// find out the index of first '\n' after the -Digest-Manifest: 
+				// find out the index of first '\n' after the -Digest-Manifest:
 				int nIndex = sf.indexOf('\n', off);
 				String digestValue = sf.substring(off, nIndex - 1);
 
@@ -334,10 +334,10 @@
 	}
 
 	/**
-	 * Read the .SF file abd assuming that same digest algorithm will be used through out the whole 
-	 * .SF file.  That digest algorithm name in the last entry will be returned. 
-	 * 
-	 * @param SFBuf			a .SF file in bytes 
+	 * Read the .SF file abd assuming that same digest algorithm will be used through out the whole
+	 * .SF file.  That digest algorithm name in the last entry will be returned.
+	 *
+	 * @param SFBuf			a .SF file in bytes
 	 * @return				the digest algorithm name used in the .SF file
 	 */
 	private static String getDigAlgFromSF(byte SFBuf[]) {
@@ -378,16 +378,16 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param manifestEntry contains a single MF file entry of the format
 	 * 				   "Name: foo"
 	 * 				   "MD5-Digest: [base64 encoded MD5 digest data]"
 	 * 				   "SHA1-Digest: [base64 encoded SHA1 digest dat]"
-	 * 
+	 *
 	 * @param	desireDigestAlg	a string representing the desire digest value to be returned if there are
 	 * 							multiple digest lines.
 	 * 							If this value is null, return whatever digest value is in the entry.
-	 * 
+	 *
 	 * @return this function returns a digest line based on the desire digest algorithm value
 	 * 		   (since only MD5 and SHA1 are recognized here),
 	 * 		   or a 'null' will be returned if none of the digest algorithms
@@ -445,8 +445,8 @@
 
 	/**
 	 * Return the Message Digest name
-	 * 
-	 * @param digLine		the message digest line is in the following format.  That is in the 
+	 *
+	 * @param digLine		the message digest line is in the following format.  That is in the
 	 * 						following format:
 	 * 								DIGEST_NAME-digest: digest value
 	 * @return				a string representing a message digest.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentConstants.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentConstants.java
index 11deee0..3847cfd 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentConstants.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentConstants.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentFile.java
index b80afe1..60890c2 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentFile.java
@@ -20,9 +20,9 @@
 import org.eclipse.osgi.signedcontent.*;
 
 /*
- * This class is used by the SignedContentFactory to create SignedContent objects from File objects.  This is needed 
- * to avoid leaving the underlying ZipFiles open for the SignedContent objects returned from the 
- * SignedContentFactory (bug 225090) 
+ * This class is used by the SignedContentFactory to create SignedContent objects from File objects.  This is needed
+ * to avoid leaving the underlying ZipFiles open for the SignedContent objects returned from the
+ * SignedContentFactory (bug 225090)
  */
 public class SignedContentFile implements SignedContent {
 
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentImpl.java
index 3270235..5b741d0 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentMessages.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentMessages.java
index bf4b4b8..f128b27 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentMessages.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedContentMessages.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedStorageHook.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedStorageHook.java
index 4222cef..6c112f7 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedStorageHook.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignedStorageHook.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignerInfoImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignerInfoImpl.java
index de7de15..fa41624 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignerInfoImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/SignerInfoImpl.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
@@ -57,7 +57,7 @@
 			result += cert.hashCode();
 		}
 		// Note that we do not hash based on trustAnchor;
-		// this changes dynamically but we need a constant hashCode for purposes of 
+		// this changes dynamically but we need a constant hashCode for purposes of
 		// hashing in a Set.
 		return result;
 	}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/TrustEngineListener.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/TrustEngineListener.java
index b3b5fc8..e745e88 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/TrustEngineListener.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/signedcontent/TrustEngineListener.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors: IBM Corporation - initial API and implementation
  ******************************************************************************/
 package org.eclipse.osgi.internal.signedcontent;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerFactoryImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerFactoryImpl.java
index 077ade0..f6d2fbb 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerFactoryImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerFactoryImpl.java
@@ -35,7 +35,7 @@
  * The ContentHandlerFactory is registered with the JVM to provide content handlers
  * to requestors.  The ContentHandlerFactory will first look for built-in content handlers.
  * If a built in handler exists, this factory will return null.  Otherwise, this ContentHandlerFactory
- * will search the service registry for a maching Content-Handler and, if found, return a 
+ * will search the service registry for a maching Content-Handler and, if found, return a
  * proxy for that content handler.
  */
 public class ContentHandlerFactoryImpl extends MultiplexingFactory implements java.net.ContentHandlerFactory {
@@ -88,7 +88,7 @@
 				try {
 					clazz = URLStreamHandlerFactoryImpl.secureAction.loadSystemClass(name.toString());
 					if (clazz != null) {
-						return (null); //this class exists, it is a built in handler, let the JVM handle it	
+						return (null); //this class exists, it is a built in handler, let the JVM handle it
 					}
 				} catch (ClassNotFoundException ex) {
 					//keep looking
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerProxy.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerProxy.java
index 0c2051d..f182360 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerProxy.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/ContentHandlerProxy.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -25,7 +25,7 @@
 /**
  * The ContentHandlerProxy is a ContentHandler that acts as a proxy for registered ContentHandlers.
  * When a ContentHandler is requested from the ContentHandlerFactory and it exists in the service
- * registry, a ContentHandlerProxy is created which will pass all the requests from the requestor to 
+ * registry, a ContentHandlerProxy is created which will pass all the requests from the requestor to
  * the real ContentHandler.  We can't return the real ContentHandler from the ContentHandlerFactory
  * because the JVM caches ContentHandlers and therefore would not support a dynamic environment of
  * ContentHandlers being registered and unregistered.
@@ -47,7 +47,7 @@
 		this.context = context;
 		this.contentType = contentType;
 
-		// In case the reference == null, the proxy is constructed with DefaultContentHandler for a Content Handler 
+		// In case the reference == null, the proxy is constructed with DefaultContentHandler for a Content Handler
 		// until a real ContentHandler for this mime-type is registered
 		setNewHandler(reference, getRank(reference));
 
@@ -105,7 +105,7 @@
 		int newrank = getRank(reference);
 		if (reference == contentHandlerServiceReference) {
 			if (newrank < ranking) {
-				// The ContentHandler we are currently using has dropped it's ranking below a ContentHandler 
+				// The ContentHandler we are currently using has dropped it's ranking below a ContentHandler
 				// registered for the same protocol.  We need to swap out ContentHandlers.
 				// this should get us the highest ranked service, if available
 				ServiceReference<ContentHandler> newReference = contentHandlerServiceTracker.getServiceReference();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/EquinoxFactoryManager.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/EquinoxFactoryManager.java
index 5691124..7c55f0e 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/EquinoxFactoryManager.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/EquinoxFactoryManager.java
@@ -65,7 +65,7 @@
 		Object lock = getURLStreamHandlerFactoryLock();
 		synchronized (lock) {
 			URLStreamHandlerFactory factory = (URLStreamHandlerFactory) factoryField.get(null);
-			// doing a null check here just in case, but it would be really strange if it was null, 
+			// doing a null check here just in case, but it would be really strange if it was null,
 			// because we failed to set the factory normally!!
 			if (factory != null) {
 				try {
@@ -134,7 +134,7 @@
 			throw new Exception("Could not find ContentHandlerFactory field"); //$NON-NLS-1$
 		synchronized (URLConnection.class) {
 			java.net.ContentHandlerFactory factory = (java.net.ContentHandlerFactory) factoryField.get(null);
-			// doing a null check here just in case, but it would be really strange if it was null, 
+			// doing a null check here just in case, but it would be really strange if it was null,
 			// because we failed to set the factory normally!!
 
 			if (factory != null) {
@@ -148,7 +148,7 @@
 					factory = chf;
 				}
 			}
-			// null out the field so that we can successfully call setContentHandlerFactory			
+			// null out the field so that we can successfully call setContentHandlerFactory
 			factoryField.set(null, null);
 			// always attempt to clear the handlers cache
 			// This allows an optimization for the single framework use-case
@@ -221,7 +221,7 @@
 					Method unregister = factory.getClass().getMethod("unregister", new Class[] {Object.class}); //$NON-NLS-1$
 					unregister.invoke(factory, new Object[] {contentHandlerFactory});
 				}
-				// null out the field so that we can successfully call setContentHandlerFactory									
+				// null out the field so that we can successfully call setContentHandlerFactory
 				factoryField.set(null, null);
 				// always attempt to clear the handlers cache
 				// This allows an optomization for the single framework use-case
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingContentHandler.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingContentHandler.java
index 87ea74c..08f6a6f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingContentHandler.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingContentHandler.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *******************************************************************************/
 package org.eclipse.osgi.internal.url;
 
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingFactory.java
index ec38d9b..0470a7a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/MultiplexingFactory.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *******************************************************************************/
 package org.eclipse.osgi.internal.url;
 
@@ -31,7 +31,7 @@
 import org.osgi.framework.FrameworkUtil;
 
 /*
- * An abstract class for handler factory impls (Stream and Content) that can 
+ * An abstract class for handler factory impls (Stream and Content) that can
  * handle environments running multiple osgi frameworks with the same VM.
  */
 public abstract class MultiplexingFactory {
@@ -159,7 +159,7 @@
 		Object successor = released.remove(0);
 		try {
 			Class<?> clazz = successor.getClass();
-			Method register = clazz.getMethod("register", new Class[] {Object.class}); //$NON-NLS-1$		
+			Method register = clazz.getMethod("register", new Class[] {Object.class}); //$NON-NLS-1$
 			for (Object r : released) {
 				register.invoke(successor, new Object[] {r});
 			}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/NullURLStreamHandlerService.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/NullURLStreamHandlerService.java
index 474a7e9..6e828d6 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/NullURLStreamHandlerService.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/NullURLStreamHandlerService.java
@@ -23,7 +23,7 @@
  * The NullURLStreamService is created when a registered URLStreamHandler service
  * with an associated URLStreamHandlerProxy becomes unregistered.  The associated
  * URLStreamHandlerProxy must still handle all future requests for the now unregistered
- * scheme (the JVM caches URLStreamHandlers making up impossible to "unregister" them). 
+ * scheme (the JVM caches URLStreamHandlers making up impossible to "unregister" them).
  * When requests come in for an unregistered URLStreamHandlerService, the
  * NullURLStreamHandlerService is used in it's place.
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerFactoryImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerFactoryImpl.java
index d74f030..ddad3ba 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerFactoryImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerFactoryImpl.java
@@ -74,7 +74,7 @@
 			try {
 				clazz = secureAction.loadSystemClass(name.toString());
 				if (clazz != null)
-					return clazz; //this class exists, it is a built in handler	
+					return clazz; //this class exists, it is a built in handler
 			} catch (ClassNotFoundException ex) {
 				// keep looking
 			}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerProxy.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerProxy.java
index 7cb6567..eb58562 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerProxy.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/url/URLStreamHandlerProxy.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -25,17 +25,17 @@
 import org.osgi.util.tracker.ServiceTrackerCustomizer;
 
 /**
- * The URLStreamHandlerProxy is a URLStreamHandler that acts as a proxy for registered 
- * URLStreamHandlerServices.  When a URLStreamHandler is requested from the URLStreamHandlerFactory 
- * and it exists in the service registry, a URLStreamHandlerProxy is created which will pass all the 
- * requests from the requestor to the real URLStreamHandlerService.  We can't return the real 
- * URLStreamHandlerService from the URLStreamHandlerFactory because the JVM caches URLStreamHandlers 
- * and therefore would not support a dynamic environment of URLStreamHandlerServices being registered 
+ * The URLStreamHandlerProxy is a URLStreamHandler that acts as a proxy for registered
+ * URLStreamHandlerServices.  When a URLStreamHandler is requested from the URLStreamHandlerFactory
+ * and it exists in the service registry, a URLStreamHandlerProxy is created which will pass all the
+ * requests from the requestor to the real URLStreamHandlerService.  We can't return the real
+ * URLStreamHandlerService from the URLStreamHandlerFactory because the JVM caches URLStreamHandlers
+ * and therefore would not support a dynamic environment of URLStreamHandlerServices being registered
  * and unregistered.
  */
 
 public class URLStreamHandlerProxy extends URLStreamHandler implements ServiceTrackerCustomizer<URLStreamHandlerService, ServiceReference<URLStreamHandlerService>> {
-	// TODO lots of type-based names 
+	// TODO lots of type-based names
 	protected URLStreamHandlerService realHandlerService;
 
 	protected URLStreamHandlerSetter urlSetter;
@@ -159,8 +159,8 @@
 	@Override
 	public void setURL(URL url, String protocol, String host, int port, String file, String ref) {
 
-		//using non-deprecated URLStreamHandler.setURL method. 
-		//setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String file, String query, String ref) 
+		//using non-deprecated URLStreamHandler.setURL method.
+		//setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String file, String query, String ref)
 		super.setURL(url, protocol, host, port, null, null, file, null, ref);
 	}
 
@@ -201,7 +201,7 @@
 		int newRank = getRank(reference);
 		if (reference == urlStreamServiceReference) {
 			if (newRank < ranking) {
-				// The URLHandler we are currently using has dropped it's ranking below a URLHandler registered 
+				// The URLHandler we are currently using has dropped it's ranking below a URLHandler registered
 				// for the same protocol. We need to swap out URLHandlers.
 				// this should get us the highest ranked service, if available
 				ServiceReference<URLStreamHandlerService> newReference = urlStreamHandlerServiceTracker.getServiceReference();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/weaving/DynamicImportList.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/weaving/DynamicImportList.java
index b68adab..f44923f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/weaving/DynamicImportList.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/weaving/DynamicImportList.java
@@ -19,7 +19,7 @@
 import org.osgi.framework.PackagePermission;
 
 /**
- * A list of DynamicImport-Package statements that are to be used for adding new 
+ * A list of DynamicImport-Package statements that are to be used for adding new
  * dynamic imports to a bundle class loader.
  *
  */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/Equinox.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/Equinox.java
index 40d7bad..049334f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/Equinox.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/Equinox.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -23,7 +23,7 @@
 
 /**
  * The System Bundle implementation for the Equinox Framework.
- * 
+ *
  * @since 3.5
  */
 public class Equinox implements Framework {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/EquinoxFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/EquinoxFactory.java
index c836951..17d9c04 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/EquinoxFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/launch/EquinoxFactory.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConversionException.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConversionException.java
index 474242b..178da09 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConversionException.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConversionException.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -15,7 +15,7 @@
 
 /**
  * Custom exception for errors that can happen during plugin conversion.
- * 
+ *
  * @since 3.0
  */
 public class PluginConversionException extends Exception {
@@ -35,7 +35,7 @@
 
 	/**
 	 * Create a new exception with the given message.
-	 * 
+	 *
 	 * @param message the message for the exception
 	 */
 	public PluginConversionException(String message) {
@@ -44,7 +44,7 @@
 
 	/**
 	 * Create a new exception with the given message and nested exception.
-	 * 
+	 *
 	 * @param message the message for the exception
 	 * @param cause the nested exception
 	 */
@@ -55,7 +55,7 @@
 
 	/**
 	 * Create a new exception with the given nested exception.
-	 * 
+	 *
 	 * @param cause the nested exception
 	 */
 	public PluginConversionException(Throwable cause) {
@@ -65,7 +65,7 @@
 	/**
 	 * Return the nested exception for this exception or <code>null</code>
 	 * if there is none.
-	 * 
+	 *
 	 * @return the nested exception or <code>null</code>
 	 */
 	@Override
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConverter.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConverter.java
index 216ede3..c868108 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConverter.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/pluginconversion/PluginConverter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -22,60 +22,60 @@
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
- * 
+ *
  * @since 3.0
  */
 public interface PluginConverter {
 	/**
-	 * Converts a plug-in/fragment manifest at the given source base location (a directory or jar file) and 
+	 * Converts a plug-in/fragment manifest at the given source base location (a directory or jar file) and
 	 * generates a corresponding bundle manifest at the given default target location (a file).
-	 * 
+	 *
 	 * @param pluginBaseLocation the base location for the plug-in/fragment manifest to be converted
 	 * 	(a directory or jar file, e.g. the plug-in install location)
 	 * @param bundleManifestLocation the location for the bundle manifest to be generated
-	 * 	(including the file name). 
-	 * @param compatibilityManifest a boolean indicating if the manifest should contain headers to run  
+	 * 	(including the file name).
+	 * @param compatibilityManifest a boolean indicating if the manifest should contain headers to run
 	 * 	in backward compatibility
-	 * @param target a string indicating the version of the runtime for which the manifest generated is targeted 
+	 * @param target a string indicating the version of the runtime for which the manifest generated is targeted
 	 * @param analyseJars a boolean indicating if the code jars of the given plugin must be analysed. When set to false the Export-Package header will not be set in the bundle manifest.
-	 * @param devProperties a dictionary of development time classpath properties.  The dictionary contains a mapping from plugin id to development 
+	 * @param devProperties a dictionary of development time classpath properties.  The dictionary contains a mapping from plugin id to development
 	 * 	time classpath.  A value of <code>null</code> indicates that the default development time classpath properties will be used.
-	 * @return the generated manifest file location, if a bundle manifest was successfully 
+	 * @return the generated manifest file location, if a bundle manifest was successfully
 	 * 	generated (or already existed), <code>null</code> otherwise.
 	 * @throws PluginConversionException if an error occurs while converting the manifest
 	 */
 	public File convertManifest(File pluginBaseLocation, File bundleManifestLocation, boolean compatibilityManifest, String target, boolean analyseJars, Dictionary<String, String> devProperties) throws PluginConversionException;
 
 	/**
-	 * Converts a plug-in/fragment manifest at the given source base location (a directory or jar file) and 
+	 * Converts a plug-in/fragment manifest at the given source base location (a directory or jar file) and
 	 * generates a corresponding bundle manifest returned as a dictionary.
-	 * 
+	 *
 	 * @param pluginBaseLocation the base location for the plug-in/fragment manifest to be converted
 	 * 	(a directory or jar file, e.g. the plug-in install location)
-	 * @param compatibility a boolean indicating if the manifest should contain headers to run  
+	 * @param compatibility a boolean indicating if the manifest should contain headers to run
 	 * 	in backward compatibility
 	 * @param target a string indicating the version of the runtime for which the manifest generated is targeted
 	 * @param analyseJars a boolean indicating if the code jars of the given plugin must be analysed. When set to false the Export-Package header will not be set in the bundle manifest.
-	 * @param devProperties a dictionary of development time classpath properties.  The dictionary contains a mapping from plugin id to development 
+	 * @param devProperties a dictionary of development time classpath properties.  The dictionary contains a mapping from plugin id to development
 	 * 	time classpath.  A value of <code>null</code> indicates that the default development time classpath properties will be used.
-	 * @return the generated manifest as a dictionary,  if a bundle manifest was successfully 
+	 * @return the generated manifest as a dictionary,  if a bundle manifest was successfully
 	 * 	generated, <code>null</code> otherwise
 	 * @throws PluginConversionException if an error occurs while converting the manifest
 	 */
 	public Dictionary<String, String> convertManifest(File pluginBaseLocation, boolean compatibility, String target, boolean analyseJars, Dictionary<String, String> devProperties) throws PluginConversionException;
 
 	/**
-	 * Construct a bundle manifest file from the given dictionary and write it out to the 
-	 * specified location in the file system. 
+	 * Construct a bundle manifest file from the given dictionary and write it out to the
+	 * specified location in the file system.
 	 * <p>
-	 * If the <code>compatibilityManifest</code> parameter is <code>true</code> then 
+	 * If the <code>compatibilityManifest</code> parameter is <code>true</code> then
 	 * the generated manifest will include the necessary headers to all the manifest to be
-	 * run in backwards compatibility mode. 
+	 * run in backwards compatibility mode.
 	 * </p>
-	 * 
+	 *
 	 * @param generationLocation the location for the bundle manifest to be written
-	 * @param manifestToWrite the dictionary to write into generationLocation file 
-	 * @param compatibilityManifest a boolean indicating if the file should contain headers to allow 
+	 * @param manifestToWrite the dictionary to write into generationLocation file
+	 * @param compatibilityManifest a boolean indicating if the file should contain headers to allow
 	 * 	running in backward compatibility mode
 	 * @throws PluginConversionException if an error occurs while writing the given manifest
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BaseDescription.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BaseDescription.java
index 67b485c..5112ca1 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BaseDescription.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BaseDescription.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -67,7 +67,7 @@
 
 	/**
 	 * Returns the capability represented by this description.
-	 * Some descriptions types may not be able to represent 
+	 * Some descriptions types may not be able to represent
 	 * a capability.  In such cases <code>null</code> is
 	 * returned.
 	 * @return the capability represented by this base description
@@ -76,9 +76,9 @@
 	public BundleCapability getCapability();
 
 	/**
-	 * Returns the user object associated to this description, or 
+	 * Returns the user object associated to this description, or
 	 * <code>null</code> if none exists.
-	 *  
+	 *
 	 * @return the user object associated to this description,
 	 * or <code>null</code>
 	 * @since 3.8
@@ -87,11 +87,11 @@
 
 	/**
 	 * Associates a user-provided object to this description, or
-	 * removes an existing association, if <code>null</code> is provided. The 
-	 * provided object is not interpreted in any ways by this 
+	 * removes an existing association, if <code>null</code> is provided. The
+	 * provided object is not interpreted in any ways by this
 	 * description.
-	 * 
-	 * @param userObject an arbitrary object provided by the user, or 
+	 *
+	 * @param userObject an arbitrary object provided by the user, or
 	 * <code>null</code>
 	 * @since 3.8
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDelta.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDelta.java
index 72e8967..8aa3dac 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDelta.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDelta.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,12 +27,12 @@
 
 	/**
 	 * Delta type constant (bit mask) indicating that the bundle has been added
-	 * to the new state. 
+	 * to the new state.
 	 * @see BundleDelta#getType
 	 */
 	public static final int ADDED = 0x1;
 	/**
-	 * Delta type constant (bit mask) indicating that the bundle is no longer present in 
+	 * Delta type constant (bit mask) indicating that the bundle is no longer present in
 	 * the new state.
 	 * @see BundleDelta#getType
 	 */
@@ -40,19 +40,19 @@
 	/**
 	 * Delta type constant (bit mask) indicating that the bundle has been updated
 	 * between the old and new state.  Note that an update delta may in fact represent
-	 * a downgrading of the bundle to a previous version. 
+	 * a downgrading of the bundle to a previous version.
 	 * @see BundleDelta#getType
 	 */
 	public static final int UPDATED = 0x4;
 	/**
 	 * Delta type constant (bit mask) indicating that the bundle has become resolved
-	 * in the new state.  
+	 * in the new state.
 	 * @see BundleDelta#getType
 	 */
 	public static final int RESOLVED = 0x8;
 	/**
 	 * Delta type constant (bit mask) indicating that the bundle has become unresolved
-	 * in the new state. Note that newly added bundles are unresolved by default and 
+	 * in the new state. Note that newly added bundles are unresolved by default and
 	 * as such, do not transition to unresolved state so this flag is not set.
 	 * @see BundleDelta#getType
 	 */
@@ -77,7 +77,7 @@
 	 * Delta type constant (bit mask) indicating that the this bundle is
 	 * pending a removal.  Note that bundles with this flag set will also
 	 * have the {@link BundleDelta#REMOVED} flag set.  A bundle will have
-	 * this flag set if it has been removed from the state but has other 
+	 * this flag set if it has been removed from the state but has other
 	 * existing bundles in the state that depend on it.
 	 * @see BundleDelta#getType
 	 */
@@ -86,21 +86,21 @@
 	/**
 	 * Delta type constant (bit mask) indicating that the this bundle has
 	 * completed a pending removal.  A bundle will complete a pending removal only
-	 * after it has been re-resolved by the resolver. 
+	 * after it has been re-resolved by the resolver.
 	 */
 	public static final int REMOVAL_COMPLETE = 0x100;
 
 	/**
 	 * Returns the BundleDescription that this bundle delta is for.
-	 * @return the BundleDescription that this bundle delta is for. 
+	 * @return the BundleDescription that this bundle delta is for.
 	 */
 	public BundleDescription getBundle();
 
 	/**
 	 * Returns the type of change which occured.  The return value is composed
-	 * of by bit-wise masking the relevant flags from the set ADDED, REMOVED, 
-	 * UPDATED, RESOLVED, UNRESOLVED, LINKAGE_CHANGED, REMOVAL_PENDING, REMOVAL_COMPLETE. 
-	 * Note that bundle start and stop state changes are not captured in the 
+	 * of by bit-wise masking the relevant flags from the set ADDED, REMOVED,
+	 * UPDATED, RESOLVED, UNRESOLVED, LINKAGE_CHANGED, REMOVAL_PENDING, REMOVAL_COMPLETE.
+	 * Note that bundle start and stop state changes are not captured in the
 	 * delta as they do not represent structural changes but rather transient
 	 * runtime states.
 	 * @return the type of change which occured
@@ -113,7 +113,7 @@
 	 * <p>
 	 * The natural order of elements is determined by the bundle id of the
 	 * BundleDescription that this bundle delta is for.
-	 * 
+	 *
 	 * @return int which should be &lt;0 if the receiver should sort before the
 	 *         argument, 0 if the receiver should sort in the same position as
 	 *         the argument, and &gt;0 if the receiver should sort after the
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDescription.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDescription.java
index f96b546..dc4bd5c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDescription.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleDescription.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -53,7 +53,7 @@
 	/**
 	 * Returns an array of bundle specifications defined by the Require-Bundle
 	 * clause in this bundle.
-	 * 
+	 *
 	 * @return an array of bundle specifications
 	 */
 	public BundleSpecification[] getRequiredBundles();
@@ -115,7 +115,7 @@
 	/**
 	 * Returns all the capabilities provided by ths bundle that have been selected by
 	 * the resolver.  The returned list will include the capabilities
-	 * returned by {@link #getGenericCapabilities()} that have been selected by the 
+	 * returned by {@link #getGenericCapabilities()} that have been selected by the
 	 * resolver and any capabilities provided by fragments attached to this bundle.
 	 * @return the selected capabilities that this bundle provides.  If the bundle is
 	 * unresolved or has no capabilities then an empty array is returned.
@@ -151,7 +151,7 @@
 
 	/**
 	 * Returns true if this bundle is resolved in its host state.
-	 * 
+	 *
 	 * @return true if this bundle is resolved in its host state.
 	 */
 	public boolean isResolved();
@@ -159,14 +159,14 @@
 	/**
 	 * Returns the state object which hosts this bundle. null is returned if
 	 * this bundle is not currently in a state.
-	 * 
+	 *
 	 * @return the state object which hosts this bundle.
 	 */
 	public State getContainingState();
 
 	/**
 	 * Returns the string representation of this bundle.
-	 * 
+	 *
 	 * @return String representation of this bundle.
 	 */
 	@Override
@@ -175,36 +175,36 @@
 	/**
 	 * Returns the host for this bundle. null is returned if this bundle is not
 	 * a fragment.
-	 * 
+	 *
 	 * @return the host for this bundle.
 	 */
 	public HostSpecification getHost();
 
 	/**
 	 * Returns the numeric id of this bundle.  Typically a bundle description
-	 * will only have a numeric id if it represents a bundle that is installed in a 
+	 * will only have a numeric id if it represents a bundle that is installed in a
 	 * framework as the framework assigns the ids.  -1 is returned if the id is not known.
-	 * 
+	 *
 	 * @return the numeric id of this bundle description
 	 */
 	public long getBundleId();
 
 	/**
 	 * Returns all fragments known to this bundle (regardless resolution status).
-	 * 
+	 *
 	 * @return an array of BundleDescriptions containing all known fragments
 	 */
 	public BundleDescription[] getFragments();
 
 	/**
-	 * Returns whether this bundle is a singleton.  Singleton bundles require 
-	 * that at most one single version of the bundle can be resolved at a time. 
+	 * Returns whether this bundle is a singleton.  Singleton bundles require
+	 * that at most one single version of the bundle can be resolved at a time.
 	 * <p>
 	 * The existence of a single bundle marked as singleton causes all bundles
-	 * with the same symbolic name to be treated as singletons as well.  
+	 * with the same symbolic name to be treated as singletons as well.
 	 * </p>
-	 * 
-	 * @return <code>true</code>, if this bundle is a singleton, 
+	 *
+	 * @return <code>true</code>, if this bundle is a singleton,
 	 * <code>false</code> otherwise
 	 */
 	public boolean isSingleton();
@@ -220,7 +220,7 @@
 
 	/**
 	 * Returns all bundles which depend on this bundle.  A bundle depends on
-	 * another bundle if it requires the bundle, imports a package which is 
+	 * another bundle if it requires the bundle, imports a package which is
 	 * exported by the bundle, is a fragment to the bundle or is the host
 	 * of the bundle.
 	 * @return all bundles which depend on this bundle.
@@ -247,8 +247,8 @@
 	public boolean dynamicFragments();
 
 	/**
-	 * Returns the list of execution environments that are required by 
-	 * this bundle.  Any one of the listed execution environments will 
+	 * Returns the list of execution environments that are required by
+	 * this bundle.  Any one of the listed execution environments will
 	 * allow this bundle to be resolved.
 	 * @since 3.2
 	 * @return the list of execution environments that are required.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleSpecification.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleSpecification.java
index b15eb8b..18c6151 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleSpecification.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/BundleSpecification.java
@@ -7,14 +7,14 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.osgi.service.resolver;
 
 /**
- * A representation of one bundle import constraint as seen in a 
+ * A representation of one bundle import constraint as seen in a
  * bundle manifest and managed by a state and resolver.
  * <p>
  * This interface is not intended to be implemented by clients.  The
@@ -26,16 +26,16 @@
 public interface BundleSpecification extends VersionConstraint {
 
 	/**
-	 * Returns whether or not this bundle specificiation is exported from the 
+	 * Returns whether or not this bundle specificiation is exported from the
 	 * declaring bundle.
-	 * 
+	 *
 	 * @return whether this specification is exported
 	 */
 	public boolean isExported();
 
 	/**
 	 * Returns whether or not this bundle specificiation is optional.
-	 * 
+	 *
 	 * @return whether this specification is optional
 	 */
 	public boolean isOptional();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/DisabledInfo.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/DisabledInfo.java
index 7fcb766..d79a6b3 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/DisabledInfo.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/DisabledInfo.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -19,8 +19,8 @@
  * method and enabled by removing disabled info with the {@link State#removeDisabledInfo(DisabledInfo)} method.
  * A bundle is not considered to be enabled unless there are no disabled info objects for the bundle.
  * <p>
- * While resolving the bundle if the {@link Resolver} encounters a {@link BundleDescription} which 
- * has disabled info returned by {@link State#getDisabledInfos(BundleDescription)} then the bundle 
+ * While resolving the bundle if the {@link Resolver} encounters a {@link BundleDescription} which
+ * has disabled info returned by {@link State#getDisabledInfos(BundleDescription)} then the bundle
  * must not be allowed to resolve and a ResolverError of type {@link ResolverError#DISABLED_BUNDLE}
  * must be added to the state.
  * </p>
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ExportPackageDescription.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ExportPackageDescription.java
index 1755bf5..09fa8eb 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ExportPackageDescription.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ExportPackageDescription.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -56,7 +56,7 @@
 	public Object getDirective(String key);
 
 	/**
-	 * Returns the exporter of this package. 
+	 * Returns the exporter of this package.
 	 * @return the exporter of this package.
 	 */
 	public BundleDescription getExporter();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericDescription.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericDescription.java
index c18431a..236f3ee 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericDescription.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericDescription.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -40,14 +40,14 @@
 	public String getType();
 
 	/**
-	 * This method is deprecated.  Capabilities do not always have a 
+	 * This method is deprecated.  Capabilities do not always have a
 	 * name associated with them.  All matching attributes associated
-	 * with a capability are available in the attributes of a 
-	 * capability.  This method will return the value of the 
+	 * with a capability are available in the attributes of a
+	 * capability.  This method will return the value of the
 	 * attribute with the same key as this capabilities type.
 	 * If this attribute's value is not a String then null is
 	 * returned.
-	 * @deprecated matching should only be done against a capability's 
+	 * @deprecated matching should only be done against a capability's
 	 * attributes.
 	 */
 	@Override
@@ -57,7 +57,7 @@
 	 * This method is deprecated.  Capabilities do not always have a
 	 * version associated with them. All matching attributes associated
 	 * with a capability are available in the attributes of a
-	 * capability.  This method will return the value of the 
+	 * capability.  This method will return the value of the
 	 * attribute with the key <code>"version"</code>.
 	 * If this attribute's value is not a {@link Version} then null is
 	 * returned.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericSpecification.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericSpecification.java
index 330df57..a02d1f4 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericSpecification.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/GenericSpecification.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -46,7 +46,7 @@
 	 * Returns the resolution type of the required capability.  The returned
 	 * value is a bit mask that may have the optional bit {@link #RESOLUTION_OPTIONAL}
 	 * and/or the multiple bit {@link #RESOLUTION_MULTIPLE} set.
-	 * 
+	 *
 	 * @return the resolution type of the required capability
 	 */
 	public int getResolution();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/HostSpecification.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/HostSpecification.java
index 276f961..f797334 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/HostSpecification.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/HostSpecification.java
@@ -7,14 +7,14 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.osgi.service.resolver;
 
 /**
- * A representation of one host bundle constraint as seen in a 
+ * A representation of one host bundle constraint as seen in a
  * bundle manifest and managed by a state and resolver.
  * <p>
  * This interface is not intended to be implemented by clients.  The
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ImportPackageSpecification.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ImportPackageSpecification.java
index ad97749..a2636fc 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ImportPackageSpecification.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ImportPackageSpecification.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,7 +16,7 @@
 import java.util.Map;
 
 /**
- * A representation of one package import constraint as seen in a 
+ * A representation of one package import constraint as seen in a
  * bundle manifest and managed by a state and resolver.
  * <p>
  * This interface is not intended to be implemented by clients.  The
@@ -47,7 +47,7 @@
 	public String getBundleSymbolicName();
 
 	/**
-	 * Returns the version range which this import package may be resolved to. 
+	 * Returns the version range which this import package may be resolved to.
 	 * @return the version range which this import package may be resolved to.
 	 */
 	public VersionRange getBundleVersionRange();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeDescription.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeDescription.java
index 43f5a26..8cfdf8f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeDescription.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeDescription.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -33,7 +33,7 @@
 
 	/**
 	 * Returns the processors supported by the native code.
-	 * @return the processors supported by the native code.  An 
+	 * @return the processors supported by the native code.  An
 	 * empty array is returned if no processors are supported.
 	 */
 	public String[] getProcessors();
@@ -54,7 +54,7 @@
 
 	/**
 	 * Returns the languages supported by the native code.
-	 * @return the languages supported by the native code.  An empty array is 
+	 * @return the languages supported by the native code.  An empty array is
 	 * returned if all languages are supported.
 	 */
 	public String[] getLanguages();
@@ -81,7 +81,7 @@
 
 	/**
 	 * Indicates if this native code description has invalid native code paths.  Native
-	 * code paths are invalid if they can not be found in the bundle content. 
+	 * code paths are invalid if they can not be found in the bundle content.
 	 * @return true if the native code paths are invalid; otherwise false is returned.
 	 */
 	public boolean hasInvalidNativePaths();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeSpecification.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeSpecification.java
index b3b9aef..057cfb6 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeSpecification.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/NativeCodeSpecification.java
@@ -7,19 +7,19 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.osgi.service.resolver;
 
 /**
- * This class represents a native code specification.  A 
- * native code specification is different from other 
+ * This class represents a native code specification.  A
+ * native code specification is different from other
  * specification constraints which typically are resolved against
- * suppliers provided by other bundles.   A native code 
+ * suppliers provided by other bundles.   A native code
  * specification supplies it own suppliers which are matched
- * against the platform properties at resolve time and the 
+ * against the platform properties at resolve time and the
  * supplier with the best match is selected.
  * <p>
  * This interface is not intended to be implemented by clients.  The
@@ -30,7 +30,7 @@
  */
 public interface NativeCodeSpecification extends VersionConstraint {
 	/**
-	 * Returns the list of possible suppliers to this native code specification.  When 
+	 * Returns the list of possible suppliers to this native code specification.  When
 	 * this native code specification is resolved one of the possible suppliers
 	 * will be selected and returned by {@link VersionConstraint#getSupplier()}.
 	 * @return the list of possible suppliers.
@@ -39,7 +39,7 @@
 
 	/**
 	 * Returns whether or not this native code specification is optional.
-	 * 
+	 *
 	 * @return whether this specification is optional
 	 */
 	public boolean isOptional();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/PlatformAdmin.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/PlatformAdmin.java
index 0d75253..6612ceb 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/PlatformAdmin.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/PlatformAdmin.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Rob Harrop - SpringSource Inc. (bug 247522)
@@ -32,40 +32,40 @@
  */
 public interface PlatformAdmin {
 
-	/** 
+	/**
 	 * Returns a mutable state representing the current system.
 	 * <p>
-	 * This is a convenience method, fully equivalent to 
+	 * This is a convenience method, fully equivalent to
 	 * <code>getState(true)</code>.
-	 * </p> 
+	 * </p>
 	 * @return a state representing the current framework.
 	 */
 	public State getState();
 
-	/** 
+	/**
 	 * Returns a state representing the current system. If there is need to make
-	 * changes to the returned state, a mutable state must be requested. 
-	 * Otherwise, an immutable state should be requested. In this case, invoking 
-	 * any of the operations that could cause the state to be changed will throw 
+	 * changes to the returned state, a mutable state must be requested.
+	 * Otherwise, an immutable state should be requested. In this case, invoking
+	 * any of the operations that could cause the state to be changed will throw
 	 * an <code>java.lang.UnsupportedOperationException</code>.
 	 * <p>
-	 * If a mutable state is requested, the resulting state will <strong>not</strong> 
-	 * be resolved and the user objects from the system state bundle descriptions will 
+	 * If a mutable state is requested, the resulting state will <strong>not</strong>
+	 * be resolved and the user objects from the system state bundle descriptions will
 	 * not be copied.
-	 * </p> 
+	 * </p>
 	 * @param mutable whether the returned state should mutable
 	 * @return a state representing the current framework.
 	 */
 	public State getState(boolean mutable);
 
 	/**
-	 * Returns a state helper object. State helpers provide convenience methods 
-	 * for manipulating states. 
+	 * Returns a state helper object. State helpers provide convenience methods
+	 * for manipulating states.
 	 * <p>
 	 * A possible implementation for this
 	 * method would provide the same single StateHelper instance to all clients.
 	 * </p>
-	 * 
+	 *
 	 * @return a state helper
 	 * @see StateHelper
 	 */
@@ -73,9 +73,9 @@
 
 	/**
 	 * Commit the differences between the current state and the given state.
-	 * The given state must return true from State.isResolved() or an exception 
-	 * is thrown.  The resolved state is committed verbatim, as-is.  
-	 * 
+	 * The given state must return true from State.isResolved() or an exception
+	 * is thrown.  The resolved state is committed verbatim, as-is.
+	 *
 	 * @param state the future state of the framework
 	 * @throws BundleException if the id of the given state does not match that of the
 	 * 	current state or if the given state is not resolved.
@@ -83,7 +83,7 @@
 	public void commit(State state) throws BundleException;
 
 	/**
-	 * Returns a resolver supplied by the system.  The returned resolver 
+	 * Returns a resolver supplied by the system.  The returned resolver
 	 * will not be associated with any state.
 	 * @return a system resolver
 	 * @deprecated in favour of {@link #createResolver()}.
@@ -98,15 +98,15 @@
 	public Resolver createResolver();
 
 	/**
-	 * Returns a factory that knows how to create state objects, such as bundle 
+	 * Returns a factory that knows how to create state objects, such as bundle
 	 * descriptions and the different types of version constraints.
 	 * @return a state object factory
 	 */
 	public StateObjectFactory getFactory();
 
 	/**
-	 * Adds the disabled info to the state managed by this platform admin. 
-	 *  If a disable info already exists for the specified policy and the specified bundle 
+	 * Adds the disabled info to the state managed by this platform admin.
+	 *  If a disable info already exists for the specified policy and the specified bundle
 	 *  then it is replaced with the given disabled info.
 	 * @param disabledInfo the disabled info to add.
 	 * @throws IllegalArgumentException if the <code>BundleDescription</code> for
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/Resolver.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/Resolver.java
index e9c3f19..7205919 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/Resolver.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/Resolver.java
@@ -42,7 +42,7 @@
 	 * Note the given state is destructively modified to reflect the results of
 	 * resolution.
 	 * </p>
-	 * @param discard the list of bundles to discard the resolve status and 
+	 * @param discard the list of bundles to discard the resolve status and
 	 * reresolve.  A <code>null</code> value indicates that all currently unresolved
 	 * bundles in the state should be resolved.
 	 * @param platformProperties the platform properties used to match platform filters
@@ -62,7 +62,7 @@
 	 * Returns the state associated with this resolver. A state can work with
 	 * at most one resolver at any given time. Similarly, a resolver can work
 	 * with at most one state at a time.
-	 * 
+	 *
 	 * @return the state for this resolver. null is returned if the resolver
 	 * does not have a state
 	 */
@@ -77,7 +77,7 @@
 	 * the following expression must be included in this method if the given
 	 * state (value) is not identical to the result of this.getState().
 	 * </p>
-	 * 
+	 *
 	 * <pre>
 	 *  if (this.getState() != value) value.setResolver(this);
 	 * </pre>
@@ -110,30 +110,30 @@
 	/**
 	 * Attempts to find an ExportPackageDescription that will satisfy a dynamic import
 	 * for the specified requestedPackage for the specified importingBundle.  If no
-	 * ExportPackageDescription is available that satisfies a dynamic import for the 
+	 * ExportPackageDescription is available that satisfies a dynamic import for the
 	 * importingBundle then <code>null</code> is returned.
 	 * @param importingBundle the BundleDescription that is requesting a dynamic package
 	 * @param requestedPackage the name of the package that is being requested
-	 * @return the ExportPackageDescription that satisfies the dynamic import request; 
+	 * @return the ExportPackageDescription that satisfies the dynamic import request;
 	 * a value of <code>null</code> is returned if none is available.
 	 */
 	public ExportPackageDescription resolveDynamicImport(BundleDescription importingBundle, String requestedPackage);
 
 	/**
-	 * Sets the selection policy for this resolver.  A selection policy is used to sort 
+	 * Sets the selection policy for this resolver.  A selection policy is used to sort
 	 * possible suppliers of a version constraint in descending order.  That is an order
-	 * which is from most desired to least desired.  The objects passed to the 
-	 * selection policy {@link Comparator#compare(Object, Object)} method 
-	 * will be of type {@link BaseDescription}.  The selection policy should return a 
-	 * negative number, zero, or a positive number depending on if the first object is 
+	 * which is from most desired to least desired.  The objects passed to the
+	 * selection policy {@link Comparator#compare(Object, Object)} method
+	 * will be of type {@link BaseDescription}.  The selection policy should return a
+	 * negative number, zero, or a positive number depending on if the first object is
 	 * more desired, equal amount of desire, or less desired than the second object respectively.
 	 * <p>
 	 * If no selection policy is set then a default policy will be used which sorts according
-	 * to the following rules: 
+	 * to the following rules:
 	 * <ol>
 	 * <li> The resolution status of the bundle which supplies the base description.  Resolved bundles take priority over unresolved ones.
 	 * <li> The version of the base description.  Higher versions take priority over lower versions.
-	 * <li> The bundle ID which supplies the base description.  Lower IDs take priority over higher IDs. 
+	 * <li> The bundle ID which supplies the base description.  Lower IDs take priority over higher IDs.
 	 * </ol>
 	 * @param selectionPolicy the selection policy for this resolver
 	 * @since 3.2
@@ -141,9 +141,9 @@
 	public void setSelectionPolicy(Comparator<BaseDescription> selectionPolicy);
 
 	/**
-	 * Returns the selection policy for this resolver or null if it is not set 
+	 * Returns the selection policy for this resolver or null if it is not set
 	 * @return the selection policy for this resolver or null if it is not set
-	 * @since 3.2 
+	 * @since 3.2
 	 */
 	public Comparator<BaseDescription> getSelectionPolicy();
 }
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverError.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverError.java
index 5e20665..1455899 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverError.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverError.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -24,7 +24,7 @@
  */
 public interface ResolverError {
 	/**
-	 * Error type constant (bit mask) indicating that an Import-Package could 
+	 * Error type constant (bit mask) indicating that an Import-Package could
 	 * not be resolved.
 	 * @see ResolverError#getType()
 	 */
@@ -55,7 +55,7 @@
 	public static final int FRAGMENT_CONFLICT = 0x0010;
 	/**
 	 * Error type constant (bit mask) indicating that an Import-Package could
-	 * not be resolved because of a uses directive conflict. 
+	 * not be resolved because of a uses directive conflict.
 	 * @see ResolverError#getType()
 	 */
 	public static final int IMPORT_PACKAGE_USES_CONFLICT = 0x0020;
@@ -88,14 +88,14 @@
 	public static final int REQUIRE_BUNDLE_PERMISSION = 0x0200;
 	/**
 	 * Error type constant (bit mask) indicating that a Require-Bundle could
-	 * not be resolved because no bundle with the required symbolic name has 
+	 * not be resolved because no bundle with the required symbolic name has
 	 * the correct permissions to provide the required symbolic name.
 	 * @see ResolverError#getType()
 	 */
 	public static final int PROVIDE_BUNDLE_PERMISSION = 0x0400;
 	/**
 	 * Error type constant (bit mask) indicating that a Fragment-Host could
-	 * not be resolved because no bundle with the required symbolic name has 
+	 * not be resolved because no bundle with the required symbolic name has
 	 * the correct permissions to host a fragment.
 	 * @see ResolverError#getType()
 	 */
@@ -123,7 +123,7 @@
 	public static final int MISSING_EXECUTION_ENVIRONMENT = 0x4000;
 
 	/**
-	 * Error type constant (bit mask) indicating that a bundle could not be 
+	 * Error type constant (bit mask) indicating that a bundle could not be
 	 * resolved because the required generic capability could not be resolved.
 	 */
 	public static final int MISSING_GENERIC_CAPABILITY = 0x8000;
@@ -160,7 +160,7 @@
 
 	/**
 	 * Error type constant (bit mask) indicating that a Require-Bundle could
-	 * not be resolved because no bundle with the required symbolic name has 
+	 * not be resolved because no bundle with the required symbolic name has
 	 * the correct permissions to provide the required symbolic name.
 	 * @see ResolverError#getType()
 	 * @since 3.7
@@ -188,8 +188,8 @@
 	public String getData();
 
 	/**
-	 * Returns the unsatisfied constraint if this ResolverError occurred 
-	 * because of an unsatisfied constraint; otherwise <code>null</code> 
+	 * Returns the unsatisfied constraint if this ResolverError occurred
+	 * because of an unsatisfied constraint; otherwise <code>null</code>
 	 * is returned.
 	 * @return the unsatisfied constraint or <code>null</code>.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverHookException.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverHookException.java
index 1020dec..50dd0c2 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverHookException.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/ResolverHookException.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/State.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/State.java
index dc62889..f5c9ab9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/State.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/State.java
@@ -38,12 +38,12 @@
 	 * <p>
 	 * If the bundle already exists in another state then an <code>IllegalStateException</code>
 	 * will be thrown.  Note that even if you remove a <code>BundleDescription</code> from
-	 * one <code>State</code> object using {@link State#removeBundle(BundleDescription)} it 
+	 * one <code>State</code> object using {@link State#removeBundle(BundleDescription)} it
 	 * may still be considered as removing pending if other bundles in that state depend on the
-	 * bundle you removed.  To complete a pending removal a call must be done to 
+	 * bundle you removed.  To complete a pending removal a call must be done to
 	 * {@link State#resolve(BundleDescription[])} with the removed bundle.
 	 * </p>
-	 * 
+	 *
 	 * @param description the description to add
 	 * @return a boolean indicating whether the bundle was successfully added
 	 * @throws IllegalStateException if the bundle already exists in another state
@@ -55,17 +55,17 @@
 	 * given state. The given state is taken as the base so the absence of a bundle
 	 * in this state is reported as a deletion, etc.
 	 *<p>Note that the generated StateDelta will contain BundleDeltas with one
-	 *of the following types: BundleDelta.ADDED, BundleDelta.REMOVED and 
+	 *of the following types: BundleDelta.ADDED, BundleDelta.REMOVED and
 	 *BundleDelta.UPDATED</p>
-	 * 
+	 *
 	 * @param baseState the base state
-	 * @return a delta describing differences between this and the base state state 
+	 * @return a delta describing differences between this and the base state state
 	 */
 	public StateDelta compare(State baseState) throws BundleException;
 
 	/**
 	 * Removes a bundle description with the given bundle id.
-	 * 
+	 *
 	 * @param bundleId the id of the bundle description to be removed
 	 * @return the removed bundle description, or <code>null</code>, if a bundle
 	 * 	with the given id does not exist in this state
@@ -74,42 +74,42 @@
 
 	/**
 	 * Removes the given bundle description.
-	 * 
+	 *
 	 * @param bundle the bundle description to be removed
-	 * @return <code>true</code>, if if the bundle description was removed, 
-	 * 	<code>false</code> otherwise 	
+	 * @return <code>true</code>, if if the bundle description was removed,
+	 * 	<code>false</code> otherwise
 	 */
 	public boolean removeBundle(BundleDescription bundle);
 
 	/**
-	 * Updates an existing bundle description with the given description. 
-	 * 
+	 * Updates an existing bundle description with the given description.
+	 *
 	 * @param newDescription the bundle description to replace an existing one
-	 * @return <code>true</code>, if if the bundle description was updated, 
-	 * 	<code>false</code> otherwise 	
+	 * @return <code>true</code>, if if the bundle description was updated,
+	 * 	<code>false</code> otherwise
 	 */
 	public boolean updateBundle(BundleDescription newDescription);
 
 	/**
 	 * Returns the delta representing the changes from the time this state was
 	 * first captured until now.
-	 * 
+	 *
 	 * @return the state delta
 	 */
 	public StateDelta getChanges();
 
 	/**
 	 * Returns descriptions for all bundles known to this state.
-	 * 
+	 *
 	 * @return the descriptions for all bundles known to this state.
 	 */
 	public BundleDescription[] getBundles();
 
 	/**
-	 * Returns the bundle descriptor for the bundle with the given id. 
-	 * <code>null</code> is returned if no such bundle is found in 
-	 * this state. 
-	 * 
+	 * Returns the bundle descriptor for the bundle with the given id.
+	 * <code>null</code> is returned if no such bundle is found in
+	 * this state.
+	 *
 	 * @return the descriptor for the identified bundle
 	 * @see BundleDescription#getBundleId()
 	 */
@@ -122,7 +122,7 @@
 	 * If multiple bundles with the same resolution state are available, the bundle
 	 * with the highest version number is returned if the <code>version</code> is
 	 * null.
-	 * 
+	 *
 	 * @param symbolicName symbolic name of the bundle to query
 	 * @param version version of the bundle to query. null matches any bundle
 	 * @return the descriptor for the identified bundle
@@ -131,8 +131,8 @@
 
 	/**
 	 * Returns the bundle descriptor for the bundle with the given location
-	 * identifier. null is returned if no such bundle is found in this state. 
-	 * 
+	 * identifier. null is returned if no such bundle is found in this state.
+	 *
 	 * @param location location identifier of the bundle to query
 	 * @return the descriptor for the identified bundle
 	 */
@@ -144,7 +144,7 @@
 	 * the system state timestamp is 4 but then some bundles are installed,
 	 * the system state timestamp is updated. By comparing 4 to the current system
 	 * state timestamp it is possible to detect if the states are out of sync.
-	 * 
+	 *
 	 * @return the timestamp of this state
 	 */
 	public long getTimeStamp();
@@ -158,7 +158,7 @@
 	/**
 	 * Returns true if there have been no modifications to this state since the
 	 * last time resolve() was called.
-	 * 
+	 *
 	 * @return whether or not this state has changed since last resolved.
 	 */
 	public boolean isResolved();
@@ -166,15 +166,15 @@
 	/**
 	 * Resolves the given version constraint with the given supplier. The given
 	 * constraint object is destructively modified to reflect its new resolved
-	 * state. Note that a constraint can be unresolved by passing null for 
+	 * state. Note that a constraint can be unresolved by passing null for
 	 * the supplier.
 	 * <p>
 	 * This method is intended to be used by resolvers in the process of
 	 * determining which constraints are satisfied by which components.
 	 * </p>
-	 * 
+	 *
 	 * @param constraint the version constraint to update
-	 * @param supplier the supplier which satisfies the constraint. May be null if 
+	 * @param supplier the supplier which satisfies the constraint. May be null if
 	 * the constraint is to be unresolved.
 	 * @throws IllegalStateException if this is not done during a call to
 	 * <code>resolve</code>
@@ -187,7 +187,7 @@
 	 * This method is intended to be used by resolvers in the process of
 	 * determining which constraints are satisfied by which components.
 	 * </p>
-	 * 
+	 *
 	 * @param bundle the bundle to update
 	 * @param status whether or not the given bundle is resolved, if false the other parameters are ignored
 	 * @param hosts the host for the resolve fragment, can be <code>null</code>
@@ -205,7 +205,7 @@
 	 * This method is intended to be used by resolvers in the process of
 	 * determining which constraints are satisfied by which components.
 	 * </p>
-	 * 
+	 *
 	 * @param bundle the bundle to update
 	 * @param status whether or not the given bundle is resolved, if false the other parameters are ignored
 	 * @param hosts the host for the resolve fragment, can be <code>null</code>
@@ -225,7 +225,7 @@
 	 * This method is intended to be used by resolvers in the process of
 	 * determining which constraints are satisfied by which components.
 	 * </p>
-	 * 
+	 *
 	 * @param bundle the bundle to update
 	 * @param status whether or not the given bundle is resolved, if false the other parameters are ignored
 	 * @param hosts the host for the resolve fragment, can be <code>null</code>
@@ -244,7 +244,7 @@
 	/**
 	 * Sets the given removal pending bundle to removal complete for this state.
 	 * <p>
-	 * This method is intended to be used by resolvers in the process of 
+	 * This method is intended to be used by resolvers in the process of
 	 * resolving bundles.
 	 * </p>
 	 * @param bundle the bundle to set a removal complete.
@@ -259,7 +259,7 @@
 	 * This method is intended to be used by resolvers in the process of
 	 * resolving.
 	 * </p>
-	 * 
+	 *
 	 * @param bundle the bundle to add a new <code>ResolverError</code> for
 	 * @param type the type of <code>ResolverError</code> to add
 	 * @param data the data for the <code>ResolverError</code>
@@ -276,7 +276,7 @@
 	 * This method is intended to be used by resolvers in the process of
 	 * resolving.
 	 * </p>
-	 * 
+	 *
 	 * @param bundle the bundle to remove all <code>ResolverError</code>s for
 	 * @throws IllegalStateException if this is not done during a call to <code>resolve</code>
 	 * @since 3.2
@@ -295,7 +295,7 @@
 	 * Returns the resolver associated with this state. A state can work with
 	 * at most one resolver at any given time. Similarly, a resolver can work
 	 * with at most one state at a time.
-	 * 
+	 *
 	 * @return the resolver for this state. null is returned if the state does
 	 * not have a resolver
 	 */
@@ -310,11 +310,11 @@
 	 * the following expression must be included in this method if the given
 	 * resolver (value) is not identical to the result of this.getResolver().
 	 * </p>
-	 * 
+	 *
 	 * <pre>
 	 *  if (this.getResolver() != value) value.setState(this);
 	 * </pre>
-	 * 
+	 *
 	 */
 	// TODO what happens if you set the Resolver after some bundles have
 	// been added to the state but it is not resolved?  Should setting
@@ -327,11 +327,11 @@
 	 * changes in resolved states and dependencies in the state.
 	 * <p>
 	 * Note that this method is typically implemented using
-	 * 
+	 *
 	 * <pre>
 	 *  this.getResolver().resolve();
 	 * </pre>
-	 * 
+	 *
 	 * and is the preferred path for invoking resolution. In particular, states
 	 * should refuse to perform updates (@see #select() and
 	 * #resolveConstraint()) if they are not currently involved in a resolution
@@ -340,9 +340,9 @@
 	 * Note the given state is destructively modified to reflect the results of
 	 * resolution.
 	 * </p>
-	 * 
+	 *
 	 * @param incremental a flag controlling whether resolution should be incremental
-	 * @return a delta describing the changes in resolved state and 
+	 * @return a delta describing the changes in resolved state and
 	 * interconnections
 	 */
 	public StateDelta resolve(boolean incremental);
@@ -354,14 +354,14 @@
 
 	/**
 	 * Resolves the constraints contained in this state using the resolver
-	 * currently associated with the state in an incremental, "least-perturbing" 
-	 * mode, and returns a delta describing the changes in resolved states and 
+	 * currently associated with the state in an incremental, "least-perturbing"
+	 * mode, and returns a delta describing the changes in resolved states and
 	 * dependencies in the state.
-	 * 
-	 * @param discard an array containing descriptions for bundles whose 
+	 *
+	 * @param discard an array containing descriptions for bundles whose
 	 * 	current resolution state should be forgotten.  If <code>null</code>
 	 *  then all the current removal pending BundleDescriptions are refreshed.
-	 * @return a delta describing the changes in resolved state and 
+	 * @return a delta describing the changes in resolved state and
 	 * 	interconnections
 	 */
 	public StateDelta resolve(BundleDescription[] discard);
@@ -370,13 +370,13 @@
 	 * Resolves the constraints contained in this state using the resolver
 	 * currently associated with the state in an incremental, "least-perturbing"
 	 * mode, and returns a delta describing the changes in resolved states and
-	 * dependencies in the state.  If discard is set to true the 
-	 * the descriptions contained in the resolve array will have their 
+	 * dependencies in the state.  If discard is set to true the
+	 * the descriptions contained in the resolve array will have their
 	 * current resolution state discarded and will be re-resolved.
 	 * This method will attempt to resolve the supplied descriptions
 	 * and may attempt to resolve any other unresolved descriptions contained
 	 * in this state.
-	 * 
+	 *
 	 * @param resolve an array containing descriptions for bundles to resolve.
 	 * @param discard a value of true indicates the resolve descriptions
 	 * should have their current resolution state discarded and re-resolved.
@@ -391,7 +391,7 @@
 	 * of this state. Version overrides allow external forces to
 	 * refine/override the version constraints setup by the components in the
 	 * state.
-	 * 
+	 *
 	 * @param value Format undefined.
 	 * @deprecated The exact form of this has never been defined.  There is
 	 * no alternative method available.
@@ -400,7 +400,7 @@
 
 	/**
 	 * Returns descriptions for all bundles currently resolved in this state.
-	 * 
+	 *
 	 * @return the descriptions for all bundles currently resolved in this
 	 * state.
 	 */
@@ -415,7 +415,7 @@
 
 	/**
 	 * Returns the dependency closure for the specified bundles.
-	 * 
+	 *
 	 * <p>
 	 * A graph of bundles is computed starting with the specified bundles. The
 	 * graph is expanded by adding any bundle that is either wired to a package
@@ -423,7 +423,7 @@
 	 * in the graph. The graph is fully constructed when there is no bundle
 	 * outside the graph that is wired to a bundle in the graph. The graph may
 	 * contain removal pending bundles.
-	 * 
+	 *
 	 * @param bundles The initial bundles for which to generate the dependency
 	 *        closure.
 	 * @return A collection containing a snapshot of the dependency closure of
@@ -435,13 +435,13 @@
 
 	/**
 	 * Returns whether this state is empty.
-	 * @return <code>true</code> if this state is empty, <code>false</code> 
+	 * @return <code>true</code> if this state is empty, <code>false</code>
 	 * 	otherwise
 	 */
 	public boolean isEmpty();
 
 	/**
-	 * Returns all exported packages in this state, according to the OSGi rules for resolution. 
+	 * Returns all exported packages in this state, according to the OSGi rules for resolution.
 	 * @see org.osgi.service.packageadmin.PackageAdmin#getExportedPackages(org.osgi.framework.Bundle)
 	 */
 	public ExportPackageDescription[] getExportedPackages();
@@ -456,25 +456,25 @@
 
 	/**
 	 * Returns the factory that created this state.
-	 * @return the state object factory that created this state 
+	 * @return the state object factory that created this state
 	 */
 	public StateObjectFactory getFactory();
 
 	/**
 	 * Attempts to find an ExportPackageDescription that will satisfy a dynamic import
 	 * for the specified requestedPackage for the specified importingBundle.  If no
-	 * ExportPackageDescription is available that satisfies a dynamic import for the 
+	 * ExportPackageDescription is available that satisfies a dynamic import for the
 	 * importingBundle then <code>null</code> is returned.
 	 * @param importingBundle the BundleDescription that is requesting a dynamic package
 	 * @param requestedPackage the name of the package that is being requested
-	 * @return the ExportPackageDescription that satisfies the dynamic import request; 
+	 * @return the ExportPackageDescription that satisfies the dynamic import request;
 	 * a value of <code>null</code> is returned if none is available.
 	 */
 	public ExportPackageDescription linkDynamicImport(BundleDescription importingBundle, String requestedPackage);
 
 	/**
-	 * Adds the specified dynamic imports to the specified importingBundle.  The added 
-	 * dynamic imports are only valid for the instance of this state and will be 
+	 * Adds the specified dynamic imports to the specified importingBundle.  The added
+	 * dynamic imports are only valid for the instance of this state and will be
 	 * forgotten if this state is read from a persistent cache.
 	 * @param importingBundle the bundle to add the imports to.
 	 * @param dynamicImports the dynamic imports to add.
@@ -499,34 +499,34 @@
 	 * <li>osgi.ws - the platform windowing system.</li>
 	 * <li>osgi.resolverMode - the resolver mode.  A value of "strict" will set the resolver mode to strict.</li>
 	 * <li>org.osgi.framework.system.packages - the packages exported by the system bundle.</li>
-	 * <li>org.osgi.framework.executionenvironment - the comma separated list of supported execution environments.  
+	 * <li>org.osgi.framework.executionenvironment - the comma separated list of supported execution environments.
 	 * This property is then used to resolve the required execution environment the bundles in a state.</li>
-	 * <li>org.osgi.framework.os.name - the name of the operating system.  This property is used to resolve the osname attribute of 
+	 * <li>org.osgi.framework.os.name - the name of the operating system.  This property is used to resolve the osname attribute of
 	 * bundle native code (i.e. Bundle-NativeCode).</li>
-	 * <li>org.osgi.framework.os.version - the version of the operating system.  This property is used to resolve the osversion attribute 
+	 * <li>org.osgi.framework.os.version - the version of the operating system.  This property is used to resolve the osversion attribute
 	 * of bundle native code (i.e. Bundle-NativeCode).</li>
-	 * <li>org.osgi.framework.processor - the processor name.  This property is used to resolve the processor attribute 
+	 * <li>org.osgi.framework.processor - the processor name.  This property is used to resolve the processor attribute
 	 * of bundle native code (i.e. Bundle-NativeCode).</li>
-	 * <li>org.osgi.framework.language - the language being used.  This property is used to resolve the language attribute 
+	 * <li>org.osgi.framework.language - the language being used.  This property is used to resolve the language attribute
 	 * of bundle native code (i.e. Bundle-NativeCode).</li>
 	 * </ul>
 	 * The values used for the supported properties can be <code>String</code> type
 	 * to specify a single value for the property or they can by <code>String[]</code>
-	 * to specify a list of values for the property. 
+	 * to specify a list of values for the property.
 	 * @param platformProperties the platform properties of the state
 	 * @return false if the platformProperties specified do not change any of the
-	 * supported properties already set.  If any of the supported property values 
+	 * supported properties already set.  If any of the supported property values
 	 * are changed as a result of calling this method then true is returned.
 	 */
 	public boolean setPlatformProperties(Dictionary<?, ?> platformProperties);
 
 	/**
-	 * Sets the platform properties of the state to a list of platform properties.  
+	 * Sets the platform properties of the state to a list of platform properties.
 	 * @see #setPlatformProperties(Dictionary)
-	 * 
+	 *
 	 * @param platformProperties a set of platform properties for the state
 	 * @return false if the platformProperties specified do not change any of the
-	 * supported properties already set.  If any of the supported property values 
+	 * supported properties already set.  If any of the supported property values
 	 * are changed as a result of calling this method then true is returned.
 	 */
 	public boolean setPlatformProperties(Dictionary<?, ?>[] platformProperties);
@@ -539,7 +539,7 @@
 	public Dictionary[] getPlatformProperties();
 
 	/**
-	 * Returns the list of system packages which are exported by the system bundle.  
+	 * Returns the list of system packages which are exported by the system bundle.
 	 * The list of system packages is set by the org.osgi.framework.system.packages
 	 * value in the platform properties for this state.
 	 * @see #setPlatformProperties(Dictionary)
@@ -548,13 +548,13 @@
 	public ExportPackageDescription[] getSystemPackages();
 
 	/**
-	 * Returns a state helper object. State helpers provide convenience methods 
-	 * for manipulating states. 
+	 * Returns a state helper object. State helpers provide convenience methods
+	 * for manipulating states.
 	 * <p>
 	 * A possible implementation for this
 	 * method would provide the same single StateHelper instance to all clients.
 	 * </p>
-	 * 
+	 *
 	 * @return a state helper
 	 * @see StateHelper
 	 * @since 3.2
@@ -562,10 +562,10 @@
 	public StateHelper getStateHelper();
 
 	/**
-	 * Returns the highest bundle ID.  The value -1 is returned if no 
+	 * Returns the highest bundle ID.  The value -1 is returned if no
 	 * bundles exist in this state.
 	 * <p>
-	 * Note that this method returns the highest bundle ID the ever existed in this 
+	 * Note that this method returns the highest bundle ID the ever existed in this
 	 * this state object.  This bundle may have been removed from the state.
 	 * @return the highest bundle ID.
 	 * @since 3.3
@@ -597,7 +597,7 @@
 
 	/**
 	 * Adds the disabled info to this state.  If a disable info already exists
-	 * for the specified policy and the specified bundle then it is replaced with 
+	 * for the specified policy and the specified bundle then it is replaced with
 	 * the given disabled info.
 	 * @param disabledInfo the disabled info to add.
 	 * @throws IllegalArgumentException if the <code>BundleDescription</code> for
@@ -632,7 +632,7 @@
 	public DisabledInfo getDisabledInfo(BundleDescription bundle, String policyName);
 
 	/**
-	 * Sets the resolver hook factory for this state.  The resolver hook factory is 
+	 * Sets the resolver hook factory for this state.  The resolver hook factory is
 	 * used during resolve operations according to the OSGi specification for the
 	 * resolver hook factory.
 	 * @param hookFactory the resolver hook factory
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateDelta.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateDelta.java
index 87785e6..7c82e29 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateDelta.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateDelta.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -30,11 +30,11 @@
 
 	/**
 	 * Returns an array of all the members
-	 * of this delta which match the given flags.  If an exact match is requested 
+	 * of this delta which match the given flags.  If an exact match is requested
 	 * then only delta members whose type exactly matches the given mask are
 	 * included.  Otherwise, all bundle deltas whose type's bit-wise and with the
-	 * mask is non-zero are included. 
-	 * 
+	 * mask is non-zero are included.
+	 *
 	 * @param mask match mask
 	 * @param exact whether exact match or bit-wise matching should be performed
 	 * @return an array of bundle deltas matching the given match criteria.
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateHelper.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateHelper.java
index 3b57939..9a91efa 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateHelper.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateHelper.java
@@ -14,7 +14,7 @@
 package org.eclipse.osgi.service.resolver;
 
 /**
- * A helper class that provides convenience methods for manipulating 
+ * A helper class that provides convenience methods for manipulating
  * state objects. <code>PlatformAdmin</code> provides an access point
  * for a state helper.
  * <p>
@@ -35,9 +35,9 @@
 	public static int ACCESS_DISCOURAGED = 0x02;
 
 	/**
-	 * An option to include packages available from the execution environment when 
-	 * getting the visible packages of a bundle.  For example, when running on a 
-	 * J2SE 1.4 VM the system bundle will export the javax.xml.parsers package as part of the 
+	 * An option to include packages available from the execution environment when
+	 * getting the visible packages of a bundle.  For example, when running on a
+	 * J2SE 1.4 VM the system bundle will export the javax.xml.parsers package as part of the
 	 * execution environment.  When this option is used then any packages from the execution
 	 * environment which the bundle is wired to will be included.
 	 * @see StateHelper#getVisiblePackages(BundleDescription, int)
@@ -45,9 +45,9 @@
 	public static int VISIBLE_INCLUDE_EE_PACKAGES = 0x01;
 
 	/**
-	 * An option to get all visible packages that a host bundle is currently wired to.  This 
-	 * includes packages wired to as a result of a dynamic import and packages wired to as a 
-	 * result of additional constraints specified by a fragment bundle.  Using this option 
+	 * An option to get all visible packages that a host bundle is currently wired to.  This
+	 * includes packages wired to as a result of a dynamic import and packages wired to as a
+	 * result of additional constraints specified by a fragment bundle.  Using this option
 	 * with a fragment will cause an empty array to be returned.
 	 * @see StateHelper#getVisiblePackages(BundleDescription, int)
 	 * @since 3.6
@@ -57,7 +57,7 @@
 	/**
 	 * Returns all bundles in the state depending on the given bundles. The given bundles
 	 * appear in the returned array.
-	 * 
+	 *
 	 * @param bundles the initial set of bundles
 	 * @return an array containing bundle descriptions for the given roots and all
 	 * bundles in the state that depend on them
@@ -75,26 +75,26 @@
 	public BundleDescription[] getPrerequisites(BundleDescription[] bundles);
 
 	/**
-	 * Returns all unsatisfied constraints in the given bundle. Returns an 
+	 * Returns all unsatisfied constraints in the given bundle. Returns an
 	 * empty array if no unsatisfied constraints can be found.
 	 * <p>
-	 * Note that a bundle may have no unsatisfied constraints and still not be 
+	 * Note that a bundle may have no unsatisfied constraints and still not be
 	 * resolved.
-	 * </p>  
-	 * 
+	 * </p>
+	 *
 	 * @param bundle the bundle to examine
 	 * @return an array containing all unsatisfied constraints for the given bundle
 	 */
 	public VersionConstraint[] getUnsatisfiedConstraints(BundleDescription bundle);
 
 	/**
-	 * Returns all unsatisfied constraints in the given bundles that have no possible supplier. 
+	 * Returns all unsatisfied constraints in the given bundles that have no possible supplier.
 	 * Returns an empty array if no unsatisfied leaf constraints can be found.
 	 * <p>
-	 * The returned constraints include only the unsatisfied constraints in the given 
-	 * state that have no possible supplier (leaf constraints).  There may 
-	 * be additional unsatisfied constraints in the given bundles but these will have at 
-	 * least one possible supplier.  In this case the possible supplier of the constraint 
+	 * The returned constraints include only the unsatisfied constraints in the given
+	 * state that have no possible supplier (leaf constraints).  There may
+	 * be additional unsatisfied constraints in the given bundles but these will have at
+	 * least one possible supplier.  In this case the possible supplier of the constraint
 	 * is not resolved for some reason.  For example, a given state only has Bundles X and Y
 	 * installed and Bundles X and Y have the following constraints:
 	 * </p>
@@ -102,16 +102,16 @@
 	 * Bundle X requires Bundle Y
 	 * Bundle Y requires Bundle Z</pre>
 	 * <p>
-	 * In this case Bundle Y has an unsatisfied constraint leaf on Bundle Z.  This will 
-	 * cause Bundle X's constraint on Bundle Y to be unsatisfied as well because the 
-	 * bundles are involved in a dependency chain.  Bundle X's constraint on Bundle Y is 
+	 * In this case Bundle Y has an unsatisfied constraint leaf on Bundle Z.  This will
+	 * cause Bundle X's constraint on Bundle Y to be unsatisfied as well because the
+	 * bundles are involved in a dependency chain.  Bundle X's constraint on Bundle Y is
 	 * not considered a leaf because there is a possible supplier Y in the given state.
 	 * </p>
 	 * <p>
-	 * Note that a bundle may have no unsatisfied constraints and still not be 
+	 * Note that a bundle may have no unsatisfied constraints and still not be
 	 * resolved.
-	 * </p>  
-	 * 
+	 * </p>
+	 *
 	 * @param bundles the bundles to examine
 	 * @return an array containing all unsatisfied leaf constraints for the given bundles
 	 * @since 3.2
@@ -119,56 +119,56 @@
 	public VersionConstraint[] getUnsatisfiedLeaves(BundleDescription[] bundles);
 
 	/**
-	 * Returns whether the given package specification constraint is resolvable. 
-	 * A package specification constraint may be 
+	 * Returns whether the given package specification constraint is resolvable.
+	 * A package specification constraint may be
 	 * resolvable but not resolved, which means that the bundle that provides
-	 * it has not been resolved for some other reason (e.g. another constraint 
+	 * it has not been resolved for some other reason (e.g. another constraint
 	 * could not be resolved, another version has been picked, etc).
-	 *  
+	 *
 	 * @param specification the package specification constraint to be examined
-	 * @return <code>true</code> if the constraint can be resolved, 
+	 * @return <code>true</code> if the constraint can be resolved,
 	 * <code>false</code> otherwise
 	 */
 	public boolean isResolvable(ImportPackageSpecification specification);
 
 	/**
-	 * Returns whether the given bundle specification constraint is resolvable. 
-	 * A bundle specification constraint may be 
+	 * Returns whether the given bundle specification constraint is resolvable.
+	 * A bundle specification constraint may be
 	 * resolvable but not resolved, which means that the bundle that provides
-	 * it has not been resolved for some other reason (e.g. another constraint 
+	 * it has not been resolved for some other reason (e.g. another constraint
 	 * could not be resolved, another version has been picked, etc).
-	 *  
+	 *
 	 * @param specification the bundle specification constraint to be examined
-	 * @return <code>true</code> if the constraint can be resolved, 
+	 * @return <code>true</code> if the constraint can be resolved,
 	 * <code>false</code> otherwise
 	 */
 	public boolean isResolvable(BundleSpecification specification);
 
 	/**
-	 * Returns whether the given host specification constraint is resolvable. 
-	 * A host specification constraint may be 
+	 * Returns whether the given host specification constraint is resolvable.
+	 * A host specification constraint may be
 	 * resolvable but not resolved, which means that the bundle that provides
-	 * it has not been resolved for some other reason (e.g. another constraint 
+	 * it has not been resolved for some other reason (e.g. another constraint
 	 * could not be resolved, another version has been picked, etc).
-	 *  
+	 *
 	 * @param specification the host specification constraint to be examined
-	 * @return <code>true</code> if the constraint can be resolved, 
+	 * @return <code>true</code> if the constraint can be resolved,
 	 * <code>false</code> otherwise
 	 */
 	public boolean isResolvable(HostSpecification specification);
 
 	/**
-	 * Sorts the given array of <strong>resolved</strong> bundles in pre-requisite order. If A 
-	 * requires B, A appears after B. 
-	 * Fragments will appear after all of their hosts. Constraints contributed by fragments will 
+	 * Sorts the given array of <strong>resolved</strong> bundles in pre-requisite order. If A
+	 * requires B, A appears after B.
+	 * Fragments will appear after all of their hosts. Constraints contributed by fragments will
 	 * be treated as if contributed by theirs hosts, affecting their position. This is true even if
 	 * the fragment does not appear in the given bundle array.
 	 * <p>
 	 * Unresolved bundles are ignored.
 	 * </p>
-	 *  
+	 *
 	 * @param toSort an array of bundles to be sorted
-	 * @return any cycles found 
+	 * @return any cycles found
 	 */
 	public Object[][] sortBundles(BundleDescription[] toSort);
 
@@ -187,11 +187,11 @@
 	/**
 	 * Returns a list of all packages that the specified bundle has access to which are
 	 * exported by other bundles.  This takes into account all constraint specifications
-	 * (Import-Package, Require-Bundle etc).  A deep dependency search is done for all 
-	 * packages which are available through the required bundles and any bundles which 
+	 * (Import-Package, Require-Bundle etc).  A deep dependency search is done for all
+	 * packages which are available through the required bundles and any bundles which
 	 * are reexported.  This method also takes into account all directives
 	 * which may be specified on the constraint specifications (e.g. uses, x-friends etc.)
-	 * 
+	 *
 	 * @param bundle a bundle to get the list of packages for.
 	 * @param options the options for selecting the visible packages
 	 * @return a list of all packages that the specified bundle has access to which are
@@ -203,7 +203,7 @@
 	public ExportPackageDescription[] getVisiblePackages(BundleDescription bundle, int options);
 
 	/**
-	 * Returns the access code that the specified <code>BundleDescription</code> has to the 
+	 * Returns the access code that the specified <code>BundleDescription</code> has to the
 	 * specified <code>ExportPackageDescription</code>.
 	 * @param bundle the bundle to find the access code for
 	 * @param export the export to find the access code for
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateObjectFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateObjectFactory.java
index 7b685e1..54dd403 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateObjectFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateObjectFactory.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,7 +27,7 @@
 import org.osgi.framework.Version;
 
 /**
- * A factory for states and their component objects.  
+ * A factory for states and their component objects.
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
@@ -44,9 +44,9 @@
 	public static final StateObjectFactory defaultFactory = new StateObjectFactoryProxy();
 
 	/**
-	 * Creates an empty state. The returned state does not have an 
+	 * Creates an empty state. The returned state does not have an
 	 * attached resolver.
-	 * 
+	 *
 	 * @return the created state
 	 * @deprecated use {@link #createState(boolean) }
 	 */
@@ -54,7 +54,7 @@
 
 	/**
 	 * Creates an empty state with or without a resolver.
-	 * 
+	 *
 	 * @param resolver true if the created state should be initialized with a resolver.
 	 * @return the created state
 	 * @since 3.2
@@ -62,12 +62,12 @@
 	public State createState(boolean resolver);
 
 	/**
-	 * Creates a new state that is a copy of the given state. The returned state 
+	 * Creates a new state that is a copy of the given state. The returned state
 	 * will contain copies of all bundle descriptions in the given state.
 	 * The user objects from the original bundle descriptions is not copied and
-	 * no data pertaining to resolution is copied.  The returned state will have a 
+	 * no data pertaining to resolution is copied.  The returned state will have a
 	 * new resolver attached to it.
-	 *  
+	 *
 	 * @param state a state to be copied
 	 * @return the created state
 	 */
@@ -75,21 +75,21 @@
 
 	/**
 	 * Creates a bundle description from the given parameters.
-	 * 
-	 * @param id id for the bundle 
-	 * @param symbolicName symbolic name for the bundle (may be 
-	 * <code>null</code>) 
+	 *
+	 * @param id id for the bundle
+	 * @param symbolicName symbolic name for the bundle (may be
+	 * <code>null</code>)
 	 * @param version version for the bundle (may be <code>null</code>)
 	 * @param location location for the bundle (may be <code>null</code>)
-	 * @param required version constraints for all required bundles (may be 
+	 * @param required version constraints for all required bundles (may be
 	 * <code>null</code>)
-	 * @param host version constraint specifying the host for the bundle to be  
+	 * @param host version constraint specifying the host for the bundle to be
 	 * created. Should be <code>null</code> if the bundle is not a fragment
-	 * @param imports version constraints for all packages imported 
+	 * @param imports version constraints for all packages imported
 	 * (may be <code>null</code>)
 	 * @param exports package descriptions of all the exported packages
 	 * (may be <code>null</code>)
-	 * @param providedPackages the list of provided packages (may be <code>null</code>) 
+	 * @param providedPackages the list of provided packages (may be <code>null</code>)
 	 * @param singleton whether the bundle created should be a singleton
 	 * @return the created bundle description
 	 * @deprecated use {@link #createBundleDescription(long, String, Version, String, BundleSpecification[], HostSpecification, ImportPackageSpecification[], ExportPackageDescription[], boolean, boolean, boolean, String, String[], GenericSpecification[], GenericDescription[])}
@@ -98,21 +98,21 @@
 
 	/**
 	 * Creates a bundle description from the given parameters.
-	 * 
-	 * @param id id for the bundle 
-	 * @param symbolicName symbolic name for the bundle (may be 
-	 * <code>null</code>) 
+	 *
+	 * @param id id for the bundle
+	 * @param symbolicName symbolic name for the bundle (may be
+	 * <code>null</code>)
 	 * @param version version for the bundle (may be <code>null</code>)
 	 * @param location location for the bundle (may be <code>null</code>)
-	 * @param required version constraints for all required bundles (may be 
+	 * @param required version constraints for all required bundles (may be
 	 * <code>null</code>)
-	 * @param host version constraint specifying the host for the bundle to be  
+	 * @param host version constraint specifying the host for the bundle to be
 	 * created. Should be <code>null</code> if the bundle is not a fragment
-	 * @param imports version constraints for all packages imported 
+	 * @param imports version constraints for all packages imported
 	 * (may be <code>null</code>)
 	 * @param exports package descriptions of all the exported packages
 	 * (may be <code>null</code>)
-	 * @param providedPackages the list of provided packages (may be <code>null</code>) 
+	 * @param providedPackages the list of provided packages (may be <code>null</code>)
 	 * @param singleton whether the bundle created should be a singleton
 	 * @param attachFragments whether the bundle allows fragments to attach
 	 * @param dynamicFragments whether the bundle allows fragments to dynamically attach
@@ -127,9 +127,9 @@
 
 	/**
 	 * Creates a bundle description from the given parameters.
-	 * 
-	 * @param id id for the bundle 
-	 * @param symbolicName symbolic name for the bundle (may be  <code>null</code>) 
+	 *
+	 * @param id id for the bundle
+	 * @param symbolicName symbolic name for the bundle (may be  <code>null</code>)
 	 * @param version version for the bundle (may be <code>null</code>)
 	 * @param location location for the bundle (may be <code>null</code>)
 	 * @param required version constraints for all required bundles (may be  <code>null</code>)
@@ -149,9 +149,9 @@
 
 	/**
 	 * Creates a bundle description from the given parameters.
-	 * 
-	 * @param id id for the bundle 
-	 * @param symbolicName symbolic name for the bundle (may be  <code>null</code>) 
+	 *
+	 * @param id id for the bundle
+	 * @param symbolicName symbolic name for the bundle (may be  <code>null</code>)
 	 * @param version version for the bundle (may be <code>null</code>)
 	 * @param location location for the bundle (may be <code>null</code>)
 	 * @param required version constraints for all required bundles (may be  <code>null</code>)
@@ -174,7 +174,7 @@
 	/**
 	 * Creates a bundle description from the given parameters.
 	 *
-	 * @param id id for the bundle 
+	 * @param id id for the bundle
 	 * @param symbolicName the symbolic name of the bundle.  This may include directives and/or attributes encoded using the Bundle-SymbolicName header.
 	 * @param version version for the bundle (may be <code>null</code>)
 	 * @param location location for the bundle (may be <code>null</code>)
@@ -194,28 +194,28 @@
 
 	/**
 	 * Returns a bundle description based on the information in the supplied manifest dictionary.
-	 * The manifest should contain String keys and String values which correspond to 
+	 * The manifest should contain String keys and String values which correspond to
 	 * proper OSGi manifest headers and values.
-	 * 
+	 *
 	 * @param state the state for which the description is being created
 	 * @param manifest a collection of OSGi manifest headers and values
 	 * @param location the URL location of the bundle (may be <code>null</code>)
 	 * @param id the id of the bundle
 	 * @return a bundle description derived from the given information
-	 * @throws BundleException if an error occurs while reading the manifest 
+	 * @throws BundleException if an error occurs while reading the manifest
 	 */
 	public BundleDescription createBundleDescription(State state, Dictionary<String, String> manifest, String location, long id) throws BundleException;
 
 	/**
 	 * Returns a bundle description based on the information in the supplied manifest dictionary.
-	 * The manifest should contain String keys and String values which correspond to 
+	 * The manifest should contain String keys and String values which correspond to
 	 * proper OSGi manifest headers and values.
-	 * 
+	 *
 	 * @param manifest a collection of OSGi manifest headers and values
 	 * @param location the URL location of the bundle (may be <code>null</code>)
 	 * @param id the id of the bundle
 	 * @return a bundle description derived from the given information
-	 * @throws BundleException if an error occurs while reading the manifest 
+	 * @throws BundleException if an error occurs while reading the manifest
 	 * @deprecated use {@link #createBundleDescription(State, Dictionary, String, long)}
 	 */
 	public BundleDescription createBundleDescription(Dictionary<String, String> manifest, String location, long id) throws BundleException;
@@ -223,7 +223,7 @@
 	/**
 	 * Creates a bundle description that is a copy of the given description.
 	 * The user object of the original bundle description is not copied.
-	 * 
+	 *
 	 * @param original the bundle description to be copied
 	 * @return the created bundle description
 	 */
@@ -231,10 +231,10 @@
 
 	/**
 	 * Creates a bundle specification from the given parameters.
-	 * 
+	 *
 	 * @param requiredSymbolicName the symbolic name for the required bundle
 	 * @param requiredVersionRange the required version range (may be <code>null</code>)
-	 * @param export whether the required bundle should be re-exported 
+	 * @param export whether the required bundle should be re-exported
 	 * @param optional whether the constraint should be optional
 	 * @return the created bundle specification
 	 * @see VersionConstraint for information on the available match rules
@@ -243,7 +243,7 @@
 
 	/**
 	 * Creates a bundle specification that is a copy of the given constraint.
-	 *  
+	 *
 	 * @param original the constraint to be copied
 	 * @return the created bundle specification
 	 */
@@ -260,11 +260,11 @@
 
 	/**
 	 * Creates a host specification from the given parameters.
-	 *  
+	 *
 	 * @param hostSymbolicName the symbolic name for the host bundle
 	 * @param hostVersionRange the version range for the host bundle (may be <code>null</code>)
 	 * @return the created host specification
-	 * @see VersionConstraint for information on the available match rules 
+	 * @see VersionConstraint for information on the available match rules
 	 */
 	public HostSpecification createHostSpecification(String hostSymbolicName, VersionRange hostVersionRange);
 
@@ -279,7 +279,7 @@
 
 	/**
 	 * Creates a host specification that is a copy of the given constraint.
-	 * 
+	 *
 	 * @param original the constraint to be copied
 	 * @return the created host specification
 	 */
@@ -287,7 +287,7 @@
 
 	/**
 	 * Creates an import package specification from the given parameters.
-	 *  
+	 *
 	 * @param packageName the package name
 	 * @param versionRange the package versionRange (may be <code>null</code>).
 	 * @param bundleSymbolicName the Bundle-SymbolicName of the bundle that must export the package (may be <code>null</code>)
@@ -302,7 +302,7 @@
 	/**
 	 * Creates an import package specification that is a copy of the given import package
 	 * @param original the import package to be copied
-	 * @return the created package specification 
+	 * @return the created package specification
 	 */
 	public ImportPackageSpecification createImportPackageSpecification(ImportPackageSpecification original);
 
@@ -319,7 +319,7 @@
 	 * Used by the Resolver to dynamically create ExportPackageDescription objects during the resolution process.
 	 * The Resolver needs to create ExportPackageDescriptions dynamically for a host when a fragment.
 	 * exports a package<p>
-	 * 
+	 *
 	 * @param packageName the package name
 	 * @param version the version of the package (may be <code>null</code>)
 	 * @param directives the directives for the package (may be <code>null</code>)
@@ -423,12 +423,12 @@
 
 	/**
 	 * Persists the given state in the given output stream. Closes the stream.
-	 * 
+	 *
 	 * @param state the state to be written
 	 * @param stream the stream where to write the state to
-	 * @throws IOException if an IOException happens while writing the state to 
+	 * @throws IOException if an IOException happens while writing the state to
 	 * the stream
-	 * @throws IllegalArgumentException if the state provided was not created by 
+	 * @throws IllegalArgumentException if the state provided was not created by
 	 * this factory
 	 * @deprecated use {@link #writeState(State, File)} instead
 	 * @since 3.1
@@ -437,12 +437,12 @@
 
 	/**
 	 * Persists the given state in the given output stream. Closes the stream.
-	 * 
+	 *
 	 * @param state the state to be written
 	 * @param stream the stream where to write the state to
-	 * @throws IOException if an IOException happens while writing the state to 
+	 * @throws IOException if an IOException happens while writing the state to
 	 * the stream
-	 * @throws IllegalArgumentException if the state provided was not created by 
+	 * @throws IllegalArgumentException if the state provided was not created by
 	 * this factory
 	 * @deprecated use {@link #writeState(State, File)} instead
 	 * @see #writeState(State, OutputStream)
@@ -451,22 +451,22 @@
 
 	/**
 	 * Persists the given state in the given directory.
-	 * 
+	 *
 	 * @param state the state to be written
 	 * @param stateDirectory the directory where to write the state to
-	 * @throws IOException if an IOException happens while writing the state to 
+	 * @throws IOException if an IOException happens while writing the state to
 	 * the stream
-	 * @throws IllegalArgumentException if the state provided was not created by 
+	 * @throws IllegalArgumentException if the state provided was not created by
 	 * this factory
 	 */
 	public void writeState(State state, File stateDirectory) throws IOException;
 
 	/**
 	 * Reads a persisted state from the given stream. Closes the stream.
-	 * 
+	 *
 	 * @param stream the stream where to read the state from
 	 * @return the state read
-	 * @throws IOException if an IOException happens while reading the state from 
+	 * @throws IOException if an IOException happens while reading the state from
 	 * the stream
 	 * @deprecated use {@link #readState(File)} instead
 	 * @since 3.1
@@ -475,10 +475,10 @@
 
 	/**
 	 * Reads a persisted state from the given stream. Closes the stream.
-	 * 
+	 *
 	 * @param stream the stream where to read the state from
 	 * @return the state read
-	 * @throws IOException if an IOException happens while reading the state from 
+	 * @throws IOException if an IOException happens while reading the state from
 	 * the stream
 	 * @deprecated use {@link #readState(File)} instead
 	 * @see #readState(InputStream)
@@ -487,10 +487,10 @@
 
 	/**
 	 * Reads a persisted state from the given directory.
-	 * 
+	 *
 	 * @param stateDirectory the directory where to read the state from
 	 * @return the state read
-	 * @throws IOException if an IOException happens while reading the state from 
+	 * @throws IOException if an IOException happens while reading the state from
 	 * the stream
 	 */
 	public State readState(File stateDirectory) throws IOException;
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateWire.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateWire.java
index 181ca59..8a2057a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateWire.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/StateWire.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -18,7 +18,7 @@
  * There are 4 parts to a state wire.
  * <ul>
  * <li>The requirement which may have been specified by a host bundle or one of its attached fragments.</li>
- * <li>The host bundle which is associated with the requirement.  There are cases where the host 
+ * <li>The host bundle which is associated with the requirement.  There are cases where the host
  * bundle may not be the same as the bundle which declared the requirement.  For example, if a fragment
  * specifies additional requirements.</li>
  * <li>The capability which may have been specified by a host bundle or one of its attached fragments.</li>
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionConstraint.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionConstraint.java
index a84fbe1..799a506 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionConstraint.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionConstraint.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,7 +16,7 @@
 import org.osgi.framework.wiring.BundleRequirement;
 
 /**
- * VersionConstraints represent the relationship between two bundles (in the 
+ * VersionConstraints represent the relationship between two bundles (in the
  * case of bundle requires) or a bundle and a package (in the case of import/export).
  * <p>
  * This interface is not intended to be implemented by clients.  The
@@ -29,7 +29,7 @@
 
 	/**
 	 * Returns this constraint's name.
-	 * 
+	 *
 	 * @return this constraint's name
 	 */
 	public String getName();
@@ -42,16 +42,16 @@
 
 	/**
 	 * Returns the bundle that declares this constraint.
-	 * 
+	 *
 	 * @return a bundle description
 	 */
 	public BundleDescription getBundle();
 
 	/**
-	 * Returns whether this constraint is resolved. A resolved constraint 
-	 * is guaranteed to have its supplier defined. 
-	 * 
-	 * @return <code>true</code> if this bundle is resolved, <code>false</code> 
+	 * Returns whether this constraint is resolved. A resolved constraint
+	 * is guaranteed to have its supplier defined.
+	 *
+	 * @return <code>true</code> if this bundle is resolved, <code>false</code>
 	 * otherwise
 	 */
 	public boolean isResolved();
@@ -60,25 +60,25 @@
 	 * Returns whether this constraint could be satisfied by the given supplier.
 	 * This will depend on the suppliers different attributes including its name,
 	 * versions and other arbitrary attributes
-	 * 
-	 * @param supplier a supplier to be tested against this constraint (may be 
+	 *
+	 * @param supplier a supplier to be tested against this constraint (may be
 	 * <code>null</code>)
-	 * @return <code>true</code> if this constraint could be resolved using the supplier, 
-	 * <code>false</code> otherwise 
+	 * @return <code>true</code> if this constraint could be resolved using the supplier,
+	 * <code>false</code> otherwise
 	 */
 	public boolean isSatisfiedBy(BaseDescription supplier);
 
 	/**
 	 * Returns the supplier that satisfies this constraint, if it is resolved.
-	 *  
-	 * @return a supplier, or <code>null</code> 
+	 *
+	 * @return a supplier, or <code>null</code>
 	 * @see #isResolved()
 	 */
 	public BaseDescription getSupplier();
 
 	/**
 	 * Returns the requirement represented by this constraint.
-	 * Some constraint types may not be able to represent 
+	 * Some constraint types may not be able to represent
 	 * a requirement.  In such cases <code>null</code> is
 	 * returned.
 	 * @return the requirement represented by this constraint
@@ -87,9 +87,9 @@
 	public BundleRequirement getRequirement();
 
 	/**
-	 * Returns the user object associated to this constraint, or 
+	 * Returns the user object associated to this constraint, or
 	 * <code>null</code> if none exists.
-	 *  
+	 *
 	 * @return the user object associated to this constraint,
 	 * or <code>null</code>
 	 * @since 3.8
@@ -98,11 +98,11 @@
 
 	/**
 	 * Associates a user-provided object to this constraint, or
-	 * removes an existing association, if <code>null</code> is provided. The 
-	 * provided object is not interpreted in any ways by this 
+	 * removes an existing association, if <code>null</code> is provided. The
+	 * provided object is not interpreted in any ways by this
 	 * constrain.
-	 * 
-	 * @param userObject an arbitrary object provided by the user, or 
+	 *
+	 * @param userObject an arbitrary object provided by the user, or
 	 * <code>null</code>
 	 * @since 3.8
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionRange.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionRange.java
index ec61c40..d2dfe0b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionRange.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/resolver/VersionRange.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -39,7 +39,7 @@
 	 * then {@link Version#emptyVersion} is used.
 	 * @param maxVersion the maximum version of the range. If <code>null</code>
 	 * then new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE)
-	 * is used. 
+	 * is used.
 	 */
 	public VersionRange(Version minVersion, boolean includeMin, Version maxVersion, boolean includeMax) {
 		super(includeMin ? INCLUDE_MIN : EXCLUDE_MIN, minVersion == null ? Version.emptyVersion : minVersion, versionMax.equals(maxVersion) ? null : maxVersion, includeMax ? INCLUDE_MAX : EXCLUDE_MAX);
@@ -47,7 +47,7 @@
 
 	/**
 	 * Creates a version range from the specified string.
-	 * 
+	 *
 	 * <p>
 	 * Here is the grammar for version range strings.
 	 * </p>
@@ -62,7 +62,7 @@
 	 * include-max ::= ']'
 	 * exclude-max ::= ')'
 	 * </pre>
-	 * 
+	 *
 	 * @param versionRange string representation of the version range or <code>null</code>
 	 * for the empty range "0.0.0"
 	 * @see Version#Version(String) definition of <code>version</code>
@@ -92,7 +92,7 @@
 	 * Returns the maximum Version of this VersionRange.
 	 * <p>
 	 * This method is deprecated.  For ranges that have no maximum this method
-	 * incorrectly returns a version equal to 
+	 * incorrectly returns a version equal to
 	 * <code>Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE)</code>.
 	 * Use {@link org.osgi.framework.VersionRange#getRight()} instead.
 	 * @return the maximum Version of this VersionRange
@@ -116,11 +116,11 @@
 	 * Returns whether the given version is included in this VersionRange.
 	 * This will depend on the minimum and maximum versions of this VersionRange
 	 * and the given version.
-	 * 
-	 * @param version a version to be tested for inclusion in this VersionRange. 
+	 *
+	 * @param version a version to be tested for inclusion in this VersionRange.
 	 * If <code>null</code> then {@link Version#emptyVersion} is used.
-	 * @return <code>true</code> if the version is included, 
-	 * <code>false</code> otherwise 
+	 * @return <code>true</code> if the version is included,
+	 * <code>false</code> otherwise
 	 */
 	public boolean isIncluded(Version version) {
 		if (version == null)
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/security/TrustEngine.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/security/TrustEngine.java
index fd94539..b905b8f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/security/TrustEngine.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/service/security/TrustEngine.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -19,7 +19,7 @@
 import org.eclipse.osgi.internal.signedcontent.TrustEngineListener;
 
 /**
- * A <code>TrustEngine</code> is used to establish the authenticity of a 
+ * A <code>TrustEngine</code> is used to establish the authenticity of a
  * {@link Certificate} chain.
  * <p>
  * Clients may implement this interface.
@@ -29,7 +29,7 @@
 public abstract class TrustEngine {
 	/**
 	 * Returns the certificate trust anchor contained in the specified chain which
-	 * was used to establish the authenticity of the chain.  If no 
+	 * was used to establish the authenticity of the chain.  If no
 	 * trust anchor is found in the chain then <code>null</code> is returned.
 	 * @param chain - a complete or incomplete certificate chain, implementations *MAY* complete chains
 	 * @return - the certificate trust anchor used to establish authenticity
@@ -38,7 +38,7 @@
 	public abstract Certificate findTrustAnchor(Certificate[] chain) throws IOException;
 
 	/**
-	 * Add a trust anchor point to this trust engine. A trust anchor implies that a certificate, 
+	 * Add a trust anchor point to this trust engine. A trust anchor implies that a certificate,
 	 * and any of its children, is to be considered trusted.  If <code>null</code> is used
 	 * as the alias then an alias will be generated based on the trust anchor certificate.
 	 * @param anchor - the certificate to add as an anchor point
@@ -58,7 +58,7 @@
 	}
 
 	/**
-	 * Add a trust anchor point to this trust engine. A trust anchor implies that a certificate, 
+	 * Add a trust anchor point to this trust engine. A trust anchor implies that a certificate,
 	 * and any of its children, is to be considered trusted.  If <code>null</code> is used
 	 * as the alias then an alias will be generated based on the trust anchor certificate.
 	 * @param anchor - the certificate to add as an anchor point
@@ -118,7 +118,7 @@
 
 	/**
 	 * Return the certificate associated with the unique "friendly name" in the engine.
-	 * @param alias - the friendly name  
+	 * @param alias - the friendly name
 	 * @return the associated trust anchor
 	 * @throws IOException if there is a problem connecting to the backing store
 	 * @throws GeneralSecurityException if there is a certificate problem
@@ -135,14 +135,14 @@
 
 	/**
 	 * Return a value indicate whether this trust engine is read-only.
-	 * 
+	 *
 	 * @return	true if this trust engine is read-only false otherwise.
 	 */
 	public abstract boolean isReadOnly();
 
 	/**
 	 * Return a representation string of this trust engine
-	 * 
+	 *
 	 * @return	a string
 	 */
 	public abstract String getName();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/InvalidContentException.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/InvalidContentException.java
index a01b67a..5f39946 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/InvalidContentException.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/InvalidContentException.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,7 +27,7 @@
 
 	/**
 	 * Constructs an <code>InvalidContentException</code> with the specified detail
-	 * message and cause. 
+	 * message and cause.
 	 *
 	 * @param message the exception message
 	 * @param cause the cause, may be <code>null</code>
@@ -40,7 +40,7 @@
 	/**
 	 * Returns the cause of this exception or <code>null</code> if no cause
 	 * was specified when this exception was created.
-	 * 
+	 *
 	 * @return The cause of this exception or <code>null</code> if no cause was created.
 	 */
 	@Override
@@ -50,7 +50,7 @@
 
 	/**
 	 * The cause of this exception can only be set when constructed.
-	 * 
+	 *
 	 * @param t Cause of the exception.
 	 * @return This object.
 	 * @throws java.lang.IllegalStateException This method will always throw an
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContent.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContent.java
index a3b59f9..6fdedc2 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContent.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContent.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -21,7 +21,7 @@
  * A <code>SignedContent</code> object represents content which may be signed.  A
  * {@link SignedContentFactory} is used to create signed content objects.
  * <p>
- * A <code>SignedContent</code> object is intended to provide information about 
+ * A <code>SignedContent</code> object is intended to provide information about
  * the signers of the content, and cannot be used to access the actual data of the content.
  * </p>
  * <p>
@@ -34,13 +34,13 @@
 
 	/**
 	 * Returns all entries of the content.  The returned entries can be used
-	 * to verify the entry content using {@link SignedContentEntry#verify()} and 
+	 * to verify the entry content using {@link SignedContentEntry#verify()} and
 	 * get signer info for each entry in this content using {@link SignedContentEntry#getSignerInfos()}.
-	 * Note that this operation may be expensive because it requires an 
+	 * Note that this operation may be expensive because it requires an
 	 * exhaustive search for entries over the entire content.
 	 * <p>
 	 * Unsigned entries are included in the result.  Entries for which signer info exists
-	 * but no content is found are also returned. For example, when an entry is removed from 
+	 * but no content is found are also returned. For example, when an entry is removed from
 	 * a signed jar but the jar is not resigned, the signer thinks the entry should exist
 	 * but the content got removed.  This would be considered an invalid entry which would fail verification.
 	 * </p>
@@ -64,7 +64,7 @@
 
 	/**
 	 * Returns true if the content is signed; false otherwise.  This is a convenience method
-	 * equivalent to calling <code>{@link #getSignerInfos()}.length &gt; 0</code> 
+	 * equivalent to calling <code>{@link #getSignerInfos()}.length &gt; 0</code>
 	 * @return true if the content is signed
 	 */
 	public boolean isSigned();
@@ -84,8 +84,8 @@
 	public SignerInfo getTSASignerInfo(SignerInfo signerInfo);
 
 	/**
-	 * Checks if the certificates are valid for the specified signer.  If the signer has a singing time 
-	 * returned by {@link #getSigningTime(SignerInfo)} then that time is used to check the 
+	 * Checks if the certificates are valid for the specified signer.  If the signer has a singing time
+	 * returned by {@link #getSigningTime(SignerInfo)} then that time is used to check the
 	 * validity of the certificates; otherwise the current time is used.
 	 * @param signerInfo the signer info to check validity for.
 	 * @throws CertificateExpiredException if one of the certificates of this signer is expired
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentEntry.java
index 1905699..47603cf 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentEntry.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -21,7 +21,7 @@
  * A <code>SignedContentEntry</code> represents a content entry which may be
  * signed.
  * <p>
- * A <code>SignedContentEntry</code> object is intended to provide information about 
+ * A <code>SignedContentEntry</code> object is intended to provide information about
  * the signers of the content entry, and cannot be used to access the actual data of the entry.
  * </p>
  * <p>
@@ -46,7 +46,7 @@
 
 	/**
 	 * Returns true if the entry is signed; false otherwise.  This is a convenience method
-	 * equivalent to calling <code>{@link #getSignerInfos()}.length &gt; 0</code> 
+	 * equivalent to calling <code>{@link #getSignerInfos()}.length &gt; 0</code>
 	 * @return true if the content is signed
 	 */
 	public boolean isSigned();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentFactory.java
index c7dbc80..64bc245 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentFactory.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignedContentFactory.java
@@ -25,7 +25,7 @@
  * The framework will register a factory implementation as an OSGi service.
  * This service can be used to get <code>SignedContent</code> for a bundle.
  * It can also be used to get <code>SignedContent</code> for a repository file.
- * The supported formats for file repositories are jar files and  directories containing the 
+ * The supported formats for file repositories are jar files and  directories containing the
  * content of an extracted jar.
  * </p>
  * <p>
@@ -50,7 +50,7 @@
 
 	/**
 	 * Returns a <code>SignedContent</code> object for the specified bundle.
-	 * @param bundle the bundle to get a signed content for. 
+	 * @param bundle the bundle to get a signed content for.
 	 * @return signed content for the specified bundle.
 	 * @throws IOException if an IO exception occurs while reading the bundle content
 	 * @throws NoSuchProviderException if there's no security provider for the signed content
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignerInfo.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignerInfo.java
index 92243d9..4d62547 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignerInfo.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/signedcontent/SignerInfo.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -39,14 +39,14 @@
 	public Certificate getTrustAnchor();
 
 	/**
-	 * Returns true if the trust anchor has been authenticated.  This is a convenience 
+	 * Returns true if the trust anchor has been authenticated.  This is a convenience
 	 * method equivalent to calling <code>{@link #getTrustAnchor()} != null</code>
 	 * @return true if the the signer info is trusted
 	 */
 	public boolean isTrusted();
 
 	/**
-	 * Returns the <code>MessageDigest</code> algorithm used to verify content signed by this 
+	 * Returns the <code>MessageDigest</code> algorithm used to verify content signed by this
 	 * signer info.
 	 * @return the algorithm
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java
index fd100cd..3a30148 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -307,9 +307,9 @@
 		}
 
 		/**
-		 * Gets called by BundleFile during {@link BundleFile#getFile(String, boolean)}.  This method 
-		 * will allocate a File object where content of the specified path may be 
-		 * stored for this generation.  The returned File object may 
+		 * Gets called by BundleFile during {@link BundleFile#getFile(String, boolean)}.  This method
+		 * will allocate a File object where content of the specified path may be
+		 * stored for this generation.  The returned File object may
 		 * not exist if the content has not previously been stored.
 		 * @param path the path to the content to extract from the generation
 		 * @return a file object where content of the specified path may be stored.
@@ -320,14 +320,14 @@
 		}
 
 		/**
-		 * Gets called by BundleFile during {@link BundleFile#getFile(String, boolean)}.  This method 
-		 * will allocate a File object where content of the specified path may be 
-		 * stored for this generation.  The returned File object may 
+		 * Gets called by BundleFile during {@link BundleFile#getFile(String, boolean)}.  This method
+		 * will allocate a File object where content of the specified path may be
+		 * stored for this generation.  The returned File object may
 		 * not exist if the content has not previously been stored.
 		 * @param path the path to the content to extract from the generation
 		 * @param base the base path that is prepended to the path, may be null
 		 * @return a file object where content of the specified path may be stored.
-		 * @throws StorageException if the path will escape the persistent storage of 
+		 * @throws StorageException if the path will escape the persistent storage of
 		 * the generation starting at the specified base
 		 */
 		public File getExtractFile(String base, String path) {
@@ -556,7 +556,7 @@
 								return true;
 						break;
 					case 'I' :
-						if (line.startsWith("Implementation-Title: ") || line.startsWith("Implementation-Version: ") || line.startsWith("Implementation-Vendor: ")) //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ 
+						if (line.startsWith("Implementation-Title: ") || line.startsWith("Implementation-Version: ") || line.startsWith("Implementation-Vendor: ")) //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
 							return true;
 						break;
 				}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleLocalizationImpl.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleLocalizationImpl.java
index 28950e7..099ba2d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleLocalizationImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleLocalizationImpl.java
@@ -22,9 +22,9 @@
 import org.osgi.framework.Bundle;
 
 /**
- * The implementation of the service that gets ResourceBundle objects from a given 
- * bundle with a given locale. 
- * 
+ * The implementation of the service that gets ResourceBundle objects from a given
+ * bundle with a given locale.
+ *
  * <p>Internal class.</p>
  */
 
@@ -32,7 +32,7 @@
 	/**
 	 * The getLocalization method gets a ResourceBundle object for the given
 	 * locale and bundle.
-	 * 
+	 *
 	 * @return A <code>ResourceBundle</code> object for the given bundle and locale.
 	 * If null is passed for the locale parameter, the default locale is used.
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/FrameworkExtensionInstaller.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/FrameworkExtensionInstaller.java
index 59f5701..bcc1da3 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/FrameworkExtensionInstaller.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/FrameworkExtensionInstaller.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/ManifestLocalization.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/ManifestLocalization.java
index cf49f7e..ce0025b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/ManifestLocalization.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/ManifestLocalization.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/PermissionData.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/PermissionData.java
index abd867c..4b30874 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/PermissionData.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/PermissionData.java
@@ -107,7 +107,7 @@
 
 	/**
 	 * Returns the persistent array of encoded ConditionalPermissionInfo strings
-	 * @return an array of encoded ConditionalPermissionInfo strings or null 
+	 * @return an array of encoded ConditionalPermissionInfo strings or null
 	 * if none exist in persistent storage.
 	 */
 	public String[] getConditionalPermissionInfos() {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java
index 2d5893b..f64df7d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java
@@ -7,10 +7,10 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *      Christoph Laeubrich - Bug 527175 - Storage#getSystemContent() should first make the file absolute 
+ *      Christoph Laeubrich - Bug 527175 - Storage#getSystemContent() should first make the file absolute
  *******************************************************************************/
 package org.eclipse.osgi.storage;
 
@@ -577,7 +577,7 @@
 		if (in != null) {
 			return new URLConnection(null) {
 				/**
-				 * @throws IOException  
+				 * @throws IOException
 				 */
 				@Override
 				public void connect() throws IOException {
@@ -585,7 +585,7 @@
 				}
 
 				/**
-				 * @throws IOException  
+				 * @throws IOException
 				 */
 				@Override
 				public InputStream getInputStream() throws IOException {
@@ -1960,7 +1960,7 @@
 					// search the generation until we have searched them all
 					while (nextElement == null && curDataIndex < generationArray.length)
 						nextElement = generationArray[curDataIndex++].getEntry(curPath);
-					// we have searched all datas then advance to the next path 
+					// we have searched all datas then advance to the next path
 					if (curDataIndex >= generationArray.length) {
 						curPathIndex++;
 						curDataIndex = 0;
@@ -2062,7 +2062,7 @@
 		return buffer == null ? filePattern : buffer.toString();
 	}
 
-	// Use LinkedHashSet for optimized performance of contains() plus ordering 
+	// Use LinkedHashSet for optimized performance of contains() plus ordering
 	// guarantees.
 	private static LinkedHashSet<String> listEntryPaths(BundleFile bundleFile, String path, Filter patternFilter, Hashtable<String, String> patternProps, int options, LinkedHashSet<String> pathList) {
 		if (pathList == null)
@@ -2117,7 +2117,7 @@
 		// This has been worked around by the bundles loading the libraries in a particular order (and setting some LIB_PATH env).
 		// The one catch is that the libraries need to be in the same directory and they must use their original lib names.
 		//
-		// This bit of code attempts to do that by using the bundle ID as an ID for the temp dir along with an incrementing ID 
+		// This bit of code attempts to do that by using the bundle ID as an ID for the temp dir along with an incrementing ID
 		// in cases where the temp dir may already exist.
 		Long bundleID = new Long(generation.getBundleInfo().getBundleId());
 		for (int i = 0; i < Integer.MAX_VALUE; i++) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/StorageUtil.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/StorageUtil.java
index 634c069..a47980d 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/StorageUtil.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/StorageUtil.java
@@ -222,7 +222,7 @@
 	/**
 	 * To remain Java 6 compatible work around the unreliable renameTo() via
 	 * retries: http://bugs.java.com/view_bug.do?bug_id=6213298
-	 * 
+	 *
 	 * @param from
 	 * @param to
 	 */
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/SystemBundleFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/SystemBundleFile.java
index c959047..c679185 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/SystemBundleFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/SystemBundleFile.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleEntry.java
index 81ccd31..ffbde9a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleEntry.java
@@ -61,7 +61,7 @@
 
 	/**
 	 * Get a URL to the bundle entry that uses a common protocol (i.e. file:
-	 * jar: or http: etc.).  
+	 * jar: or http: etc.).
 	 * @return a URL to the bundle entry that uses a common protocol
 	 */
 	public abstract URL getLocalURL();
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFile.java
index 6fba2d6..7a964a2 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFile.java
@@ -26,7 +26,7 @@
 import org.eclipse.osgi.storage.url.bundleresource.Handler;
 
 /**
- * The BundleFile API is used by Adaptors to read resources out of an 
+ * The BundleFile API is used by Adaptors to read resources out of an
  * installed Bundle in the Framework.
  * <p/>
  * Clients wishing to modify or extend the functionality of this class at
@@ -43,7 +43,7 @@
 
 	/**
 	 * BundleFile constructor
-	 * @param basefile The File object where this BundleFile is 
+	 * @param basefile The File object where this BundleFile is
 	 * persistently stored.
 	 */
 	public BundleFile(File basefile) {
@@ -69,35 +69,35 @@
 	 */
 	abstract public BundleEntry getEntry(String path);
 
-	/** 
-	 * Performs the same function as calling 
+	/**
+	 * Performs the same function as calling
 	 * {@link #getEntryPaths(String, boolean)} with <code>recurse</code> equal
 	 * to <code>false</code>.
 	 * @param path path of the entry to locate in the bundle
 	 * @return an Enumeration of Strings that indicate the paths found or
-	 * null if the path does not exist. 
+	 * null if the path does not exist.
 	 */
 	public Enumeration<String> getEntryPaths(String path) {
 		return getEntryPaths(path, false);
 	}
 
-	/** 
-	 * Allows to access the entries of the bundle. 
-	 * Since the bundle content is usually a jar, this 
+	/**
+	 * Allows to access the entries of the bundle.
+	 * Since the bundle content is usually a jar, this
 	 * allows to access the jar contents.
-	 * 
+	 *
 	 * GetEntryPaths allows to enumerate the content of "path".
 	 * If path is a directory, it is equivalent to listing the directory
-	 * contents. The returned names are either files or directories 
-	 * themselves. If a returned name is a directory, it finishes with a 
+	 * contents. The returned names are either files or directories
+	 * themselves. If a returned name is a directory, it finishes with a
 	 * slash. If a returned name is a file, it does not finish with a slash.
 	 * @param path path of the entry to locate in the bundle
-	 * @param recurse - If <code>true</code>, provide entries for the files and 
+	 * @param recurse - If <code>true</code>, provide entries for the files and
 	 *        directories within the directory denoted by <code>path</code> plus
 	 *        all sub-directories and files; otherwise, provide only the entries
 	 *        within the immediate directory.
 	 * @return an Enumeration of Strings that indicate the paths found or
-	 * null if the path does not exist. 
+	 * null if the path does not exist.
 	 */
 	abstract public Enumeration<String> getEntryPaths(String path, boolean recurse);
 
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapper.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapper.java
index e9146e2..ee593eb 100755
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapper.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapper.java
@@ -22,12 +22,12 @@
 import org.eclipse.osgi.storage.BundleInfo;
 
 /**
- * A {@link BundleFile bundle file} decorator. 
+ * A {@link BundleFile bundle file} decorator.
  * <p/>
- * Clients wishing to modify or extend the behavior of a bundle file at runtime 
- * should extend this class instead. A hook is provided by the related {@link 
- * BundleFileWrapperFactoryHook abstract factory} class in response to a 
- * {@link BundleFileWrapperFactoryHook#wrapBundleFile(BundleFile, 
+ * Clients wishing to modify or extend the behavior of a bundle file at runtime
+ * should extend this class instead. A hook is provided by the related {@link
+ * BundleFileWrapperFactoryHook abstract factory} class in response to a
+ * {@link BundleFileWrapperFactoryHook#wrapBundleFile(BundleFile,
  * BundleInfo.Generation, boolean) call} from the framework.
  */
 public class BundleFileWrapper extends BundleFile {
@@ -36,7 +36,7 @@
 	/**
 	 * Creates a new <code>BundleFileWrapper</code> instance wrapping the
 	 * given {@link BundleFile bundle file}.
-	 * 
+	 *
 	 * @param bundleFile - The bundle file to wrap.
 	 * @throws NullPointerException - If the bundle file is <code>null</code>.
 	 */
@@ -67,7 +67,7 @@
 
 	/**
 	 * Get the wrapped bundle file.
-	 * 
+	 *
 	 * @return The wrapped bundle file.
 	 */
 	public BundleFile getBundleFile() {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapperChain.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapperChain.java
index 3421da4..1fcabe0 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapperChain.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/BundleFileWrapperChain.java
@@ -17,7 +17,7 @@
 import org.eclipse.osgi.internal.hookregistry.BundleFileWrapperFactoryHook;
 
 /**
- * Used to chain the BundleFile objects returned from {@link BundleFileWrapperFactoryHook}.  
+ * Used to chain the BundleFile objects returned from {@link BundleFileWrapperFactoryHook}.
  * This class is useful for traversing the chain of wrapped bundle files.
  */
 public class BundleFileWrapperChain extends BundleFileWrapper {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/CloseableBundleFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/CloseableBundleFile.java
index a06223c..73720b9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/CloseableBundleFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/CloseableBundleFile.java
@@ -84,7 +84,7 @@
 					// If the revision has been removed from the list of revisions then it has been deleted
 					// because the bundle has been uninstalled or updated
 					if (!r.getRevisions().getModuleRevisions().contains(r)) {
-						// instead of filling the log with errors about missing files from 
+						// instead of filling the log with errors about missing files from
 						// uninstalled/updated bundles just give it an info level
 						eventType = ContainerEvent.INFO;
 					}
@@ -148,7 +148,7 @@
 	 * Extracts a directory and all sub content to disk
 	 * @param dirName the directory name to extract
 	 * @return the File used to extract the content to.  A value
-	 * of <code>null</code> is returned if the directory to extract does 
+	 * of <code>null</code> is returned if the directory to extract does
 	 * not exist or if content extraction is not supported.
 	 */
 	File extractDirectory(String dirName) {
@@ -294,7 +294,7 @@
 			LinkedHashSet<String> result = new LinkedHashSet<>();
 			// Get all entries and add the ones of interest.
 			for (String entryPath : getPaths()) {
-				// Is the entry of possible interest? Note that 
+				// Is the entry of possible interest? Note that
 				// string.startsWith("") == true.
 				if (entryPath.startsWith(path)) {
 					// If we get here, we know that the entry is either (1) equal to
@@ -430,7 +430,7 @@
 	 * This method will ensure the bundle file is open,
 	 * call {@link #doGetInputStream(Object)} to get the
 	 * actual input stream, then if the bundle file limit
-	 * is enabled it will wrapper the input stream in a 
+	 * is enabled it will wrapper the input stream in a
 	 * special input stream that keeps track of active
 	 * input streams to prevent the bundle file from being
 	 * closed until the stream is closed (or a timeout happens).
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/DirZipBundleEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/DirZipBundleEntry.java
index 8e62379..288f436 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/DirZipBundleEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/DirZipBundleEntry.java
@@ -19,7 +19,7 @@
 import java.net.URL;
 
 /**
- * Represents a directory entry in a ZipBundleFile.  This object is used to 
+ * Represents a directory entry in a ZipBundleFile.  This object is used to
  * reference a directory entry in a ZipBundleFile when the directory entries are
  * not included in the zip file.
  */
@@ -40,7 +40,7 @@
 	}
 
 	/**
-	 * @throws IOException  
+	 * @throws IOException
 	 */
 	@Override
 	public InputStream getInputStream() throws IOException {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/MRUBundleFileList.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/MRUBundleFileList.java
index e6d8caf..15d6ac9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/MRUBundleFileList.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/MRUBundleFileList.java
@@ -72,8 +72,8 @@
 	}
 
 	/**
-	 * Adds a BundleFile which is about to be opened to the MRU list.  If 
-	 * the number of open BundleFiles == the fileLimit then the least 
+	 * Adds a BundleFile which is about to be opened to the MRU list.  If
+	 * the number of open BundleFiles == the fileLimit then the least
 	 * recently used BundleFile is closed.
 	 * @param bundleFile the bundle file about to be opened.
 	 * @return true if back pressure is needed
@@ -98,7 +98,7 @@
 					}
 			} else {
 				// numOpen has reached the fileLimit
-				// find the least recently used bundleFile and close it 
+				// find the least recently used bundleFile and close it
 				// and use its slot for the new bundleFile to be opened.
 				index = 0;
 				for (int i = 1; i < fileLimit; i++)
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/NestedDirBundleFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/NestedDirBundleFile.java
index 1167b9f..b37922b 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/NestedDirBundleFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/NestedDirBundleFile.java
@@ -143,7 +143,7 @@
 	}
 
 	/**
-	 * @throws IOException  
+	 * @throws IOException
 	 */
 	@Override
 	public void open() throws IOException {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleEntry.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleEntry.java
index 8dba5fd..b15a4cc 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleEntry.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleEntry.java
@@ -95,7 +95,7 @@
 		try {
 			return new URL("jar:" + bundleFile.basefile.toURL() + "!/" + zipEntry.getName()); //$NON-NLS-1$//$NON-NLS-2$
 		} catch (MalformedURLException e) {
-			//This can not happen. 
+			//This can not happen.
 			return null;
 		}
 	}
@@ -108,7 +108,7 @@
 			if (file != null)
 				return file.toURL();
 		} catch (MalformedURLException e) {
-			//This can not happen. 
+			//This can not happen.
 		}
 		return null;
 	}
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleFile.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleFile.java
index d206899..3f668a7 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleFile.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/bundlefile/ZipBundleFile.java
@@ -50,7 +50,7 @@
 
 	/**
 	* Returns a ZipEntry for the bundle file. Must be called while holding the open lock.
-	* This method does not ensure that the ZipFile is opened. Callers may need to call getZipfile() prior to calling this 
+	* This method does not ensure that the ZipFile is opened. Callers may need to call getZipfile() prior to calling this
 	* method.
 	* @param path the path to an entry
 	* @return a ZipEntry or null if the entry does not exist
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleResourceHandler.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleResourceHandler.java
index 991f057..d377049 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleResourceHandler.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleResourceHandler.java
@@ -45,8 +45,8 @@
 		this.bundleEntry = bundleEntry;
 	}
 
-	/** 
-	 * Parse reference URL. 
+	/**
+	 * Parse reference URL.
 	 */
 	@Override
 	protected void parseURL(URL url, String str, int start, int end) {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleURLConverter.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleURLConverter.java
index 2e4afbc..d3aa6d9 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleURLConverter.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/BundleURLConverter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -23,7 +23,7 @@
 /**
  * The service implementation that allows bundleresource or bundleentry
  * URLs to be converted to native file URLs on the local file system.
- * 
+ *
  * <p>Internal class.</p>
  */
 public class BundleURLConverter implements URLConverter {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/Handler.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/Handler.java
index a6b1c4f..93c1e36 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/Handler.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/Handler.java
@@ -18,7 +18,7 @@
 import java.net.*;
 
 /**
- * URLStreamHandler for reference protocol.  A reference URL is used to hold a 
+ * URLStreamHandler for reference protocol.  A reference URL is used to hold a
  * reference to a local file URL.  A reference URL allows bundles to be installed
  * by reference.  This means the content of the bundle will not be copied.  Instead
  * the content of the bundle will be loaded from the reference location specified
@@ -44,7 +44,7 @@
 	}
 
 	/**
-	 * @throws IOException  
+	 * @throws IOException
 	 */
 	@Override
 	protected URLConnection openConnection(URL url) throws IOException {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/ReferenceURLConnection.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/ReferenceURLConnection.java
index 80041aa..d6b653f 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/ReferenceURLConnection.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/url/reference/ReferenceURLConnection.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -72,19 +72,19 @@
 		if (file.isFile()) {
 			// Try to open the file to ensure that this is possible: see bug 260217
 			// If access is denied, a FileNotFoundException with (access denied) message is thrown
-			// Here file.canRead() cannot be used, because on Windows it does not 
+			// Here file.canRead() cannot be used, because on Windows it does not
 			// return correct values - bug 6203387 in Sun's bug database
 			InputStream is = new FileInputStream(file);
 			is.close();
 		} else if (file.isDirectory()) {
 			// There is no straightforward way to check if a directory
-			// has read permissions - same issues for File.canRead() as above; 
+			// has read permissions - same issues for File.canRead() as above;
 			// try to list the files in the directory
 			File[] files = file.listFiles();
-			// File.listFiles() returns null if the directory does not exist 
+			// File.listFiles() returns null if the directory does not exist
 			// (which is not the current case, because we check that it exists and is directory),
 			// or if an IO error occurred during the listing of the files, including if the
-			// access is denied 
+			// access is denied
 			if (files == null)
 				throw new FileNotFoundException(file.toString() + " (probably access denied)"); //$NON-NLS-1$
 		} else {
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/util/TextProcessor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/util/TextProcessor.java
index 69f2e91..f871c4c 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/util/TextProcessor.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/util/TextProcessor.java
@@ -1,13 +1,13 @@
 /*******************************************************************************
  * Copyright (c) 2006, 2012 IBM Corporation and others.
  *
- * This program and the accompanying materials 
+ * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,7 +27,7 @@
  * its semantic meaning and conforms with the Unicode BiDi algorithm within each
  * segment.
  * </p>
- * 
+ *
  * @since 3.2
  * @noextend This class is not intended to be subclassed by clients.
  */
@@ -71,7 +71,7 @@
 	// whether or not processing is needed
 	private static boolean IS_PROCESSING_NEEDED = false;
 
-	// constant used to indicate an LRM need not precede a delimiter 
+	// constant used to indicate an LRM need not precede a delimiter
 	private static final int INDEX_NOT_SET = 999999999;
 
 	static {
@@ -91,7 +91,7 @@
 	 * substitution based on the locale. This is equivalent to calling
 	 * <code>process(String, String)</code> with the default set of
 	 * delimiters.
-	 * 
+	 *
 	 * @param text
 	 *            the text to be processed
 	 * @return the manipulated string
@@ -144,7 +144,7 @@
 	 * <code>String.length()</code> called on the resulting string will not
 	 * return the same values as would be returned for the original string.
 	 * </p>
-	 * 
+	 *
 	 * @param str
 	 *            the text to process, if <code>null</code> return the string
 	 *            as it was passed in
@@ -185,7 +185,7 @@
 			} else if (Character.isDigit(ch)) {
 				if (delimIndex != INDEX_NOT_SET) {
 					// consecutive neutral and weak directional characters
-					// explicitly force direction to be LRM					
+					// explicitly force direction to be LRM
 					target.insert(delimIndex, LRM);
 					delimIndex = INDEX_NOT_SET;
 					isLastRTL = false;
@@ -195,7 +195,7 @@
 					isStringBidi = true;
 					if (delimIndex != INDEX_NOT_SET) {
 						// neutral character followed by strong right directional character
-						// explicitly force direction to be LRM	
+						// explicitly force direction to be LRM
 						target.insert(delimIndex, LRM);
 						delimIndex = INDEX_NOT_SET;
 					}
@@ -211,10 +211,10 @@
 		/*
 		 * TextProcessor is not aware of the orientation of the component owning
 		 * the processed string. Enclose the string in LRE/PDF in either of 2
-		 * cases: 
+		 * cases:
 		 * (1) The string contains BiDi characters - implying that the
-		 * string appearance depends on the basic orientation 
-		 * (2) The runtime locale is BiDi AND either the string does not start with 
+		 * string appearance depends on the basic orientation
+		 * (2) The runtime locale is BiDi AND either the string does not start with
 		 * an LTR character or it ends with LTR char or digit.
 		 */
 		if (isStringBidi || !Character.isLetter(str.charAt(0)) || isNeutral(str.charAt(str.length() - 1))) {
@@ -226,12 +226,12 @@
 	}
 
 	/**
-	 * Removes directional marker characters in the given string that were inserted by 
+	 * Removes directional marker characters in the given string that were inserted by
 	 * utilizing the <code>process(String)</code> or <code>process(String, String)</code>
 	 * methods.
-	 * 
+	 *
 	 * @param str string with directional markers to remove
-	 * @return string with no directional markers 
+	 * @return string with no directional markers
 	 * @see #process(String)
 	 * @see #process(String, String)
 	 * @since 3.3
@@ -261,7 +261,7 @@
 	/**
 	 * Return the string containing all the default delimiter characters to be
 	 * used to segment a given string.
-	 * 
+	 *
 	 * @return delimiter string
 	 */
 	public static String getDefaultDelimiters() {
@@ -275,11 +275,11 @@
 		/*
 		 * Cannot use Character.getDirectionality() since the OSGi library can
 		 * be compiled with execution environments that pre-date that API.
-		 * 
+		 *
 		 * The first range of characters is Unicode Hebrew and Arabic
 		 * characters. The second range of characters is Unicode Hebrew and
 		 * Arabic presentation forms.
-		 * 
+		 *
 		 * NOTE: Farsi and Urdu fall within the Arabic scripts.
 		 */
 		return (((c >= 0x05d0) && (c <= 0x07b1)) || ((c >= 0xfb1d) && (c <= 0xfefc)));
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogEntry.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogEntry.java
index b87daeb..5c9501f 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogEntry.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogEntry.java
@@ -16,7 +16,7 @@
 /**
  * Extends the OSGi Log Services <code>LogEntry</code> object to provide additional context information.
  * Otherwise similarly accessible by registering a <code>LogListener</code> object.
- * 
+ *
  * @ThreadSafe
  * @see LogListener
  * @since 3.7
@@ -26,7 +26,7 @@
 	/**
 	 * Returns the logger name associated with this <code>LogEntry</code>
 	 * object.
-	 * 
+	 *
 	 * @return <code>String</code> containing the logger name associated with this
 	 *         <code>LogEntry</code> object;<code>null</code> if no logger name is
 	 *         associated with this <code>LogEntry</code> object.
@@ -37,7 +37,7 @@
 	/**
 	 * Returns the context associated with this <code>LogEntry</code>
 	 * object.
-	 * 
+	 *
 	 * @return <code>Object</code> containing the context associated with this
 	 *         <code>LogEntry</code> object;<code>null</code> if no context is
 	 *         associated with this <code>LogEntry</code> object.
@@ -47,7 +47,7 @@
 	/**
 	 * Returns the thread id of the logging thread associated with this <code>LogEntry</code>
 	 * object.
-	 * 
+	 *
 	 * @return <code>long</code> containing the thread id associated with this
 	 *         <code>LogEntry</code> object.
 	 */
@@ -56,7 +56,7 @@
 	/**
 	 * Returns the thread name of the logging thread associated with this <code>LogEntry</code>
 	 * object.
-	 * 
+	 *
 	 * @return <code>String</code> containing the message associated with this
 	 *         <code>LogEntry</code> object.
 	 */
@@ -64,8 +64,8 @@
 
 	/**
 	 * Returns the log sequence number associated with this <code>LogEntry</code>
-	 * object. 
-	 * 
+	 * object.
+	 *
 	 * @return <code>long</code> containing the sequence number associated with this
 	 *         <code>LogEntry</code> object.
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogReaderService.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogReaderService.java
index 2cdf638..909c278 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogReaderService.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogReaderService.java
@@ -21,13 +21,13 @@
 public interface ExtendedLogReaderService extends LogReaderService {
 	/**
 	 * Subscribes to <code>LogEntry</code> objects.
-	 * 
+	 *
 	 * <p>
 	 * This method registers a <code>LogListener</code> object with the Log Reader
 	 * Service with a <code>LogFilter</code> to allow pre-filtering of interesting log entries.
 	 * The <code>LogListener.logged(LogEntry)</code> method will be
 	 * called for each <code>LogEntry</code> object placed into the log that matches the filter.
-	 * 
+	 *
 	 * @param listener A <code>LogListener</code> object to register; the
 	 *        <code>LogListener</code> object is used to receive <code>LogEntry</code>
 	 *        objects.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogService.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogService.java
index 698088f..8f463ec 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogService.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/ExtendedLogService.java
@@ -25,9 +25,9 @@
 
 	/**
 	 * Returns the <code>Logger<code> object associated with this logger name for the bundle that retrieved this log service.
-	 * If loggerName is null the default <code>Logger</code> for this bundle is returned. 
-	 * 
-	 * @param loggerName The logger name. 
+	 * If loggerName is null the default <code>Logger</code> for this bundle is returned.
+	 *
+	 * @param loggerName The logger name.
 	 * @return <code>Logger</code> associated with the logger name.
 	 */
 	@Override
@@ -35,8 +35,8 @@
 
 	/**
 	 * Returns the logger associated with this logger name and bundle.
-	 * 
-	 * @param loggerName The logger name. 
+	 *
+	 * @param loggerName The logger name.
 	 * @param bundle The bundles associated with this logger. If null the bundle that retrieved this log service is used.
 	 * @return <code>Logger</code> associated with the logger name.
 	* @throws SecurityException if the caller does not have <code>LogPermission[*,LOG]</code>.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/LogPermission.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/LogPermission.java
index 70ce208..6c4dd3d 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/LogPermission.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/LogPermission.java
@@ -15,9 +15,9 @@
 
 /**
  * Indicates a bundle's authority to log on behalf of other bundles.
- * 
+ *
  * This permission has only a single action: LOG.
- * 
+ *
  * @ThreadSafe
  * @since 3.7
  */
@@ -32,7 +32,7 @@
 
 	/**
 	 * Create a new LogPermission.
-	 * 
+	 *
 	 * @param name Name must be &quot;*&quot;.
 	 * @param actions <code>log</code> or &quot;*&quot;.
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/Logger.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/Logger.java
index e03633f..b1caf3b 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/Logger.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/equinox/log/Logger.java
@@ -44,7 +44,7 @@
 	/**
 	 * Extends the <code>LogService</code>
 	 * Logs a message with a context object
-	 * 
+	 *
 	 * @param context The context object this message is associated with.
 	 * @param level The log level or severity of the message.
 	 * @param message A human readable string to associate with log entry.
@@ -55,8 +55,8 @@
 	/**
 	 * Logs a message with an exception associated and a
 	 * context object.
-	 * 
-	 * 
+	 *
+	 *
 	 * @param context The context object this message is associated with.
 	 * @param level The log level or severity of the message.
 	 * @param message A human readable string to associate with log entry.
@@ -66,10 +66,10 @@
 	public void log(Object context, int level, String message, Throwable exception);
 
 	/**
-	 * Pre-checks if there are LogListeners who are listening for a matching log entry from this <code>Logger</code>. 
-	 * 
+	 * Pre-checks if there are LogListeners who are listening for a matching log entry from this <code>Logger</code>.
+	 *
 	 * @param level The log level or severity of the message.
-	 * @return <code>boolean</code> True if there a LogListener listening that can handle a log entry for this log level; false otherwise. 
+	 * @return <code>boolean</code> True if there a LogListener listening that can handle a log entry for this log level; false otherwise.
 	 * @see ExtendedLogReaderService#addLogListener(org.osgi.service.log.LogListener, LogFilter)
 	 * @see LogFilter
 	 */
@@ -78,7 +78,7 @@
 	/**
 	 * Returns the name associated with this <code>Logger</code>
 	 * object.
-	 * 
+	 *
 	 * @return <code>String</code> containing the name associated with this
 	 *         <code>Logger</code> object;<code>null</code> if no name is
 	 *         associated.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/CommandInterpreter.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/CommandInterpreter.java
index 844a17c..a4b711d 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/CommandInterpreter.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/CommandInterpreter.java
@@ -17,7 +17,7 @@
 import java.util.Dictionary;
 import org.osgi.framework.Bundle;
 
-/**	
+/**
  * A command interpreter is a shell that can interpret command
  * lines. This object is passed as parameter when a CommandProvider
  * is invoked.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/ConsoleSession.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/ConsoleSession.java
index cdfedce..cbfab74 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/ConsoleSession.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/console/ConsoleSession.java
@@ -20,13 +20,13 @@
 /**
  * A console session service provides the input and output to a single console session.
  * The input will be used by the console to read in console commands.  The output will
- * be used to print the results of console commands. 
+ * be used to print the results of console commands.
  * <p>
- * The console session must be registered as an OSGi service in order to be associated 
- * with a console instance. The console implementation will discover any console session 
- * services and will create a new console instance using the console session for input and 
- * output.  When a session is closed then the console session service will be unregistered 
- * and the console instance will terminate and be disposed of.  The console instance will 
+ * The console session must be registered as an OSGi service in order to be associated
+ * with a console instance. The console implementation will discover any console session
+ * services and will create a new console instance using the console session for input and
+ * output.  When a session is closed then the console session service will be unregistered
+ * and the console instance will terminate and be disposed of.  The console instance will
  * also terminate if the console session service is unregistered for any reason.
  * </p>
  * @since 3.6
@@ -48,7 +48,7 @@
 			try {
 				current.unregister();
 			} catch (IllegalStateException e) {
-				// This can happen if the service is in the process of being 
+				// This can happen if the service is in the process of being
 				// unregistered or if another thread unregistered the service.
 				// Ignoring the exception.
 			}
@@ -56,8 +56,8 @@
 	}
 
 	/**
-	 * Called by the {@link #close()} method to free resources associated 
-	 * with this console session.  For example, closing the streams 
+	 * Called by the {@link #close()} method to free resources associated
+	 * with this console session.  For example, closing the streams
 	 * associated with the input and output for this session.
 	 * @noreference This method is not intended to be referenced by clients.
 	 */
@@ -72,7 +72,7 @@
 	public abstract InputStream getInput();
 
 	/**
-	 * Returns the output for this console session.  This output will be 
+	 * Returns the output for this console session.  This output will be
 	 * used to write the results of console commands.
 	 * @return the output for this console session.
 	 * @noreference This method is not intended to be referenced by clients.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java
index 4625925..321aaac 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/CopyOnWriteIdentityMap.java
@@ -20,10 +20,10 @@
  * A copy-on-write identity map. Write operations result in copying the underlying data so that
  * simultaneous read operations are not affected.
  * This allows for safe, unsynchronized traversal.
- * 
+ *
  * <p>
  * Note: This class uses identity for key and value comparison, not equals.
- * 
+ *
  * @since 3.5
  */
 public class CopyOnWriteIdentityMap<K, V> implements Map<K, V> {
@@ -34,7 +34,7 @@
 	private static final Entry[] emptyArray = new Entry[0];
 
 	/**
-	 * The array of entries. This field is volatile so it can be 
+	 * The array of entries. This field is volatile so it can be
 	 * accessed from unsynchronized reader methods.
 	 */
 	private volatile Entry<K, V>[] entries;
@@ -106,7 +106,7 @@
 
 	/**
 	 * Add all the entries from the specified map to this map.
-	 * 
+	 *
 	 * @param source The map whose entries are to be added to this map.
 	 */
 	@Override
@@ -133,7 +133,7 @@
 	/**
 	 * Add all the keys from the specified array to this map with the value
 	 * <code>null</code>.
-	 * 
+	 *
 	 * @param keys The array of keys to be added to this map.
 	 */
 	public <L extends K> void putAll(L[] keys) {
@@ -151,7 +151,7 @@
 
 	/**
 	 * Add all the entries to this map.
-	 * 
+	 *
 	 * @param toCopy Array of entries to add to this map.
 	 */
 	private synchronized void putAll(Entry<? extends K, ? extends V>[] toCopy) {
@@ -187,7 +187,7 @@
 	 * Key objects are compared using identity.
 	 *
 	 * @param key The key object to be removed from the map.
-	 * @return <code>null</code> if the key was not in the list. 
+	 * @return <code>null</code> if the key was not in the list.
 	 * Otherwise, the value associated with the key.
 	 * @throws IllegalArgumentException If key is null.
 	 */
@@ -230,7 +230,7 @@
 
 	/**
 	 * Remove all entries from the map.
-	 * 
+	 *
 	 */
 	@Override
 	public synchronized void clear() {
@@ -259,7 +259,7 @@
 
 	/**
 	 * Is the map empty?
-	 * 
+	 *
 	 * @return <code>true</code> if the list is empty.
 	 */
 	@Override
@@ -269,7 +269,7 @@
 
 	/**
 	 * Return the number of entries in the map.
-	 * 
+	 *
 	 * @return The number of entries in the map.
 	 */
 	@Override
@@ -280,7 +280,7 @@
 	/**
 	 * Return the value object for the specified key.
 	 * Keys are compared using identity.
-	 * 
+	 *
 	 * @param key The key object.
 	 * @return The value object for the specified key.
 	 * @throws IllegalArgumentException If key is null.
@@ -302,7 +302,7 @@
 	/**
 	 * Check if the map contains the specified key.
 	 * Keys are compared using identity.
-	 * 
+	 *
 	 * @param key The key object.
 	 * @return <code>true</code> if the specified key is in the map.
 	 * @throws IllegalArgumentException If key is null.
@@ -324,7 +324,7 @@
 	/**
 	 * Check if the map contains the specified value.
 	 * Values are compared using identity.
-	 * 
+	 *
 	 * @param value The value object.
 	 * @return <code>true</code> if the specified value is in the map.
 	 */
@@ -341,7 +341,7 @@
 	/**
 	 * Returns a snapshot of the entries in this map.
 	 * Changes to the returned set or this map will not affect each other.
-	 * 
+	 *
 	 * @return A Set of Map.Entry for each entry in this map.
 	 * The entries returned by the set cannot be modified.
 	 */
@@ -353,7 +353,7 @@
 	/**
 	 * Returns a snapshot of the keys in this map.
 	 * Changes to the returned set or this map will not affect each other.
-	 * 
+	 *
 	 * @return A Set of the key objects in this map
 	 */
 	@Override
@@ -364,7 +364,7 @@
 	/**
 	 * Returns a snapshot of the values in this map.
 	 * Changes to the returned set or this map will not affect each other.
-	 * 
+	 *
 	 * @return A Collection of the value objects in this map.
 	 */
 	@Override
@@ -439,7 +439,7 @@
 
 	/**
 	 * A snapshot of the entries in the map. This snapshot used by
-	 * the map collection views. Changes made by the collection 
+	 * the map collection views. Changes made by the collection
 	 * views only mutate the snapshot and not the map. The collection
 	 * views only allow removal not addition.
 	 */
@@ -516,7 +516,7 @@
 			}
 		}
 
-		/** 
+		/**
 		 * Entry set iterator over the snapshot.
 		 */
 		private final class EntryIterator extends SnapshotIterator<Map.Entry<K, V>> {
@@ -572,7 +572,7 @@
 			}
 		}
 
-		/** 
+		/**
 		 * Key set iterator over the snapshot.
 		 */
 		private final class KeyIterator extends SnapshotIterator<K> {
@@ -628,7 +628,7 @@
 			}
 		}
 
-		/** 
+		/**
 		 * Value collection iterator over the snapshot.
 		 */
 		private final class ValueIterator extends SnapshotIterator<V> {
@@ -642,7 +642,7 @@
 			}
 		}
 
-		/** 
+		/**
 		 * Base iterator class handling removal and concurrent modifications.
 		 */
 		private abstract class SnapshotIterator<E> implements Iterator<E> {
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java
index 4d802f2..da51c2b 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventDispatcher.java
@@ -27,7 +27,7 @@
 	 * This method is called once for each listener.
 	 * This method must cast the event listener object to the appropriate listener
 	 * class for the event type and call the appropriate listener method.
-	 * 
+	 *
 	 * <p>The method should properly log/handle any exceptions thrown by the called
 	 * listener. The EventManager will ignore any Throwable thrown by this method
 	 * in order to continue delivery of the event to the next listener.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java
index e99af15..9779cd9 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventListeners.java
@@ -18,12 +18,12 @@
 import java.util.Set;
 
 /**
- * This class manages a list of listeners. 
- * 
+ * This class manages a list of listeners.
+ *
  * Listeners may be added or removed as necessary.
- * 
+ *
  * This class uses identity for comparison, not equals.
- * 
+ *
  * @since 3.1
  * @deprecated As of 3.5. Replaced by CopyOnWriteIdentityMap.
  * @noextend This class is not intended to be subclassed by clients.
@@ -76,7 +76,7 @@
 
 	/**
 	 * Remove all listeners from the list.
-	 * 
+	 *
 	 * This method calls the clear method.
 	 */
 	public void removeAllListeners() {
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java
index e35f244..32e1067 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/EventManager.java
@@ -26,8 +26,8 @@
  * ListenerQueue for dispatching events. CopyOnWriteIdentityMap objects
  * must be used to manage listener lists.
  *
- * <p>This example uses the fictitious SomeEvent class and shows how to use this package 
- * to deliver a SomeEvent to a set of SomeEventListeners.  
+ * <p>This example uses the fictitious SomeEvent class and shows how to use this package
+ * to deliver a SomeEvent to a set of SomeEventListeners.
  * <pre>
  *
  * 	// Create an EventManager with a name for an asynchronous event dispatch thread
@@ -43,7 +43,7 @@
  *	ListenerQueue listenerQueue = new ListenerQueue(eventManager);
  *	// Add the listeners to the queue and associate them with the event dispatcher
  *	listenerQueue.queueListeners(eventListeners.entrySet(), new EventDispatcher() {
- *		public void dispatchEvent(Object eventListener, Object listenerObject, 
+ *		public void dispatchEvent(Object eventListener, Object listenerObject,
  *                                    int eventAction, Object eventObject) {
  * 			try {
  *				(SomeEventListener)eventListener.someEventOccured((SomeEvent)eventObject);
@@ -52,51 +52,51 @@
  * 			}
  *		}
  *	});
- *	// Deliver the event to the listeners. 
+ *	// Deliver the event to the listeners.
  *	listenerQueue.dispatchEventAsynchronous(0, new SomeEvent());
- *		
+ *
  *	// Remove the listener from the listener list
  *	eventListeners.remove(someEventListener);
  *
  *	// Close EventManager to clean when done to terminate async event dispatch thread.
- *	// Note that closing the event manager while asynchronously delivering events 
- *	// may cause some events to not be delivered before the async event dispatch 
+ *	// Note that closing the event manager while asynchronously delivering events
+ *	// may cause some events to not be delivered before the async event dispatch
  *	// thread terminates
  *	eventManager.close();
  * </pre>
- * 
+ *
  * <p>At first glance, this package may seem more complicated than necessary
  * but it has support for some important features. The listener list supports
  * companion objects for each listener object. This is used by the OSGi framework
  * to create wrapper objects for a listener which are passed to the event dispatcher.
  * The ListenerQueue class is used to build a snap shot of the listeners prior to beginning
- * event dispatch. 
- * 
- * The OSGi framework uses a 2 level listener list for each listener type (4 types). 
- * Level one is managed per framework instance and contains the list of BundleContexts which have 
- * registered a listener. Level 2 is managed per BundleContext for the listeners in that 
- * context. This allows all the listeners of a bundle to be easily and atomically removed from 
- * the level one list. To use a "flat" list for all bundles would require the list to know which 
- * bundle registered a listener object so that the list could be traversed when stopping a bundle 
- * to remove all the bundle's listeners. 
- * 
- * When an event is fired, a snapshot list (ListenerQueue) must be made of the current listeners before delivery 
- * is attempted. The snapshot list is necessary to allow the listener list to be modified while the 
+ * event dispatch.
+ *
+ * The OSGi framework uses a 2 level listener list for each listener type (4 types).
+ * Level one is managed per framework instance and contains the list of BundleContexts which have
+ * registered a listener. Level 2 is managed per BundleContext for the listeners in that
+ * context. This allows all the listeners of a bundle to be easily and atomically removed from
+ * the level one list. To use a "flat" list for all bundles would require the list to know which
+ * bundle registered a listener object so that the list could be traversed when stopping a bundle
+ * to remove all the bundle's listeners.
+ *
+ * When an event is fired, a snapshot list (ListenerQueue) must be made of the current listeners before delivery
+ * is attempted. The snapshot list is necessary to allow the listener list to be modified while the
  * event is being delivered to the snapshot list. The memory cost of the snapshot list is
- * low since the ListenerQueue object uses the copy-on-write semantics 
+ * low since the ListenerQueue object uses the copy-on-write semantics
  * of the CopyOnWriteIdentityMap. This guarantees the snapshot list is never modified once created.
- * 
+ *
  * The OSGi framework also uses a 2 level dispatch technique (EventDispatcher).
- * Level one dispatch is used by the framework to add the level 2 listener list of each 
+ * Level one dispatch is used by the framework to add the level 2 listener list of each
  * BundleContext to the snapshot in preparation for delivery of the event.
- * Level 2 dispatch is used as the final event deliverer and must cast the listener 
+ * Level 2 dispatch is used as the final event deliverer and must cast the listener
  * and event objects to the proper type before calling the listener. Level 2 dispatch
- * will cancel delivery of an event 
+ * will cancel delivery of an event
  * to a bundle that has stopped between the time the snapshot was created and the
  * attempt was made to deliver the event.
- * 
- * <p> The highly dynamic nature of the OSGi framework had necessitated these features for 
- * proper and efficient event delivery.  
+ *
+ * <p> The highly dynamic nature of the OSGi framework had necessitated these features for
+ * proper and efficient event delivery.
  * @since 3.1
  * @noextend This class is not intended to be subclassed by clients.
  */
@@ -110,9 +110,9 @@
 	 */
 	private EventThread<?, ?, ?> thread;
 
-	/** 
-	 * Once closed, an attempt to create a new EventThread will result in an 
-	 * IllegalStateException. 
+	/**
+	 * Once closed, an attempt to create a new EventThread will result in an
+	 * IllegalStateException.
 	 */
 	private boolean closed;
 
@@ -167,8 +167,8 @@
 	 * This method can be called to release any resources associated with this
 	 * EventManager.
 	 * <p>
-	 * Closing this EventManager while it is asynchronously delivering events 
-	 * may cause some events to not be delivered before the async event dispatch 
+	 * Closing this EventManager while it is asynchronously delivering events
+	 * may cause some events to not be delivered before the async event dispatch
 	 * thread terminates.
 	 */
 	public synchronized void close() {
@@ -291,8 +291,8 @@
 		private volatile boolean running;
 
 		/**
-		 * Constructor for the event thread. 
-		 * @param threadName Name of the EventThread 
+		 * Constructor for the event thread.
+		 * @param threadName Name of the EventThread
 		 */
 		EventThread(ThreadGroup threadGroup, String threadName) {
 			super(threadGroup, threadName == null ? getNextName() : threadName);
@@ -308,8 +308,8 @@
 		}
 
 		/**
-		 * Constructor for the event thread. 
-		 * @param threadName Name of the EventThread 
+		 * Constructor for the event thread.
+		 * @param threadName Name of the EventThread
 		 */
 		EventThread(String threadName) {
 			this(null, threadName);
@@ -344,7 +344,7 @@
 					}
 					EventManager.dispatchEvent(item.listeners, item.dispatcher, item.action, item.object);
 					// Bug 299589: since the call to getNextEvent() will eventually block for a long time, we need to make sure that the 'item'
-					// variable is cleared of the previous value before the call to getNextEvent(). See VM SPec 2.5.7 for why the compiler 
+					// variable is cleared of the previous value before the call to getNextEvent(). See VM SPec 2.5.7 for why the compiler
 					// will not automatically clear this variable for each loop iteration.
 					item = null;
 				}
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java
index 37a0f18..69973aa 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/eventmgr/ListenerQueue.java
@@ -32,8 +32,8 @@
  * can then be synchronously or asynchronously delivered to the list of
  * listeners. After the event has been dispatched for delivery, the
  * ListenerQueue object should be discarded as it is likely the list of listeners is stale.
- * A new ListenerQueue object should be created when it is time to deliver 
- * another event. The Sets used to build the list of listeners must not change after being 
+ * A new ListenerQueue object should be created when it is time to deliver
+ * another event. The Sets used to build the list of listeners must not change after being
  * added to the list.
  * @since 3.1
  */
@@ -48,7 +48,7 @@
 	private final Map<Set<Map.Entry<K, V>>, EventDispatcher<K, V, E>> queue;
 
 	/**
-	 * Once the listener queue has been used to dispatch an event, 
+	 * Once the listener queue has been used to dispatch an event,
 	 * you cannot add modify the queue.
 	 * Access to this field must be protected by a synchronized region.
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFile.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFile.java
index ca2b716..7cd5271 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFile.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFile.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,17 +27,17 @@
  */
 public class ReliableFile {
 	/**
-	 * Open mask. Obtain the best data stream available. If the primary data 
-	 * contents are invalid (corrupt, missing, etc.), the data for a prior 
-	 * version may be used. 
+	 * Open mask. Obtain the best data stream available. If the primary data
+	 * contents are invalid (corrupt, missing, etc.), the data for a prior
+	 * version may be used.
 	 * An IOException will be thrown if a valid data content can not be
-	 * determined. 
+	 * determined.
 	 * This is mutually exclusive with <code>OPEN_FAIL_ON_PRIMARY</code>.
 	 */
 	public static final int OPEN_BEST_AVAILABLE = 0;
 	/**
-	 * Open mask. Obtain only the data stream for the primary file where any other 
-	 * version will not be valid. This should be used for data streams that are 
+	 * Open mask. Obtain only the data stream for the primary file where any other
+	 * version will not be valid. This should be used for data streams that are
 	 * managed as a group as a prior contents may not match the other group data.
 	 * If the primary data is not invalid, a IOException will be thrown.
 	 * This is mutually exclusive with <code>OPEN_BEST_AVAILABLE</code>.
@@ -62,14 +62,14 @@
 
 	/**
 	 * Property to set the maximum size of a file that will be buffered. When calculating a ReliableFile
-	 * checksum, if the file is this size or small, ReliableFile will read the file contents into a 
+	 * checksum, if the file is this size or small, ReliableFile will read the file contents into a
 	 * <code>BufferedInputStream</code> and reset the buffer to avoid having to read the data from the
 	 * media twice. Since this method require memory for storage, it is limited to this size. The default
 	 * maximum is 128-KBytes.
 	 */
 	public static final String PROP_MAX_BUFFER = "osgi.reliableFile.maxInputStreamBuffer"; //$NON-NLS-1$
 	/**
-	 * The maximum number of generations to keep as backup files in case last generation 
+	 * The maximum number of generations to keep as backup files in case last generation
 	 * file is determined to be invalid.
 	 */
 	public static final String PROP_MAX_GENERATIONS = "osgi.ReliableFile.maxGenerations"; //$NON-NLS-1$
@@ -231,7 +231,7 @@
 	 * Returns an InputStream object for reading the target file.
 	 *
 	 * @param generation the maximum generation to evaluate
-	 * @param openMask mask used to open data. 
+	 * @param openMask mask used to open data.
 	 * are invalid (corrupt, missing, etc).
 	 * @return An InputStream object which can be used to read the target file.
 	 * @throws IOException If an error occurs preparing the file.
@@ -340,7 +340,7 @@
 
 	/**
 	 * Returns an OutputStream object for writing the target file.
-	 * 
+	 *
 	 * @param append append new data to an existing file.
 	 * @param appendGeneration specific generation of file to append from.
 	 * @return An OutputStream object which can be used to write the target file.
@@ -445,7 +445,7 @@
 		String name = referenceFile.getName();
 		File parent = new File(referenceFile.getParent());
 		int generationCount = generations.length;
-		// if a base file is in the list (0 in generations[]), we will 
+		// if a base file is in the list (0 in generations[]), we will
 		//  never delete these files, so don't count them in the old
 		//  generation count.
 		if (generations[generationCount - 1] == 0)
@@ -529,7 +529,7 @@
 
 	/**
 	 * Answers a boolean indicating whether or not the specified reliable file
-	 * exists on the underlying file system. This call only returns if a file 
+	 * exists on the underlying file system. This call only returns if a file
 	 * exists and not if the file contents are valid.
 	 * @param file returns true if the specified reliable file exists; otherwise false is returned
 	 *
@@ -556,7 +556,7 @@
 	}
 
 	/**
-	 * Returns the time that the reliable file was last modified. Only the time 
+	 * Returns the time that the reliable file was last modified. Only the time
 	 * of the last file generation is returned.
 	 * @param file the file to determine the time of.
 	 * @return time the file was last modified (see java.io.File.lastModified()).
@@ -590,7 +590,7 @@
 	/**
 	 * Returns the a version number of a reliable managed file. The version can be expected
 	 * to be unique for each successful file update.
-	 * 
+	 *
 	 * @param file the file to determine the version of.
 	 * @return a unique version of this current file. A value of -1 indicates the file does
 	 * not exist or an error occurred.
@@ -634,7 +634,7 @@
 	 * Get a list of ReliableFile base names in a given directory. Only files with a valid
 	 * ReliableFile generation are included.
 	 * @param directory the directory to inquire.
-	 * @return an array of ReliableFile names in the directory. 
+	 * @return an array of ReliableFile names in the directory.
 	 * @throws IOException if an error occurs.
 	 */
 	public static String[] getBaseFiles(File directory) throws IOException {
@@ -682,7 +682,7 @@
 	}
 
 	/**
-	 * Inform ReliableFile that a file has been updated outside of 
+	 * Inform ReliableFile that a file has been updated outside of
 	 * ReliableFile.
 	 * @param file
 	 */
@@ -710,10 +710,10 @@
 
 	/**
 	 * Returns the size of the ReliableFile signature + CRC at the end of the file.
-	 * This method should be called only after calling getInputStream() or 
+	 * This method should be called only after calling getInputStream() or
 	 * getOutputStream() methods.
 	 *
-	 * @return <code>int</code> size of the ReliableFIle signature + CRC appended 
+	 * @return <code>int</code> size of the ReliableFIle signature + CRC appended
 	 * to the end of the file.
 	 * @throws IOException if getInputStream() or getOutputStream has not been
 	 * called.
@@ -745,11 +745,11 @@
 	}
 
 	/**
-	 * Returns a Checksum object for the current file contents. This method 
-	 * should be called only after calling getInputStream() or 
+	 * Returns a Checksum object for the current file contents. This method
+	 * should be called only after calling getInputStream() or
 	 * getOutputStream() methods.
 	 *
-	 * @return Object implementing Checksum interface initialized to the 
+	 * @return Object implementing Checksum interface initialized to the
 	 * current file contents.
 	 * @throws IOException if getOutputStream for append has not been called.
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFileInputStream.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFileInputStream.java
index 2c514dc..089f0e6 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFileInputStream.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/internal/reliablefile/ReliableFileInputStream.java
@@ -30,17 +30,17 @@
 	 */
 	private ReliableFile reliable;
 
-	/** 
+	/**
 	 * size of crc and signature
 	 */
 	private int sigSize;
 
-	/** 
+	/**
 	 * current position reading from file
 	 */
 	private long readPos;
 
-	/** 
+	/**
 	 * total file length available for reading
 	 */
 	private long length;
@@ -72,7 +72,7 @@
 	/**
 	 * Constructs a new ReliableFileInputStream on the File <code>file</code>.  If the
 	 * file does not exist, the <code>FileNotFoundException</code> is thrown.
-	 * 
+	 *
 	 * @param file the File on which to stream reads.
 	 * @param generation a specific generation requested.
 	 * @param openMask mask used to open data.
@@ -84,10 +84,10 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param reliable The ReliableFile on which to read.
 	 * @param generation a specific generation requested.
-	 * @param openMask mask used to open data. 
+	 * @param openMask mask used to open data.
 	 * are invalid (corrupt, missing, etc).
 	 * @throws IOException If an error occurs opening the file.
 	 */
@@ -170,7 +170,7 @@
 
 	/**
 	 * Override default available method.
-	 * @throws IOException 
+	 * @throws IOException
 	 * @see FilterInputStream#available()
 	 */
 	@Override
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLog.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLog.java
index c098589..eb1ff48 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLog.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLog.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -19,18 +19,18 @@
 /**
  * The FramworkLog interface.  A FrameworkLog implementation is provided by the
  * FrameworkAdaptor and used by the Framework to log any error messages and
- * FrameworkEvents of type ERROR.  The FrameworkLog may persist the log messages 
+ * FrameworkEvents of type ERROR.  The FrameworkLog may persist the log messages
  * to the filesystem or allow other ways of accessing the log information.
  * @since 3.1
  * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface FrameworkLog {
 	/**
-	 * A service lookup constant (value "performance") indicating an 
-	 * implementation of the logging service that logs performance events. 
-	 * Create a filter with this property set to <code>"true"</code> in order to 
+	 * A service lookup constant (value "performance") indicating an
+	 * implementation of the logging service that logs performance events.
+	 * Create a filter with this property set to <code>"true"</code> in order to
 	 * obtain a performance log.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String SERVICE_PERFORMANCE = "performance"; //$NON-NLS-1$
@@ -50,28 +50,28 @@
 	/**
 	 * Sets the current Writer used to log messages to the specified
 	 * newWriter.  If append is set to true then the content
-	 * of the current Writer will be appended to the new Writer 
+	 * of the current Writer will be appended to the new Writer
 	 * if possible.
-	 * @param newWriter The Writer to use for logging messages. 
+	 * @param newWriter The Writer to use for logging messages.
 	 * @param append Indicates whether the content of the current Writer
-	 * used for logging messages should be appended to the end of the new 
+	 * used for logging messages should be appended to the end of the new
 	 * Writer.
 	 */
 	public void setWriter(Writer newWriter, boolean append);
 
-	/** 
+	/**
 	 * Sets the current File used to log messages to a FileWriter
-	 * using the specified File.  If append is set to true then the 
-	 * content of the current Writer will be appended to the 
+	 * using the specified File.  If append is set to true then the
+	 * content of the current Writer will be appended to the
 	 * new File if possible.
 	 * @param newFile The File to create a new FileWriter which will be
 	 * used for logging messages.
 	 * @param append Indicates whether the content of the current Writer
-	 * used for logging messages should be appended to the end of the new 
+	 * used for logging messages should be appended to the end of the new
 	 * File.
 	 * @throws IOException if any problem occurs while constructing a
-	 * FileWriter from the newFile.  If this exception is thrown the 
-	 * FrameworkLog will not be affected and will continue to use the 
+	 * FileWriter from the newFile.  If this exception is thrown the
+	 * FrameworkLog will not be affected and will continue to use the
 	 * current Writer to log messages.
 	 */
 	public void setFile(File newFile, boolean append) throws IOException;
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLogEntry.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLogEntry.java
index be7dab9..1a1dcb5 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLogEntry.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/framework/log/FrameworkLogEntry.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,21 +27,21 @@
 	 */
 	public static final int OK = 0;
 
-	/** 
+	/**
 	 * Severity constant (bit mask, value 1) indicating this log entry is informational only.
 	 * @see #getSeverity()
 	 * @since 3.2
 	 */
 	public static final int INFO = 0x01;
 
-	/** 
+	/**
 	 * Severity constant (bit mask, value 2) indicating this log entry represents a warning.
 	 * @see #getSeverity()
 	 * @since 3.2
 	 */
 	public static final int WARNING = 0x02;
 
-	/** 
+	/**
 	 * Severity constant (bit mask, value 4) indicating this log entry represents an error.
 	 * @see #getSeverity()
 	 * @since 3.2
@@ -57,7 +57,7 @@
 
 	// It would be nice to rename some of these fields but we cannot change the getter method
 	// names without breaking clients.  Changing only the field names would be confusing.
-	//TODO "entry" has another meaning here - title, summary, tag are better names 
+	//TODO "entry" has another meaning here - title, summary, tag are better names
 	private final String entry;
 	private final String message;
 	//TODO get rid of this
@@ -120,7 +120,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @return Returns the children.
 	 */
 	public FrameworkLogEntry[] getChildren() {
@@ -170,7 +170,7 @@
 	 * no children.
 	 * </p>
 	 *
-	 * @return the severity: one of <code>OK</code>, <code>ERROR</code>, 
+	 * @return the severity: one of <code>OK</code>, <code>ERROR</code>,
 	 * <code>INFO</code>, <code>WARNING</code>,  or <code>CANCEL</code>
 	 * @since 3.2
 	 */
@@ -191,7 +191,7 @@
 	/**
 	 * Returns the context associated with this <code>FrameworkLogEntry</code>
 	 * object.
-	 * 
+	 *
 	 * @return <code>Object</code> containing the context associated with this
 	 *         <code>FrameworkLogEntry</code> object;<code>null</code> if no context is
 	 *         associated with this <code>FrameworkLogEntry</code> object.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/LocationHelper.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/LocationHelper.java
index 19237ed..eaf93e2 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/LocationHelper.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/LocationHelper.java
@@ -1,13 +1,13 @@
 /*******************************************************************************
  * Copyright (c) 2006, 2016 IBM Corporation and others.
  *
- * This program and the accompanying materials 
+ * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -129,7 +129,7 @@
 	}
 
 	public static String decode(String urlString, boolean plusEncoded) {
-		//first encode '+' characters, because URLDecoder incorrectly converts 
+		//first encode '+' characters, because URLDecoder incorrectly converts
 		//them to spaces on certain class library implementations.
 		if (plusEncoded && urlString.indexOf('+') >= 0) {
 			int len = urlString.length();
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/Locker.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/Locker.java
index 217ad8c..7a64386 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/Locker.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/location/Locker.java
@@ -27,7 +27,7 @@
 
 	static class MockLocker implements Locker {
 		/**
-		 * @throws IOException  
+		 * @throws IOException
 		 */
 		@Override
 		public boolean lock() throws IOException {
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/messages/Msg.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/messages/Msg.java
index e145233..5434a0e 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/messages/Msg.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/messages/Msg.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/util/SupplementDebug.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/util/SupplementDebug.java
index 2e22d58..8583e4b 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/util/SupplementDebug.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/internal/util/SupplementDebug.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM - Initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/report/resolution/ResolutionReport.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/report/resolution/ResolutionReport.java
index bc731a1..df608ae 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/report/resolution/ResolutionReport.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/report/resolution/ResolutionReport.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -52,7 +52,7 @@
 					targetTriggers.add(revision);
 				}
 			}
-			
+
 		}
 
 		class DiagResolverHook implements ResolverHook, ResolutionReport.Listener {
@@ -70,7 +70,7 @@
 					Collection<BundleCapability> candidates) { }
 
 			public void end() { }
-			
+
 		}
 		public ResolverHook begin(Collection<BundleRevision> triggers) {
 			if (triggers.containsAll(targetTriggers)) {
@@ -85,7 +85,7 @@
 			return report;
 		}
 	}
- * </pre> 
+ * </pre>
  * @since 3.10
  */
 public interface ResolutionReport {
@@ -131,10 +131,10 @@
 		// TODO Can this make use of generics? Or should this be Map<String, Object>
 		// and each enum would define the key constants?
 		/**
-		 * Returns the data associated with this resolution report entry.  The 
+		 * Returns the data associated with this resolution report entry.  The
 		 * structure of the data is determined by the <code>Type</code>
 		 * of the entry and may by <code>null</code>.
-		 * 
+		 *
 		 * @return the data associated with this resolution report entry.
 		 * @see Type
 		 */
@@ -159,7 +159,7 @@
 
 	/**
 	 * Returns all resolution report entries associated with this report.
-	 * The key is the unresolved resource and the value is a list of 
+	 * The key is the unresolved resource and the value is a list of
 	 * report entries that caused the associated resource  to not be able to resolve.
 	 * @return all resolution report entries associated with this report.
 	 */
@@ -168,10 +168,10 @@
 	/**
 	 * Returns the resolution exception associated with the resolve process
 	 * or {@code null} if there is no resolution exception.  For some resolve
-	 * operations a resolution exception may not be thrown even if the 
+	 * operations a resolution exception may not be thrown even if the
 	 * resolve process could not resolve some resources.  For example, if
 	 * the resources are optional resources to resolve.
-	 * @return the resolution exception or {@code null} if there is 
+	 * @return the resolution exception or {@code null} if there is
 	 * no resolution exception.
 	 */
 	ResolutionException getResolutionException();
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/datalocation/Location.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/datalocation/Location.java
index 2bddc4f..8ca4cb0 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/datalocation/Location.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/datalocation/Location.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -17,12 +17,12 @@
 import java.net.URL;
 
 /**
- * A Location represents a URL which may have a default value, may be read only, may 
+ * A Location represents a URL which may have a default value, may be read only, may
  * or may not have a current value and may be cascaded on to a parent location.
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
- * 
+ *
  * @since 3.0
  * @noimplement This interface is not intended to be implemented by clients.
  */
@@ -31,7 +31,7 @@
 	/**
 	 * Constant which defines the filter string for acquiring the service which
 	 * specifies the instance location.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String INSTANCE_FILTER = "(&(objectClass=" + Location.class.getName() + ")(type=osgi.instance.area))"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -39,7 +39,7 @@
 	/**
 	 * Constant which defines the filter string for acquiring the service which
 	 * specifies the install location.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String INSTALL_FILTER = "(&(objectClass=" + Location.class.getName() + ")(type=osgi.install.area))"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -47,7 +47,7 @@
 	/**
 	 * Constant which defines the filter string for acquiring the service which
 	 * specifies the configuration location.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String CONFIGURATION_FILTER = "(&(objectClass=" + Location.class.getName() + ")(type=osgi.configuration.area))"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -55,7 +55,7 @@
 	/**
 	 * Constant which defines the filter string for acquiring the service which
 	 * specifies the user location.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String USER_FILTER = "(&(objectClass=" + Location.class.getName() + ")(type=osgi.user.area))"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -63,7 +63,7 @@
 	/**
 	 * Constant which defines the filter string for acquiring the service which
 	 * specifies the eclipse home location.
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public static final String ECLIPSE_HOME_FILTER = "(&(objectClass=" + Location.class.getName() + ")(type=eclipse.home.location))"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -71,7 +71,7 @@
 	/**
 	 * Returns <code>true</code> if this location allows a default value to be assigned
 	 * and <code>false</code> otherwise.
-	 * 
+	 *
 	 * @return whether or not this location can have a default value assigned
 	 */
 	public boolean allowsDefault();
@@ -80,24 +80,24 @@
 	 * Returns the default value of this location if any.  If no default is available then
 	 * <code>null</code> is returned. Note that even locations which allow defaults may still
 	 * return <code>null</code>.
-	 * 
+	 *
 	 * @return the default value for this location or <code>null</code>
 	 */
 	public URL getDefault();
 
 	/**
 	 * Returns the parent of this location or <code>null</code> if none is available.
-	 * 
+	 *
 	 * @return the parent of this location or <code>null</code>
 	 */
 	public Location getParentLocation();
 
 	/**
-	 * Returns the actual {@link URL} of this location.  If the location's value has been set, 
-	 * that value is returned.  If the value is not set and the location allows defaults, 
+	 * Returns the actual {@link URL} of this location.  If the location's value has been set,
+	 * that value is returned.  If the value is not set and the location allows defaults,
 	 * the value is set to the default and returned.  In all other cases <code>null</code>
 	 * is returned.
-	 * 
+	 *
 	 * @return the URL for this location or <code>null</code> if none
 	 */
 	public URL getURL();
@@ -105,7 +105,7 @@
 	/**
 	 * Returns <code>true</code> if this location has a value and <code>false</code>
 	 * otherwise.
-	 * 
+	 *
 	 * @return boolean value indicating whether or not the value is set
 	 */
 	public boolean isSet();
@@ -115,18 +115,18 @@
 	 * <code>false</code> otherwise.  The read only character
 	 * of a location is not in enforced in any way but rather expresses the intention of the
 	 * location's creator.
-	 * 
+	 *
 	 * @return boolean value indicating whether the location is read only
 	 */
 	public boolean isReadOnly();
 
 	/**
-	 * Sets and optionally locks the location's value to the given {@link URL}.  If the location 
+	 * Sets and optionally locks the location's value to the given {@link URL}.  If the location
 	 * already has a value an exception is thrown.  If locking is requested and fails, <code>false</code>
 	 * is returned and the {@link URL} of this location is not set.
-	 * 
+	 *
 	 * @param value the value of this location
-	 * @param lock whether or not to lock this location 
+	 * @param lock whether or not to lock this location
 	 * @return whether or not the location was successfully set and, if requested, locked.
 	 * @throws IllegalStateException if the location's value is already set
 	 * @deprecated use {@link #set(URL, boolean)} instead.
@@ -134,12 +134,12 @@
 	public boolean setURL(URL value, boolean lock) throws IllegalStateException;
 
 	/**
-	 * Sets and optionally locks the location's value to the given {@link URL}.  If the location 
+	 * Sets and optionally locks the location's value to the given {@link URL}.  If the location
 	 * already has a value an exception is thrown.  If locking is requested and fails, <code>false</code>
 	 * is returned and the {@link URL} of this location is not set.
-	 * 
+	 *
 	 * @param value the value of this location
-	 * @param lock whether or not to lock this location 
+	 * @param lock whether or not to lock this location
 	 * @return whether or not the location was successfully set and, if requested, locked.
 	 * @throws IllegalStateException if the location's value is already set
 	 * @throws IOException if there was an unexpected problem while acquiring the lock
@@ -148,12 +148,12 @@
 	public boolean set(URL value, boolean lock) throws IllegalStateException, IOException;
 
 	/**
-	 * Sets and optionally locks the location's value to the given {@link URL} using the given lock file.  If the location 
+	 * Sets and optionally locks the location's value to the given {@link URL} using the given lock file.  If the location
 	 * already has a value an exception is thrown.  If locking is requested and fails, <code>false</code>
 	 * is returned and the {@link URL} of this location is not set.
-	 * 
+	 *
 	 * @param value the value of this location
-	 * @param lock whether or not to lock this location 
+	 * @param lock whether or not to lock this location
 	 * @param lockFilePath the path to the lock file.  This path will be used to establish locks on this location.
 	 * The path may be an absolute path or it may be relative to the given URL.  If a <code>null</code>
 	 * value is used then a default lock path will be used for this location.
@@ -166,20 +166,20 @@
 
 	/**
 	 * Attempts to lock this location with a canonical locking mechanism and return
-	 * <code>true</code> if the lock could be acquired.  Not all locations can be 
+	 * <code>true</code> if the lock could be acquired.  Not all locations can be
 	 * locked.
 	 * <p>
-	 * Locking a location is advisory only.  That is, it does not prevent other applications from 
+	 * Locking a location is advisory only.  That is, it does not prevent other applications from
 	 * modifying the same location
 	 * </p>
 	 * @return true if the lock could be acquired; otherwise false is returned
-	 * 
+	 *
 	 * @exception IOException if there was an unexpected problem while acquiring the lock
 	 */
 	public boolean lock() throws IOException;
 
 	/**
-	 * Releases the lock on this location.  If the location is not already locked, no action 
+	 * Releases the lock on this location.  If the location is not already locked, no action
 	 * is taken.
 	 */
 	public void release();
@@ -204,12 +204,12 @@
 	public Location createLocation(Location parent, URL defaultValue, boolean readonly);
 
 	/**
-	 * Returns a URL to the specified path within this location.  The path 
-	 * of the returned URL may not exist yet.  It is the responsibility of the 
+	 * Returns a URL to the specified path within this location.  The path
+	 * of the returned URL may not exist yet.  It is the responsibility of the
 	 * client to create the content of the data area returned if it does not exist.
 	 * <p>
-	 * This method can be used to obtain a private area within the given location. 
-	 * For example use the symbolic name of a bundle to obtain a data area specific 
+	 * This method can be used to obtain a private area within the given location.
+	 * For example use the symbolic name of a bundle to obtain a data area specific
 	 * to that bundle.
 	 * </p>
 	 * <p>
@@ -218,7 +218,7 @@
 	 * this method is called and the location URL has not been set and there is
 	 * no default value for this location.
 	 * </p>
-	 * 
+	 *
 	 * @param path the name of the path to get from this location
 	 * @return the URL to the data area with the specified path.
 	 * @throws IOException if the location URL is not already set
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptions.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptions.java
index 2ff4026..46d10ca 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptions.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptions.java
@@ -19,29 +19,29 @@
 /**
  * Used to get debug options settings and creating a new {@link DebugTrace} instance for
  * a bundle to use for dynamic tracing.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
  * @since 3.1
  */
 public interface DebugOptions {
 	/**
-	 * The service property (named &quot;listener.symbolic.name&quot;) which specifies 
+	 * The service property (named &quot;listener.symbolic.name&quot;) which specifies
 	 * the bundle symbolic name of a {@link DebugOptionsListener} service.
-	 * 
+	 *
 	 * @since 3.5
 	 */
 	public static String LISTENER_SYMBOLICNAME = "listener.symbolic.name"; //$NON-NLS-1$
 
 	/**
 	 * Returns the identified option as a boolean value.  The specified
-	 * defaultValue is returned if no such option is found or if debug is not enabled.   
-	 * 
+	 * defaultValue is returned if no such option is found or if debug is not enabled.
+	 *
 	 * <p>
-	 * Options are specified in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.  
+	 * Options are specified in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.
 	 * For example, <code>org.eclipse.core.runtime/debug</code>
 	 * </p>
-	 * 
+	 *
 	 * @param option the name of the option to lookup
 	 * @param defaultValue the value to return if no such option is found
 	 * @return the value of the requested debug option or the
@@ -52,28 +52,28 @@
 	/**
 	 * Returns the identified option.  A <code>null</code> value
 	 * is returned if no such option is found or if debug is not enabled.
-	 * 
+	 *
 	 * <p>
 	 * Options are specified
-	 * in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.  
+	 * in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.
 	 * For example, <code>org.eclipse.core.runtime/debug</code>
 	 *</p>
-	 * 
+	 *
 	 * @param option the name of the option to lookup
 	 * @return the value of the requested debug option or <code>null</code>
 	 */
 	public abstract String getOption(String option);
 
 	/**
-	 * Returns the identified option.  The specified defaultValue is 
+	 * Returns the identified option.  The specified defaultValue is
 	 * returned if no such option is found or if debug is not enabled.
-	 * 
+	 *
 	 * <p>
 	 * Options are specified
-	 * in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.  
+	 * in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.
 	 * For example, <code>org.eclipse.core.runtime/debug</code>
 	 * </p>
-	 * 
+	 *
 	 * @param option the name of the option to lookup
 	 * @param defaultValue the value to return if no such option is found
 	 * @return the value of the requested debug option or the
@@ -83,16 +83,16 @@
 
 	/**
 	 * Returns the identified option as an int value.  The specified
-	 * defaultValue is returned if no such option is found or if a 
-	 * NumberFormatException is thrown while converting the option value 
+	 * defaultValue is returned if no such option is found or if a
+	 * NumberFormatException is thrown while converting the option value
 	 * to an integer or if debug is not enabled.
-	 * 
+	 *
 	 * <p>
 	 * Options are specified
-	 * in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.  
+	 * in the general form <i>&lt;Bundle-SymbolicName&gt;/&lt;option-path&gt;</i>.
 	 * For example, <code>org.eclipse.core.runtime/debug</code>
 	 * </p>
-	 * 
+	 *
 	 * @param option the name of the option to lookup
 	 * @param defaultValue the value to return if no such option is found
 	 * @return the value of the requested debug option or the
@@ -101,11 +101,11 @@
 	public abstract int getIntegerOption(String option, int defaultValue);
 
 	/**
-	 * Returns a snapshot of the current options.  All 
+	 * Returns a snapshot of the current options.  All
 	 * keys and values are of type <code>String</code>.  If no
 	 * options are set then an empty map is returned.
 	 * <p>
-	 * If debug is not enabled then the snapshot of the current disabled 
+	 * If debug is not enabled then the snapshot of the current disabled
 	 * values is returned. See {@link DebugOptions#setDebugEnabled(boolean)}.
 	 * </p>
 	 * @return a snapshot of the current options.
@@ -114,7 +114,7 @@
 	public Map<String, String> getOptions();
 
 	/**
-	 * Sets the identified option to the identified value.  If debug is 
+	 * Sets the identified option to the identified value.  If debug is
 	 * not enabled then the specified option is not changed.
 	 * @param option the name of the option to set
 	 * @param value the value of the option to set
@@ -124,13 +124,13 @@
 	/**
 	 * Sets the current option key/value pairs to the specified options.
 	 * The specified map replaces all keys and values of the current debug options.
-	 * An <code>IllegalArgumentException</code> is thrown if any key or value 
+	 * An <code>IllegalArgumentException</code> is thrown if any key or value
 	 * in the specified map is not of type <code>String</code>.
 	 * <p>
 	 * If debug is not enabled then the specified options are saved as
-	 * the disabled values and no notifications will be sent. 
+	 * the disabled values and no notifications will be sent.
 	 * See {@link DebugOptions#setDebugEnabled(boolean)}.
-	 * If debug is enabled then notifications will be sent to the 
+	 * If debug is enabled then notifications will be sent to the
 	 * listeners which have options that have been changed, added or removed.
 	 * </p>
 
@@ -160,8 +160,8 @@
 	 * When debug is disabled all debug options are unset.
 	 * When disabling debug the current debug option values are
 	 * stored in memory as disabled values.  If debug is re-enabled the
-	 * disabled values will be set back and enabled.  The disabled values 
-	 * are only stored in memory and if the framework is restarted then 
+	 * disabled values will be set back and enabled.  The disabled values
+	 * are only stored in memory and if the framework is restarted then
 	 * the disabled option values will be lost.
 	 * </p>
 	 * @param value If <code>true</code>, debug is enabled, otherwise
@@ -170,12 +170,12 @@
 	 */
 	public abstract void setDebugEnabled(boolean value);
 
-	/** 
+	/**
 	 * Sets the current file used to trace messages to.
 	 * A <code>null</code> value is allowed which indicates
 	 * that <code>System.out</code> will be used
 	 * for trace messages.
-	 * 
+	 *
 	 * @param newFile The file to be used for tracing messages.
 	 * A <code>null</code> value is allowed.
 	 * @since 3.5
@@ -186,7 +186,7 @@
 	 * Returns the trace file if it is set, otherwise <code>null</code> is returned.
 	 * A <code>null</code> value indicates that <code>System.out</code> is used
 	 * for trace messages.
-	 * 
+	 *
 	 * @return the trace file if it is set, otherwise <code>null</code> is returned.
 	 * @since 3.5
 	 */
@@ -196,13 +196,13 @@
 	 * Creates a new <code>DebugTrace</code> instance for the specified bundle symbolic name.
 	 * If a <code>DebugTrace</code> object has already been created for the specified symbolic
 	 * name then the existing <code>DebugTrace</code> object will be returned.
-	 * 
+	 *
 	 * The class name, method name, and line number of any callers to the <code>DebugTrace</code>
 	 * API will automatically be determined by parsing the stack trace of the executing thread.
-	 * These attributes will be set based on the first caller of this API. 
-	 * 
+	 * These attributes will be set based on the first caller of this API.
+	 *
 	 * @param bundleSymbolicName The symbolic name of the bundle that is requesting a
-	 * new instance of a <code>DebugTrace</code>.   
+	 * new instance of a <code>DebugTrace</code>.
 	 * @return A new or existing <code>DebugTrace</code> object for the specified plug-in ID
 	 * @since 3.5
 	 */
@@ -220,7 +220,7 @@
 	 *
 	 * @param bundleSymbolicName The symbolic name of the bundle that is requesting a
 	 * new instance of a <code>DebugTrace</code>.
-	 * @param traceEntryClass The class that is being used to abstract tracing calls for a bundle. 
+	 * @param traceEntryClass The class that is being used to abstract tracing calls for a bundle.
 	 * @return A new or existing <code>DebugTrace</code> object for the specified plug-in ID
 	 * @since 3.5
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptionsListener.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptionsListener.java
index b679523..c626298 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptionsListener.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugOptionsListener.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,14 +16,14 @@
 import java.util.EventListener;
 
 /**
- * A debug options listener is notified whenever one of its plug-in option-path entries is 
+ * A debug options listener is notified whenever one of its plug-in option-path entries is
  * changed.  A listener is registered as an OSGi service using the {@link DebugOptions#LISTENER_SYMBOLICNAME}
  * service property to specify the symbolic name of the debug options listener.
  * <p>
- * The {@link DebugOptionsListener#optionsChanged(DebugOptions)} method will automatically 
- * be called upon registration of the debug options listener service.  This allows the 
- * listener to obtain the initial debug options.  This initial call to the listener 
- * will happen even if debug is not enabled at the time of registration 
+ * The {@link DebugOptionsListener#optionsChanged(DebugOptions)} method will automatically
+ * be called upon registration of the debug options listener service.  This allows the
+ * listener to obtain the initial debug options.  This initial call to the listener
+ * will happen even if debug is not enabled at the time of registration
  * ({@link DebugOptions#isDebugEnabled()} will return false in this case).
  * </p>
  * A debug options listener allows a bundle to cache trace option values in boolean fields for performance
@@ -32,25 +32,25 @@
  * public class Activator implements BundleActivator, DebugOptionsListener {
  * 	public static boolean DEBUG = false;
  * 	public static DebugTrace trace;
- * 	
+ *
  * 	public void start(BundleContext context) {
  * 		Hashtable props = new Hashtable(4);
  * 		props.put(DebugOptions.LISTENER_SYMBOLICNAME, "com.mycompany.mybundle");
  * 		context.registerService(DebugOptionsListener.class.getName(), this, props);
  * 	}
- * 
+ *
  * 	public void optionsChanged(DebugOptions options) {
  * 		if (trace == null)
  * 			trace = options.newDebugTrace("com.mycompany.mybundle");
  * 		DEBUG = options.getBooleanOption("com.mycompany.mybundle/debug", false);
  * 	}
- * 	
+ *
  * 	public void doSomeWork() {
  * 		if (DEBUG)
  * 			trace.trace(null, "Doing some work");
  * 	}
  * 	...
- * } 
+ * }
  * </pre>
  * @since 3.5
  */
@@ -58,9 +58,9 @@
 
 	/**
 	 * Notifies this listener that an option-path for its plug-in has changed.
-	 * This method is also called initially by the DebugOptions implementation 
+	 * This method is also called initially by the DebugOptions implementation
 	 * when the listener is registered as a service.  This allows the listener
-	 * to obtain the initial set of debug options without the need to 
+	 * to obtain the initial set of debug options without the need to
 	 * acquire the debug options service.
 	 * @param options a reference to the DebugOptions
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugTrace.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugTrace.java
index fc51616..35b4137 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugTrace.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/debug/DebugTrace.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,10 +16,10 @@
 /**
  * A DebugTrace is used to record debug trace statements, based on the current
  * option settings in a corresponding {@link DebugOptions} class. The trace implementation
- * will automatically insert additional contextual information such as the bundle, class, 
- * and method performing the tracing. 
+ * will automatically insert additional contextual information such as the bundle, class,
+ * and method performing the tracing.
  * <p>
- * Trace statements may be written to a file, or onto standard output, depending on 
+ * Trace statements may be written to a file, or onto standard output, depending on
  * how the {@link DebugOptions} is configured (See {@link DebugOptions#setFile(java.io.File)}).
  * </p>
  * <p>
@@ -32,11 +32,11 @@
  * has a value of "true".
  * </p>
  * <p>
- * Note that the pipe character ("&#124;") is reserved for internal use. If this character 
+ * Note that the pipe character ("&#124;") is reserved for internal use. If this character
  * happens to occur in any of the thread name, the option, the message or an Exception
- * message, it will be escaped to the corresponding HTML representation ("&amp;&#35;124&#59;").   
+ * message, it will be escaped to the corresponding HTML representation ("&amp;&#35;124&#59;").
  * </p>
- *  
+ *
  * @since 3.5
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
@@ -45,7 +45,7 @@
 
 	/**
 	 * Traces a message for the specified option.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 * @param message The trace message to display
@@ -54,7 +54,7 @@
 
 	/**
 	 * Traces a message and exception for the specified option.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 * @param message The trace message to display
@@ -63,7 +63,7 @@
 	public void trace(final String option, final String message, final Throwable error);
 
 	/**
-	 * Adds a trace message showing a thread stack dump for the current class and 
+	 * Adds a trace message showing a thread stack dump for the current class and
 	 * method being executed for the specified option.
 	 *
 	 * @param option The name of the boolean option that will control whether the
@@ -73,17 +73,17 @@
 
 	/**
 	 * Add a trace message level stating that a method is being executed for the specified option.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 */
 	public void traceEntry(final String option);
 
 	/**
-	 * Add a trace message level stating that a method with the specified argument 
-	 * values is being executed for the specified option. The result of {@link String#valueOf(Object)} 
+	 * Add a trace message level stating that a method with the specified argument
+	 * values is being executed for the specified option. The result of {@link String#valueOf(Object)}
 	 * on the methodArgument will be written to the trace file.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 * @param methodArgument
@@ -92,10 +92,10 @@
 	public void traceEntry(final String option, final Object methodArgument);
 
 	/**
-	 * Add a trace message level stating that a method with the specified arguments 
-	 * values is being executed for the specified option. The result of {@link String#valueOf(Object)} 
+	 * Add a trace message level stating that a method with the specified arguments
+	 * values is being executed for the specified option. The result of {@link String#valueOf(Object)}
 	 * on each argument will be written to the trace file.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 * @param methodArguments
@@ -105,17 +105,17 @@
 
 	/**
 	 * Add a trace message level stating that a method has completed execution for the specified option.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 */
 	public void traceExit(final String option);
 
 	/**
-	 * Add a trace message level stating that a method with the specified result value 
-	 * has completed execution for the specified option. The result of {@link String#valueOf(Object)} 
+	 * Add a trace message level stating that a method with the specified result value
+	 * has completed execution for the specified option. The result of {@link String#valueOf(Object)}
 	 * on the result object will be written to the trace file.
-	 * 
+	 *
 	 * @param option The name of the boolean option that will control whether the
 	 * trace statement is printed (e.g., "/debug/myComponent"), or <code>null</code>
 	 * @param result The result being returned from the method that was executed
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/Constants.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/Constants.java
index ba74963..090284a 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/Constants.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/Constants.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -142,7 +142,7 @@
 	/**
 	 * Constant string (value "x86_64") indicating the platform is running on an
 	 * x86 64bit-based architecture.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ARCH_X86_64 = "x86_64";//$NON-NLS-1$
@@ -150,7 +150,7 @@
 	/**
 	 * Constant string (value "amd64") indicating the platform is running on an
 	 * AMD64-based architecture.
-	 * 
+	 *
 	 * @deprecated use <code>ARCH_X86_64</code> instead. Note the values
 	 * has been changed to be the value of the <code>ARCH_X86_64</code> constant.
 	 */
@@ -165,7 +165,7 @@
 	/**
 	 * Constant string (value "ia64_32") indicating the platform is running on an
 	 * IA64 32bit-based architecture.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ARCH_IA64_32 = "ia64_32";//$NON-NLS-1$
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/EnvironmentInfo.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/EnvironmentInfo.java
index 68835a8..6e3277a 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/EnvironmentInfo.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/environment/EnvironmentInfo.java
@@ -16,12 +16,12 @@
 /**
  * A Framework service which gives access to the command line used to start
  * this running framework as well as information about the environment
- * such as the current operating system, machine architecture, locale and 
+ * such as the current operating system, machine architecture, locale and
  * windowing system.
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
- * 
+ *
  * @since 3.0
  * @noimplement This interface is not intended to be implemented by clients.
  */
@@ -31,7 +31,7 @@
 
 	/**
 	 * Returns all command line arguments specified when the running framework was started.
-	 * 
+	 *
 	 * @return the array of command line arguments.
 	 */
 	public String[] getCommandLineArgs();
@@ -39,7 +39,7 @@
 	/**
 	 * Returns the arguments consumed by the framework implementation itself.  Which
 	 * arguments are consumed is implementation specific.
-	 * 
+	 *
 	 * @return the array of command line arguments consumed by the framework.
 	 */
 	public String[] getFrameworkArgs();
@@ -47,17 +47,17 @@
 	/**
 	 * Returns the arguments not consumed by the framework implementation itself.  Which
 	 * arguments are consumed is implementation specific.
-	 * 
+	 *
 	 * @return the array of command line arguments not consumed by the framework.
 	 */
 	public String[] getNonFrameworkArgs();
 
 	/**
-	 * Returns the string name of the current system architecture.  
-	 * The value is a user-defined string if the architecture is 
-	 * specified on the command line, otherwise it is the value 
+	 * Returns the string name of the current system architecture.
+	 * The value is a user-defined string if the architecture is
+	 * specified on the command line, otherwise it is the value
 	 * returned by <code>java.lang.System.getProperty("os.arch")</code>.
-	 * 
+	 *
 	 * @return the string name of the current system architecture
 	 */
 	public String getOSArch();
@@ -72,11 +72,11 @@
 
 	/**
 	 * Returns the string name of the current operating system for use in finding
-	 * files whose path starts with <code>$os$</code>.  Return {@link Constants#OS_UNKNOWN} 
+	 * files whose path starts with <code>$os$</code>.  Return {@link Constants#OS_UNKNOWN}
 	 * if the operating system cannot be determined.
-	 * <p>  
+	 * <p>
 	 * The value may indicate one of the operating systems known to the platform
-	 * (as specified in <code>org.eclipse.core.runtime.Platform#knownOSValues</code>) 
+	 * (as specified in <code>org.eclipse.core.runtime.Platform#knownOSValues</code>)
 	 * or a user-defined string if the operating system name is specified on the command line.
 	 * </p>
 	 *
@@ -96,7 +96,7 @@
 	/**
 	 * Returns <code>true</code> if the framework is in debug mode and
 	 * <code>false</code> otherwise.
-	 * 
+	 *
 	 * @return whether or not the framework is in debug mode
 	 */
 	public boolean inDebugMode();
@@ -104,15 +104,15 @@
 	/**
 	 * Returns <code>true</code> if the framework is in development mode
 	 * and <code>false</code> otherwise.
-	 * 
+	 *
 	 * @return whether or not the framework is in development mode
 	 */
 	public boolean inDevelopmentMode();
 
 	/**
-	 * Returns the value for the specified property.  Environment Properties are 
+	 * Returns the value for the specified property.  Environment Properties are
 	 * backed by the Java system properties.  When the option
-	 * <code>osgi.framework.useSystemProperties</code> is used then 
+	 * <code>osgi.framework.useSystemProperties</code> is used then
 	 * the environment properties are specific for each instance of the framework.
 	 * <p>
 	 * This method should be used instead of the <code>System.getProperty(String)</code>
@@ -125,9 +125,9 @@
 	public String getProperty(String key);
 
 	/**
-	 * Sets the value for the specified property.  Environment Properties are 
+	 * Sets the value for the specified property.  Environment Properties are
 	 * backed by the Java system properties.  When the option
-	 * <code>osgi.framework.useSystemProperties</code> is used then 
+	 * <code>osgi.framework.useSystemProperties</code> is used then
 	 * the environment properties are specific for each instance of the framework.
 	 * <p>
 	 * This method should be used instead of the <code>System.setProperty(String, String)</code>
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/BundleLocalization.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/BundleLocalization.java
index 11c285a..e0d1492 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/BundleLocalization.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/BundleLocalization.java
@@ -17,8 +17,8 @@
 import org.osgi.framework.Bundle;
 
 /**
- * The interface of the service that gets {@link ResourceBundle} objects from a given 
- * bundle with a given locale. 
+ * The interface of the service that gets {@link ResourceBundle} objects from a given
+ * bundle with a given locale.
  * <p>
  * This interface is not intended to be implemented by clients.
  * </p>
@@ -32,7 +32,7 @@
 	 * @param bundle the bundle to get localization for
 	 * @param locale the name of the locale to get, or <code>null</code> if
 	 * the default locale is to be used
-	 * 
+	 *
 	 * @return A <code>ResourceBundle</code> object for the given bundle and locale,
 	 * or <code>null</code> is returned if no ResourceBundle object can
 	 * be loaded.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/LocaleProvider.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/LocaleProvider.java
index 4643951..562cac9 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/LocaleProvider.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/localization/LocaleProvider.java
@@ -16,16 +16,16 @@
 import java.util.Locale;
 
 /**
- * A service that is used to determine what the current locale is for a 
- * particular context or session.  If no <code>LocaleProvider</code> 
- * service is available then the locale must be determined by other 
+ * A service that is used to determine what the current locale is for a
+ * particular context or session.  If no <code>LocaleProvider</code>
+ * service is available then the locale must be determined by other
  * means, for example, by calling {@link Locale#getDefault()}.
  * <p>
- * More advanced environments can support multiple locales within a 
- * single system.  For example, a server may support multiple users, 
- * each needing a different locale.  In such an environment a 
- * <code>LocaleProvider</code> service must be registered that can 
- * determine the current locale for the context of the call to the 
+ * More advanced environments can support multiple locales within a
+ * single system.  For example, a server may support multiple users,
+ * each needing a different locale.  In such an environment a
+ * <code>LocaleProvider</code> service must be registered that can
+ * determine the current locale for the context of the call to the
  * {@link #getLocale()} method.
  * </p>
  * @since 1.1
@@ -33,12 +33,12 @@
 public interface LocaleProvider {
 
 	/**
-	 * Determines the current locale for the context of the call to 
-	 * this method.  For environments that support a single system wide 
+	 * Determines the current locale for the context of the call to
+	 * this method.  For environments that support a single system wide
 	 * locale, this is equivalent to calling {@link Locale#getDefault()}.
 	 * <p>
-	 * The result of this method should not be retained or passed to other 
-	 * threads.  The current locale can change any time and may be 
+	 * The result of this method should not be retained or passed to other
+	 * threads.  The current locale can change any time and may be
 	 * different for each thread.
 	 * </p>
 	 * @return The current locale.
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ApplicationLauncher.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ApplicationLauncher.java
index fc9a602..e036131 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ApplicationLauncher.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ApplicationLauncher.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -15,7 +15,7 @@
 package org.eclipse.osgi.service.runnable;
 
 /**
- * An ApplicationLauncher is used to launch ParameterizedRunnable objects using 
+ * An ApplicationLauncher is used to launch ParameterizedRunnable objects using
  * the main thread.
  * <p>
  * This interface is not intended to be implemented by clients.
@@ -24,7 +24,7 @@
  * This class is for internal use by the platform-related plug-ins.
  * Clients outside of the base platform should not reference or subclass this class.
  * </p>
- * 
+ *
  * @since 3.2
  * @noimplement This interface is not intended to be implemented by clients.
  */
@@ -37,11 +37,11 @@
 	void launch(ParameterizedRunnable runnable, Object context);
 
 	/**
-	 * Forces the current runnable which is running to be stopped.  
+	 * Forces the current runnable which is running to be stopped.
 	 * This method will return after the currently running ParameterizedRunnable
 	 * has completely stopped.
 	 * <p>
-	 * After this method returns this ApplicationLauncher will no longer allow 
+	 * After this method returns this ApplicationLauncher will no longer allow
 	 * applications to be launched.
 	 */
 	void shutdown();
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ParameterizedRunnable.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ParameterizedRunnable.java
index 7d99a8b..8b0ec51 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ParameterizedRunnable.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/ParameterizedRunnable.java
@@ -7,16 +7,16 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.osgi.service.runnable;
 
 /**
- * Like a {@link java.lang.Runnable}, an object which captures a block of code which can 
- * be passed around and executed.  Unlike standard runnables, paramaterized 
- * runnables allow an arbitrary {@link java.lang.Object} to be passed in when the 
+ * Like a {@link java.lang.Runnable}, an object which captures a block of code which can
+ * be passed around and executed.  Unlike standard runnables, paramaterized
+ * runnables allow an arbitrary {@link java.lang.Object} to be passed in when the
  * block is evaluated.
  * <p>
  * Clients may implement this interface.
@@ -32,7 +32,7 @@
 	/**
 	 * Executes the block of code encapsulated by this runnable in the context of
 	 * the given object and returns the result.  The result may be <code>null</code>.
-	 * 
+	 *
 	 * @param context the context for evaluating the runnable
 	 * @return the result of evaluating the runnable in the given context
 	 * @throws Exception if there is a problem running this runnable
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/StartupMonitor.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/StartupMonitor.java
index 73af2f4..d6ef394 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/StartupMonitor.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/runnable/StartupMonitor.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     Andrew Niefer - IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -15,40 +15,40 @@
 
 /**
  * Service interface used to monitor the startup process.
- *  
- * Bundles can register a monitor in order to be given processing time on the 
+ *
+ * Bundles can register a monitor in order to be given processing time on the
  * primary thread during the startup process.  Clients with threading restrictions can
  * use this interface to process events that may have been collected from another thread.
- *  <p> 
- * Monitors share time on the primary thread.  The primary thread used to run the application 
- * will not proceed until monitors return from any operation.  Because of this, monitors should 
+ *  <p>
+ * Monitors share time on the primary thread.  The primary thread used to run the application
+ * will not proceed until monitors return from any operation.  Because of this, monitors should
  * not perform long running operations.
  * </p>
  * <p>
- * Clients may implement this interface but should not invoke it.  The platform 
+ * Clients may implement this interface but should not invoke it.  The platform
  * is responsible for invoking the monitor at the appropriate times.
- * </p> 
+ * </p>
  * @since 3.3
  */
 public interface StartupMonitor {
-	/** 
-	 * Update the monitor. This method is periodically called by the platform from the primary thread during 
+	/**
+	 * Update the monitor. This method is periodically called by the platform from the primary thread during
 	 * periods where the primary thread is waiting on another thread (ie start level increasing, refreshing packages)
 	 * <p>
-	 * If multiple monitors are registered then the platform will only call the monitor with the highest service 
-	 * ranking.  In case of a service ranking tie the service with the lowest service id is selected (i.e. the 
+	 * If multiple monitors are registered then the platform will only call the monitor with the highest service
+	 * ranking.  In case of a service ranking tie the service with the lowest service id is selected (i.e. the
 	 * first monitor registered).
 	 * </p>
 	 */
 	public void update();
 
 	/**
-	 * This method is called by the platform from the primary thread once the application is completely 
-	 * initialized and running.  This method should perform certain operations that are needed once an 
+	 * This method is called by the platform from the primary thread once the application is completely
+	 * initialized and running.  This method should perform certain operations that are needed once an
 	 * application is running.  One example is bringing down a splash screen if it exists.
 	 * <p>
 	 * If multiple monitors are registered then the platform will call all monitors.  The monitors are called
-	 * according to service ranking; monitors with higher service rankings are called first.  In case of a 
+	 * according to service ranking; monitors with higher service rankings are called first.  In case of a
 	 * service ranking tie the service with the lowest service id is called first (i.e. the first monitor registered).
 	 * </p>
 	 */
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/urlconversion/URLConverter.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/urlconversion/URLConverter.java
index 326b375..0bc04d9 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/urlconversion/URLConverter.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/service/urlconversion/URLConverter.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * <p>
  * Clients may implement this interface.
  * </p>
- * 
+ *
  * @since 3.1
  */
 public interface URLConverter {
@@ -30,13 +30,13 @@
 	/**
 	 * Converts a URL that uses a user-defined protocol into a URL that uses the file
 	 * protocol. The contents of the URL may be extracted into a cache on the file-system
-	 * in order to get a file URL. 
+	 * in order to get a file URL.
 	 * <p>
 	 * If the protocol for the given URL is not recognized by this converter, the original
 	 * URL is returned as-is.
 	 * </p>
 	 * @param url the original URL
-	 * @return the converted file URL or the original URL passed in if it is 
+	 * @return the converted file URL or the original URL passed in if it is
 	 * 	not recognized by this converter
 	 * @throws IOException if an error occurs during the conversion
 	 * @since 3.2
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/ManagedOutputStream.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/ManagedOutputStream.java
index c4454e6..53b3b98 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/ManagedOutputStream.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/ManagedOutputStream.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -43,11 +43,11 @@
 		this.state = ST_OPEN;
 	}
 
-	/** 
-	 * Instructs this output stream to be closed and storage manager to 
-	 * be updated as appropriate.  If this managed output stream is part of 
+	/**
+	 * Instructs this output stream to be closed and storage manager to
+	 * be updated as appropriate.  If this managed output stream is part of
 	 * a set returned by {@link StorageManager#getOutputStreamSet(String[])} then
-	 * the storage manager will only be updated with the new content after all 
+	 * the storage manager will only be updated with the new content after all
 	 * of the managed output streams in the set are closed successfully.
 	 * @see FilterOutputStream#close()
 	 */
@@ -58,8 +58,8 @@
 
 	/**
 	 * Instructs this output stream to be closed and the contents discarded.
-	 * If this managed output stream is part of a set returned by 
-	 * {@link StorageManager#getOutputStreamSet(String[])} then the new 
+	 * If this managed output stream is part of a set returned by
+	 * {@link StorageManager#getOutputStreamSet(String[])} then the new
 	 * content of all managed output streams in the set will be discarded.
 	 */
 	public void abort() {
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/StorageManager.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/StorageManager.java
index 2cadd88..9721822 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/StorageManager.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/storagemanager/StorageManager.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -33,8 +33,8 @@
 import org.eclipse.osgi.internal.messages.Msg;
 
 /**
- * Storage managers provide a facility for tracking the state of a group of files having 
- * relationship with each others and being updated by several entities at the same time. 
+ * Storage managers provide a facility for tracking the state of a group of files having
+ * relationship with each others and being updated by several entities at the same time.
  * The typical usecase is in shared configuration data areas.
  * <p>
  * The facilities provided here are cooperative. That is, all participants must
@@ -55,13 +55,13 @@
  * // Ignore the exception. The registry will be rebuilt from source.
  * }
  *
- * //To read from a file 
+ * //To read from a file
  * java.io.File fileA = cacheStorageManager.lookup("fileA", false));
  * java.io.File fileB = cacheStorageManager.lookup("fileB", false));
- * //Do the reading code 
+ * //Do the reading code
  * new java.io.FileOutputStream(fileA);
  *
- * //To write in files 
+ * //To write in files
  * cacheStorageManager.add("fileC"); //add the file to the filemanager (in this case we assume it is not already here)
  * cacheStorageManager.add("fileD");
  *
@@ -71,7 +71,7 @@
  *
  * //Do the actual writing here...
  *
- * //Finally update the storagemanager with the actual file to manage. 
+ * //Finally update the storagemanager with the actual file to manage.
  * cacheStorageManager.update(new String[] {"fileC", "fileD"}, new String[] {fileC.getName(), fileD.getName()};
  *
  * //Close the file manager at the end
@@ -79,22 +79,22 @@
  * </pre>
  * <p>
  * Implementation details <br>
- * The following implementation details are provided to help with understanding the 
+ * The following implementation details are provided to help with understanding the
  * behavior of this class.
  * The general principle is to maintain a table which maps user-level file names
- * onto an actual disk files.  If a file needs to be modified, 
+ * onto an actual disk files.  If a file needs to be modified,
  * it is stored into a new file.  The old content is not removed from disk until all entities
  * have closed there instance of the storage manager.
  * Once the instance has been created, open() must be called before performing any other operation.
  * On open the storage manager obtains a snapshot of the current managed files contents. If an
- * entity updates a managed file, the storage manager will save the content for that instance of the 
- * storage manager, all other storage manager instances will still have access to that managed file's 
+ * entity updates a managed file, the storage manager will save the content for that instance of the
+ * storage manager, all other storage manager instances will still have access to that managed file's
  * content as it was when the instance was first opened.
  * </p>
  * @since 3.2
  */
 
-// Note the implementation of this class originated from the following deprecated classes: 
+// Note the implementation of this class originated from the following deprecated classes:
 // /org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/FileManager.java
 // /org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/StreamManager.java
 public final class StorageManager {
@@ -103,7 +103,7 @@
 	private static final String MANAGER_FOLDER = ".manager"; //$NON-NLS-1$
 	private static final String TABLE_FILE = ".fileTable"; //$NON-NLS-1$
 	private static final String LOCK_FILE = ".fileTableLock"; //$NON-NLS-1$
-	private static final int MAX_LOCK_WAIT = 5000; // 5 seconds 
+	private static final int MAX_LOCK_WAIT = 5000; // 5 seconds
 	// these should be static but the tests expect to be able to create new managers after changing this setting dynamically
 	private final boolean useReliableFiles = Boolean.valueOf(System.getProperty("osgi.useReliableFiles")).booleanValue(); //$NON-NLS-1$
 	private final boolean tempCleanup = Boolean.valueOf(System.getProperty("osgi.embedded.cleanTempFiles")).booleanValue(); //$NON-NLS-1$
@@ -167,10 +167,10 @@
 	/**
 	 * Returns a new storage manager for the area identified by the given base
 	 * directory.
-	 * 
+	 *
 	 * @param base the directory holding the files to be managed
-	 * @param lockMode the lockMode to use for the storage manager. It can have one the 3 values: none, java.io, java.nio 
-	 * and also supports null in which case the lock strategy will be the global one.  
+	 * @param lockMode the lockMode to use for the storage manager. It can have one the 3 values: none, java.io, java.nio
+	 * and also supports null in which case the lock strategy will be the global one.
 	 */
 	public StorageManager(File base, String lockMode) {
 		this(base, lockMode, false);
@@ -179,10 +179,10 @@
 	/**
 	 * Returns a new storage manager for the area identified by the given base
 	 * directory.
-	 * 
+	 *
 	 * @param base the directory holding the files to be managed
-	 * @param lockMode the lockMode to use for the storage manager. It can have one the 3 values: none, java.io, java.nio 
-	 * and also supports null in which case the lock strategy will be the global one.  
+	 * @param lockMode the lockMode to use for the storage manager. It can have one the 3 values: none, java.io, java.nio
+	 * and also supports null in which case the lock strategy will be the global one.
 	 * @param readOnly true if the managed files are read-only
 	 */
 	public StorageManager(File base, String lockMode, boolean readOnly) {
@@ -210,7 +210,7 @@
 
 	/**
 	 * Add the given managed file name to the list of files managed by this manager.
-	 * 
+	 *
 	 * @param managedFile name of the file to manage
 	 * @throws IOException if there are any problems adding the given file name to the manager
 	 */
@@ -220,9 +220,9 @@
 
 	/* (non-Javadoc
 	 * Add the given file name to the list of files managed by this manager.
-	 * 
+	 *
 	 * @param managedFile name of the file to manage.
-	 * @param fileType the file type. 
+	 * @param fileType the file type.
 	 * @throws IOException if there are any problems adding the given file to the manager
 	 */
 	private void add(String managedFile, int fileType) throws IOException {
@@ -258,10 +258,10 @@
 	}
 
 	/* (non-Javadoc)
-	 * Find the oldest generation of a file still available on disk 
+	 * Find the oldest generation of a file still available on disk
 	 * @param file the file from which to obtain the oldest generation.
 	 * @return the oldest generation of the file or 0 if the file does
-	 * not exist. 
+	 * not exist.
 	 */
 	private int findOldestGeneration(String managedFile) {
 		String[] files = base.list();
@@ -287,12 +287,12 @@
 
 	/**
 	 * Update the given managed files with the content in the given source files.
-	 * The managedFiles is a list of managed file names which are currently managed. 
-	 * If a managed file name is not currently managed it will be added as a 
+	 * The managedFiles is a list of managed file names which are currently managed.
+	 * If a managed file name is not currently managed it will be added as a
 	 * managed file for this storage manager.
-	 * The sources are absolute (or relative to the current working directory) 
+	 * The sources are absolute (or relative to the current working directory)
 	 * file paths containing the new content for the corresponding managed files.
-	 * 
+	 *
 	 * @param managedFiles the managed files to update
 	 * @param sources the new content for the managed files
 	 * @throws IOException if there are any problems updating the given managed files
@@ -329,7 +329,7 @@
 
 	/**
 	 * Returns a list of all the managed files currently being managed.
-	 * 
+	 *
 	 * @return the names of the managed files
 	 */
 	public String[] getManagedFiles() {
@@ -347,7 +347,7 @@
 	/**
 	 * Returns the directory containing the files being managed by this storage
 	 * manager.
-	 * 
+	 *
 	 * @return the directory containing the managed files
 	 */
 	public File getBase() {
@@ -356,9 +356,9 @@
 
 	/**
 	 * Returns the current numeric id (appendage) of the given managed file.
-	 * <code>managedFile + "." + getId(target)</code>. A value of -1 is returned 
+	 * <code>managedFile + "." + getId(target)</code>. A value of -1 is returned
 	 * if the given name is not managed.
-	 * 
+	 *
 	 * @param managedFile the name of the managed file
 	 * @return the id of the managed file
 	 */
@@ -373,7 +373,7 @@
 
 	/**
 	 * Returns if readOnly state this storage manager is using.
-	 * 
+	 *
 	 * @return if this storage manager update state is read-only.
 	 */
 	public boolean isReadOnly() {
@@ -387,7 +387,7 @@
 	 * Locking a manager is advisory only. That is, it does not prevent other
 	 * applications from modifying the files managed by this manager.
 	 * </p>
-	 * 
+	 *
 	 * @exception IOException
 	 *                         if there was an unexpected problem while acquiring the
 	 *                         lock.
@@ -421,15 +421,15 @@
 	}
 
 	/**
-	 * Returns the actual file location to use when reading the given managed file. 
-	 * A value of <code>null</code> can be returned if the given managed file name is not 
-	 * managed and add is set to false.  
+	 * Returns the actual file location to use when reading the given managed file.
+	 * A value of <code>null</code> can be returned if the given managed file name is not
+	 * managed and add is set to false.
 	 * <p>
 	 * The returned file should be considered read-only.  Any updates to the content of this
 	 * file should be done using {@link #update(String[], String[])}.
-	 * 
+	 *
 	 * @param managedFile the managed file to lookup
-	 * @param add indicate whether the managed file name should be added to the manager if 
+	 * @param add indicate whether the managed file name should be added to the manager if
 	 * it is not already managed.
 	 * @throws IOException if the add flag is set to true and the addition of the managed file failed
 	 * @return the absolute file location to use for the given managed file or
@@ -471,7 +471,7 @@
 
 	/**
 	 * Removes the given managed file from management by this storage manager.
-	 * 
+	 *
 	 * @param managedFile the managed file to remove
 	 * @throws IOException if an error occured removing the managed file
 	 */
@@ -480,7 +480,7 @@
 			throw new IOException(Msg.fileManager_notOpen);
 		if (readOnly)
 			throw new IOException(Msg.fileManager_illegalInReadOnlyMode);
-		// The removal needs to be done eagerly, so the value is effectively removed from the disktable. 
+		// The removal needs to be done eagerly, so the value is effectively removed from the disktable.
 		// Otherwise, an updateTable() caused by an update(,)  could cause the file to readded to the local table.
 		if (!lock(true))
 			throw new IOException(Msg.fileManager_cannotLock);
@@ -701,7 +701,7 @@
 	}
 
 	/**
-	 * This methods opens the storage manager. 
+	 * This methods opens the storage manager.
 	 * This method must be called before any operation on the storage manager.
 	 * @param wait indicates if the open operation must wait in case of contention on the lock file.
 	 * @throws IOException if an error occurred opening the storage manager
@@ -748,11 +748,11 @@
 	}
 
 	/**
-	 * Returns a managed <code>InputStream</code> for a managed file. 
-	 * <code>null</code> can be returned if the given name is not managed. 
-	 * 
+	 * Returns a managed <code>InputStream</code> for a managed file.
+	 * <code>null</code> can be returned if the given name is not managed.
+	 *
 	 * @param managedFile the name of the managed file to open.
-	 * @return an input stream to the managed file or 
+	 * @return an input stream to the managed file or
 	 * <code>null</code> if the given name is not managed.
 	 * @throws IOException if the content is missing, corrupt or an error occurs.
 	 */
@@ -761,11 +761,11 @@
 	}
 
 	/**
-	 * Returns a managed input stream set for the managed file names. 
+	 * Returns a managed input stream set for the managed file names.
 	 * Elements of the returned set may be <code>null</code> if a given name is not managed.
-	 * This method should be used for managed file sets which use the output streams returned 
+	 * This method should be used for managed file sets which use the output streams returned
 	 * by the {@link #getOutputStreamSet(String[])} to save data.
-	 * 
+	 *
 	 * @param managedFiles the names of the managed files to open.
 	 * @return a set input streams to the given managed files.
 	 * @throws IOException if the content of one of the managed files is missing, corrupt or an error occurs.
@@ -791,10 +791,10 @@
 	}
 
 	/**
-	 * Returns a <code>ManagedOutputStream</code> for a managed file.  
-	 * Closing the ouput stream will update the storage manager with the 
+	 * Returns a <code>ManagedOutputStream</code> for a managed file.
+	 * Closing the ouput stream will update the storage manager with the
 	 * new content of the managed file.
-	 * 
+	 *
 	 * @param managedFile the name of the managed file to write.
 	 * @return a managed output stream for the managed file.
 	 * @throws IOException if an error occurs opening the managed file.
@@ -811,10 +811,10 @@
 	/**
 	 * Returns an array of <code>ManagedOutputStream</code> for a set of managed files.
 	 * When all managed output streams in the set have been closed, the storage manager
-	 * will be updated with the new content of the managed files. 
-	 * Aborting any one of the streams will cause the entire content of the set to abort 
+	 * will be updated with the new content of the managed files.
+	 * Aborting any one of the streams will cause the entire content of the set to abort
 	 * and be discarded.
-	 * 
+	 *
 	 * @param managedFiles list of names of the managed file to write.
 	 * @return an array of managed output streams respectively of managed files.
 	 * @throws IOException if an error occurs opening the managed files.
@@ -876,10 +876,10 @@
 	}
 
 	/* (non-Javadoc)
-	 * Close the managed output stream and update the new content to  
+	 * Close the managed output stream and update the new content to
 	 * this manager. If this managed output stream is part of a set, only after closing
 	 * all managed output streams in the set will storage manager be updated.
-	 * 
+	 *
 	 * @param smos the output stream.
 	 * @throws IOException if an errors occur.
 	 * @see #getOutputStream(String)
@@ -934,7 +934,7 @@
 					targets[idx] = smos.getTarget();
 					File outputFile = smos.getOutputFile();
 					if (outputFile == null) {
-						// this is a ReliableFile 
+						// this is a ReliableFile
 						add(smos.getTarget(), StorageManager.FILETYPE_RELIABLEFILE);
 						ReliableFileOutputStream rfos = (ReliableFileOutputStream) smos.getOutputStream();
 						File file = rfos.closeIntermediateFile(); //multiple calls to close() ok
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/ManifestElement.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/ManifestElement.java
index 33a2cbf..439efc4 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/ManifestElement.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/ManifestElement.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -33,18 +33,18 @@
 /**
  * This class represents a single manifest element.  A manifest element must consist of a single
  * {@link String} value.  The {@link String} value may be split up into component values each
- * separated by a semi-colon (';').  A manifest element may optionally have a set of 
+ * separated by a semi-colon (';').  A manifest element may optionally have a set of
  * attribute and directive values associated with it. The general syntax of a manifest element is as follows:
  * <pre>
  * ManifestElement ::= component (';' component)* (';' parameter)*
  * component ::= ([^;,:="\#x0D#x0A#x00])+ | quoted-string
  * quoted-string::= '"' ( [^"\#x0D#x0A#x00] | '\"'| '\\')* '"'
- * parameter ::= directive | attribute 
+ * parameter ::= directive | attribute
  * directive ::= token ':=' argument
  * attribute ::= token '=' argument
  * argument ::= extended  | quoted-string
- * token ::= ( alphanum | '_' | '-' )+ 
- * extended ::= ( alphanum | '_' | '-' | '.' )+ 
+ * token ::= ( alphanum | '_' | '-' )+
+ * extended ::= ( alphanum | '_' | '-' | '.' )+
  * </pre>
  * <p>
  * For example, the following is an example of a manifest element to the <code>Export-Package</code> header:
@@ -53,37 +53,37 @@
  * org.osgi.framework; specification-version="1.2"; another-attr="examplevalue"
  * </pre>
  * <p>
- * This manifest element has a value of <code>org.osgi.framework</code> and it has two attributes, 
- * <code>specification-version</code> and <code>another-attr</code>. 
+ * This manifest element has a value of <code>org.osgi.framework</code> and it has two attributes,
+ * <code>specification-version</code> and <code>another-attr</code>.
  * </p>
  * <p>
  * The following manifest element is an example of a manifest element that has multiple
- * components to its value: 
+ * components to its value:
  * </p>
  * <pre>
  * code1.jar;code2.jar;code3.jar;attr1=value1;attr2=value2;attr3=value3
  * </pre>
  * <p>
- * This manifest element has a value of <code>code1.jar;code2.jar;code3.jar</code>.  
+ * This manifest element has a value of <code>code1.jar;code2.jar;code3.jar</code>.
  * This is an example of a multiple component value.  This value has three
  * components: <code>code1.jar</code>, <code>code2.jar</code>, and <code>code3.jar</code>.
  * </p>
  * <p>
  * If components contain delimiter characters (e.g ';', ',' ':' "=") then it must be
- * a quoted string.  For example, the following is an example of a manifest element 
+ * a quoted string.  For example, the following is an example of a manifest element
  * that has multiple components containing delimiter characters:
  * </p>
  * <pre>
  * "component ; 1"; "component , 2"; "component : 3"; attr1=value1; attr2=value2; attr3=value3
  * </pre>
  * <p>
- * This manifest element has a value of <code>"component ; 1"; "component , 2"; "component : 3"</code>.  
+ * This manifest element has a value of <code>"component ; 1"; "component , 2"; "component : 3"</code>.
  * This value has three components: <code>"component ; 1"</code>, <code>"component , 2"</code>, <code>"component : 3"</code>.
  * </p>
  * <p>
  * This class is not intended to be subclassed by clients.
  * </p>
- * 
+ *
  * @since 3.0
  * @noextend This class is not intended to be subclassed by clients.
  */
@@ -119,15 +119,15 @@
 
 	/**
 	 * Returns the value of the manifest element.  The value returned is the
-	 * complete value up to the first attribute or directive.  For example, the 
-	 * following manifest element: 
+	 * complete value up to the first attribute or directive.  For example, the
+	 * following manifest element:
 	 * <pre>
 	 * test1.jar;test2.jar;test3.jar;selection-filter="(os.name=Windows XP)"
 	 * </pre>
 	 * <p>
 	 * This manifest element has a value of <code>test1.jar;test2.jar;test3.jar</code>
 	 * </p>
-	 * 
+	 *
 	 * @return the value of the manifest element.
 	 */
 	public String getValue() {
@@ -136,18 +136,18 @@
 
 	/**
 	 * Returns the value components of the manifest element. The value
-	 * components returned are the complete list of value components up to 
-	 * the first attribute or directive.  
-	 * For example, the following manifest element: 
+	 * components returned are the complete list of value components up to
+	 * the first attribute or directive.
+	 * For example, the following manifest element:
 	 * <pre>
 	 * test1.jar;test2.jar;test3.jar;selection-filter="(os.name=Windows XP)"
 	 * </pre>
 	 * <p>
-	 * This manifest element has the value components array 
+	 * This manifest element has the value components array
 	 * <code>{ "test1.jar", "test2.jar", "test3.jar" }</code>
 	 * Each value component is delemited by a semi-colon (<code>';'</code>).
 	 * </p>
-	 * 
+	 *
 	 * @return the String[] of value components
 	 */
 	public String[] getValueComponents() {
@@ -155,9 +155,9 @@
 	}
 
 	/**
-	 * Returns the value for the specified attribute or <code>null</code> if it does 
-	 * not exist.  If the attribute has multiple values specified then the last value 
-	 * specified is returned. For example the following manifest element: 
+	 * Returns the value for the specified attribute or <code>null</code> if it does
+	 * not exist.  If the attribute has multiple values specified then the last value
+	 * specified is returned. For example the following manifest element:
 	 * <pre>
 	 * elementvalue; myattr="value1"; myattr="value2"
 	 * </pre>
@@ -166,7 +166,7 @@
 	 * will be returned because it is the last value specified for the attribute
 	 * <code>myattr</code>.
 	 * </p>
-	 * 
+	 *
 	 * @param key the attribute key to return the value for
 	 * @return the attribute value or <code>null</code>
 	 */
@@ -175,11 +175,11 @@
 	}
 
 	/**
-	 * Returns an array of values for the specified attribute or 
+	 * Returns an array of values for the specified attribute or
 	 * <code>null</code> if the attribute does not exist.
-	 * 
+	 *
 	 * @param key the attribute key to return the values for
-	 * @return the array of attribute values or <code>null</code> 
+	 * @return the array of attribute values or <code>null</code>
 	 * @see #getAttribute(String)
 	 */
 	public String[] getAttributes(String key) {
@@ -189,7 +189,7 @@
 	/**
 	 * Returns an enumeration of attribute keys for this manifest element or
 	 * <code>null</code> if none exist.
-	 * 
+	 *
 	 * @return the enumeration of attribute keys or null if none exist.
 	 */
 	public Enumeration<String> getKeys() {
@@ -198,7 +198,7 @@
 
 	/**
 	 * Add an attribute to this manifest element.
-	 * 
+	 *
 	 * @param key the key of the attribute
 	 * @param value the value of the attribute
 	 */
@@ -207,9 +207,9 @@
 	}
 
 	/**
-	 * Returns the value for the specified directive or <code>null</code> if it 
-	 * does not exist.  If the directive has multiple values specified then the 
-	 * last value specified is returned. For example the following manifest element: 
+	 * Returns the value for the specified directive or <code>null</code> if it
+	 * does not exist.  If the directive has multiple values specified then the
+	 * last value specified is returned. For example the following manifest element:
 	 * <pre>
 	 * elementvalue; mydir:="value1"; mydir:="value2"
 	 * </pre>
@@ -217,7 +217,7 @@
 	 * specifies two values for the directive key <code>mydir</code>.  In this case <code>value2</code>
 	 * will be returned because it is the last value specified for the directive <code>mydir</code>.
 	 * </p>
-	 * 
+	 *
 	 * @param key the directive key to return the value for
 	 * @return the directive value or <code>null</code>
 	 */
@@ -226,9 +226,9 @@
 	}
 
 	/**
-	 * Returns an array of string values for the specified directives or 
+	 * Returns an array of string values for the specified directives or
 	 * <code>null</code> if it does not exist.
-	 * 
+	 *
 	 * @param key the directive key to return the values for
 	 * @return the array of directive values or <code>null</code>
 	 * @see #getDirective(String)
@@ -240,7 +240,7 @@
 	/**
 	 * Return an enumeration of directive keys for this manifest element or
 	 * <code>null</code> if there are none.
-	 * 
+	 *
 	 * @return the enumeration of directive keys or <code>null</code>
 	 */
 	public Enumeration<String> getDirectiveKeys() {
@@ -249,7 +249,7 @@
 
 	/**
 	 * Add a directive to this manifest element.
-	 * 
+	 *
 	 * @param key the key of the attribute
 	 * @param value the value of the attribute
 	 */
@@ -296,7 +296,7 @@
 	}
 
 	/*
-	 * Return an enumeration of table keys for the specified table. 
+	 * Return an enumeration of table keys for the specified table.
 	 */
 	private Enumeration<String> getTableKeys(HashMap<String, Object> table) {
 		if (table == null)
@@ -335,7 +335,7 @@
 	/**
 	 * Parses a manifest header value into an array of ManifestElements.  Each
 	 * ManifestElement returned will have a non-null value returned by getValue().
-	 * 
+	 *
 	 * @param header the header name to parse.  This is only specified to provide error messages
 	 * 	when the header value is invalid.
 	 * @param value the header value to parse.
@@ -453,7 +453,7 @@
 
 	/**
 	 * Returns the result of converting a list of comma-separated tokens into an array.
-	 * 
+	 *
 	 * @return the array of string tokens or <code>null</code> if there are none
 	 * @param stringList the initial comma-separated string
 	 */
@@ -465,7 +465,7 @@
 	/**
 	 * Returns the result of converting a list of tokens into an array.  The tokens
 	 * are split using the specified separator.
-	 * 
+	 *
 	 * @return the array of string tokens.  If there are none then an empty array
 	 * is returned.
 	 * @param stringList the initial string list
@@ -488,7 +488,7 @@
 	/**
 	 * Parses a bundle manifest and puts the header/value pairs into the supplied Map.
 	 * Only the main section of the manifest is parsed (up to the first blank line).  All
-	 * other sections are ignored.  If a header is duplicated then only the last  
+	 * other sections are ignored.  If a header is duplicated then only the last
 	 * value is stored in the map.
 	 * <p>
 	 * The supplied input stream is consumed by this method and will be closed.
@@ -547,7 +547,7 @@
 		// This method reads all the line continuations into a single string.
 		// Care must be taken for cases where double byte UTF characters are split
 		// across line continuations.
-		// This is why BufferedReader.readLine is not used here.  We must process the 
+		// This is why BufferedReader.readLine is not used here.  We must process the
 		// CR LF chars ourselves
 		lineLoop: while (true) {
 			int c = input.read();
diff --git a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/NLS.java b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/NLS.java
index 7d64991..a0c62b1 100644
--- a/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/NLS.java
+++ b/bundles/org.eclipse.osgi/supplement/src/org/eclipse/osgi/util/NLS.java
@@ -7,7 +7,7 @@
  * https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
- * 
+ *
  * Contributors:
  *     IBM - Initial API and implementation
  *******************************************************************************/
@@ -35,7 +35,7 @@
  * <p>
  * The <code>#bind</code> methods perform string substitution and should be considered a
  * convenience and <em>not</em> a full substitute replacement for <code>MessageFormat#format</code>
- * method calls. 
+ * method calls.
  * </p>
  * <p>
  * Text appearing within curly braces in the given message, will be interpreted
@@ -54,7 +54,7 @@
  * <p>
  * Clients may subclass this type.
  * </p>
- * 
+ *
  * @since 3.1
  */
 public abstract class NLS {
@@ -93,11 +93,11 @@
 
 	/**
 	 * Bind the given message's substitution locations with the given string value.
-	 * 
+	 *
 	 * @param message the message to be manipulated
 	 * @param binding the object to be inserted into the message
 	 * @return the manipulated String
-	 * @throws IllegalArgumentException if the text appearing within curly braces in the given message does not map to an integer 
+	 * @throws IllegalArgumentException if the text appearing within curly braces in the given message does not map to an integer
 	 */
 	public static String bind(String message, Object binding) {
 		return internalBind(message, null, String.valueOf(binding), null);
@@ -105,7 +105,7 @@
 
 	/**
 	 * Bind the given message's substitution locations with the given string values.
-	 * 
+	 *
 	 * @param message the message to be manipulated
 	 * @param binding1 An object to be inserted into the message
 	 * @param binding2 A second object to be inserted into the message
@@ -118,7 +118,7 @@
 
 	/**
 	 * Bind the given message's substitution locations with the given string values.
-	 * 
+	 *
 	 * @param message the message to be manipulated
 	 * @param bindings An array of objects to be inserted into the message
 	 * @return the manipulated String
@@ -131,7 +131,7 @@
 	/**
 	 * Initialize the given class with the values from the message properties specified by the
 	 * base name.  The base name specifies a fully qualified base name to a message properties file,
-	 * including the package where the message properties file is located.  The class loader of the 
+	 * including the package where the message properties file is located.  The class loader of the
 	 * specified class will be used to load the message properties resources.
 	 * <p>
 	 * For example, if the locale is set to en_US and <code>org.eclipse.example.nls.messages</code>
@@ -143,7 +143,7 @@
 	 *   org/eclipse/example/nls/messages_en.properties
 	 *   org/eclipse/example/nls/messages.properties
 	 * </pre>
-	 * 
+	 *
 	 * @param baseName the base name of a fully qualified message properties file.
 	 * @param clazz the class where the constants will exist
 	 */
@@ -352,13 +352,13 @@
 	}
 
 	/*
-	 * The method adds a log entry based on the error message and exception. 
+	 * The method adds a log entry based on the error message and exception.
 	 * The output is written to the System.err.
-	 * 
+	 *
 	 * This method is only expected to be called if there is a problem in
-	 * the NLS mechanism. As a result, translation facility is not available 
+	 * the NLS mechanism. As a result, translation facility is not available
 	 * here and messages coming out of this log are generally not translated.
-	 * 
+	 *
 	 * @param severity - severity of the message (SEVERITY_ERROR or SEVERITY_WARNING)
 	 * @param message - message to log
 	 * @param e - exception to log
@@ -434,7 +434,7 @@
 			if ((field.getModifiers() & MOD_MASK) != MOD_EXPECTED)
 				return null;
 			try {
-				// Check to see if we are allowed to modify the field. If we aren't (for instance 
+				// Check to see if we are allowed to modify the field. If we aren't (for instance
 				// if the class is not public) then change the accessible attribute of the field
 				// before trying to set the value.
 				if (!isAccessible)