Bug 510100 - [cleanup] Get rid of trailing white space in platform.debug

Also enabled "cleanup whitespace on save" actions for debug.ui and
debug.tests bundles.

Change-Id: I755b879ab1d49144a1bec3f4318dbb8b29521bb3
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsCoreUtil.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsCoreUtil.java
index 9239265..4f6dda3 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsCoreUtil.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsCoreUtil.java
@@ -52,14 +52,14 @@
 	protected static void abort(String message, Throwable exception, int code) throws CoreException {
 		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, code, message, exception));
 	}
-	
+
 	/**
 	 * Expands and returns the location attribute of the given launch
 	 * configuration. The location is
 	 * verified to point to an existing file, in the local file system.
-	 * 
+	 *
 	 * @param configuration launch configuration
-	 * @return an absolute path to a file in the local file system  
+	 * @return an absolute path to a file in the local file system
 	 * @throws CoreException if unable to retrieve the associated launch
 	 * configuration attribute, if unable to resolve any variables, or if the
 	 * resolved location does not point to an existing file in the local file
@@ -78,8 +78,8 @@
 				File file = new File(expandedLocation);
 				if (file.isFile()) {
 					return new Path(expandedLocation);
-				} 
-				
+				}
+
 				String msg = NLS.bind(ExternalToolsProgramMessages.ExternalToolsUtil_invalidLocation__0_, new Object[] { configuration.getName()});
 				abort(msg, null, 0);
 			}
@@ -87,11 +87,11 @@
 		// execution will not reach here
 		return null;
 	}
-	
+
 	/**
 	 * Returns a boolean specifying whether or not output should be captured for
 	 * the given configuration
-	 * 
+	 *
 	 * @param configuration the configuration from which the value will be
 	 * extracted
 	 * @return boolean specifying whether or not output should be captured
@@ -106,7 +106,7 @@
 	 * configuration. Returns <code>null</code> if a working directory is not
 	 * specified. If specified, the working is verified to point to an existing
 	 * directory in the local file system.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @return an absolute path to a directory in the local file system, or
 	 * <code>null</code> if unspecified
@@ -123,7 +123,7 @@
 				File path = new File(expandedLocation);
 				if (path.isDirectory()) {
 					return new Path(expandedLocation);
-				} 
+				}
 				String msg = NLS.bind(ExternalToolsProgramMessages.ExternalToolsUtil_invalidDirectory__0_, new Object[] { expandedLocation, configuration.getName()});
 				abort(msg, null, 0);
 			}
@@ -134,7 +134,7 @@
 	/**
 	 * Expands and returns the arguments attribute of the given launch
 	 * configuration. Returns <code>null</code> if arguments are not specified.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @return an array of resolved arguments, or <code>null</code> if
 	 * unspecified
@@ -153,13 +153,13 @@
 	private static IStringVariableManager getStringVariableManager() {
 		return VariablesPlugin.getDefault().getStringVariableManager();
 	}
-	
+
 	/**
 	 * Returns whether the given launch configuration is enabled. This property
 	 * is intended only to apply to external tool builder configurations and
 	 * determines whether the project builder will launch the configuration
 	 * when it builds.
-	 *  
+	 *
 	 * @param configuration the configuration for which the enabled state should
 	 * 		be determined.
 	 * @return whether the given configuration is enabled to be run when a build occurs.
@@ -168,10 +168,10 @@
 	public static boolean isBuilderEnabled(ILaunchConfiguration configuration) throws CoreException {
 		return configuration.getAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, true);
 	}
-	
+
 	/**
 	 * Returns the collection of resources for the build scope as specified by the given launch configuration.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @throws CoreException if an exception occurs while retrieving the resources
 	 */
@@ -180,18 +180,18 @@
 		if (scope == null) {
 			return null;
 		}
-	
+
 		return RefreshUtil.toResources(scope);
 	}
-	
+
 	/**
 	 * Parses the argument text into an array of individual
 	 * strings using the space character as the delimiter.
 	 * An individual argument containing spaces must have a
-	 * double quote (") at the start and end. Two double 
+	 * double quote (") at the start and end. Two double
 	 * quotes together is taken to mean an embedded double
 	 * quote in the argument text.
-	 * 
+	 *
 	 * @param arguments the arguments as one string
 	 * @return the array of arguments
 	 */
@@ -200,15 +200,15 @@
 			return new String[0];
 		}
 		String[] res= DebugPlugin.parseArguments(arguments);
-		return res;		
-	}	
+		return res;
+	}
 	/**
 	 * Returns a collection of projects referenced by a build scope attribute.
-	 * 
+	 *
 	 * @return collection of projects referred to by configuration
 	 */
 	public static IProject[] getBuildProjects(ILaunchConfiguration configuration, String buildScopeId) {
-		
+
 		String scope = null;
 		String id = buildScopeId ;
 		if (id == null) {
@@ -247,11 +247,11 @@
 		}
 		return new IProject[0];
 	}
-	
+
 	/**
 	 * Whether referenced projects should be considered when building. Only valid
 	 * when a set of projects is to be built.
-	 * 
+	 *
 	 * @param configuration
 	 * @return whether referenced projects should be considerd when building
 	 * @throws CoreException if unable to access the associated attribute
@@ -263,10 +263,10 @@
 		}
 		return configuration.getAttribute(id, true);
 	}
-	
+
 	/**
 	 * Returns whether the given external builder configuration should build asynchronously.
-	 * 
+	 *
 	 * @param configuration the configuration
 	 * @return whether the configuration is configured to build asynchronously
 	 */
diff --git a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsProgramMessages.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsProgramMessages.java
index 889fe2b..699365a 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsProgramMessages.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/launchConfigurations/ExternalToolsProgramMessages.java
@@ -3,8 +3,8 @@
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
+ *
+ * Contributors:
  * IBM - Initial API and implementation
  **********************************************************************/
 package org.eclipse.core.externaltools.internal.launchConfigurations;
@@ -18,7 +18,7 @@
 
 	public static String ProgramLaunchDelegate_3;
 	public static String ProgramLaunchDelegate_4;
-	
+
 	public static String ExternalToolsUtil_Location_not_specified_by__0__1;
 	public static String ExternalToolsUtil_invalidLocation__0_;
 	public static String ExternalToolsUtil_invalidDirectory__0_;
diff --git a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/ExternalToolsModelMessages.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/ExternalToolsModelMessages.java
index 9e38b50..eceec79 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/ExternalToolsModelMessages.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/model/ExternalToolsModelMessages.java
@@ -3,8 +3,8 @@
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
+ *
+ * Contributors:
  * IBM - Initial API and implementation
  **********************************************************************/
 package org.eclipse.core.externaltools.internal.model;
@@ -13,10 +13,10 @@
 
 public class ExternalToolsModelMessages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.core.externaltools.internal.model.ExternalToolsModelMessages";//$NON-NLS-1$
-    
+
 	public static String ExternalToolBuilder_Running__0_____1;
 	public static String ExternalToolBuilder_0;
-	
+
 	static {
 		// load message values from bundle file
 		NLS.initializeMessages(BUNDLE_NAME, ExternalToolsModelMessages.class);
diff --git a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolsMigrationMessages.java b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolsMigrationMessages.java
index 3e5fa46..8ec6e41 100644
--- a/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolsMigrationMessages.java
+++ b/org.eclipse.core.externaltools/src/org/eclipse/core/externaltools/internal/registry/ExternalToolsMigrationMessages.java
@@ -3,8 +3,8 @@
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
+ *
+ * Contributors:
  * IBM - Initial API and implementation
  **********************************************************************/
 package org.eclipse.core.externaltools.internal.registry;
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
index d6afcfd..206b026 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
@@ -3,8 +3,8 @@
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
+ *
+ * Contributors:
  * IBM - Initial API and implementation
  **********************************************************************/
 package org.eclipse.core.internal.variables;
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
index b81fff7..7e12732 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
@@ -20,7 +20,7 @@
  * The following is a definition of a dynamic variable that resolves to the name of the selected resource:
  * <pre>
  *  &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
- *    &lt;variable 
+ *    &lt;variable
  *       name="resource_name"
  *       resolver="com.example.ResourceNameResolver"
  *       description="The name of the selected resource"
@@ -41,7 +41,7 @@
 	/**
 	 * Returns the value of this variable when referenced with the given
 	 * argument, possibly <code>null</code>.
-	 * 
+	 *
 	 * @param argument argument present in variable expression or <code>null</code>
 	 *   if none
 	 * @return value of this variable when referenced with the given argument, possibly
@@ -49,11 +49,11 @@
 	 * @throws CoreException if unable to resolve a value for this variable
 	 */
 	public String getValue(String argument) throws CoreException;
-	
+
 	/**
 	 * Returns whether this variable supports an argument, as specified
 	 * by this variable's extension definition in plug-in XML.
-	 * 
+	 *
 	 * @return whether this variable supports an argument
 	 */
 	public boolean supportsArgument();
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
index b5cefaa..334f6cf 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.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
  *******************************************************************************/
@@ -26,7 +26,7 @@
 	/**
 	 * Resolves and returns a value for the specified variable when referenced
 	 * with the given argument, possibly <code>null</code>
-	 *  
+	 *
 	 * @param variable variable to resolve a value for
 	 * @param argument argument present in expression or <code>null</code> if none
 	 * @return variable value, possibly <code>null</code>
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
index 70c3e25..128c907 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
@@ -42,16 +42,16 @@
 	/**
 	 * Returns the name of this variable. A variable is uniquely identified by
 	 * its name.
-	 * 
+	 *
 	 * @return variable name
 	 */
 	public String getName();
-	
+
 	/**
 	 * Returns a human readable description of this variable, possibly <code>null</code>
-	 * 
+	 *
 	 * @return a description of this variable, or <code>null</code> if none
 	 */
 	public String getDescription();
-	
+
 }
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
index e3502e9..73aef0b 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
@@ -24,105 +24,105 @@
 	 * dynamic variables extension point.
 	 */
 	public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$
-	
+
 	/**
 	 * Simple identifier constant (value <code>"valueVariables"</code>) for the
 	 * value variables extension point.
 	 */
 	public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$
-	
+
 	/**
 	 * Returns all registered variables.
-	 * 
+	 *
 	 * @return a collection of all registered variables
 	 */
 	public IStringVariable[] getVariables();
-	
+
 	/**
 	 * Returns all registered value variables.
-	 * 
+	 *
 	 * @return a collection of all registered value variables
 	 */
 	public IValueVariable[] getValueVariables();
-	
+
 	/**
 	 * Returns the value variable with the given name, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @param name variable name
 	 * @return the value variable with the given name, or <code>null</code>
 	 * if none
 	 */
 	public IValueVariable getValueVariable(String name);
-	
+
 	/**
 	 * Returns all registered dynamic variables.
-	 * 
+	 *
 	 * @return a collection of all registered dynamic variables
 	 */
-	public IDynamicVariable[] getDynamicVariables();	
-	
+	public IDynamicVariable[] getDynamicVariables();
+
 	/**
 	 * Returns the dynamic variable with the given name or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @param name variable name
 	 * @return the dynamic variable with the given name or <code>null</code>
 	 * if none
 	 */
 	public IDynamicVariable getDynamicVariable(String name);
-    
+
     /**
      * Returns the plug-in identifier of the plug-in that contributed the
      * given variable via extension or <code>null</code> if the given
      * variable wasn't contributed via extension.
-     * 
+     *
      * @param variable the variable
      * @return the plug-in identifier of the plug-in that contributed the
      *  given variable or <code>null</code>
      * @since 3.1
      */
     public String getContributingPluginId(IStringVariable variable);
-	
+
 	/**
 	 * Recursively resolves and replaces all variable references in the given
 	 * expression with their corresponding values. Reports errors for references
 	 * to undefined variables (equivalent to calling
 	 * <code>performStringSubstitution(expression, true)</code>).
-	 * 
+	 *
 	 * @param expression expression referencing variables
 	 * @return expression with variable references replaced with variable values
 	 * @throws CoreException if unable to resolve the value of one or more variables
 	 */
 	public String performStringSubstitution(String expression) throws CoreException;
-	
+
 	/**
 	 * Recursively resolves and replaces all variable references in the given
 	 * expression with their corresponding values. Allows the client to control
 	 * whether references to undefined variables are reported as an error (i.e.
-	 * an exception is thrown).  
-	 * 
+	 * an exception is thrown).
+	 *
 	 * @param expression expression referencing variables
 	 * @param reportUndefinedVariables whether a reference to an undefined variable
 	 *  is to be considered an error (i.e. throw an exception)
 	 * @return expression with variable references replaced with variable values
 	 * @throws CoreException if unable to resolve the value of one or more variables
 	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;	
-	
+	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;
+
 	/**
 	 * Validates variables references in the given expression and reports errors
 	 * for references to undefined variables.
-	 * 
+	 *
 	 * @param expression expression referencing variables
 	 * @throws CoreException if one or more referenced variables do not exist
 	 */
 	public void validateStringVariables(String expression) throws CoreException;
-	
+
 	/**
 	 * Returns a new read-write value variable with the given name and description
 	 * with a <code>null</code> value.
-	 * 
+	 *
 	 * @param name variable name, cannot be <code>null</code>
 	 * @param description variable description, possibly <code>null</code>
 	 * @return a new value variable
@@ -131,7 +131,7 @@
 
 	/**
 	 * Returns a new value variable with the given properties.
-	 * 
+	 *
 	 * @param name variable name, cannot be <code>null</code>
 	 * @param description variable description, possibly <code>null</code>
 	 * @param readOnly whether this variable is to be a read only variable
@@ -141,51 +141,51 @@
 	 * @since 3.3
 	 */
 	public IValueVariable newValueVariable(String name, String description, boolean readOnly, String value);
-	
+
 	/**
 	 * Adds the given variables to the variable registry.
-	 * 
+	 *
 	 * @param variables the variables to add
 	 * @throws CoreException if one or more variables to add has a name collision with
-	 *  an existing variable 
+	 *  an existing variable
 	 */
 	public void addVariables(IValueVariable[] variables) throws CoreException;
-	
+
 	/**
 	 * Removes the given variables from the registry. Has no effect for unregistered
 	 * variables.
-	 * 
+	 *
 	 * @param variables variables to remove
 	 */
 	public void removeVariables(IValueVariable[] variables);
-	
+
 	/**
 	 * Registers the given listener for value variable notifications. Has no effect
 	 * if an identical listener is already registered.
-	 *   
+	 *
 	 * @param listener value variable listener to add
 	 */
 	public void addValueVariableListener(IValueVariableListener listener);
-	
+
 	/**
 	 * Removes the given listener from the list of registered value variable
 	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
+	 *
 	 * @param listener value variable listener to remove
 	 */
 	public void removeValueVariableListener(IValueVariableListener listener);
-	
+
 	/**
 	 * Convenience method that returns an expression referencing the given
 	 * variable and optional argument. For example, calling the method with
 	 * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
 	 * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
-	 * 
+	 *
 	 * @param varName variable name
 	 * @param arg argument text or <code>null</code>
 	 * @return an expression referencing the given variable and
 	 *  optional argument
 	 */
 	public String generateVariableExpression(String varName, String arg);
-	
+
 }
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
index ba4e169..a0118c4 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
@@ -58,34 +58,34 @@
 	 * @param value variable value
 	 */
 	public void setValue(String value);
-	
+
 	/**
 	 * Returns the value of this variable, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return the value of this variable, or <code>null</code> if none
 	 */
 	public String getValue();
-	
+
 	/**
 	 * Returns whether this variable was contributed by an extension.
-	 * 
+	 *
 	 * @return whether this variable was contributed by an extension
 	 */
 	public boolean isContributed();
-	
+
 	/**
 	 * Returns whether this variable is read only.
-	 * 
+	 *
 	 * @return whether this variable is read only
 	 * @since 3.3
 	 */
 	public boolean isReadOnly();
-	
+
 	/**
 	 * Sets the description of this variable to the given value.
-	 * 
+	 *
 	 * @param description variable description, possibly <code>null</code>
 	 */
-	public void setDescription(String description);	
-	
+	public void setDescription(String description);
+
 }
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
index 035a907..f3169eb 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
@@ -22,8 +22,8 @@
  */
 public interface IValueVariableInitializer {
 	/**
-	 * Initializes the specified variable. 
-	 * 
+	 * Initializes the specified variable.
+	 *
 	 * @param variable variable to initialize
 	 */
 	public void initialize(IValueVariable variable);
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
index 37dac25..8aa51da 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.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
  *******************************************************************************/
@@ -20,26 +20,26 @@
  * @since 3.0
  */
 public interface IValueVariableListener {
-	
+
 	/**
 	 * Notification the given variables have been added to the variable
 	 * manager.
-	 * 
+	 *
 	 * @param variables added variables
 	 */
 	public void variablesAdded(IValueVariable[] variables);
-	
+
 	/**
 	 * Notification the given variables have been removed from the variable
 	 * manager.
-	 * 
+	 *
 	 * @param variables removed variables
 	 */
 	public void variablesRemoved(IValueVariable[] variables);
-	
+
 	/**
 	 * Notification the given variables have been changed value.
-	 * 
+	 *
 	 * @param variables changed variables
 	 */
 	public void variablesChanged(IValueVariable[] variables);
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
index 740e2af..e9e84ff 100644
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
@@ -27,13 +27,13 @@
 	/**
 	 * Status code indicating an unexpected internal error.
 	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
+	public static final int INTERNAL_ERROR = 120;
+
 	/**
 	 * Status code indicating a variable reference cycle error.
 	 */
 	public static final int REFERENCE_CYCLE_ERROR = 130;
-	
+
 	/**
 	 * The single instance of this plug-in runtime class.
 	 */
@@ -46,10 +46,10 @@
 	public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
 
 
-	/** 
+	/**
 	 * Constructs an instance of this plug-in runtime class.
 	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
+	 * An instance of this plug-in runtime class is automatically created
 	 * when the facilities provided by the Variables plug-in are required.
 	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
 	 * </p>
@@ -67,16 +67,16 @@
 	public static VariablesPlugin getDefault() {
 		return plugin;
 	}
-	
+
 	/**
 	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
+	 *
+	 * @param t throwable to log
 	 */
 	public static void log(Throwable t) {
 		log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Logs the given message with this plug-in's log and the given
 	 * throwable or <code>null</code> if none.
@@ -86,16 +86,16 @@
 	public static void logMessage(String message, Throwable throwable) {
 		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
 	}
-	
+
 	/**
 	 * Logs the specified status with this plug-in's log.
-	 * 
+	 *
 	 * @param status status to log
 	 */
 	public static void log(IStatus status) {
 		getDefault().getLog().log(status);
 	}
-	
+
 	/**
 	 * Convenience method which returns the unique identifier of this plug-in.
 	 * @return the identifier of this plug-in
@@ -103,10 +103,10 @@
 	public static String getUniqueIdentifier() {
 		return PI_CORE_VARIABLES;
 	}
-	
+
 	/**
 	 * Returns the string variable manager.
-	 * 
+	 *
 	 * @return the string variable manager
 	 */
 	public IStringVariableManager getStringVariableManager() {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
index b1a7c3d..8cf814a 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
@@ -11,7 +11,7 @@
 package org.eclipse.debug.core;
 
 
- 
+
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 
@@ -19,7 +19,7 @@
 /**
  * A checked exception representing a failure.
  * <p>
- * Defines status codes relevant to the debug plug-in. When a 
+ * Defines status codes relevant to the debug plug-in. When a
  * debug exception is thrown, it contains a status object describing
  * the cause of the exception. The status objects originating from the
  * debug plug-in use the codes defined in this class.
@@ -27,19 +27,19 @@
  * @see IStatus
  * @noextend This class is not intended to be subclassed by clients.
  */
-public class DebugException extends CoreException {	
-    
+public class DebugException extends CoreException {
+
     /**
      * All objects that can be serialized should have a stable serialVersionUID
      */
     private static final long serialVersionUID = 1L;
-    
+
 	/**
 	 * Indicates a request made of a debug element has failed
 	 * on the target side.
 	 */
 	public static final int TARGET_REQUEST_FAILED = 5010;
-	 
+
 	/**
 	 * Indicates a request is not supported by the capabilities of a debug element.
 	 * For example, a request was made to terminate an element that does not
@@ -58,23 +58,23 @@
 	 * Indicates an internal error. This is an unexpected state.
 	 */
 	public static final int INTERNAL_ERROR = 5013;
-	
-	/** 
+
+	/**
 	 * Indicates an improperly configured breakpoint. Breakpoints have a minimal
 	 * set of required attributes as defined by the breakpoint manager.
 	 *
 	 * @see IBreakpointManager
 	 */
 	public static final int CONFIGURATION_INVALID = 5014;
-	
+
 	/**
 	 * Indicates a launch configuration could not be restored because its
 	 * launch configuration type definition is missing.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final int MISSING_LAUNCH_CONFIGURATION_TYPE = 5020;
-	
+
 	/**
 	 * Constructs a new debug exception with the given status object.
 	 *
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
index 49e4bef..159e063 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
@@ -50,7 +50,7 @@
 	 * @since 2.0
 	 */
 	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta);
-	
+
 	/**
 	 * Notifies this listener that an attribute of the given breakpoint has
 	 * changed, as described by the delta.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
index 6e0aa6e..e45fd4f 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
@@ -52,7 +52,7 @@
 	 * @see org.eclipse.core.resources.IMarkerDelta
 	 */
 	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas);
-	
+
 	/**
 	 * Notifies this listener that the given breakpoints have
 	 * changed, as described by the corresponding deltas.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
index 683270b..160d1c3 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.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
  *******************************************************************************/
@@ -17,7 +17,7 @@
  * <p>
  * When more than one event is reported, each event has occurred at the
  * same location in a target program. For example, a breakpoint may
- * reside at the same location at which a step request completes. In 
+ * reside at the same location at which a step request completes. In
  * this case the breakpoint event and step end event are reported together
  * in the same event set.
  * </p>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
index d82e6bf..9ab5b2b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
@@ -41,7 +41,7 @@
 	 * @param expression the removed expression
 	 */
 	public void expressionRemoved(IExpression expression);
-	
+
 	/**
 	 * Notifies this listener that the given expression has
 	 * changed.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
index fc42306..72c1611 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
@@ -41,7 +41,7 @@
 	 * @param expression the expression to add
 	 */
 	public void addExpression(IExpression expression);
-	
+
 	/**
 	 * Adds the given expressions to the collection of registered expressions
 	 * in the workspace and notifies all registered listeners. Has no effect
@@ -51,33 +51,33 @@
 	 * @since 2.1
 	 */
 	public void addExpressions(IExpression[] expressions);
-	
+
 	/**
 	 * Creates and returns a new watch expression with the
 	 * given text. The returned expression is <b>not</b> added to
 	 * this manager.
-	 * 
+	 *
 	 * @return new watch expression
 	 * @param expressionText the text for the new expression
 	 * @since 3.0
 	 */
 	public IWatchExpression newWatchExpression(String expressionText);
-		
+
 	/**
-	 * Returns a collection of all registered expressions, 
+	 * Returns a collection of all registered expressions,
 	 * possibly empty.
 	 *
 	 * @return an array of expressions
 	 */
 	public IExpression[] getExpressions();
-	
+
 	/**
 	 * Returns whether there are any registered expressions
-	 * 
+	 *
 	 * @return whether there are any registered expressions
 	 */
 	public boolean hasExpressions();
-	
+
 	/**
 	 * Returns a collection of all expressions registered for the
 	 * given debug model,possibly empty.
@@ -86,7 +86,7 @@
 	 * @return an array of expressions
 	 */
 	public IExpression[] getExpressions(String modelIdentifier);
-		
+
 	/**
 	 * Removes the given expression from the expression manager,
 	 * and notifies all registered listeners. Has no effect if the
@@ -95,7 +95,7 @@
 	 * @param expression the expression to remove
 	 */
 	public void removeExpression(IExpression expression);
-	
+
 	/**
 	 * Removes the given expressions from the collection of registered expressions
 	 * in the workspace and notifies all registered listeners. Has no effect
@@ -104,7 +104,7 @@
 	 * @param expressions the expressions to remove
 	 * @since 2.1
 	 */
-	public void removeExpressions(IExpression[] expressions);		
+	public void removeExpressions(IExpression[] expressions);
 
 	/**
 	 * Adds the given listener to the collection of registered expression listeners.
@@ -118,10 +118,10 @@
 	 * Removes the given listener from the collection of registered expression listeners.
 	 * Has no effect if an identical listener is not already registered.
 	 *
-	 * @param listener the listener to remove	
+	 * @param listener the listener to remove
 	 */
 	public void removeExpressionListener(IExpressionListener listener);
-	
+
 	/**
 	 * Adds the given listener to the collection of registered expression listeners.
 	 * Has no effect if an identical listener is already registered.
@@ -135,15 +135,15 @@
 	 * Removes the given listener from the collection of registered expression listeners.
 	 * Has no effect if an identical listener is not already registered.
 	 *
-	 * @param listener the listener to remove	
+	 * @param listener the listener to remove
 	 * @since 2.1
 	 */
 	public void removeExpressionListener(IExpressionsListener listener);
-	
+
 	/**
 	 * Returns a new watch expression delegate for the given debug
 	 * model or <code>null</code> if no delegate is available.
-	 * 
+	 *
 	 * @param id the unique identifier of a debug model for which a
 	 *  watch expression delegate has been contributed
 	 * @return a watch expression delegate associated with the given model
@@ -152,17 +152,17 @@
 	 * @see IWatchExpressionDelegate
 	 */
 	public IWatchExpressionDelegate newWatchExpressionDelegate(String id);
-    
+
     /**
      * Returns whether a watch expression delegate has been contributed for
      * the given debug model.
-     * 
+     *
      * @param id the unique identifier of a debug model
      * @return whether a watch expression delegate has been contributed for
      *    the given debug model
      * @since 3.1
      * @see IWatchExpressionDelegate
-     */    
+     */
     public boolean hasWatchExpressionDelegate(String id);
 }
 
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
index a73a72e..aa78eb8 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
@@ -44,7 +44,7 @@
 	 * @param expressions the removed expressions
 	 */
 	public void expressionsRemoved(IExpression[] expressions);
-	
+
 	/**
 	 * Notifies this listener that the given expressions have
 	 * changed.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
index 96b595e..b294002 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
@@ -39,7 +39,7 @@
 	public Object[] getChildren();
 	/**
 	 * Returns the primary (first) debug target associated with this launch, or <code>null</code>
-	 * if no debug target is associated with this launch. All debug targets 
+	 * if no debug target is associated with this launch. All debug targets
 	 * associated with this launch may be retrieved by
 	 * <code>getDebugTargets()</code>.
 	 *
@@ -54,7 +54,7 @@
 	 * @return array of processes
 	 */
 	public IProcess[] getProcesses();
-	
+
 	/**
 	 * Returns all the debug targets associated with this launch,
 	 * or an empty collection if no debug targets are associated
@@ -65,7 +65,7 @@
 	 * @since 2.0
 	 */
 	public IDebugTarget[] getDebugTargets();
-	
+
 	/**
 	 * Adds the given debug target to this launch. Has no effect
 	 * if the given debug target is already associated with this
@@ -75,8 +75,8 @@
 	 * @param target debug target to add to this launch
 	 * @since 2.0
 	 */
-	public void addDebugTarget(IDebugTarget target);	
-	
+	public void addDebugTarget(IDebugTarget target);
+
 	/**
 	 * Removes the given debug target from this launch. Has no effect
 	 * if the given debug target is not already associated with this
@@ -86,8 +86,8 @@
 	 * @param target debug target to remove from this launch
 	 * @since 2.0
 	 */
-	public void removeDebugTarget(IDebugTarget target);	
-	
+	public void removeDebugTarget(IDebugTarget target);
+
 	/**
 	 * Adds the given process to this launch. Has no effect
 	 * if the given process is already associated with this
@@ -97,8 +97,8 @@
 	 * @param process the process to add to this launch
 	 * @since 2.0
 	 */
-	public void addProcess(IProcess process);		
-	
+	public void addProcess(IProcess process);
+
 	/**
 	 * Removes the given process from this launch. Has no effect
 	 * if the given process is not already associated with this
@@ -108,8 +108,8 @@
 	 * @param process the process to remove from this launch
 	 * @since 2.0
 	 */
-	public void removeProcess(IProcess process);			
-		
+	public void removeProcess(IProcess process);
+
 	/**
 	 * Returns the source locator to use for locating source elements for
 	 * the debug target associated with this launch, or <code>null</code>
@@ -118,7 +118,7 @@
 	 * @return the source locator
 	 */
 	public ISourceLocator getSourceLocator();
-	
+
 	/**
 	 * Sets the source locator to use for locating source elements for
 	 * the debug target associated with this launch, or <code>null</code>
@@ -128,7 +128,7 @@
 	 * @since 2.0
 	 */
 	public void setSourceLocator(ISourceLocator sourceLocator);
-		
+
 	/**
 	 * Returns the mode of this launch - one of the mode constants defined by
 	 * the launch manager.
@@ -137,16 +137,16 @@
 	 * @see ILaunchManager
 	 */
 	public String getLaunchMode();
-	
+
 	/**
 	 * Returns the configuration that was launched, or <code>null</code>
 	 * if no configuration was launched.
-	 * 
+	 *
 	 * @return the launched configuration or <code>null</code>
 	 * @since 2.0
 	 */
 	public ILaunchConfiguration getLaunchConfiguration();
-	
+
 	/**
 	 * Sets the value of a client defined attribute.
 	 *
@@ -155,7 +155,7 @@
 	 * @since 2.0
 	 */
 	public void setAttribute(String key, String value);
-	
+
 	/**
 	 * Returns the value of a client defined attribute.
 	 *
@@ -163,12 +163,12 @@
 	 * @return value the attribute value, or <code>null</code> if undefined
 	 * @since 2.0
 	 */
-	public String getAttribute(String key);	
-	
+	public String getAttribute(String key);
+
 	/**
 	 * Returns whether this launch contains at least one process
 	 * or debug target.
-	 * 
+	 *
 	 * @return whether this launch contains at least one process
 	 * or debug target
 	 * @since 2.0
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
index dc7b84f..e1a59f9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.debug.core;
 
- 
+
 /**
  * Notified when a launch configuration is created,
  * deleted, or changed.
@@ -20,34 +20,34 @@
  * @since 2.0
  */
 public interface ILaunchConfigurationListener {
-	
+
 	/**
 	 * The given launch configuration has been created.
-	 * 
+	 *
 	 * @param configuration the newly created launch configuration
 	 */
 	public void launchConfigurationAdded(ILaunchConfiguration configuration);
-	
+
 	/**
 	 * The given launch configuration has changed in some way.
 	 * The configuration may be a working copy.
-	 * 
+	 *
 	 * @param configuration the launch configuration that has
 	 *  changed
 	 */
 	public void launchConfigurationChanged(ILaunchConfiguration configuration);
-	
+
 	/**
 	 * The given launch configuration has been deleted.
 	 * <p>
-	 * The launch configuration no longer exists. Data stored 
+	 * The launch configuration no longer exists. Data stored
 	 * in the configuration can no longer be accessed, however
 	 * handle-only attributes of the launch configuration
 	 * can be retrieved.
 	 * </p>
-	 * 
+	 *
 	 * @param configuration the deleted launch configuration
 	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration);	
+	public void launchConfigurationRemoved(ILaunchConfiguration configuration);
 }
 
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java
index ce4e3d0..328c722 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java
@@ -15,10 +15,10 @@
 
 /**
  * Responsible for migrating launch configurations between different versions of Eclipse.
- * A migration delegate is contributed as an optional attribute of a 
+ * A migration delegate is contributed as an optional attribute of a
  * <code>launchConfigurationType</code> extension and is responsible for identifying
  * migration candidates and migrating launch configurations of that type.
- * <p> 
+ * <p>
  * For example, since 3.2 launch configurations may have resources mapped to them. A migration
  * delegate could assign appropriate resources to a launch configuration create in an earlier
  * version.
@@ -31,22 +31,22 @@
 public interface ILaunchConfigurationMigrationDelegate {
 
 	/**
-	 * Returns whether the given launch configuration requires migration.  
-	 * 
-	 * @param candidate potential migration candidate 
+	 * Returns whether the given launch configuration requires migration.
+	 *
+	 * @param candidate potential migration candidate
 	 * @return whether the given launch configuration requires migration
 	 * @throws CoreException if an exception occurs determining the status of the
 	 *  given configuration
 	 */
 	public boolean isCandidate(ILaunchConfiguration candidate) throws CoreException;
-	
+
 	/**
 	 * Migrates the given launch configuration to be compatible with the current tooling.
-	 * 
+	 *
 	 * @param candidate the candidate to be migrated, which can be a launch configuration
 	 *  or working copy
 	 * @throws CoreException if an exception occurs during migration
 	 */
 	public void migrate(ILaunchConfiguration candidate) throws CoreException;
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
index 427b6f4..ca9f041 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.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
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * @see org.eclipse.debug.core.ILaunch
  * @see org.eclipse.debug.core.ILaunchesListener
  */
-public interface ILaunchListener {	
+public interface ILaunchListener {
 	/**
 	 * Notifies this listener that the specified
 	 * launch has been removed.
@@ -34,18 +34,18 @@
 	/**
 	 * Notifies this listener that the specified launch
 	 * has been added.
-	 * 
+	 *
 	 * @param launch the newly added launch
 	 * @since 2.0
 	 */
-	public void launchAdded(ILaunch launch);	
+	public void launchAdded(ILaunch launch);
 	/**
 	 * Notifies this listener that the specified launch
 	 * has changed. For example, a process or debug target
 	 * has been added to the launch.
-	 * 
+	 *
 	 * @param launch the changed launch
 	 * @since 2.0
 	 */
-	public void launchChanged(ILaunch launch);	
+	public void launchChanged(ILaunch launch);
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
index 9f9849d..2f3c1de 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
@@ -32,21 +32,21 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface ILaunchMode {
-	
+
 	/**
 	 * Returns the unique identifier for this launch mode.
-	 * 
+	 *
 	 * @return the unique identifier for this launch mode
 	 */
 	public String getIdentifier();
-	
+
 	/**
 	 * Returns a human readable label for this launch mode.
-	 * 
+	 *
 	 * @return a human readable label for this launch mode
 	 */
 	public String getLabel();
-	
+
 	/**
 	 * Returns a human readable label for this launch mode when used in a
 	 * cascade menu. For example, "Run As". Allows the label to be
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
index e6c8232..12d84bf 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
@@ -25,7 +25,7 @@
  * Clients may implement this interface.
  * </p>
  * <p>
- * Clients may also implement the extension interface {@link ILaunchesListener2} for 
+ * Clients may also implement the extension interface {@link ILaunchesListener2} for
  * notification of more than one launch being terminated.
  * </p>
  * @see org.eclipse.debug.core.ILaunch
@@ -34,7 +34,7 @@
  * @see ILaunchesListener2
  * @since 2.1
  */
-public interface ILaunchesListener {	
+public interface ILaunchesListener {
 	/**
 	 * Notifies this listener that the specified
 	 * launches have been removed.
@@ -45,16 +45,16 @@
 	/**
 	 * Notifies this listener that the specified launches
 	 * have been added.
-	 * 
+	 *
 	 * @param launches the newly added launch objects
 	 */
-	public void launchesAdded(ILaunch[] launches);	
+	public void launchesAdded(ILaunch[] launches);
 	/**
 	 * Notifies this listener that the specified launches
 	 * have changed. For example, a process or debug target
 	 * has been added to a launch.
-	 * 
+	 *
 	 * @param launches the changed launch object
 	 */
-	public void launchesChanged(ILaunch[] launches);	
+	public void launchesChanged(ILaunch[] launches);
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
index 7bf7022..043d755 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.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
  *******************************************************************************/
@@ -20,10 +20,10 @@
  * @since 3.0
  */
 public interface ILaunchesListener2 extends ILaunchesListener {
-	
+
 	/**
 	 * Notification that the given launches have terminated.
-	 * 
+	 *
 	 * @param launches the launches that have terminated
 	 */
 	public void launchesTerminated(ILaunch[] launches);
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
index df4fb48..9fb9c48 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.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
  *******************************************************************************/
@@ -38,10 +38,10 @@
  * @see org.eclipse.debug.core.ILogicalStructureType
  */
 public interface ILogicalStructureProvider {
-	
+
 	/**
 	 * Returns the logical structure types which are applicable to the given value.
-	 * 
+	 *
 	 * @param value value for which logical structure types are being requested
 	 * @return the logical structure types which are applicable to the given value
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
index ae049d5..617f8da 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.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
  *******************************************************************************/
@@ -17,7 +17,7 @@
  * Provides a value representing the logical structure of a raw implementation value
  * from a debug model. Logical structures are useful for navigating complex data
  * structures. Logical structure types are contributed via extensions in plug-in XML,
- * and provide a delegate for performing logical value computation. Logical 
+ * and provide a delegate for performing logical value computation. Logical
  * structure types can be retrieved from the <code>DebugPlugin</code>.
  * <p>
  * Following is example plug-in XML to define a logical structure type.
@@ -36,7 +36,7 @@
  * The attributes are specified as follows:
  * <ul>
  * <li>id - unique identifier for this logical structure type</li>
- * <li>class - fully qualified name of class that implements 
+ * <li>class - fully qualified name of class that implements
  *   <code>ILogicalStructureTypeDelegate</code></li>
  * <li>modelIdentifier - identifier of the debug model this logical structure
  *   type is associated with</li>
@@ -56,7 +56,7 @@
  * @see org.eclipse.debug.core.ILogicalStructureProvider
  */
 public interface ILogicalStructureType extends ILogicalStructureTypeDelegate, ILogicalStructureTypeDelegate2 {
-	
+
 	/**
 	 * Returns a simple description of the logical structure provided by this
 	 * structure type.
@@ -64,16 +64,16 @@
 	 * Since 3.1, this method can return <code>null</code> if this logical structure
 	 * type's delegate implements <code>ILogicalStructureTypeDelegate2</code>.
 	 * </p>
-	 * 
+	 *
 	 * @return a simple description of the logical structure provided by this
 	 * structure type, possibly <code>null</code>
 	 */
 	public String getDescription();
-	
+
 	/**
 	 * Returns this logical structure type's unique identifier, as defined
 	 * in plug-in XML.
-	 * 
+	 *
 	 * @return this logical structure type's unique identifier
 	 */
 	public String getId();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
index 65ff4d5..a1908c7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
@@ -23,11 +23,11 @@
  * @since 3.1
  */
 public interface IMemoryBlockListener {
-	
+
 	/**
 	 * Notification the given memory blocks have been added to the
 	 * memory block manager.
-	 * 
+	 *
 	 * @param memory blocks added to the memory block manager
 	 */
 	void memoryBlocksAdded(IMemoryBlock[] memory);
@@ -35,9 +35,9 @@
 	/**
 	 * Notification the given memory blocks have been removed from
 	 * the memory block manager.
-	 * 
+	 *
 	 * @param memory blocks removed from the memory block manager
 	 */
 	void memoryBlocksRemoved(IMemoryBlock[] memory);
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
index 3c572aa..a1a55f0 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
@@ -18,8 +18,8 @@
 
 /**
  * Manages registered memory blocks in the workspace. Clients
- * interested in notification of the addition and removal of 
- * memory blocks may register as a memory block listener with 
+ * interested in notification of the addition and removal of
+ * memory blocks may register as a memory block listener with
  * the memory block manager.
  * @see org.eclipse.debug.core.model.IMemoryBlock
  * @see org.eclipse.debug.core.IMemoryBlockListener
@@ -33,61 +33,61 @@
 	 * Adds the given memory blocks to the memory block manager.
 	 * Registered memory block listeners are notified of the additions.
 	 * Has no effect on memory blocks that are already registered.
-	 *   
+	 *
 	 * @param memoryBlocks memory blocks to add
 	 */
 	public void addMemoryBlocks(IMemoryBlock[] memoryBlocks);
-	
+
 	/**
 	 * Removes the given memory blocks from the memory block manager.
 	 * Registered memory block listeners are notified of the removals.
 	 * Has no effect on memory blocks that are not currently registered.
-	 * 
+	 *
 	 * @param memoryBlocks memory blocks to remove
 	 */
 	public void removeMemoryBlocks(IMemoryBlock[] memoryBlocks);
-	
+
 	/**
 	 * Registers the given listener for memory block addition and
 	 * removal notification. Has no effect if an identical listener
 	 * is already registered.
-	 *    
+	 *
 	 * @param listener the listener to add
 	 */
 	public void addListener(IMemoryBlockListener listener);
-	
+
 	/**
 	 * Unregisters the given listener for memory block addition and
 	 * removal notification. Has no effect if an identical listener
 	 * is not already registered.
-	 * 
+	 *
 	 * @param listener the listener to remove
 	 */
 	public void removeListener(IMemoryBlockListener listener);
-	
+
 	/**
 	 * Returns all registered memory blocks.
-	 * 
+	 *
 	 * @return all registered memory blocks
 	 */
 	public IMemoryBlock[] getMemoryBlocks();
-	
+
 	/**
 	 * Returns all registered memory blocks associated with the
 	 * given debug target. That is, all registered memory blocks
 	 * whose <code>getDebugTarget()</code> method returns the
 	 * specified debug target.
-	 * 
+	 *
 	 * @param debugTarget target for which memory blocks have been requested
 	 * @return all registered memory blocks associated with the given debug
 	 *  target
 	 */
 	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget);
-	
+
 	/**
 	 * Returns all registered memory blocks that originated from the
 	 * given memory retrieval source.
-	 * 
+	 *
 	 * @param source source for which memory blocks have been requested
 	 * @return all registered memory blocks that originated from the
 	 *  given memory retrieval source
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java
index 851a4c8..07a4952 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java
@@ -25,7 +25,7 @@
  * Clients are expected to poll a request (using <code>isCanceled</code>)
  * periodically and abort at their earliest convenience calling <code>done()</code>.
  * A request can be canceled by the originator of the request or a client
- * fulfilling a request. 
+ * fulfilling a request.
  * </p>
  * <p>
  * Clients that invoke request handlers may implement this interface.
@@ -40,19 +40,19 @@
      * indicates why the request failed. A <code>null</code> status is considered
      * to be successful. Only clients fulfilling a request should call this
      * method. Clients making a request are not intended to call this method.
-     * 
+     *
      * @param status request status or <code>null</code>
      */
     public void setStatus(IStatus status);
-    
+
     /**
      * Returns the status of this request, or <code>null</code>.
-     * 
+     *
      * @return request status - <code>null</code> is equivalent
      *  to an OK status
      */
     public IStatus getStatus();
-    
+
     /**
      * Indicates this request is complete. Clients must call this method
      * whether the request succeeds, fails, or is cancelled to indicate that
@@ -60,7 +60,7 @@
      * method. Clients making a request are not intended to call this method.
      */
     public void done();
-    
+
     /**
      * Cancels this request. A request may be canceled by the originator of request
      * or a client fulfilling a request. Optionally a canceled status may be set on
@@ -68,17 +68,17 @@
      * <code>done()</code> to indicate the request is complete.
      */
     public void cancel();
-    
+
     /**
      * Returns whether this request has been canceled.
      * <p>
      * Clients fulfilling a request are expected to poll a request (using <code>isCanceled</code>)
      * periodically and abort at their earliest convenience calling <code>done()</code>.
      * A request can be canceled by the originator of the request or a processor fulfilling a
-     * request. 
+     * request.
      * </p>
      * @return whether this request has been canceled
      */
     public boolean isCanceled();
-    
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
index 571b064..3306fdf 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core;
 
- 
+
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 
@@ -35,7 +35,7 @@
  * Following is an example definition of a status handler extension.
  * <pre>
  * &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
- *   &lt;statusHandler 
+ *   &lt;statusHandler
  *      id="com.example.ExampleIdentifier"
  *      class="com.example.ExampleStatusHandler"
  *      plugin="com.example.ExamplePluginId"
@@ -67,7 +67,7 @@
 	/**
 	 * Notifies this status handler that the given status has been
 	 * generated by the specified source object and requires resolution.
-	 * 
+	 *
 	 * @param status the status to handle
 	 * @param source the object delegating to this status handler
 	 *   the given status
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
index a074c89..a6c82b7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.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/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java
index fae4ef9..c28f473 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java
@@ -21,7 +21,7 @@
  * delegates to the active context's {@link ITerminateHandler} implementation to update
  * its enabled state and execute the command. Debug model elements may implement supported
  * command handler interfaces directly or provide them as adapters. The debug platform
- * provides implementations of handlers for standard debug models. 
+ * provides implementations of handlers for standard debug models.
  * </p>
  * @see org.eclipse.core.runtime.IAdaptable
  * @see IDisconnectHandler
@@ -36,7 +36,7 @@
  * @since 3.3
  */
 public interface IDebugCommandHandler {
-	
+
 	/**
 	 * Determines whether this handler can execute on the elements specified
 	 * in the given request by reporting enabled state to the request.
@@ -56,7 +56,7 @@
 	 * @param request specifies elements to operate on and collects enabled state
 	 */
 	public void canExecute(IEnabledStateRequest request);
-	
+
 	/**
 	 * Executes this command on the elements specified in the given request
 	 * reporting status to the given request and returns whether this handler should
@@ -64,7 +64,7 @@
 	 * <p>
 	 * Implementations must be non-blocking and may respond asynchronously to the
 	 * given request. Errors can reported by setting an appropriate status
-	 * on the given request. A request can be canceled by this handler or the caller. 
+	 * on the given request. A request can be canceled by this handler or the caller.
 	 * A <code>null</code> status is equivalent to an OK status. When a request is
 	 * complete, has encountered an error, or canceled, implementations must call
 	 * <code>done()</code> on the given collector.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java
index b721005..c1f30cf 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java
@@ -13,7 +13,7 @@
 import org.eclipse.debug.core.IRequest;
 
 /**
- * A request to execute a command on specific elements. A debug command request is 
+ * A request to execute a command on specific elements. A debug command request is
  * passed to a {@link IDebugCommandHandler} when a command is invoked.
  * <p>
  * Clients that invoke command handlers may implement this interface.
@@ -24,7 +24,7 @@
 
 	/**
 	 * Returns the elements to execute a command on.
-	 * 
+	 *
 	 * @return elements to execute a command on
 	 */
 	public Object[] getElements();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java
index ee3e5b5..428323b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java
@@ -25,7 +25,7 @@
 
 	/**
 	 * Sets the enabled state of a command handler.
-	 * 
+	 *
 	 * @param result whether enabled
 	 */
 	public void setEnabled(boolean result);
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IRestartHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IRestartHandler.java
index 0969d70..69097a7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IRestartHandler.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IRestartHandler.java
@@ -4,22 +4,22 @@
  * 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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
 package org.eclipse.debug.core.commands;
 
 /**
- * A restart command allows the debugger to quickly restart the current debug 
- * session without terminating and re-launching.  
+ * A restart command allows the debugger to quickly restart the current debug
+ * session without terminating and re-launching.
  * <p>
  * Clients may implement this interface. The debug platform provides a
- * restart action that delegates to this handler interface. Platform does not 
+ * restart action that delegates to this handler interface. Platform does not
  * provide a default implementation of this handler, so to enable this action
  * the debugger implementation must provide one.
  * </p>
- * 
+ *
  * @since 3.6
  */
 public interface IRestartHandler extends IDebugCommandHandler {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java
index 5d0b739..eb9a32b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java
@@ -16,7 +16,7 @@
  * A step filters handler typically toggles the use of step filters
  * in a debug session based on the user preference setting. To determine if step filters
  * should be enabled use the method <code>isUseStepFilters()</code> in
- * {@link DebugPlugin}. 
+ * {@link DebugPlugin}.
  * <p>
  * Clients may implement this interface. The debug platform provides a
  * toggle step filters action that delegates to this handler interface. As well, the
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
index a6defd6..2401a8b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.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
  *******************************************************************************/
@@ -30,7 +30,7 @@
  * Debug elements are language independent. However, language specific
  * features can be made available via the adapter mechanism provided by
  * <code>IAdaptable</code>, or by extending the debug element interfaces.
- * A debug model is responsible for declaring any special adapters 
+ * A debug model is responsible for declaring any special adapters
  * its debug elements implement.
  * </p>
  * <p>
@@ -38,7 +38,7 @@
  * </p>
  */
 public interface IDebugElement extends IAdaptable {
-	
+
 	/**
 	 * Returns the unique identifier of the plug-in
 	 * this debug element originated from.
@@ -48,13 +48,13 @@
 	public String getModelIdentifier();
 	/**
 	 * Returns the debug target this element is contained in.
-	 * 
+	 *
 	 * @return the debug target this element is contained in
 	 */
 	public IDebugTarget getDebugTarget();
 	/**
 	 * Returns the launch this element is contained in.
-	 * 
+	 *
 	 * @return the launch this element is contained in
 	 */
 	public ILaunch getLaunch();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
index 49fd177..92703d4 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.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
  *******************************************************************************/
@@ -12,24 +12,24 @@
 
 /**
  * A debug model provider provides debug model identifiers.
- * This interface is used as an adapter to determine what 
- * debug models are associated with an adaptable object. 
+ * This interface is used as an adapter to determine what
+ * debug models are associated with an adaptable object.
  * Generally, when debugging one language, only one debug
  * model is associated with a debug element. However,
  * a debug model that provides cross language debugging
- * may represent several debug models. 
+ * may represent several debug models.
  * <p>
  * Clients are intended to implement this interface.
  * </p>
  * @since 3.0
  */
 public interface IDebugModelProvider {
-	
+
 	/**
 	 * Returns a collection of debug model identifiers.
-	 * 
+	 *
 	 * @return a collection of debug model identifiers
 	 */
 	public String[] getModelIdentifiers();
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
index dee67fb..0405866 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
@@ -42,7 +42,7 @@
 public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume, IBreakpointListener, IDisconnect, IMemoryBlockRetrieval {
 	/**
 	 * Returns the system process associated with this debug target.
-	 * 
+	 *
 	 * @return the system process associated with this debug target
 	 */
 	public IProcess getProcess();
@@ -50,7 +50,7 @@
 	 * Returns the threads contained in this debug target. An
 	 * empty collection is returned if this debug target contains
 	 * no threads.
-	 * 
+	 *
 	 * @return a collection of threads
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -59,10 +59,10 @@
 	 * @since 2.0
 	 */
 	public IThread[] getThreads() throws DebugException;
-	
+
 	/**
 	 * Returns whether this debug target currently contains any threads.
-	 * 
+	 *
 	 * @return whether this debug target currently contains any threads
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -71,7 +71,7 @@
 	 * @since 2.0
 	 */
 	public boolean hasThreads() throws DebugException;
-	
+
 	/**
 	 * Returns the name of this debug target. Name format is debug model
 	 * specific, and should be specified by a debug model.
@@ -83,10 +83,10 @@
 	 * the failure.</li></ul>
 	 */
 	public String getName() throws DebugException;
-	
+
 	/**
-	 * Returns whether this target can install the given breakpoint. 
-	 * 
+	 * Returns whether this target can install the given breakpoint.
+	 *
 	 * @param breakpoint breakpoint to consider
 	 * @return whether this target can install the given breakpoint
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
index c0cf267..aa3c697 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.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
  *******************************************************************************/
@@ -24,7 +24,7 @@
 public interface IDisconnect {
 	/**
 	 * Returns whether this element can currently disconnect.
-	 * 
+	 *
 	 * @return whether this element can currently disconnect
 	 */
 	public boolean canDisconnect();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
index 79229af..2fed499 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
@@ -16,7 +16,7 @@
  * Provides the ability to drop to frame. Drop to frame
  * generally means popping a selected stack frame (and all frames above it) from
  * the execution stack and then stepping back into the frame.
- * 
+ *
  * @since 3.1
  */
 public interface IDropToFrame {
@@ -26,14 +26,14 @@
      * @return whether this element can currently perform a drop to frame
      */
     public boolean canDropToFrame();
-    
+
     /**
      * Performs a drop to frame on this element. Implementations must generate
      * events such that debug clients can update appropriately, such as corresponding
      * <code>RESUME</code> and <code>SUSPEND</code> events, or a single <code>CHANGE</code>
      * event when the drop is complete. Implementations should implement drop to frame
-     * in a non-blocking fashion. 
-     * 
+     * in a non-blocking fashion.
+     *
      * @throws DebugException on failure. Reasons include:<ul>
      * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
      * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
index 3ba24d4..9d715c7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 /**
  * An expression that can report errors which occurred during the
  * expression's evaluation.
- * 
+ *
  * @since 3.0
  */
 public interface IErrorReportingExpression extends IExpression {
@@ -21,7 +21,7 @@
 	 * Returns whether this expression has errors to report. An expression
 	 * can have errors if errors were generated the last time its value was
 	 * computed
-	 * 
+	 *
 	 * @return whether this expression's result has errors
 	 */
 	public boolean hasErrors();
@@ -29,7 +29,7 @@
 	 * Returns this expression's error messages, if any. An expression can
 	 * have errors if errors were generated the last time its value was
 	 * computed.
-	 *  
+	 *
 	 * @return this expression's error messages
 	 */
 	public String[] getErrorMessages();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
index 463faa3..ef4c4e1 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.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
  *******************************************************************************/
@@ -26,23 +26,23 @@
 	 * Empties the contents of this stream monitor's underlying buffer.
 	 */
 	public void flushContents();
-	
+
 	/**
 	 * Sets whether the contents of this monitor's underlying stream should be
 	 * buffered. When <code>false</code>, contents appended to this stream monitor
 	 * are not stored in a buffer, and are thus not available from
 	 * <code>getContents()</code>. Registered listeners are notified of appended
 	 * text, and must buffer the contents if desired.
-	 * 
+	 *
 	 * @param buffer whether the contents of this monitor's underlying stream
 	 * should be buffered
 	 */
 	public void setBuffered(boolean buffer);
-	
+
 	/**
 	 * Returns whether the contents of this monitor's underlying stream is
 	 * buffered.
-	 * 
+	 *
 	 * @return whether the contents of this monitor's underlying stream is
 	 * buffered
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
index 0b66289..106f483 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.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
  *******************************************************************************/
@@ -27,23 +27,23 @@
  * @since 3.0
  */
 public interface IIndexedValue extends IValue {
-	
+
 	/**
 	 * Returns the variable at the given offset in this collection.
 	 * The offset is zero based.
-	 * @param offset zero based offset into this collection  
+	 * @param offset zero based offset into this collection
 	 * @return returns the variable in this collection at the given
 	 *  offset
 	 * @throws DebugException if unable to retrieve the variable at the
 	 * given offset
 	 */
 	public IVariable getVariable(int offset) throws DebugException;
-	
+
 	/**
 	 * Returns a subset of the elements in this collection of variables as
 	 * specified by the given offset and length.
-	 * 
-	 * @param offset beginning offset of the subset of elements to return 
+	 *
+	 * @param offset beginning offset of the subset of elements to return
 	 * @param length the number of elements to return
 	 * @return a subset of the elements in this collection of variables as
 	 *  specified by the given offset and length
@@ -53,18 +53,18 @@
 
 	/**
 	 * Returns the number of entries in this indexed collection.
-	 * 
+	 *
 	 * @return the number of entries in this indexed collection
 	 * @throws DebugException if unable to determine the number
 	 * of entries in this collection
 	 */
 	public int getSize() throws DebugException;
-	
+
 	/**
 	 * Returns the index of the first variable contained in this value.
 	 * Generally, indexed values are zero based, but this allows for
 	 * an arbitrary base offset.
-	 * 
+	 *
 	 * @return the index of the first variable contained in this value
 	 */
 	public int getInitialOffset();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
index 7484f8d..376fbe6 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
@@ -29,26 +29,26 @@
  * @since 2.0
  */
 public interface ILaunchConfigurationDelegate {
-	
+
 	/**
 	 * Launches the given configuration in the specified mode, contributing
 	 * debug targets and/or processes to the given launch object. The
 	 * launch object has already been registered with the launch manager.
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode the mode in which to launch, one of the mode constants
 	 *  defined by <code>ILaunchManager</code> -
 	 *  <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code> progress monitor, or <code>null</code>. A cancelable progress 
-	 * monitor is provided by the Job framework. It should be noted that the setCanceled(boolean) method should 
-	 * never be called on the provided monitor or the monitor passed to any delegates from this method; due to a 
-	 * limitation in the progress monitor framework using the setCanceled method can cause entire workspace batch 
-	 * jobs to be canceled, as the canceled flag is propagated up the top-level parent monitor. 
-	 * The provided monitor is not guaranteed to have been started. 
+	 * @param monitor progress monitor, or <code>null</code> progress monitor, or <code>null</code>. A cancelable progress
+	 * monitor is provided by the Job framework. It should be noted that the setCanceled(boolean) method should
+	 * never be called on the provided monitor or the monitor passed to any delegates from this method; due to a
+	 * limitation in the progress monitor framework using the setCanceled method can cause entire workspace batch
+	 * jobs to be canceled, as the canceled flag is propagated up the top-level parent monitor.
+	 * The provided monitor is not guaranteed to have been started.
 	 * @param launch the launch object to contribute processes and debug
 	 *  targets to
-	 * @exception CoreException if launching fails 
+	 * @exception CoreException if launching fails
 	 */
 	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException;
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
index 422124f..67c9df8 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
@@ -27,21 +27,21 @@
  * @since 3.0
  */
 public interface ILaunchConfigurationDelegate2 extends ILaunchConfigurationDelegate {
-	
+
 	/**
 	 * Returns a launch object to use when launching the given launch
 	 * configuration in the given mode, or <code>null</code> if a new default
 	 * launch object should be created by the debug platform. If a launch object
 	 * is returned, its launch mode must match that of the mode specified in
 	 * this method call.
-	 *  
+	 *
 	 * @param configuration the configuration being launched
 	 * @param mode the mode the configuration is being launched in
 	 * @return a launch object or <code>null</code>
 	 * @throws CoreException if unable to launch
 	 */
 	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException;
-	
+
 	/**
 	 * Optionally performs any required building before launching the given
 	 * configuration in the specified mode, and returns whether the debug platform
@@ -51,54 +51,54 @@
 	 * be performed on the workspace before launching.
 	 * <p>
 	 * This method is only called if the launch is invoked with flag indicating
-	 * building should take place before the launch. This is done via the    
+	 * building should take place before the launch. This is done via the
 	 * method
 	 * <code>ILaunchConfiguration.launch(String mode, IProgressMonitor monitor, boolean build)</code>.
-	 * </p> 
+	 * </p>
 	 * @param configuration the configuration being launched
 	 * @param mode the mode the configuration is being launched in
 	 * @param monitor progress monitor, or <code>null</code>. A cancelable progress monitor is provided by the Job
 	 *  framework. It should be noted that the setCanceled(boolean) method should never be called on the provided
-	 *  monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor 
-	 *  framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag 
-	 *  is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started. 
+	 *  monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor
+	 *  framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag
+	 *  is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
 	 * @return whether the debug platform should perform an incremental workspace
 	 *  build before the launch
 	 * @throws CoreException if an exception occurs while building
 	 */
 	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
+
 	/**
 	 * Returns whether a launch should proceed. This method is called after
 	 * <code>preLaunchCheck()</code> and <code>buildForLaunch()</code> providing
 	 * a final chance for this launch delegate to abort a launch if required.
 	 * For example, a delegate could cancel a launch if it discovered compilation
 	 * errors that would prevent the launch from succeeding.
-	 * 
+	 *
 	 * @param configuration the configuration being launched
 	 * @param mode launch mode
 	 * @param monitor progress monitor, or <code>null</code>. A cancelable progress monitor is provided by the Job
 	 *  framework. It should be noted that the setCanceled(boolean) method should never be called on the provided
-	 *  monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor 
-	 *  framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag 
-	 *  is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started. 
+	 *  monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor
+	 *  framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag
+	 *  is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
 	 * @return whether the launch should proceed
 	 * @throws CoreException if an exception occurs during final checks
 	 */
 	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
+
 	/**
 	 * Returns whether a launch should proceed. This method is called first
 	 * in the launch sequence providing an opportunity for this launch delegate
 	 * to abort the launch.
-	 * 
+	 *
 	 * @param configuration configuration being launched
 	 * @param mode launch mode
 	 * @param monitor progress monitor, or <code>null</code>. A cancelable progress monitor is provided by the Job
 	 *  framework. It should be noted that the setCanceled(boolean) method should never be called on the provided
-	 *  monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor 
-	 *  framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag 
-	 *  is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started. 
+	 *  monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor
+	 *  framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag
+	 *  is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
 	 * @return whether the launch should proceed
 	 * @throws CoreException if an exception occurs while performing pre-launch checks
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
index 9b7b4cf..258056c 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.core.runtime.CoreException;
 
 /**
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
index 50865a7..73654cd 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
@@ -24,20 +24,20 @@
  * @see org.eclipse.debug.core.ILogicalStructureType
  */
 public interface ILogicalStructureTypeDelegate {
-	
+
 	/**
-	 * Returns whether this structure type can provide a logical structure for 
+	 * Returns whether this structure type can provide a logical structure for
 	 * the given value.
-	 * 
+	 *
 	 * @param value value for which a logical structure is being requested
-	 * @return whether this structure type can provide a logical structure for 
+	 * @return whether this structure type can provide a logical structure for
 	 * the given value
 	 */
 	public boolean providesLogicalStructure(IValue value);
-	
+
 	/**
 	 * Returns a value representing a logical structure of the given value.
-	 * 
+	 *
 	 * @param value value for which a logical structure is being requested
 	 * @return value representing logical structure
 	 * @throws CoreException if an exception occurs generating a logical
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
index ff5f4e8..004453d 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
@@ -29,14 +29,14 @@
  * @see org.eclipse.debug.core.ILogicalStructureType
  */
 public interface ILogicalStructureTypeDelegate2 {
-	
+
 	/**
 	 * Returns a simple description of the logical structure provided by this
 	 * structure type delegate, for the given value.
 	 * Cannot return <code>null</code>. This method is only called if this
 	 * logical structure type delegate returns <code>true</code> for
 	 * <code>providesLogicalStructure(IValue)</code>.
-	 * 
+	 *
 	 * @param value a value a description is requested for
 	 * @return a simple description of the logical structure provided by this
 	 * structure type delegate, for the given value
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
index 7740c8a..933b1fa 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
@@ -12,7 +12,7 @@
 
 
 import org.eclipse.debug.core.DebugException;
- 
+
 /**
  * A contiguous segment of memory in an execution context.
  * A memory block is represented by a starting memory address
@@ -25,25 +25,25 @@
  * @since 2.0
  */
 public interface IMemoryBlock extends IDebugElement {
-	
+
 	/**
 	 * Returns the start address of this memory block.
-	 * 
+	 *
 	 * @return the start address of this memory block
 	 */
 	public long getStartAddress();
-	
+
 	/**
 	 * Returns the length of this memory block in bytes.
-	 * 
+	 *
 	 * @return the length of this memory block in bytes
-	 */	
+	 */
 	public long getLength();
-	
+
 	/**
 	 * Returns the values of the bytes currently contained
 	 * in this this memory block.
-	 * 
+	 *
 	 * @return the values of the bytes currently contained
 	 *  in this this memory block
 	 * @exception DebugException if this method fails.  Reasons include:
@@ -51,21 +51,21 @@
 	 * status code contains the underlying exception responsible for
 	 * the failure.</li>
 	 * </ul>
-	 */	
+	 */
 	public byte[] getBytes() throws DebugException;
-	
+
 	/**
 	 * Returns whether this memory block supports value modification
-	 * 
+	 *
 	 * @return whether this memory block supports value modification
 	 */
 	public boolean supportsValueModification();
-	
+
 	/**
 	 * Sets the value of the bytes in this memory block at the specified
 	 * offset within this memory block to the specified bytes.
 	 * The offset is zero based.
-	 * 
+	 *
 	 * @param offset the offset at which to set the new values
 	 * @param bytes the new values
 	 * @exception DebugException if this method fails.  Reasons include:
@@ -79,6 +79,6 @@
 	 * </ul>
 	 */
 	public void setValue(long offset, byte[] bytes) throws DebugException;
-	
+
 }
 
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
index cb41348..5d972df 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
@@ -17,7 +17,7 @@
 /**
  * Extensions to {@link org.eclipse.debug.core.model.IMemoryBlock}. Allows
  * for bytes to be accessed in a larger address space, and for state information
- * to be provided for each byte. 
+ * to be provided for each byte.
  * <p>
  * Clients may optionally implement this interface when providing implementations of
  * {@link org.eclipse.debug.core.model.IMemoryBlock}.
@@ -26,76 +26,76 @@
  * @see org.eclipse.debug.core.model.MemoryByte
  */
 public interface IMemoryBlockExtension extends IMemoryBlock {
-	
+
 	/**
 	 * Returns the expression used to create this memory block. An expression can
 	 * be used as name for a memory block and typically represents an expression
 	 * used to compute a base address for a memory block.
-	 * 
+	 *
 	 * @return the expression used to create this memory block
 	 */
-	public String getExpression();	
-	
+	public String getExpression();
+
 	/**
-	 * Returns the base address of this memory block as a big integer. The 
+	 * Returns the base address of this memory block as a big integer. The
 	 * address is in terms of addressable units.
-	 * 
+	 *
 	 * @return the base address of this memory block
 	 * @throws DebugException if unable to retrieve the base address
 	 */
 	public BigInteger getBigBaseAddress() throws DebugException;
-	
+
 	/**
-	 * Returns the hard start address of this memory block as a big integer, or 
+	 * Returns the hard start address of this memory block as a big integer, or
 	 * <code>null</code> if none. A <code>null</code> start address indicates that
 	 * memory may be retrieved at any address less than this memory block's base
 	 * address.
-	 * 
+	 *
 	 * @return the hard start address of this memory block or <code>null</code>
 	 * @throws DebugException if unable to retrieve the start address of this memory block.
 	 */
 	public BigInteger getMemoryBlockStartAddress() throws DebugException;
-	
+
 	/**
 	 * Returns the hard end address of this memory block as a big integer, or
 	 * <code>null</code> if none. A <code>null</code> end address indicates that
 	 * memory may be retrieved from any positive offset relative to the base address
-	 * of this memory block. 
-	 * 
+	 * of this memory block.
+	 *
 	 * @return the hard end address of this memory block or <code>null</code>
 	 * @throws DebugException if unable to retrieve the end address of this memory block.
 	 */
 	public BigInteger getMemoryBlockEndAddress() throws DebugException;
-	
+
 	/**
 	 * Returns the length of this memory block, or -1 if unbounded.
 	 * Returns "end address - start address"  for a memory block with a fixed
 	 * length (i.e. when both start and end address are known).
 	 * Returns -1 for an unbounded memory block (i.e. when start or end address is
 	 * <code>null</code>).
-	 * 
+	 *
 	 * @return length of this memory block or -1 if unbounded
 	 * @throws DebugException if unable to retrieve the length of this memory block.
 	 */
 	public BigInteger getBigLength() throws DebugException;
-	
+
 	/**
 	 * Returns the address size of this memory block in number of bytes. The address
 	 * size indicates the number of bytes used to construct an address.
-	 *  
+	 *
 	 * @return address size in number of bytes
 	 * @throws DebugException if unable to retrieve the address size
 	 */
 	public int getAddressSize() throws DebugException;
-	
+
 	/**
 	 * Returns whether the base address of this memory block can be modified.
-	 * 
+	 *
 	 * @return whether the base address of this memory block can be modified
 	 * @throws DebugException is unable to determine if base address modification is supported
 	 */
 	public boolean supportBaseAddressModification() throws DebugException;
-	
+
 	/**
 	 * Returns whether this memory block manages the change state of its bytes.
 	 * <p>
@@ -105,13 +105,13 @@
 	 * <code>getBytesFromOffset</code>. The changed state of a byte should
 	 * be updated each time a thread suspends in a memory block's target.
 	 * </p>
-	 * @return whether this memory block manages the change state of its bytes  
+	 * @return whether this memory block manages the change state of its bytes
 	 */
 	public boolean supportsChangeManagement();
-	
+
 	/**
 	 * Sets the base address of this memory block to the given address.
-	 * 
+	 *
 	 * @param address new base address
 	 * @throws DebugException if unable to modify the base address, or modification
 	 *  of the base address fails
@@ -128,20 +128,20 @@
 	 * the <code>READABLE</code> bit turned off for each byte outside
 	 * the of the accessible range. An exception should not be thrown in this
 	 * case.
-	 * </p> 
+	 * </p>
 	 * @param unitOffset zero based offset into this memory block at which to start
 	 *  retrieving bytes in terms of addressable units. Client should retrieve
 	 *  memory starting from "base address + offset".
 	 * @param addressableUnits the number of addressable units to retrieve
 	 * @return an array of bytes from this memory block based on the given offset
-	 *  and number of units. The size of the array returned must to be equal to 
+	 *  and number of units. The size of the array returned must to be equal to
 	 *  <code>units</code> * <code>getAddressableSize()</code>.
 	 * @throws DebugException if unable to retrieve the specified bytes due to
 	 *  a failure communicating with the target
 	 * @see MemoryByte
 	 */
 	public MemoryByte[] getBytesFromOffset(BigInteger unitOffset, long addressableUnits) throws DebugException;
-	
+
 	/**
 	 * Returns bytes from this memory block based on the given address and the
 	 * addressable size of this memory block.
@@ -155,21 +155,21 @@
 	 * </p>
 	 * @param address address at which to begin retrieving bytes in terms
 	 *  of addressable units
-	 * @param units is the number of addressable units of memory to retrieve 
+	 * @param units is the number of addressable units of memory to retrieve
 	 * @return an array of bytes from this memory block based on the given address
-	 *  and number of units. The size of the array returned must to be equal to 
+	 *  and number of units. The size of the array returned must to be equal to
 	 *  <code>units</code> * <code>getAddressableSize()</code>.
 	 * @throws DebugException if unable to retrieve the specified bytes due to
-	 *  a failure communicating with the target 
+	 *  a failure communicating with the target
 	 * @see MemoryByte
 	 */
-	public MemoryByte[] getBytesFromAddress(BigInteger address, long units) throws DebugException;	
+	public MemoryByte[] getBytesFromAddress(BigInteger address, long units) throws DebugException;
 
 	/**
 	 * Sets bytes in this memory block at the specified offset within this memory block to
 	 * the specified bytes. The offset is zero based. After successfully modifying the
-	 * specified bytes, a debug event should be fired with a kind of <code>CHANGE</code>. 
-	 * 
+	 * specified bytes, a debug event should be fired with a kind of <code>CHANGE</code>.
+	 *
 	 * @param offset the zero based offset at which to set the new value.  Modify
 	 * the memory starting from base address + offset.
 	 * @param bytes replacement bytes
@@ -200,42 +200,42 @@
 	 * @param client the client to connect
 	 */
 	public void connect(Object client);
-	
+
 	/**
 	 * Disconnects the given client from this memory block. Has no effect if
 	 * an identical client is not already connected.
-	 *  
+	 *
 	 * @param client the client to disconnect
 	 */
 	public void disconnect(Object client);
-	
+
 	/**
 	 * Returns the possibly empty list of clients currently connected to this
 	 * memory block.
-	 *  
+	 *
 	 * @return the possibly empty list of clients currently connected to this
 	 * memory block
 	 */
 	public Object[] getConnections();
-	
+
 	/**
 	 * Dispose this memory block. Connected clients are disconnected.
 	 * @throws DebugException if the memory block cannot be disposed.
 	 */
 	public void dispose() throws DebugException;
-	
+
 	/**
 	 * Returns the origin of this memory block.
-	 * 
+	 *
 	 * @return the origin of this memory block
 	 */
 	public IMemoryBlockRetrieval getMemoryBlockRetrieval();
-	
+
 	/**
 	 * Returns this memory block's addressable size in number of bytes. The addressable size
 	 * of memory block indicates the minimum number of bytes that can be retrieved as
 	 * a single unit.
-	 *  
+	 *
 	 * @return this memory block's addressable size
 	 * @throws DebugException if the addressable size cannot be obtained.
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
index 9253662..78f16e7 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.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
  *******************************************************************************/
@@ -12,28 +12,28 @@
 
 
 import org.eclipse.debug.core.DebugException;
- 
+
 /**
  * Supports the retrieval of arbitrary blocks of memory.
- * 
+ *
  * @see IMemoryBlock
  * @since 2.0
  */
 public interface IMemoryBlockRetrieval {
-	
+
 	/**
 	 * Returns whether this debug target supports the retrieval
 	 * of memory blocks.
-	 * 
+	 *
 	 * @return whether this debug target supports the retrieval
 	 *  of memory blocks
 	 */
 	public boolean supportsStorageRetrieval();
-	
+
 	/**
 	 * Returns a memory block that starts at the specified
 	 * memory address, with the specified length.
-	 * 
+	 *
 	 * @param startAddress starting address
 	 * @param length length of the memory block in bytes
 	 * @return a memory block that starts at the specified
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
index f6aea1b..88eb0b9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
@@ -17,20 +17,20 @@
 /**
  * Extended capabilities for memory block retrieval. Supports the retrieval
  * of memory blocks based on an expression and context.
- * 
+ *
  * @since 3.1
  */
 public interface IMemoryBlockRetrievalExtension extends IMemoryBlockRetrieval {
-	
+
 	/**
-	 * Retrieves and returns a memory block. 
-	 * 
+	 * Retrieves and returns a memory block.
+	 *
 	 * @param expression expression to be evaluated to an address
 	 * @param context context for evaluating the expression.  This is typically
 	 *  a debug element.
 	 * @return a memory block based on the given expression and context
 	 * @throws DebugException if unable to retrieve the specified memory
 	 */
-	
+
 	public IMemoryBlockExtension getExtendedMemoryBlock(String expression, Object context) throws DebugException;
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
index 8433aa8..ae4ac9b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
@@ -24,7 +24,7 @@
  * Following is an example definition of a source locator extension.
  * <pre>
  * &lt;extension point="org.eclipse.debug.core.sourceLocators"&gt;
- *   &lt;sourceLocator 
+ *   &lt;sourceLocator
  *      id="com.example.ExampleIdentifier"
  *      class="com.example.ExampleSourceLocator"
  *      name="Example Source Locator"&gt;
@@ -44,34 +44,34 @@
  * Clients may implement this interface.
  * </p>
  * @see org.eclipse.debug.core.ILaunch
- * @see IStackFrame 
+ * @see IStackFrame
  * @since 2.0
  */
 public interface IPersistableSourceLocator extends ISourceLocator {
-	
+
 	/**
 	 * Returns a memento that can be used to reconstruct
 	 * this source locator
-	 * 
+	 *
 	 * @return a memento that can be used to reconstruct
 	 *  this source locator
 	 * @exception CoreException if unable to construct a memento
 	 */
 	public String getMemento() throws CoreException;
-	
+
 	/**
 	 * Initializes this source locator based on the given
 	 * memento.
-	 * 
+	 *
 	 * @param memento a memento to initialize this source locator
-	 * @exception CoreException on failure to initialize 
+	 * @exception CoreException on failure to initialize
 	 */
 	public void initializeFromMemento(String memento) throws CoreException;
-	
+
 	/**
 	 * Initializes this source locator to perform default
 	 * source lookup for the given launch configuration.
-	 * 
+	 *
 	 * @param configuration launch configuration this source locator
 	 *  will be performing source lookup for
 	 * @exception CoreException on failure to initialize
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
index 7ce2452..10b5924 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.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
  *******************************************************************************/
@@ -25,20 +25,20 @@
  * <p>
  * Clients may implement this interface, however, the debug plug-in
  * provides an implementation of this interface for a
- * <code>java.lang.Process</code>. 
+ * <code>java.lang.Process</code>.
  * </p>
  * @see org.eclipse.debug.core.DebugPlugin#newProcess(ILaunch, Process, String)
  */
 public interface IProcess extends IAdaptable, ITerminate {
-	
+
 	/**
 	 * Attribute key for a common, optional, process property. The value of this
 	 * attribute is the command line a process was launched with.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	public final static String ATTR_CMDLINE= DebugPlugin.getUniqueIdentifier() + ".ATTR_CMDLINE"; //$NON-NLS-1$
-	
+
 	/**
 	 * Attribute key for a common, optional, process property. The value of this
 	 * attribute is an identifier for the type of this process. Process types
@@ -47,17 +47,17 @@
 	 *
 	 * @since 2.1
 	 */
-	public final static String ATTR_PROCESS_TYPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_TYPE"; //$NON-NLS-1$		
+	public final static String ATTR_PROCESS_TYPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_TYPE"; //$NON-NLS-1$
 
 	/**
 	 * Attribute key for a common, optional, process property. The value of this
 	 * attribute specifies an alternate dynamic label for a process, displayed by
 	 * the console.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public final static String ATTR_PROCESS_LABEL = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_LABEL"; //$NON-NLS-1$
-	
+
 	/**
 	 * Returns a human-readable label for this process.
 	 *
@@ -71,13 +71,13 @@
 	 */
 	public ILaunch getLaunch();
 	/**
-	 * Returns a proxy to the standard input, output, and error streams 
+	 * Returns a proxy to the standard input, output, and error streams
 	 * for this process, or <code>null</code> if not supported.
 	 *
 	 * @return a streams proxy, or <code>null</code> if not supported
 	 */
 	public IStreamsProxy getStreamsProxy();
-	
+
 	/**
 	 * Sets the value of a client defined attribute.
 	 *
@@ -85,7 +85,7 @@
 	 * @param value the attribute value
 	 */
 	public void setAttribute(String key, String value);
-	
+
 	/**
 	 * Returns the value of a client defined attribute.
 	 *
@@ -93,11 +93,11 @@
 	 * @return value the String attribute value, or <code>null</code> if undefined
 	 */
 	public String getAttribute(String key);
-	
+
 	/**
 	 * Returns the exit value of this process. Conventionally, 0 indicates
 	 * normal termination.
-	 * 
+	 *
 	 * @return the exit value of this process
 	 * @exception DebugException if this process has not yet terminated
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
index d3bd739..35116f5 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.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
  *******************************************************************************/
@@ -12,7 +12,7 @@
 
 
 import org.eclipse.debug.core.DebugException;
- 
+
 /**
  * A register is a special kind of variable that is contained
  * in a register group. Each register has a name and a value.
@@ -23,17 +23,17 @@
  * @since 2.0
  */
 public interface IRegister extends IVariable {
-	
+
 	/**
 	 * Returns the register group this register is contained in.
-	 * 
+	 *
 	 * @return the register group this register is contained in
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
 	 * status code contains the underlying exception responsible for
 	 * the failure.</li>
 	 */
-	public IRegisterGroup getRegisterGroup() throws DebugException; 
+	public IRegisterGroup getRegisterGroup() throws DebugException;
 
 }
 
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
index 528df35..413a413 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
@@ -4,32 +4,32 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.debug.core.DebugException;
- 
+
 /**
  * A register group is a group of registers that are
  * assigned to a stack frame. Some debug architectures
  * provide access to registers, and registers are often
  * grouped logically. For example, a floating point
- * register group. 
+ * register group.
  * <p>
  * Clients may implement this interface.
  * </p>
  * @since 2.0
  */
 public interface IRegisterGroup extends IDebugElement {
-	
+
 
 	/**
 	 * Returns the name of this register group.
-	 * 
+	 *
 	 * @return this register group's name
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -37,10 +37,10 @@
 	 * the failure.</li>
 	 */
 	public String getName() throws DebugException;
-	
+
 	/**
 	 * Returns the registers in this register group.
-	 * 
+	 *
 	 * @return the registers in this register group
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -48,17 +48,17 @@
 	 * the failure.</li>
 	 */
 	public IRegister[] getRegisters() throws DebugException;
-	
+
 	/**
 	 * Returns whether this register group currently contains any registers.
-	 * 
+	 *
 	 * @return whether this register group currently contains any registers
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
 	 * status code contains the underlying exception responsible for
 	 * the failure.</li>
 	 */
-	public boolean hasRegisters() throws DebugException;	
+	public boolean hasRegisters() throws DebugException;
 
 }
 
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
index e78a7f8..5c62e96 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
@@ -38,11 +38,11 @@
  * Clients may implement this interface.
  * </p>
  * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.model.IStackFrame 
+ * @see org.eclipse.debug.core.model.IStackFrame
  * @see org.eclipse.debug.core.model.IPersistableSourceLocator
  */
 public interface ISourceLocator {
-	
+
 	/**
 	 * Returns a source element that corresponds to the given stack frame, or
 	 * <code>null</code> if a source element could not be located. The object returned
@@ -58,7 +58,7 @@
 	 * </p>
 	 *
 	 * @param stackFrame the stack frame for which to locate source
-	 * @return an object representing a source element. 
+	 * @return an object representing a source element.
 	 */
 	 public Object getSourceElement(IStackFrame stackFrame);
 
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
index 72ee242..985fd54 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.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
  *******************************************************************************/
@@ -35,7 +35,7 @@
  * across iterative suspensions may display more desirable behavior in
  * some clients. For example, if stack frames are preserved
  * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list. 
+ * rather than collapse and redraw the entire list.
  * </p>
  * <p>
  * Clients may implement this interface.
@@ -47,7 +47,7 @@
 public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate {
 	/**
 	 * Returns the thread this stack frame is contained in.
-	 * 
+	 *
 	 * @return thread
 	 * @since 2.0
 	 */
@@ -55,7 +55,7 @@
 	/**
 	 * Returns the visible variables in this stack frame. An empty
 	 * collection is returned if there are no visible variables.
-	 * 
+	 *
 	 * @return collection of visible variables
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -65,10 +65,10 @@
 	 * @since 2.0
 	 */
 	public IVariable[] getVariables() throws DebugException;
-	
+
 	/**
 	 * Returns whether this stack frame currently contains any visible variables.
-	 * 
+	 *
 	 * @return whether this stack frame currently contains any visible variables
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -78,14 +78,14 @@
 	 * @since 2.0
 	 */
 	public boolean hasVariables() throws DebugException;
-		
+
 	/**
-	 * Returns the line number of the instruction pointer in 
+	 * Returns the line number of the instruction pointer in
 	 * this stack frame that corresponds to a line in an associated source
 	 * element, or <code>-1</code> if line number information
 	 * is unavailable.
 	 *
-	 * @return line number of instruction pointer in this stack frame, or 
+	 * @return line number of instruction pointer in this stack frame, or
 	 * <code>-1</code> if line number information is unavailable
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -94,7 +94,7 @@
 	 * </ul>
 	 */
 	public int getLineNumber() throws DebugException;
-	
+
 	/**
 	 * Returns the index of the first character in the associated source
 	 * element that corresponds to the current location of the instruction pointer
@@ -115,7 +115,7 @@
 	 * @since 2.0
 	 */
 	public int getCharStart() throws DebugException;
-	
+
 	/**
 	 * Returns the index of the last character in the associated source
 	 * element that corresponds to the current location of the instruction pointer
@@ -135,8 +135,8 @@
 	 * </ul>
 	 * @since 2.0
 	 */
-	public int getCharEnd() throws DebugException;	
-		
+	public int getCharEnd() throws DebugException;
+
 	/**
 	 * Returns the name of this stack frame. Name format is debug model
 	 * specific, and should be specified by a debug model.
@@ -149,12 +149,12 @@
 	 * </ul>
 	 */
 	public String getName() throws DebugException;
-	
+
 	/**
 	 * Returns the register groups assigned to this stack frame,
 	 * or an empty collection if no register groups are assigned
 	 * to this stack frame.
-	 * 
+	 *
 	 * @return the register groups assigned to this stack frame
 	 *  or an empty collection if no register groups are assigned
 	 *  to this stack frame
@@ -166,10 +166,10 @@
 	 * @since 2.0
 	 */
 	public IRegisterGroup[] getRegisterGroups() throws DebugException;
-	
+
 	/**
 	 * Returns whether this stack frame contains any register groups.
-	 * 
+	 *
 	 * @return whether this stack frame contains any visible register groups
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -178,5 +178,5 @@
 	 * </ul>
 	 * @since 2.0
 	 */
-	public boolean hasRegisterGroups() throws DebugException;	
+	public boolean hasRegisterGroups() throws DebugException;
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
index 009aaad..0d2362d 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.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/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
index 1e11c95..1c58584 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
@@ -38,26 +38,26 @@
  * @since 3.0
  */
 public interface IStepFilters {
-	
+
 	/**
 	 * Returns whether this debug target supports step filters.
 	 *
 	 * @return whether this debug target supports step filters
 	 */
 	public boolean supportsStepFilters();
-	
+
 	/**
 	 * Returns whether step filters are currently enabled in this
 	 * debug target.
-	 * 
+	 *
 	 * @return whether step filters are currently enabled in this
 	 * debug target
 	 */
 	public boolean isStepFiltersEnabled();
-	
+
 	/**
 	 * Sets whether step filters are enabled in this debug target.
-	 * 
+	 *
 	 * @param enabled whether step filters are enabled in this debug target
 	 */
 	public void setStepFiltersEnabled(boolean enabled);
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
index fdabfb2..e6da88b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.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/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
index 120e5e8..e5d382b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import java.io.IOException;
 
 /**
@@ -49,7 +49,7 @@
 	 * standard input stream of this proxy's process.
 	 *
 	 * @param input the text to be written
-	 * @exception IOException when an error occurs writing to the 
+	 * @exception IOException when an error occurs writing to the
 	 *		underlying <code>OutputStream</code>.
 	 *
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
index d0294db..f7954e2 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.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
  *******************************************************************************/
@@ -27,7 +27,7 @@
     /**
      * Closes the output stream connected to the standard input stream
      * of this proxy's process.
-     * 
+     *
      * @throws IOException if unable to close the stream
      */
     public void closeInputStream() throws IOException;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
index 9ffe269..1e84d8d 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.debug.core.DebugException;
 
 /**
@@ -40,7 +40,7 @@
 	 */
 	public boolean isSuspended();
 	/**
-	 * Causes this element to resume its execution, generating a <code>RESUME</code> event. 
+	 * Causes this element to resume its execution, generating a <code>RESUME</code> event.
 	 * Has no effect on an element that is not suspended. This call is non-blocking.
 	 *
 	 * @exception DebugException on failure. Reasons include:<ul>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
index 0c376aa..fbf6e84 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.debug.core.DebugException;
 
 /**
@@ -34,7 +34,7 @@
 	 */
 	public boolean isTerminated();
 	/**
-	 * Causes this element to terminate, generating a <code>TERMINATE</code> event.  
+	 * Causes this element to terminate, generating a <code>TERMINATE</code> event.
 	 * Implementations may be blocking or non-blocking.
 	 *
 	 * @exception DebugException on failure. Reasons include:<ul>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
index 54f5667..16766e8 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.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
  *******************************************************************************/
@@ -38,7 +38,7 @@
 	 * empty collection is returned if this thread contains
 	 * no stack frames, or is not currently suspended. Stack frames
 	 * are returned in top down order.
-	 * 
+	 *
 	 * @return a collection of stack frames
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the VM.  The DebugException's
@@ -48,11 +48,11 @@
 	 * @since 2.0
 	 */
 	public IStackFrame[] getStackFrames() throws DebugException;
-	
+
 	/**
 	 * Returns whether this thread currently contains any stack
 	 * frames.
-	 * 
+	 *
 	 * @return whether this thread currently contains any stack frames
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -62,7 +62,7 @@
 	 * @since 2.0
 	 */
 	public boolean hasStackFrames() throws DebugException;
-	
+
 	/**
 	 * Returns the priority of this thread. The meaning of this
 	 * number is operating-system dependent.
@@ -74,7 +74,7 @@
 	 * the failure.</li>
 	 */
 	public int getPriority() throws DebugException;
-	/** 
+	/**
 	 * Returns the top stack frame or <code>null</code> if there is
 	 * currently no top stack frame.
 	 *
@@ -107,5 +107,5 @@
 	 *
 	 * @return the collection of breakpoints that caused this thread to suspend
 	 */
-	public IBreakpoint[] getBreakpoints();	
+	public IBreakpoint[] getBreakpoints();
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
index 89652fe..3fdc5d9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.debug.core.DebugException;
 
 /**
@@ -38,11 +38,11 @@
 
 
 public interface IValue extends IDebugElement {
-	
+
 	/**
 	 * Returns a description of the type of data this value contains
 	 * or references.
-	 * 
+	 *
 	 * @return the name of this value's reference type
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the VM.  The DebugException's
@@ -50,7 +50,7 @@
 	 * the failure.</li>
 	 */
 	public String getReferenceTypeName() throws DebugException;
-	
+
 	/**
 	 * Returns this value as a <code>String</code>.
 	 *
@@ -61,7 +61,7 @@
 	 * the failure.</li>
 	 */
 	public String getValueString() throws DebugException;
-		
+
 	/**
 	 * Returns whether this value is currently allocated.
 	 * <p>
@@ -78,7 +78,7 @@
 	/**
 	 * Returns the visible variables in this value. An empty
 	 * collection is returned if there are no visible variables.
-	 * 
+	 *
 	 * @return an array of visible variables
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the VM.  The DebugException's
@@ -88,10 +88,10 @@
 	 * @since 2.0
 	 */
 	public IVariable[] getVariables() throws DebugException;
-	
+
 	/**
 	 * Returns whether this value currently contains any visible variables.
-	 * 
+	 *
 	 * @return whether this value currently contains any visible variables
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the debug target.  The DebugException's
@@ -100,5 +100,5 @@
 	 * </ul>
 	 * @since 2.0
 	 */
-	public boolean hasVariables() throws DebugException;	
+	public boolean hasVariables() throws DebugException;
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
index b426601..d67e7c0 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.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
  *******************************************************************************/
@@ -34,7 +34,7 @@
 	 * </ul>
 	 */
 	public void setValue(String expression) throws DebugException;
-	
+
 	/**
 	 * Sets the value of this variable to the given value.
 	 *
@@ -45,15 +45,15 @@
 	 * </ul>
 	 * @since 2.0
 	 */
-	public void setValue(IValue value) throws DebugException;	
-	
+	public void setValue(IValue value) throws DebugException;
+
 	/**
 	 * Returns whether this variable supports value modification.
 	 *
 	 * @return whether this variable supports value modification
 	 */
 	public boolean supportsValueModification();
-	
+
 	/**
 	 * Returns whether the given expression is valid to be used in
 	 * setting a new value for this variable.
@@ -66,7 +66,7 @@
 	 * </ul>
 	 */
 	public boolean verifyValue(String expression) throws DebugException;
-	
+
 	/**
 	 * Returns whether the given value can be used as
 	 * a new value for this variable.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
index f199c05..d9e98b9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.debug.core.DebugException;
 
 /**
@@ -42,7 +42,7 @@
 public interface IVariable extends IDebugElement, IValueModification {
 	/**
 	 * Returns the value of this variable.
-	 * 
+	 *
 	 * @return this variable's value
 	 * @exception DebugException if this method fails.  Reasons include:
 	 * <ul><li>Failure communicating with the VM.  The DebugException's
@@ -60,7 +60,7 @@
 	 * status code contains the underlying exception responsible for
 	 * the failure.</li>
 	 */
-	public String getName() throws DebugException;	
+	public String getName() throws DebugException;
 	/**
 	 * Returns a description of the type of data this variable is
 	 * declared to reference. Note that the declared type of a
@@ -74,22 +74,22 @@
 	 * the failure.</li>
 	 */
 	public String getReferenceTypeName() throws DebugException;
-	
-	/** 
-	 * Returns whether this variable's value has changed since the last suspend event. 
-	 * Implementations may choose whether the last suspend event is the last suspend 
-	 * event in this variable's debug target, or within the thread(s) in which this variable 
-	 * is visible. 
+
+	/**
+	 * Returns whether this variable's value has changed since the last suspend event.
+	 * Implementations may choose whether the last suspend event is the last suspend
+	 * event in this variable's debug target, or within the thread(s) in which this variable
+	 * is visible.
 	 * <p>
 	 * Implementations that choose not to implement this function should always
 	 * return <code>false</code>.
 	 * </p>
-	 * 
-	 * @return whether this variable's value has changed since the last suspend event 
-	 * @exception DebugException if an exception occurs determining if this variable's 
-	 *   value has changed since the last suspend event 
-	 */ 
-	public boolean hasValueChanged() throws DebugException; 
+	 *
+	 * @return whether this variable's value has changed since the last suspend event
+	 * @exception DebugException if an exception occurs determining if this variable's
+	 *   value has changed since the last suspend event
+	 */
+	public boolean hasValueChanged() throws DebugException;
 
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
index db46173..fd59978 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
@@ -17,7 +17,7 @@
  * each time a debug target suspends, or when a user provides a context
  * for an evaluation by selecting a debug target or thread. An expression
  * updates its value when it is provided with a context in which it
- * can perform an evaluation. 
+ * can perform an evaluation.
  * <p>
  * An implementation is provided by the debug platform. Clients that support watch expressions
  * should contribute and implement a watch expression delegate. Watch
@@ -30,13 +30,13 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface IWatchExpression extends IErrorReportingExpression {
-	
+
 	/**
 	 * Updates this watch expression's value based on the current evaluation
 	 * context. This watch expression fires a debug change event when the
 	 * evaluation is complete. A watch expression can be asked to
 	 * evaluate even when it is disabled. Note that implementations should
-	 * generally be asynchronous to avoid blocking the calling thread. 
+	 * generally be asynchronous to avoid blocking the calling thread.
 	 */
 	public void evaluate();
 	/**
@@ -53,7 +53,7 @@
 	 * <li>a stack frame (<code>IStackFrame</code>)</li>
 	 * </ul>
 	 * </p>
-	 *  
+	 *
 	 * @param context context in which to update this expression's value, or
 	 * 	<code>null</code> if none
 	 */
@@ -62,7 +62,7 @@
 	 * Sets this watch expression's snippet of code. This method
 	 * causes the new snippet to be evaluated immediately in
 	 * the expression's last context.
-	 * 
+	 *
 	 * @param expressionText the snippet which will be evaluated
 	 */
 	public void setExpressionText(String expressionText);
@@ -70,14 +70,14 @@
 	 * Returns whether the result of this watch expression is pending.
 	 * An expression is pending if an evaluation has been requested, but
 	 * the value has not yet been returned.
-	 * 
+	 *
 	 * @return whether this expression's result is pending
 	 */
 	public boolean isPending();
 	/**
 	 * Returns whether this expression is enabled. An enabled expression will
 	 * update its value. A disabled expression will not.
-	 * 
+	 *
 	 * @return whether this expression is enabled
 	 */
 	public boolean isEnabled();
@@ -85,7 +85,7 @@
 	 * Sets this expression's enabled state. This method
 	 * causes the new snippet to be evaluated immediately in
 	 * the expression's last context.
-	 * 
+	 *
 	 * @param enabled whether this expression should be enabled
 	 */
 	public void setEnabled(boolean enabled);
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
index ec662ec..0757ee9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.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
  *******************************************************************************/
@@ -33,16 +33,16 @@
  * </p>
  * @see org.eclipse.debug.core.model.IWatchExpression
  * @see org.eclipse.debug.core.model.IWatchExpressionListener
- * 
+ *
  * @since 3.0
  */
 public interface IWatchExpressionDelegate {
-	
+
 	/**
 	 * Evaluates the given expression in the given context asynchronously and
 	 * notifies the given listener when the evaluation finishes.
-	 * 
-	 * @param expression the expression to evaluate 
+	 *
+	 * @param expression the expression to evaluate
 	 * @param context the context for the evaluation
 	 * @param listener the listener to notify when the evaluation completes
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
index 34007a9..2edb569 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.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
  *******************************************************************************/
@@ -14,7 +14,7 @@
  * A watch expression listener is notified when an
  * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code>
  * completes an evaluation.
- * 
+ *
  * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
  * @see org.eclipse.debug.core.model.IWatchExpressionResult
  * @since 3.0
@@ -23,7 +23,7 @@
 
 	/**
 	 * Notifies the listener that an evaluation has completed.
-	 * 
+	 *
 	 * @param result the result of the evaluation
 	 */
 	public void watchEvaluationFinished(IWatchExpressionResult result);
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
index 26bfd77..cd57189 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.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
  *******************************************************************************/
@@ -35,7 +35,7 @@
 	 * <code>null</code>
 	 */
 	public IValue getValue();
-	
+
 	/**
 	 * Returns whether the evaluation had any problems
 	 * or if an exception occurred while performing the
@@ -46,7 +46,7 @@
 	 * @see #getException()
 	 */
 	public boolean hasErrors();
-		
+
 	/**
 	 * Returns an array of problem messages. Each message describes a problem that
 	 * occurred while compiling the snippet.
@@ -54,14 +54,14 @@
 	 * @return evaluation error messages, or an empty array if no errors occurred
 	 */
 	public String[] getErrorMessages();
-		
+
 	/**
 	 * Returns the expression that was evaluated.
 	 *
 	 * @return The string expression.
 	 */
 	public String getExpressionText();
-	
+
 	/**
 	 * Returns any exception that occurred while performing the evaluation
 	 * or <code>null</code> if an exception did not occur.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
index bb356fe..8a1a244 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
@@ -4,20 +4,20 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.core.model;
 
- 
+
 import org.eclipse.core.runtime.CoreException;
 
 /**
  * A breakpoint that suspends when an associated variable is
  * read or written.
  * <p>
- * Clients may implement this interface. Clients are not required to 
+ * Clients may implement this interface. Clients are not required to
  * implement this interface to implement watchpoints, but those that do inherit
  * default rendering of images for watchpoints from the debug platform's
  * default label provider and actions to toggle access and modification
@@ -29,16 +29,16 @@
 	/**
 	 * Returns whether this watchpoint will suspend execution when its associated
 	 * variable is accessed (read).
-	 * 
+	 *
 	 * @return whether this is an access watchpoint
 	 * @exception CoreException if unable to access the property
 	 * 	on this breakpoint's underlying marker
-	 */	
+	 */
 	public boolean isAccess() throws CoreException;
 	/**
 	 * Sets whether this breakpoint will suspend execution when its associated
 	 * variable is accessed.
-	 * 
+	 *
 	 * @param access whether to suspend on access
 	 * @exception CoreException if unable to set the property on this breakpoint's
 	 *  underlying marker or if the capability is not supported
@@ -47,16 +47,16 @@
 	/**
 	 * Returns whether this watchpoint will suspend execution when its associated
 	 * variable is written.
-	 * 
+	 *
 	 * @return whether this is a modification watchpoint
 	 * @exception CoreException if unable to access the property
 	 * 	on this breakpoint's underlying marker
-	 */	
+	 */
 	public boolean isModification() throws CoreException;
 	/**
 	 * Sets whether this breakpoint will suspend execution when its associated
 	 * variable is modified.
-	 * 
+	 *
 	 * @param modification whether to suspend on modification
 	 * @exception CoreException if unable to set the property on
 	 * 	this breakpoint's underlying marker or if the capability is not supported
@@ -65,7 +65,7 @@
 	/**
 	 * Returns whether this breakpoints supports the capability to suspend
 	 * when an associated variable is read.
-	 * 
+	 *
 	 * @return whether this breakpoints supports the capability to suspend
 	 * when an associated variable is read
 	 */
@@ -73,10 +73,10 @@
 	/**
 	 * Returns whether this breakpoints supports the ability to suspend
 	 * when an associated variable is written.
-	 * 
+	 *
 	 * @return whether this breakpoints supports the ability to suspend
 	 * when an associated variable is written
-	 */	
+	 */
 	public boolean supportsModification();
 
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
index 6498ec3..7622e8f 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
@@ -16,60 +16,60 @@
  * attributes indicating if the byte is read-only, valid, or if its value has
  * changed.
  * <p>
- * Clients may instantiate this class. Clients may subclass this class to 
+ * Clients may instantiate this class. Clients may subclass this class to
  * add other attributes to a memory byte, as required.
  * </p>
  * @since 3.1
  * @see org.eclipse.debug.core.model.IMemoryBlockExtension
  */
 public class MemoryByte {
-	
+
     /**
      * Bit mask used to indicate a byte is writable.
      */
 	public static final byte	WRITABLE	= 0x01;
-	
+
 	/**
 	 * Bit mask used to indicate a byte is readable.
 	 * A memory byte is readable when its value and attributes are retrievable.
 	 * Otherwise, a byte is considered non-readable.
 	 */
 	public static final byte	READABLE		= 0x02;
-	
+
 	/**
 	 * Bit mask used to indicate a byte has changed since the last
 	 * suspend event.
-	 * 
+	 *
 	 * @see org.eclipse.debug.core.DebugEvent#SUSPEND
 	 */
 	public static final byte	CHANGED		= 0x04;
-	
+
 	/**
 	 * Bit mask used to indicate a memory byte has history to
 	 * determine if its value has changed. When a memory byte's
 	 * history is unknown, the change state has no meaning.
 	 */
 	public static final byte 	HISTORY_KNOWN		= 0x08;
-	
+
 	/**
 	 * Bit mask used to indicate a this byte of memory
 	 * is big endian.  If this byte of memory is little endian,
 	 * turn this bit mask to off.
 	 */
 	public static final byte	BIG_ENDIAN	= 0x10;
-	
+
 	/**
 	 * Bit mask used to indicate that the endianess of this byte
 	 * of memory is known.  When a memory byte's endianess is
-	 * unknown, the endianess of this byte has no meaning.  
+	 * unknown, the endianess of this byte has no meaning.
 	 */
 	public static final byte	ENDIANESS_KNOWN = 0x20;
-	
+
 	/**
 	 * Value of this byte.
 	 */
 	protected byte value;
-	
+
 	/**
 	 * Attribute flags.
 	 * <p>
@@ -78,7 +78,7 @@
 	 * </p>
 	 */
 	protected byte flags;
-	
+
 	/**
 	 * Constructs a readable, writable memory byte without a change history,
 	 * and a value of 0.  The byte's endianess is known and is little endian
@@ -87,33 +87,33 @@
 	public MemoryByte() {
 	    this((byte)0, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
 	}
-	
+
 	/**
 	 * Constructs a readable, writable memory byte without a change history,
 	 * with the given value.  The byte's endianess is known and is little endian
-	 * by default.  
-	 * 
+	 * by default.
+	 *
 	 * @param byteValue value of this memory byte
-	 * 
+	 *
 	 */
 	public MemoryByte(byte byteValue) {
 	    this(byteValue, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
 	}
-	
+
 	/**
 	 * Constructs a memory byte with the given value and attributes.
-	 * 
+	 *
 	 * @param byteValue value of this memory byte
-	 * @param byteFlags attributes of the byte specified as a bit mask 
+	 * @param byteFlags attributes of the byte specified as a bit mask
 	 */
-	public MemoryByte(byte byteValue, byte byteFlags) {		
+	public MemoryByte(byte byteValue, byte byteFlags) {
 		value = byteValue;
 		flags = byteFlags;
 	}
 
 	/**
 	 * Returns this memory byte's attribute as a bit mask.
-	 * 
+	 *
 	 * @return this memory byte's attribute as a bit mask
 	 */
 	public byte getFlags() {
@@ -121,7 +121,7 @@
 	}
 	/**
 	 * Sets this memory byte's attributes based on the given bit mask.
-	 * 
+	 *
 	 * @param flags bit mask of attributes
 	 */
 	public void setFlags(byte flags) {
@@ -130,27 +130,27 @@
 
 	/**
 	 * Returns the value of this memory byte.
-	 * 
+	 *
 	 * @return the value of this memory byte
 	 */
 	public byte getValue() {
 		return value;
 	}
-	
+
 	/**
 	 * Sets the value of this memory byte.
-	 * 
+	 *
 	 * @param value the new value of this memory byte
 	 */
 	public void setValue(byte value) {
 		this.value = value;
 	}
-	
+
 	/**
 	 * Sets whether this memory byte is readable. A memory byte
 	 * is considered readable when its value and attributes are
 	 * retrievable.
-	 * 
+	 *
 	 * @param readable whether this memory byte is readable
 	 */
 	public void setReadable(boolean readable) {
@@ -158,21 +158,21 @@
 		if (!readable)
 			flags ^= MemoryByte.READABLE;
 	}
-	
+
 	/**
 	 * Returns whether this memory byte is readable. A memory byte
 	 * is considered readable when its value and attributes are
 	 * retrievable.
-	 * 
+	 *
 	 * @return whether this memory byte is readable
 	 */
 	public boolean isReadable() {
 		return ((flags & MemoryByte.READABLE) == MemoryByte.READABLE);
 	}
-	
+
 	/**
 	 * Sets whether this memory byte is writable.
-	 * 
+	 *
 	 * @param writable whether this memory byte is writable.
 	 */
 	public void setWritable(boolean writable) {
@@ -180,19 +180,19 @@
 		if (!writable)
 			flags ^= MemoryByte.WRITABLE;
 	}
-	
+
 	/**
 	 * Returns whether this memory byte is writable.
-	 * 
+	 *
 	 * @return whether this memory byte is writable
 	 */
 	public boolean isWritable() {
 		return ((flags & MemoryByte.WRITABLE) == MemoryByte.WRITABLE);
 	}
-	
+
 	/**
 	 * Sets whether this memory byte has changed.
-	 * 
+	 *
 	 * @param changed whether this memory byte has changed
 	 */
 	public void setChanged(boolean changed) {
@@ -200,20 +200,20 @@
 		if (!changed)
 			flags ^= MemoryByte.CHANGED;
 	}
-	
+
 	/**
 	 * Returns whether this memory byte has changed.
-	 * 
+	 *
 	 * @return whether this memory byte has changed
 	 */
 	public boolean isChanged() {
 		return ((flags & MemoryByte.CHANGED) == MemoryByte.CHANGED);
 	}
-	
+
 	/**
 	 * Sets whether the history of this byte is known. When history
 	 * is unknown, the change state of a memory byte has no meaning.
-	 * 
+	 *
 	 * @param known whether the change state of this byte is known
 	 */
 	public void setHistoryKnown(boolean known) {
@@ -221,20 +221,20 @@
 		if (!known)
 			flags ^= MemoryByte.HISTORY_KNOWN;
 	}
-	
+
 	/**
 	 * Returns whether the history of this byte is known. When history
 	 * is unknown, the change state of a memory byte has no meaning.
-	 * 
+	 *
 	 * @return whether the change state of this byte is known
 	 */
 	public boolean isHistoryKnown() {
 		return ((flags & MemoryByte.HISTORY_KNOWN) == MemoryByte.HISTORY_KNOWN);
 	}
-	
+
 	/**
 	 * Sets whether this byte of memory is big endian.
-	 * 
+	 *
 	 * @param isBigEndian whether the byte of memory is big endian.
 	 */
 	public void setBigEndian(boolean isBigEndian)
@@ -243,22 +243,22 @@
 		if (!isBigEndian)
 			flags ^= MemoryByte.BIG_ENDIAN;
 	}
-	
+
 	/**
 	 * Returns whether this byte of memory is big endian.
-	 * 
+	 *
 	 * @return whether the byte of memory is big endian.
 	 */
 	public boolean isBigEndian()
 	{
 		return ((flags & MemoryByte.BIG_ENDIAN) == MemoryByte.BIG_ENDIAN);
 	}
-	
+
 	/**
 	 * Sets whether the endianess of this byte of memory is known.
 	 * If the endianess is unknown, the endianess of this byte
-	 * has no meaning. 
-	 * 
+	 * has no meaning.
+	 *
 	 * @param isEndianessKnown whether the endianess of this byte is known.
 	 */
 	public void setEndianessKnown(boolean isEndianessKnown)
@@ -267,17 +267,17 @@
 		if (!isEndianessKnown)
 			flags ^= MemoryByte.ENDIANESS_KNOWN;
 	}
-	
+
 	/**
 	 * Returns whether the endianess of this byte of memory is known.
 	 * If the endianess is unknown, the endianess of this byte
 	 * has no meaning.
-	 *  
+	 *
 	 * @return whether the endianess of this byte of memory is known.
 	 */
 	public boolean isEndianessKnown()
 	{
 		return ((flags & MemoryByte.ENDIANESS_KNOWN) == MemoryByte.ENDIANESS_KNOWN);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
index f30b971..e314c90 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.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
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * {@link org.eclipse.debug.core.model.IPersistableSourceLocator}.
  * </p>
  * @see org.eclipse.debug.core.model.IPersistableSourceLocator
- * @since 3.0 
+ * @since 3.0
  */
 public interface IPersistableSourceLocator2 extends IPersistableSourceLocator {
 
@@ -32,14 +32,14 @@
 	 * is called instead of <code>initializeFrom(String memento)</code>
 	 * defined in <code>IPersistableSourceLocator</code> when a source
 	 * locator implements this interface.
-	 * 
+	 *
 	 * @param memento a memento to initialize this source locator
 	 * @param configuration the launch configuration this source locator is
 	 *  being created for
-	 * @exception CoreException on failure to initialize 
+	 * @exception CoreException on failure to initialize
 	 */
 	public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException;
-	
+
 	/**
 	 * Disposes this source locator. This method is called when a source
 	 * locator's associated launch is removed from the launch manager.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
index ed721bd..10fa071 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
@@ -33,11 +33,11 @@
  * @since 3.0
  */
 public interface ISourceContainer extends IAdaptable {
-	
+
 	/**
 	 * Notification this source container has been added to the given
 	 * source lookup director.
-	 * 
+	 *
 	 * @param director the director this container has been added to
 	 */
 	public void init(ISourceLookupDirector director);
@@ -66,7 +66,7 @@
 	/**
 	 * The name of this source container that can be used for presentation purposes.
 	 * For example, the name of a project.
-	 *  
+	 *
 	 * @return the name of this source container
 	 */
 	public String getName();
@@ -76,7 +76,7 @@
 	 * collection is returned if this container is not a composite container.
 	 * For example, a workspace source container may be composed of project source
 	 * containers.
-	 * 
+	 *
 	 * @return the source containers this container is composed of, possibly
 	 *  an empty collection
 	 * @exception CoreException if unable to retrieve source containers
@@ -87,22 +87,22 @@
 	 * Returns whether this container is a composite container. A composite
 	 * container is composed of other source containers. For example, a workspace
 	 * source container may be composed of project source containers.
-	 * 
+	 *
 	 * @return whether this container is a composite container
-	 */ 	
+	 */
 	public boolean isComposite();
-	
+
 	/**
 	 * Returns this container's type.
-	 * 
-	 * @return this container's type 
+	 *
+	 * @return this container's type
 	 */
 	public ISourceContainerType getType();
-	
+
 	/**
 	 * Disposes this source container. This method is called when the source
 	 * director associated with this source container is disposed.
 	 */
 	public void dispose();
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
index 0204389..548dcd9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
@@ -33,7 +33,7 @@
  * </pre>
  * </p>
  * <p>
- * Clients contributing a source container type implement 
+ * Clients contributing a source container type implement
  * {@link org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate}.
  * </p>
  * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
@@ -50,7 +50,7 @@
 	 * <code>Project</code>.  The value returned is
 	 * identical to the name specified in plugin.xml by the <code>name</code>
 	 * attribute.
-	 * 
+	 *
 	 * @return the name of this source container type
 	 */
 	public String getName();
@@ -59,17 +59,17 @@
 	 * Returns the unique identifier associated with this source container type.
 	 * The value returned is identical to the identifier specified in plugin.xml by
 	 * the <code>id</code> attribute.
-	 * 
+	 *
 	 * @return the unique identifier associated with this source container type
 	 */
 	public String getId();
-	
+
 	/**
 	 * Returns a short description of this source container type that can be used
 	 * for presentation purposes, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return a short description of this source container type, or <code>null</code>
 	 */
 	public String getDescription();
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
index d8c9448..7b8a166 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
@@ -23,7 +23,7 @@
  * </p>
  * <p>
  * Clients may implement this interface.
- * </p> 
+ * </p>
  * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
  * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
  * @since 3.0
@@ -33,23 +33,23 @@
 	/**
 	 * Creates and returns a new source container of this type
 	 * corresponding to the given memento.
-	 * 
+	 *
 	 * @param memento a memento for a source container of this source container type
 	 * @return a source container corresponding to the given memento
 	 * @exception CoreException if unable to construct a source container based
 	 *  on the given memento
 	 */
 	public ISourceContainer createSourceContainer(String memento) throws CoreException;
-	
+
 	/**
 	 * Constructs and returns a memento for the given source container. A memento
 	 * can be used to reconstruct a source container.
-	 * 
+	 *
 	 * @param container The container for which a memento should be created. The
 	 *  container must of this source container type.
 	 * @return a memento for the source container
 	 * @exception CoreException if unable to create a memento
 	 */
 	public String getMemento(ISourceContainer container) throws CoreException;
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
index 5eb4596..2cee499 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
@@ -24,134 +24,134 @@
  * @since 3.0
  */
 public interface ISourceLookupDirector extends IPersistableSourceLocator2 {
-	
+
 	/**
-	 * Returns the launch configuration associated with this source 
+	 * Returns the launch configuration associated with this source
 	 * lookup director, or <code>null</code> if none.
-	 * 
-	 * @return the launch configuration associated with this source 
+	 *
+	 * @return the launch configuration associated with this source
 	 * lookup director, or <code>null</code> if none
 	 */
 	public ILaunchConfiguration getLaunchConfiguration();
-	
+
 	/**
 	 * Returns the source lookup participants currently registered with
 	 * this director, possibly an empty collection.
-	 * 
+	 *
 	 * @return the source lookup participants currently registered with
 	 * this director, possibly an empty collection
 	 */
 	public ISourceLookupParticipant[] getParticipants();
-	
+
 	/**
-	 * Returns the source containers currently registered with this 
+	 * Returns the source containers currently registered with this
 	 * director, possibly an empty collection.
-	 * 
-	 * @return the source containers currently registered with this 
+	 *
+	 * @return the source containers currently registered with this
 	 * director, possibly an empty collection
 	 */
 	public ISourceContainer[] getSourceContainers();
-	
+
 	/**
 	 * Sets the source containers this source lookup director
 	 * should search when looking for source, possibly an empty collection.
-	 * 
+	 *
 	 * @param containers the source containers this source lookup director
 	 * should search when looking for source, possibly an empty collection
 	 */
-	public void setSourceContainers(ISourceContainer[] containers);	
-	
+	public void setSourceContainers(ISourceContainer[] containers);
+
 	/**
 	 * Returns whether to search exhaustively for all source elements
 	 * with the same name in all registered source containers, or
 	 * whether to stop searching when the first source element matching
 	 * the required name is found.
-	 * 
+	 *
 	 * @return whether to search exhaustively for all source elements
 	 * with the same name
 	 */
 	public boolean isFindDuplicates();
-	
+
 	/**
 	 * Sets whether to search exhaustively for all source elements
 	 * with the same name in all registered source containers, or
 	 * whether to stop searching when the first source element matching
 	 * the required name is found.
-	 * 
+	 *
 	 * @param findDuplicates whether to search exhaustively for all source elements
 	 * with the same name
 	 */
-	public void setFindDuplicates(boolean findDuplicates);	
-	
+	public void setFindDuplicates(boolean findDuplicates);
+
 	/**
 	 * Notifies this source lookup director that it should initialize
 	 * its set of source lookup participants.
 	 */
 	public void initializeParticipants();
-	
+
 	/**
 	 * Returns whether this source director supports the given type
-	 * of source location. 
-	 * 
+	 * of source location.
+	 *
 	 * @param type source container type
 	 * @return whether this source director supports the given type
 	 * of source location
 	 */
 	public boolean supportsSourceContainerType(ISourceContainerType type);
-	
+
 	/**
 	 * Clears any source lookup results associated with the given
 	 * debug artifact, such that a subsequent lookup will force a new search
 	 * to be performed.
-	 *  
+	 *
 	 * @param element debug artifact to clear source lookup results for
 	 */
 	public void clearSourceElements(Object element);
-	
+
 	/**
 	 * Adds the given source lookup participants to this director.
-	 * 
+	 *
 	 * @param participants participants to add
 	 */
 	public void addParticipants(ISourceLookupParticipant[] participants);
-	
+
 	/**
 	 * Removes the given source lookup participants from this director.
-	 * 
+	 *
 	 * @param participants participants to remove
 	 */
 	public void removeParticipants(ISourceLookupParticipant[] participants);
-	
+
 	/**
 	 * Returns the identifier of this type of source locator.
-	 * 
+	 *
 	 * @return the identifier of this type of source locator
 	 */
 	public String getId();
-	
+
 	/**
 	 * Returns the source path computer to use with this source lookup
-	 * director, possibly <code>null</code>. By default, the source path 
+	 * director, possibly <code>null</code>. By default, the source path
 	 * computer returned is the one associated with this director's launch
 	 * configuration's type. However, the source path computer can be specified
 	 * programmatically by calling <code>setSourcePathComputer(...)</code>.
-	 * 
+	 *
 	 * @return the source path computer to use with this source lookup
 	 *  director, possibly <code>null</code>
 	 */
 	public ISourcePathComputer getSourcePathComputer();
-	
+
 	/**
 	 * Sets the source path computer for this source lookup director.
 	 * This method can be used to override the default source path computer
 	 * for a launch configuration type. When <code>null</code> is specified
 	 * the default source path computer will be used (i.e. the one associated
 	 * with this director's launch configuration's type).
-	 *  
+	 *
 	 * @param computer source path computer or <code>null</code>
 	 */
 	public void setSourcePathComputer(ISourcePathComputer computer);
-	
+
 	/**
 	 * Returns a collection of source elements corresponding to the given debug
 	 * artifact (for example, a stack frame or breakpoint). Returns an empty
@@ -160,14 +160,14 @@
 	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
 	 * When <code>false</code> the returned collection should contain at most one
 	 * source element.
-	 * 
+	 *
 	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
 	 * @return a collection of source elements corresponding to the given
 	 *  debug artifact, possibly empty
 	 * @exception CoreException if an exception occurs while searching for source
 	 */
-	public Object[] findSourceElements(Object object) throws CoreException;	
-	
+	public Object[] findSourceElements(Object object) throws CoreException;
+
 	/**
 	 * Returns a source element that corresponds to the given debug artifact, or
 	 * <code>null</code> if a source element could not be located. This is a
@@ -175,8 +175,8 @@
 	 * source to be found for other types of elements.
 	 *
 	 * @param element the debug artifact for which to locate source
-	 * @return an object representing a source element. 
+	 * @return an object representing a source element.
 	 */
-	 public Object getSourceElement(Object element);	
-	
+	 public Object getSourceElement(Object element);
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
index b47d086..091b69a 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
@@ -21,7 +21,7 @@
  * breakpoint, etc.),  into a source name that can be recognized by a source container
  * (<code>ISourceContainer</code>), to search for source elements. Source containers
  * are generally debug model independent, whereas source lookup participants are
- * debug model specific.  
+ * debug model specific.
  * <p>
  * Clients may implement this interface. An abstract implementation is
  * provided by <code>AbstractSourceLookupParticipant</code>, which clients
@@ -33,13 +33,13 @@
 
 	/**
 	 * Notification this participant has been added to the specified
-	 * source lookup director. 
+	 * source lookup director.
      *
 	 * @param director the source lookup director that this participant
 	 *  has been added to
 	 */
 	public void init(ISourceLookupDirector director);
-	
+
 	/**
 	 * Returns a collection of source elements corresponding to the given debug
 	 * artifact (for example, a stack frame or breakpoint). Returns an empty
@@ -60,29 +60,29 @@
 	 * @exception CoreException if an exception occurs while searching for source
 	 */
 	public Object[] findSourceElements(Object object) throws CoreException;
-	
+
 	/**
 	 * Returns the source file name associated with the given debug artifact that
 	 * source needs to be found for, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
 	 * @return the source file name associated with the given debug artifact,
 	 *  or <code>null</code> if none.
-	 * @throws CoreException if unable to determine a source file name 
+	 * @throws CoreException if unable to determine a source file name
 	 */
 	public String getSourceName(Object object) throws CoreException;
 
 	/**
 	 * Disposes this source lookup participant. This method is called when
-	 * the source lookup director associated with this participant is 
+	 * the source lookup director associated with this participant is
 	 * disposed.
 	 */
 	public void dispose();
-	
+
 	/**
 	 * Notification that the source lookup containers in the given source
 	 * lookup director have changed.
-	 * 
+	 *
 	 * @param director source lookup director that is directing this
 	 * participant
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
index 3e95589..59aa3a4 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
@@ -16,7 +16,7 @@
  * A source path computer computes the default source lookup path (set of source
  * containers that should be considered) for a launch configuration.
  * <p>
- * A source path computer is contributed in plug-in XML via the 
+ * A source path computer is contributed in plug-in XML via the
  * <code>sourcePathComputers</code> extension point, that provides a delegate
  * to compute the path specific to a launch configuration. Following
  * is an example contribution.
@@ -28,7 +28,7 @@
  *    	&lt;/sourcePathComputer&gt;
  * &lt;/extension&gt;
  * </pre>
- * </p> 
+ * </p>
  * <p>
  * A source path computer can be associated with a launch configuration type
  * via the <code>sourcePathComputerId</code> attribute of a launch configuration
@@ -37,7 +37,7 @@
  * attribute.
  * </p>
  * <p>
- * Clients contributing a source path computer provide an implementation of 
+ * Clients contributing a source path computer provide an implementation of
  * {@link org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate}.
  * </p>
  * @since 3.0
@@ -45,7 +45,7 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface ISourcePathComputer extends ISourcePathComputerDelegate {
-	
+
 	/**
 	 * Launch configuration attribute to specify a source path computer
 	 * that should be used for a launch configuration. The value is an identifier
@@ -57,9 +57,9 @@
 
 	/**
 	 * Returns the unique identifier for this source path computer.
-	 * 
+	 *
 	 * @return the unique identifier for this source path computer
 	 */
 	public String getId();
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
index 9d55061..51b17f6 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
  * (set of source containers that should be considered) for a launch
  * configuration.
  * <p>
- * A source path computer is contributed in plug-in XML via the 
+ * A source path computer is contributed in plug-in XML via the
  * <code>sourcePathComputers</code> extension point, providing a delegate
  * to compute the default source lookup path specific to a launch
  * configuration.
@@ -31,12 +31,12 @@
  * @since 3.0
  */
 public interface ISourcePathComputerDelegate {
-	
+
 	/**
 	 * Returns a default collection source containers to be considered for the
 	 * given launch configuration. The collection returned represents the default
 	 * source lookup path for the given configuration.
-	 * 
+	 *
 	 * @param configuration the launch configuration for which a default source lookup path
 	 *  is to be computed
 	 * @param monitor a progress monitor to be used in case of long operations
@@ -45,5 +45,5 @@
 	 * @exception CoreException if unable to compute a default source lookup path
 	 */
 	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException;
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
index bbbff4f..e5ec1ad 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
@@ -26,10 +26,10 @@
  * @since 3.0
  */
 public abstract class AbstractSourceContainerTypeDelegate implements ISourceContainerTypeDelegate {
-	
+
 	/**
 	 * Throws an exception with the given message and underlying exception.
-	 * 
+	 *
 	 * @param message error message
 	 * @param exception underlying exception, or <code>null</code>
 	 * @throws CoreException if a problem is encountered
@@ -38,20 +38,20 @@
 		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
 		throw new CoreException(status);
 	}
-	
+
 	/**
 	 * Creates and returns a new XML document.
-	 * 
+	 *
 	 * @return a new XML document
 	 * @throws CoreException if unable to create a new document
 	 */
 	protected Document newDocument()throws CoreException {
 		return DebugPlugin.newDocument();
-	}	
-	
+	}
+
 	/**
 	 * Returns the given XML document as a string.
-	 * 
+	 *
 	 * @param document document to serialize
 	 * @return the given XML document as a string
 	 * @throws CoreException if unable to serialize the document
@@ -62,12 +62,12 @@
 
 	/**
 	 * Parses the given XML document, returning its root element.
-	 * 
+	 *
 	 * @param document XML document as a string
 	 * @return the document's root element
 	 * @throws CoreException if unable to parse the document
 	 */
 	protected Element parseDocument(String document) throws CoreException {
 		return DebugPlugin.parseDocument(document);
-	}	
+	}
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java
index 72a93b1..6b64779 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java
@@ -17,7 +17,7 @@
 /**
  * Proxy to a breakpointImportParticipant extension.
  * Client can contribute participant through the <code>breakpointImportParticipant</code> extension point
- * 
+ *
  * Example contribution:
  * <pre>
  * <extension
@@ -28,20 +28,20 @@
       </ImportParticipant>
    </extension>
  * </pre>
- * 
+ *
  * @noextend This class is not intended to be sub-classed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
- * 
+ *
  * @since 3.5
  */
 public class BreakpointImportParticipantDelegate {
-	
+
 	/**
 	 * The configuration element for this delegate
 	 */
 	private IConfigurationElement fElement = null;
 	private IBreakpointImportParticipant fParticipant = null;
-	
+
 	/**
 	 * Constructor
 	 * @param element the element this proxy is created on
@@ -53,7 +53,7 @@
 	/**
 	 * Returns the {@link IBreakpointImportParticipant} delegate or <code>null</code> of there was
 	 * a problem loading the delegate
-	 * 
+	 *
 	 * @return the {@link IBreakpointImportParticipant} or <code>null</code>
 	 * @throws CoreException if a problem is encountered
 	 */
@@ -66,7 +66,7 @@
 
 	/**
 	 * Returns the marker type this participant is registered for.
-	 * 
+	 *
 	 * @return the marker type this participant is registered for
 	 * @throws CoreException if a problem is encountered
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
index 34dbb7e..2e22528 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
@@ -21,25 +21,25 @@
 	 * <p>Equal to the word: <code>id</code></p>
 	 */
 	public static final String ID = "id"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name node name for a configuration element.
 	 * <p>Equal to the word: <code>name</code></p>
 	 */
 	public static final String NAME = "name"; //$NON-NLS-1$
-	
+
 	/**
 	 * The category node name for a configuration element.
 	 * <p>Equal to the word: <code>category</code></p>
 	 */
 	public static final String CATEGORY = "category"; //$NON-NLS-1$
-	
+
 	/**
 	 * The local node name for a configuration element.
 	 * <p>Equal to the word: <code>local</code></p>
 	 */
 	public static final String LOCAL = "local"; //$NON-NLS-1$
-	
+
 	/**
 	 * The shortcutId node name for a configuration element.
 	 * <p>Equal to the word: <code>shortcutID</code></p>
@@ -51,273 +51,273 @@
 	 * <p>Equal to the word: <code>launchPerspectives</code></p>
 	 */
 	public static final String LAUNCH_PERSPECTIVES = "launchPerspectives";  //$NON-NLS-1$
-	
+
 	/**
 	 * The launchPerspective node name for a configuration element.
 	 * <p>Equal to the word: <code>launchPerspective</code></p>
 	 */
 	public static final String LAUNCH_PERSPECTIVE = "launchPerspective"; //$NON-NLS-1$
-	
+
 	/**
 	 * The markerType node name for a configuration element.
 	 * <p>Equal to the word: <code>markerType</code></p>
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public static final String MARKER_TYPE = "markerType";	 //$NON-NLS-1$
-	
+
 	/**
 	 * The delegateClass node name for a configuration element.
 	 * <p>Equal to the word: <code>delegateClass</code></p>
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public static final String DELEGATE_CLASS = "delegateClass"; //$NON-NLS-1$
-	
+
 	/**
 	 * The launchConfiguration node name for a configuration element.
 	 * <p>Equal to the word: <code>launchConfiguration</code></p>
 	 */
 	public static final String LAUNCH_CONFIGURATION = "launchConfiguration"; //$NON-NLS-1$
-	
+
 	/**
 	 * The launchMode node name for a configuration element.
 	 * <p>Equal to the word: <code>launchMode</code></p>
 	 */
 	public static final String LAUNCH_MODE = "launchMode"; //$NON-NLS-1$
-	
+
 	/**
 	 * The lastLaunch node name for a configuration element.
 	 * <p>Equal to the word: <code>lastLaunch</code></p>
 	 */
 	public static final String LAST_LAUNCH = "lastLaunch"; //$NON-NLS-1$
-	
+
 	/**
 	 * The launch node name for a configuration element.
 	 * <p>Equal to the word: <code>launch</code></p>
 	 */
 	public static final String LAUNCH = "launch"; //$NON-NLS-1$
-	
+
 	/**
 	 * The launch as label node name for a configuration element.
 	 *  <p>Equal to the word: <code>launchAsLabel</code></p>
-	 *  
+	 *
 	 *  @since 3.4
 	 */
 	public static final String LAUNCH_AS_LABEL = "launchAsLabel"; //$NON-NLS-1$
-	
+
 	/**
 	 * The launchHistory node name for a configuration element.
 	 * <p>Equal to the word: <code>launchHistory</code></p>
 	 */
 	public static final String LAUNCH_HISTORY = "launchHistory"; //$NON-NLS-1$
-	
+
 	/**
 	 * The node name for a launch group configuration element.
 	 * <p>Equal to the word: <code>launchGroup</code></p>
 	 */
 	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * The node name for a launch history MRU list configuration element.
 	 * <p>Equal to the word: <code>mruHistory</code></p>
 	 */
-	public static final String MRU_HISTORY = "mruHistory"; //$NON-NLS-1$	
-	
+	public static final String MRU_HISTORY = "mruHistory"; //$NON-NLS-1$
+
 	/**
 	 * The node name for a launch favorites list configuration element.
 	 * <p>Equal to the word: <code>favorites</code></p>
 	 */
 	public static final String FAVORITES = "favorites"; //$NON-NLS-1$
-	
+
 	/**
 	 * The after node name for a configuration element.
 	 * <p>Equal to the word: <code>after</code></p>
 	 */
 	public static final String AFTER = "after"; //$NON-NLS-1$
-	
+
 	/**
 	 * The path node name for a configuration element.
 	 * <p>Equal to the word: <code>path</code></p>
 	 */
 	public static final String PATH = "path"; //$NON-NLS-1$
-	
+
 	/**
 	 * The placement node name for a configuration element.
 	 * <p>Equal to the word: <code>placement</code></p>
 	 */
 	public static final String PLACEMENT = "placement"; //$NON-NLS-1$
-	
+
 	/**
 	 * The associated launch delegate node name for a configuration element
 	 * <p>Equal to the word: <code>associatedDelegate</code></p>
 	 */
 	public static final String ASSOCIATED_DELEGATE = "associatedDelegate"; //$NON-NLS-1$
-	
+
 	/**
 	 * The label node name for a configuration element.
 	 * <p>Equal to the word: <code>label</code></p>
 	 */
 	public static final String LABEL = "label"; //$NON-NLS-1$
-	
+
 	/**
 	 * The description node name for a configuration element.
 	 * <p>Equal to the word: <code>description</code></p>
 	 */
 	public static final String DESCRIPTION = "description"; //$NON-NLS-1$
-	
+
 	/**
 	 * The helpContextId node name for a configuration element.
 	 * <p>Equal to the word: <code>helpContextId</code></p>
 	 */
 	public static final String HELP_CONTEXT_ID = "helpContextId"; //$NON-NLS-1$
-	
+
 	/**
 	 * The icon node name for a configuration element.
 	 * <p>Equal to the word: <code>icon</code></p>
 	 */
 	public static final String ICON = "icon"; //$NON-NLS-1$
-	
+
 	/**
 	 * The public node name for a configuration element
 	 * <p>Equal to the word: <code>public</code></p>
 	 */
 	public static final String PUBLIC = "public"; //$NON-NLS-1$
-	
+
 	/**
 	 * The perspective node name for a configuration element.
 	 * <p>Equal to the word: <code>perspective</code></p>
 	 */
 	public static final String PERSPECTIVE = "perspective"; //$NON-NLS-1$
-	
+
 	/**
 	 * The preferredDelegates node name for a configuration element.
 	 * <p>Equal to the word: <code>preferredDelegates</code></p>
 	 */
 	public static final String PREFERRED_DELEGATES = "preferredDelegates"; //$NON-NLS-1$
-	
+
 	/**
 	 * The modes node name for a configuration element.
 	 * <p>Equal to the word: <code>modes</code></p>
 	 */
 	public static final String MODES = "modes"; //$NON-NLS-1$
-	
+
 	/**
 	 * The modesCombination node name for a configuration element.
-	 * <p>Equal to the word: <code>modeCombination</code></p> 
+	 * <p>Equal to the word: <code>modeCombination</code></p>
 	 */
 	public static final String MODE_COMBINATION = "modeCombination"; //$NON-NLS-1$
-	
+
 	/**
 	 * The mode node name for a configuration element.
 	 * <p>Equal to the word: <code>mode</code></p>
 	 */
 	public static final String MODE = "mode"; //$NON-NLS-1$
-	
+
 	/**
 	 * The type node name for a configuration element.
 	 * <p>Equal to the word: <code>type</code></p>
 	 */
 	public static final String TYPE = "type"; //$NON-NLS-1$
-	
+
 	/**
 	 * The typeid node name for a configuration element.
-	 * <p>Equal to the word: <code>typeid</code></p> 
+	 * <p>Equal to the word: <code>typeid</code></p>
 	 */
 	public static final String TYPE_ID = "typeid"; //$NON-NLS-1$
-	
+
 	/**
 	 * The option node name for a configuration element.
 	 * <p>Equal to the word: <code>options</code></p>
 	 */
 	public static final String OPTIONS = "options"; //$NON-NLS-1$
-	
+
 	/**
 	 * The delegate node name for a configuration element.
 	 * <p>Equal to the word: <code>delegate</code></p>
 	 */
 	public static final String DELEGATE = "delegate"; //$NON-NLS-1$
-	
+
 	/**
 	 * The participant node name for a configuration element.
 	 * <p>Equal to the word: <code>participant</code></p>
 	 */
 	public static final String PARTICIPANT = "participant"; //$NON-NLS-1$
-	
+
 	/**
 	 * The defaultShortcut node name for a configuration element.
 	 * <p>Equal to the word: <code>defaultShortcut</code></p>
 	 */
 	public static final String DEFAULT_LAUNCH_SHORTCUT = "defaultShortcut"; //$NON-NLS-1$
-	
+
 	/**
 	 * The delegateName node name for a configuration element.
 	 * <p>Equal to the word: <code>delegateName</code></p>
 	 */
 	public static final String DELEGATE_NAME = "delegateName"; //$NON-NLS-1$
-	
+
 	/**
 	 * The group node name for a configuration element.
 	 * <p>Equal to the word: <code>group</code></p>
 	 */
 	public static final String GROUP = "group"; //$NON-NLS-1$
-	
+
 	/**
 	 * The class node name for a configuration element.
 	 * <p>Equal to the word: <code>class</code></p>
 	 */
 	public static final String CLASS = "class"; //$NON-NLS-1$
-	
+
 	/**
 	 * The modelIdentifier node name for a configuration element.
 	 * <p>Equal to the word: <code>modelIdentifier</code></p>
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public static final String MODEL_IDENTIFIER = "modelIdentifier"; //$NON-NLS-1$
-	
+
 	/**
 	 * The configurationTypes node name for a configuration element.
 	 * <p>Equal to the word: <code>configurationType</code></p>
 	 */
 	public static final String CONFIGURATION_TYPES = "configurationType"; //$NON-NLS-1$
-	
+
 	/**
 	 * The contextLabel node name for a configuration element.
 	 * <p>Equal to the word: <code>contextLabel</code></p>
 	 */
 	public static final String CONTEXT_LABEL = "contextLabel"; //$NON-NLS-1$
-	
+
 	/**
 	 * The contextualLaunch node name for a configuration element.
 	 * <p>Equal to the word: <code>contextualLaunch</code></p>
 	 */
 	public static final String CONTEXTUAL_LAUNCH = "contextualLaunch"; //$NON-NLS-1$
-	
+
 	/**
 	 * The sourcePathComputerId node name for a configuration element.
 	 * <p>Equal to the word: <code>sourcePathComputerId</code></p>
 	 */
 	public static final String SOURCE_PATH_COMPUTER = "sourcePathComputerId"; //$NON-NLS-1$
-	
+
 	/**
 	 * The delegateDescription node name for a configuration element.
 	 * <p>Equal to the word: <code>delegateDescription</code></p>
 	 */
 	public static final String DELEGATE_DESCRIPTION = "delegateDescription"; //$NON-NLS-1$
-	
+
 	/**
 	 * The sourceLocatorId node name for a configuration element.
 	 * <p>Equal to the word: <code>sourceLocatorId</code></p>
 	 */
 	public static final String SOURCE_LOCATOR = "sourceLocatorId"; //$NON-NLS-1$
-	
+
 	/**
 	 * The migrationDelegate node name for a configuration element.
 	 * <p>Equal to the word: <code>migrationDelegate</code></p>
 	 */
 	public static final String MIGRATION_DELEGATE = "migrationDelegate";  //$NON-NLS-1$
-	
+
 	/**
 	 * The memento node name for a configuration element.
 	 * <p>Equal to the word: <code>memento</code></p>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
index be3ee7d..11c359d 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
@@ -26,20 +26,20 @@
 	 * <strong>must</strong> take into account the removal of the expressions to be removed.
 	 * Therefore, for each of the expressions being moved with indices lower than the expect
 	 * insertion index, the passed insertion index must be reduced by one.
-	 * 
+	 *
 	 * @param expressions array of expressions to be moved
 	 * @param index the index the expressions will be added to, adjusted for moved expressions
 	 */
 	public void expressionsMoved(IExpression[] expressions, int index);
-	
+
 	/**
 	 * Fires the model delta necessary to update the viewer after one or more
-	 * expressions have been inserted into a specific index in the tree.  The 
+	 * expressions have been inserted into a specific index in the tree.  The
 	 * expression array must be in the same order as they were added.
-	 * 
+	 *
 	 * @param expressions array of expressions to be moved
 	 * @param index the index the expressions will be added to
 	 */
 	public void expressionsInserted(IExpression[] expressions, int index);
-	
+
 }
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.java
index 8fc33db..16239c4 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.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
  *******************************************************************************/
@@ -15,7 +15,7 @@
 
 /**
  * Contains constants to be used internally in all debug components
- * 
+ *
  * @since 3.4
  */
 public interface IInternalDebugCoreConstants {
@@ -24,19 +24,19 @@
 	 * Represents the empty string
 	 */
 	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
+
 	/**
 	 * Boolean preference controlling whether status handler extensions
 	 * are enabled. Default value is <code>true</code>. When disabled
 	 * any call to {@link DebugPlugin#getStatusHandler(IStatus)} will return <code>null</code>.
-	 * 
+	 *
 	 * @since 3.4.2
 	 */
 	public static final String PREF_ENABLE_STATUS_HANDLERS = DebugPlugin.getUniqueIdentifier() + ".PREF_ENABLE_STATUS_HANDLERS"; //$NON-NLS-1$
 
 	/**
 	 * Persistence of breakpoint manager enabled state.
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	public static final String PREF_BREAKPOINT_MANAGER_ENABLED_STATE =  DebugPlugin.getUniqueIdentifier() + ".PREF_BREAKPOINT_MANAGER_ENABLED_STATE"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java
index ed9f1e8..e0dfab4 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java
@@ -14,7 +14,7 @@
 	// These persistence constant is stored in XML. Do not
 	// change it.
 	public static final String TAG_FACTORY_ID = "factoryID"; //$NON-NLS-1$
-	
+
 	public static final String TAG_EDITOR_STATE = "editorState"; //$NON-NLS-1$
 
 	public static final String MEMENTO_ITEM = "item"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
index b478b31..cb551ec 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
@@ -21,13 +21,13 @@
 
 /**
  * Manage logical structure provider extensions
- * 
+ *
  * @see IConfigurationElementConstants
  */
 public class LogicalStructureProvider {
 
 	private IConfigurationElement fConfigurationElement;
-	
+
 	private String fModelIdentifier;
 
 	private ILogicalStructureProvider fDelegate;
@@ -43,11 +43,11 @@
 			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LogicalStructureProvider_1, null));
 		}
 	}
-	
+
 	/**
 	 * Return the logical structure type able to provide a logical structure for
 	 * the given value.
-	 * 
+	 *
 	 * @param value value for which structure types are requested
 	 * @return logical structure types
 	 */
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java
index e79766c..1e7995c 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java
@@ -21,24 +21,24 @@
 
 /**
  * Convenience class to facilitate using the new {@link IEclipsePreferences} story
- * 
+ *
  * @since 3.6
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public final class Preferences {
 
 	static final IScopeContext[] contexts= new IScopeContext[] { DefaultScope.INSTANCE, InstanceScope.INSTANCE };
-	
+
 	static final int DEFAULT_CONTEXT = 0;
 	static final int INSTANCE_CONTEXT = 1;
-	
+
 	/**
 	 * Constructor
 	 */
 	private Preferences() {
 		// no direct instantiation
 	}
-	
+
 	/**
 	 * Sets a string preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
@@ -62,14 +62,14 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).put(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a boolean preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
 	 * @param qualifier the preference qualifier
 	 * @param key the key
 	 * @param value the value
-	 * @param context the context to set the value in 
+	 * @param context the context to set the value in
 	 */
 	public static synchronized void setBoolean(String qualifier, String key, boolean value, IScopeContext context) {
 		if(context != null) {
@@ -86,7 +86,7 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).putBoolean(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a integer preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
@@ -110,7 +110,7 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).putInt(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a long preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
@@ -134,7 +134,7 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).putLong(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a byte array preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
@@ -158,7 +158,7 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).putByteArray(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a double preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
@@ -182,7 +182,7 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).putDouble(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a float preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
 	 * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
@@ -206,7 +206,7 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).putFloat(key, value);
 		}
 	}
-	
+
 	/**
 	 * Sets a string in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -216,7 +216,7 @@
 	public static synchronized void setDefaultString(String qualifier, String key, String value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).put(key, value);
 	}
-	
+
 	/**
 	 * Sets a boolean in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -226,7 +226,7 @@
 	public static synchronized void setDefaultBoolean(String qualifier, String key, boolean value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).putBoolean(key, value);
 	}
-	
+
 	/**
 	 * Sets a byte array in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -236,7 +236,7 @@
 	public static synchronized void setDefaultByteArray(String qualifier, String key, byte[] value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).putByteArray(key, value);
 	}
-	
+
 	/**
 	 * Sets a double in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -246,7 +246,7 @@
 	public static synchronized void setDefaultDouble(String qualifier, String key, double value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).putDouble(key, value);
 	}
-	
+
 	/**
 	 * Sets a float in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -256,7 +256,7 @@
 	public static synchronized void setDefaultFloat(String qualifier, String key, float value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).putFloat(key, value);
 	}
-	
+
 	/**
 	 * Sets a integer in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -266,7 +266,7 @@
 	public static synchronized void setDefaultInt(String qualifier, String key, int value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).putInt(key, value);
 	}
-	
+
 	/**
 	 * Sets a long in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
@@ -276,7 +276,7 @@
 	public static synchronized void setDefaultLong(String qualifier, String key, long value) {
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).putLong(key, value);
 	}
-	
+
 	/**
 	 * Sets the given preference to its default value. This is done by removing any set value
 	 * from the {@link InstanceScope}. Has no effect if the given key is <code>null</code>.
@@ -288,98 +288,98 @@
 			contexts[INSTANCE_CONTEXT].getNode(qualifier).remove(key);
 		}
 	}
-	
+
 	/**
 	 * Returns the default boolean value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the boolean value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized boolean getDefaultBoolean(String qualifier, String key, boolean defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getBoolean(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Returns the default string value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the string value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized String getDefaultString(String qualifier, String key, String defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).get(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Returns the default byte array value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the byte array value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized byte[] getDefaultByteArray(String qualifier, String key, byte[] defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getByteArray(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Returns the default integer value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the integer value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized int getDefaultInt(String qualifier, String key, int defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getInt(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Returns the default long value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the long value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized long getDefaultLong(String qualifier, String key, long defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getLong(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Returns the default double value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the double value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized double getDefaultDouble(String qualifier, String key, double defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getDouble(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Returns the default float value stored in the {@link DefaultScope} for the given key
 	 * or the specified default value if the key does not appear in the {@link DefaultScope}
 	 * @param qualifier the preference qualifier
 	 * @param key the preference key
 	 * @param defaultvalue the default value
-	 * 
+	 *
 	 * @return the float value set in the {@link DefaultScope} for the given key, or the specified default value.
 	 */
 	public static synchronized float getDefaultFloat(String qualifier, String key, float defaultvalue) {
 		return contexts[DEFAULT_CONTEXT].getNode(qualifier).getFloat(key, defaultvalue);
 	}
-	
+
 	/**
 	 * Save the preferences for the given plug-in identifier.
 	 * It should be noted that all pending preference changes will be flushed with this method.
@@ -394,7 +394,7 @@
 			DebugPlugin.log(bse);
 		}
 	}
-	
+
 	/**
 	 * Adds the given preference listener to the {@link DefaultScope} and the {@link InstanceScope}
 	 * @param qualifier the preference qualifier
@@ -404,7 +404,7 @@
 		contexts[DEFAULT_CONTEXT].getNode(qualifier).addPreferenceChangeListener(listener);
 		contexts[INSTANCE_CONTEXT].getNode(qualifier).addPreferenceChangeListener(listener);
 	}
-	
+
 	/**
 	 * Removes the given preference listener from the {@link DefaultScope} and the {@link InstanceScope}
 	 * @param qualifier the preference qualifier
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java
index 3a9fe1b..8b41847 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java
@@ -20,7 +20,7 @@
 /**
  * Used to listen for preference imports that include changes to preferred
  * launch delegates.
- * 
+ *
  * @since 3.6 TODO can we roll this into general preference listening?
  */
 public class PreferredDelegateModifyListener extends PreferenceModifyListener {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java
index 789cdd9..d155589 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java
@@ -32,7 +32,7 @@
 
     /**
      * Creates and returns an element based on the given memento
-     * 
+     *
      * @param memento element memento
      * @return associated element
      */
@@ -47,7 +47,7 @@
         String type = memento.getString(TAG_TYPE);
         IResource res = null;
         if (type == null) {
-            // Old format memento. Create an IResource using findMember. 
+            // Old format memento. Create an IResource using findMember.
             // Will return null for resources in closed projects.
             res = root.findMember(new Path(fileName));
         } else {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
index 3e366e2..f023732 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
@@ -14,7 +14,7 @@
 
 /**
  * Comparator for source locator mementos. Ignores whitespace differences.
- * 
+ *
  * @since 3.0
  */
 public class SourceLocatorMementoComparator implements Comparator<String> {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
index 996d142..d9731c0 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.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
  *******************************************************************************/
@@ -22,20 +22,20 @@
 
 /**
  * Proxy to contributed source path computer extension.
- * 
+ *
  * @see IConfigurationElementConstants
  */
 public class SourcePathComputer implements ISourcePathComputer {
-	
+
 	// lazily instantiated delegate
 	private ISourcePathComputerDelegate fDelegate = null;
-	
+
 	// extension definition
 	private IConfigurationElement fElement = null;
-	
+
 	/**
 	 * Constructs a source path computer on the given extension.
-	 * 
+	 *
 	 * @param element extension definition
 	 */
 	public SourcePathComputer(IConfigurationElement element) {
@@ -47,9 +47,9 @@
 	 */
 	@Override
 	public String getId() {
-		return fElement.getAttribute(IConfigurationElementConstants.ID); 
+		return fElement.getAttribute(IConfigurationElementConstants.ID);
 	}
-	
+
 	/**
 	 * Lazily instantiates and returns the underlying source container type.
 	 * @return the {@link ISourcePathComputerDelegate}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.java
index 5a3c4e0..edc2bab 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.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/org.eclipse.debug.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.debug.tests/.settings/org.eclipse.jdt.ui.prefs
index f05e2b2..4a66042 100644
--- a/org.eclipse.debug.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.debug.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -81,7 +81,7 @@
 sp_cleanup.make_variable_declarations_final=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.on_save_use_additional_actions=true
 sp_cleanup.organize_imports=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/LocalSuite.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/LocalSuite.java
index 6600cd7..2ca50c8 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/LocalSuite.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/LocalSuite.java
@@ -25,24 +25,24 @@
 import org.eclipse.debug.tests.viewer.model.JFaceViewerUpdateTests;
 
 /**
- * Tests to run locally.  They require a user terminal to execute correctly 
- * and have frequent issues when run on build machine. 
- * 
+ * Tests to run locally.  They require a user terminal to execute correctly
+ * and have frequent issues when run on build machine.
+ *
  * @since 3.7
  */
 public class LocalSuite extends TestSuite {
 
 	/**
 	 * Returns the suite.  This is required to use the JUnit Launcher.
-	 * 
+	 *
 	 * @return the test suite
 	 */
 	public static Test suite() {
 		return new LocalSuite();
 	}
-	
+
 	/**
-	 * Constructs the automated test suite. Adds all tests. 
+	 * Constructs the automated test suite. Adds all tests.
 	 */
 	public LocalSuite() {
 		// JFace viewer tests
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/PerformanceSuite.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/PerformanceSuite.java
index 68efd22..3042dab 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/PerformanceSuite.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/PerformanceSuite.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -18,14 +18,14 @@
 
 /**
  * Tests for release builds.
- * 
- * @since 3.6 
+ *
+ * @since 3.6
  */
 public class PerformanceSuite extends TestSuite {
 
     /**
      * Returns the suite.  This is required to use the JUnit Launcher.
-     * 
+     *
      * @return the test suite
      */
     public static Test suite() {
@@ -33,12 +33,12 @@
     }
 
     /**
-     * Constructs the automated test suite. Adds all tests. 
+     * Constructs the automated test suite. Adds all tests.
      */
     public PerformanceSuite() {
         // JFace viewer tests
         addTest(new TestSuite(JFaceViewerPerformanceTests.class));
-        
+
         // Virtual viewer tests
         addTest(new TestSuite(VirtualViewerPerformanceTests.class));
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/TestsPlugin.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/TestsPlugin.java
index 6324b07..75ec606 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/TestsPlugin.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/TestsPlugin.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:
  *     Wind River Systems - initial API and implementation
  *     IBM - ongoing enhancements
@@ -28,7 +28,7 @@
 
 /**
  * The activator class controls the plug-in life cycle
- * 
+ *
  * @since 3.6
  */
 public class TestsPlugin extends AbstractUIPlugin {
@@ -38,7 +38,7 @@
 
 	// The shared instance
 	private static TestsPlugin plugin;
-	
+
 	/**
 	 * The constructor
 	 */
@@ -73,7 +73,7 @@
 	public static TestsPlugin getDefault() {
 		return plugin;
 	}
-	
+
 	/**
 	 * Returns the file corresponding to the specified path from within this bundle
 	 * @param path
@@ -90,7 +90,7 @@
 			return null;
 		}
 	}
-	
+
 	/**
 	 * Creates a new project with the specified name
 	 * @param projectName
@@ -105,11 +105,11 @@
 		} else {
 			project.refreshLocal(IResource.DEPTH_INFINITE, null);
 		}
-		
+
 		if (!project.isOpen()) {
 			project.open(null);
 		}
 		return project;
-	}	
+	}
 
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java
index ab4919d..6de7f97 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AbstractLaunchTest.java
@@ -28,7 +28,7 @@
 
 	/**
 	 * Constructs a test with the given name.
-	 * 
+	 *
 	 * @param name
 	 */
 	public AbstractLaunchTest(String name) {
@@ -37,25 +37,25 @@
 
 	/**
 	 * Returns the launch manager.
-	 * 
+	 *
 	 * @return launch manager
 	 */
 	protected ILaunchManager getLaunchManager() {
 		return DebugPlugin.getDefault().getLaunchManager();
-	}	
-	
+	}
+
 	/**
 	 * Returns the singleton instance of the <code>LaunchConfigurationManager</code>
-	 * 
+	 *
 	 * @return the singleton instance of the <code>LaunchConfigurationManager</code>
 	 */
 	protected LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}	
-	
+	}
+
 	/**
 	 * Returns a launch configuration with the given name, creating one if required.
-	 * 
+	 *
 	 * @param name configuration name
 	 * @return launch configuration
 	 * @throws CoreException
@@ -73,5 +73,5 @@
 		 ILaunchConfigurationWorkingCopy wc = type.newInstance(null, name);
 		 ILaunchConfiguration saved = wc.doSave();
 		 return saved;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java
index bb59c77..edb3091 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/AcceleratorSubstitutionTests.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
  *******************************************************************************/
@@ -17,7 +17,7 @@
 /**
  * Tests accelerator adjustments for DBCS languages.
  * See bug 186921.
- * 
+ *
  * @since 3.3
  */
 public class AcceleratorSubstitutionTests extends TestCase {
@@ -29,7 +29,7 @@
 	public AcceleratorSubstitutionTests(String name) {
 		super(name);
 	}
-	
+
 	/**
 	 * tests a string with "..."
 	 */
@@ -38,7 +38,7 @@
 				"Open Run Dialog(&R)...", //$NON-NLS-1$
 				DebugUIPlugin.adjustDBCSAccelerator("Open Run(&R) Dialog...")); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * tests a string without "..."
 	 */
@@ -46,8 +46,8 @@
 		assertEquals("incorrect DBCS accelerator substitution", //$NON-NLS-1$
 				"Open Run Dialog(&R)", //$NON-NLS-1$
 				DebugUIPlugin.adjustDBCSAccelerator("Open Run(&R) Dialog")); //$NON-NLS-1$
-	}	
-	
+	}
+
 	/**
 	 * tests a string that should not change (no DBCS style accelerator).
 	 */
@@ -55,5 +55,5 @@
 		assertEquals("incorrect DBCS accelerator substitution", //$NON-NLS-1$
 				"Open &Run Dialog...", //$NON-NLS-1$
 				DebugUIPlugin.adjustDBCSAccelerator("Open &Run Dialog...")); //$NON-NLS-1$
-	}		
+	}
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java
index f5aa48d..4690b22 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/LaunchHistoryTests.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
  *******************************************************************************/
@@ -21,12 +21,12 @@
 
 /**
  * Test the utilization of launch histories: sizing, ordering, completeness and correctness
- * 
+ *
  * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory
  * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager
  * @see org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener
  * @see org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction
- * 
+ *
  * @since 3.3
  */
 public class LaunchHistoryTests extends AbstractLaunchTest {
@@ -38,7 +38,7 @@
 	public LaunchHistoryTests(String name) {
 		super(name);
 	}
-	
+
 	/**
 	 * Returns the run launch history
 	 * @return
@@ -46,7 +46,7 @@
 	private LaunchHistory getRunLaunchHistory() {
 		return getLaunchConfigurationManager().getLaunchHistory(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
 	}
-	
+
 	/**
 	 * Returns the maximum allowed size of the launch histories
 	 * @return the maximum size of the launch histories
@@ -54,7 +54,7 @@
 	private int getMaxHistorySize() {
 		return DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugUIConstants.PREF_MAX_HISTORY_SIZE);
 	}
-	
+
 	/**
 	 * Sets the maximum size of the launch history to the specified value
 	 * @param value the new maximum size for launch histories
@@ -62,7 +62,7 @@
 	private void setMaxHistorySize(int value) {
 		DebugUIPlugin.getDefault().getPreferenceStore().setValue(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, value);
 	}
-	
+
 	/**
 	 * Returns the debug launch history
 	 * @return
@@ -70,7 +70,7 @@
 	private LaunchHistory getDebugLaunchHistory() {
 		return getLaunchConfigurationManager().getLaunchHistory(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
 	}
-	
+
 	/**
 	 * This method tests that an item added to the history is added to the head of
 	 * history.
@@ -84,7 +84,7 @@
 		assertTrue("The run history should contain the LaunchHistoryTest config", runhistory.contains(config)); //$NON-NLS-1$
 		assertEquals("The most recent launch should be LaunchHistoryTest", runhistory.getRecentLaunch(), config); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * As both the run and the debug launch histories will accept a java application
 	 * launch config, both launch histories should contain the test launch configuration
@@ -103,7 +103,7 @@
 		assertTrue("the debug history should contain LaunchHistoryTest", debughistory.contains(config)); //$NON-NLS-1$
 		assertEquals("the debug recent launch should be LaunchHistoryTest", debughistory.getRecentLaunch(), config); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * If we launch config A, then config B, and then config A again, A should be the most recent launch
 	 */
@@ -126,9 +126,9 @@
 		assertTrue("The run history should contain the LaunchHistoryTest config", runhistory.contains(config)); //$NON-NLS-1$
 		assertEquals("The most recent launch should be LaunchHistoryTest", runhistory.getRecentLaunch(), config); //$NON-NLS-1$
 	}
-	
+
 	/**
-	 * If we rename a launch configuration it should not effect the launch history if the renamed configuration 
+	 * If we rename a launch configuration it should not effect the launch history if the renamed configuration
 	 * is present in the history.
 	 */
 	public void testRenameConfigHistoryUpdate() throws CoreException {
@@ -143,16 +143,16 @@
 		copy.rename("RenamedLaunchHistoryItem"); //$NON-NLS-1$
 		config = copy.doSave();
 		assertEquals("the renamed config should still be the first on in the history", runhistory.getRecentLaunch(), config); //$NON-NLS-1$
-		
+
 		//rename the configuration back to what it was
 		copy = config.getWorkingCopy();
 		copy.rename("LaunchHistoryTest"); //$NON-NLS-1$
 		config = copy.doSave();
 	}
-	
+
 	/**
 	 * If we delete a launch configuration and the configuration is present in the launch history, it should be removed
-	 * from the history and the history should be shifted up one place. 
+	 * from the history and the history should be shifted up one place.
 	 */
 	public void testDeleteLaunchConfigurationHistoryUpdate() throws CoreException {
 		LaunchHistory runhistory = getRunLaunchHistory();
@@ -171,7 +171,7 @@
 		config = getLaunchConfiguration("LaunchHistoryTest"); //$NON-NLS-1$
 		assertEquals("the run history should have LaunchHistoryTest as the recent launch after delete", runhistory.getRecentLaunch(), config); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Tests that setting the size of the launch history appropriately changes what will be returned
 	 * when the history is queried for it contents
@@ -190,7 +190,7 @@
 		config.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
 		assertTrue("there should only be two items in the history", runhistory.getHistory().length == getMaxHistorySize()); //$NON-NLS-1$
 		assertTrue("the complete launch history should be greater than or equal to the history size", runhistory.getCompleteLaunchHistory().length >= runhistory.getHistory().length); //$NON-NLS-1$
-		
+
 		//reset the history size
 		setMaxHistorySize(oldsize);
 	}
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java
index cdb4a86..97487ef 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/launching/RefreshTabTests.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
  *******************************************************************************/
@@ -35,7 +35,7 @@
  * Tests the refresh tab.
  */
 public class RefreshTabTests extends AbstractLaunchTest {
-	
+
 	/**
 	 * Constructor
 	 * @param name
@@ -46,7 +46,7 @@
 
 	/**
 	 * Sets the selected resource in the navigator view.
-	 * 
+	 *
 	 * @param resource resource to select
 	 */
 	protected void setSelection(IResource resource) {
@@ -64,7 +64,7 @@
 			assertNotNull("Failed to open navigator view", null); //$NON-NLS-1$
 		}
 	}
-	
+
 	/**
 	 * Tests a refresh scope of the selected resource
 	 * @throws CoreException
@@ -76,9 +76,9 @@
 		IResource[] result = RefreshTab.getRefreshResources(scope);
 		assertNotNull(result);
 		assertEquals(1, result.length);
-		assertEquals(resource, result[0]);		
+		assertEquals(resource, result[0]);
 	}
-	
+
 	/**
 	 * Tests a refresh scope of the selected resource's container
 	 * @throws CoreException
@@ -90,9 +90,9 @@
 		IResource[] result = RefreshTab.getRefreshResources(scope);
 		assertNotNull(result);
 		assertEquals(1, result.length);
-		assertEquals(resource.getParent(), result[0]);		
+		assertEquals(resource.getParent(), result[0]);
 	}
-	
+
 	/**
 	 * Tests a refresh scope of the selected resource's project
 	 * @throws CoreException
@@ -104,9 +104,9 @@
 		IResource[] result = RefreshTab.getRefreshResources(scope);
 		assertNotNull(result);
 		assertEquals(1, result.length);
-		assertEquals(resource.getProject(), result[0]);		
-	}	
-	
+		assertEquals(resource.getProject(), result[0]);
+	}
+
 	/**
 	 * Tests a refresh scope of the selected resource's project
 	 * @throws CoreException
@@ -116,9 +116,9 @@
 		IResource[] result = RefreshTab.getRefreshResources(scope);
 		assertNotNull(result);
 		assertEquals(1, result.length);
-		assertEquals(ResourcesPlugin.getWorkspace().getRoot(), result[0]);		
-	}	
-	
+		assertEquals(ResourcesPlugin.getWorkspace().getRoot(), result[0]);
+	}
+
 	/**
 	 * Tests a refresh scope for a specific resource (old format)
 	 * @throws CoreException
@@ -129,9 +129,9 @@
 		IResource[] result = RefreshTab.getRefreshResources(scope);
 		assertNotNull(result);
 		assertEquals(1, result.length);
-		assertEquals(resource, result[0]);				
+		assertEquals(resource, result[0]);
 	}
-	
+
 	/**
 	 * Tests a refresh scope for a working set
 	 * @throws CoreException
@@ -142,12 +142,12 @@
 		IResource[] result = RefreshTab.getRefreshResources(scope);
 		assertNotNull(result);
 		assertEquals(1, result.length);
-		assertEquals(resource, result[0]);			
+		assertEquals(resource, result[0]);
 	}
-	
+
 	/**
 	 * Returns a scratch project for launch configurations
-	 *  
+	 *
 	 * @return
 	 */
 	protected IProject getProject() throws CoreException {
@@ -162,11 +162,11 @@
 		}
 		return project;
 	}
-	
+
 	/**
 	 * Tests the launch configuration attribute comparator extension for comparing
 	 * old/new attribute styles.
-	 * 
+	 *
 	 * @throws CoreException
 	 */
 	public void testRefreshScopeComparator() throws CoreException {
@@ -174,10 +174,10 @@
 		String newStyle = "${working_set:<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<resources>\n<item path=\"/RefreshTabTests/some.file\" type=\"1\"/>\n</resources>}"; //$NON-NLS-1$
 		assertEquals("Comparator should return 0", 0, new RefreshScopeComparator().compare(oldStyle, newStyle)); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Tests persist restore of some resources.
-	 * 
+	 *
 	 * @throws CoreException
 	 */
 	public void testResourceMemento() throws CoreException {
@@ -189,10 +189,10 @@
 		assertEquals(resources[1], restore[1]);
 		assertEquals(resources[2], restore[2]);
 	}
-	
+
 	/**
 	 * Tests persist/restore of empty resource collection.
-	 * 
+	 *
 	 * @throws CoreException
 	 */
 	public void testEmptyResourceSet() throws CoreException {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandler.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandler.java
index b8feaa0..07bfe28 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandler.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandler.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/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java
index e1c68a0..c425ac0 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/statushandlers/StatusHandlerTests.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
  *******************************************************************************/
@@ -25,12 +25,12 @@
  * Tests status handlers
  */
 public class StatusHandlerTests extends TestCase {
-	
+
 	/**
 	 * Status for which a handler is registered.
 	 */
 	public static final IStatus STATUS = new Status(IStatus.ERROR, TestsPlugin.PLUGIN_ID, 333, "", null); //$NON-NLS-1$
-	
+
 	/**
 	 * Tests that a status handler extension exists
 	 */
@@ -39,7 +39,7 @@
 		assertNotNull("missing status handler extension", handler); //$NON-NLS-1$
 		assertTrue("Unexpected handler", handler instanceof StatusHandler); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Tests that status handlers are not returned when preference is disabled
 	 */
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/DynamicRenderingBindings.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/DynamicRenderingBindings.java
index 234ea28..85cb095 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/DynamicRenderingBindings.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/DynamicRenderingBindings.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
  *******************************************************************************/
@@ -20,10 +20,10 @@
  * @since 3.1
  */
 public class DynamicRenderingBindings extends AbstractMemoryRenderingBindingsProvider {
-	
+
 	//
 	private static DynamicRenderingBindings fgSingleton = null;
-	
+
 	// id of rendering type bound by this provider
 	private String fId = "rendering_type_1"; //$NON-NLS-1$
 
@@ -33,7 +33,7 @@
 	public DynamicRenderingBindings() {
 		fgSingleton = this;
 	}
-	
+
     /**
      * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#getRenderingTypes(org.eclipse.debug.core.model.IMemoryBlock)
      */
@@ -57,11 +57,11 @@
 	public IMemoryRenderingType getPrimaryRenderingType(IMemoryBlock block) {
         return DebugUITools.getMemoryRenderingManager().getRenderingType(fId);
     }
-	
+
 	/**
 	 * Sets the current rendering bound to this provider, and notifies
 	 * listeners of the change.
-	 * 
+	 *
 	 * @param id rendering id
 	 */
 	public static void setBinding(String id) {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockDynamic.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockDynamic.java
index d11f3a4..1108634 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockDynamic.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockDynamic.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Dummy memory block
- * 
+ *
  * @since 3.1
  */
 public class MemoryBlockDynamic extends MemoryBlock {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockOne.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockOne.java
index 0f52807..5637ed5 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockOne.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockOne.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Dummy memory block
- * 
+ *
  * @since 3.1
  */
 public class MemoryBlockOne extends MemoryBlock {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockThree.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockThree.java
index 72ca1ad..8b671bd 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockThree.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockThree.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Dummy memory block
- * 
+ *
  * @since 3.1
  */
 public class MemoryBlockThree extends MemoryBlock {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockTwo.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockTwo.java
index a3026c2..eef3d35 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockTwo.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryBlockTwo.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Dummy memory block
- * 
+ *
  * @since 3.1
  */
 public class MemoryBlockTwo extends MemoryBlock {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java
index 2336c97..9db3804 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/MemoryRenderingTests.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
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * Tests memory rendering manager
  */
 public class MemoryRenderingTests extends TestCase {
-	
+
 	public MemoryRenderingTests(String name) {
 		super(name);
 	}
@@ -39,7 +39,7 @@
 		assertTrue("Missing type", indexOf(manager.getRenderingType("org.eclipse.debug.ui.rendering.signedint"), types) >= 0); //$NON-NLS-1$ //$NON-NLS-2$
 		assertTrue("Missing type", indexOf(manager.getRenderingType("org.eclipse.debug.ui.rendering.unsignedint"), types) >= 0); //$NON-NLS-1$ //$NON-NLS-2$
 	}
-	
+
 	public void testRenderingTypeNames() {
 		IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
 		IMemoryRenderingType type = manager.getRenderingType("rendering_type_1"); //$NON-NLS-1$
@@ -55,7 +55,7 @@
 		assertEquals("Wrong number of bindings", 1, types.length); //$NON-NLS-1$
 		assertEquals("Wrong binding", "rendering_type_1", types[0].getId()); //$NON-NLS-1$ //$NON-NLS-2$
 	}
-	
+
 	public void testDoubleBinding() {
 		IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
 		IMemoryBlock block = new MemoryBlockTwo();
@@ -63,8 +63,8 @@
 		assertEquals("Wrong number of bindings", 2, types.length); //$NON-NLS-1$
 		assertTrue("Missing binding", indexOf(manager.getRenderingType("rendering_type_1"), types) >= 0); //$NON-NLS-1$ //$NON-NLS-2$
 		assertTrue("Missing binding", indexOf(manager.getRenderingType("rendering_type_2"), types) >= 0); //$NON-NLS-1$ //$NON-NLS-2$
-	}	
-    
+	}
+
     public void testDefaultBinding() {
         IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
         IMemoryBlock block = new MemoryBlockOne();
@@ -72,28 +72,28 @@
 		assertEquals("Wrong number of bindings", 1, types.length); //$NON-NLS-1$
 		assertEquals("Wrong binding", "rendering_type_1", types[0].getId()); //$NON-NLS-1$ //$NON-NLS-2$
     }
-	
+
     public void testNoDefaultBinding() {
         IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
         IMemoryBlock block = new MemoryBlockTwo();
         IMemoryRenderingType[] types = manager.getDefaultRenderingTypes(block);
 		assertEquals("Wrong number of bindings", 0, types.length); //$NON-NLS-1$
     }
-    
+
     public void testPrimaryBinding() {
         IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
         IMemoryBlock block = new MemoryBlockOne();
         IMemoryRenderingType type = manager.getPrimaryRenderingType(block);
 		assertEquals("Wrong binding", "rendering_type_1", type.getId()); //$NON-NLS-1$ //$NON-NLS-2$
     }
-    
+
     public void testNoPrimaryBinding() {
         IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
         IMemoryBlock block = new MemoryBlockTwo();
         IMemoryRenderingType type = manager.getPrimaryRenderingType(block);
 		assertNull("Wrong binding", type); //$NON-NLS-1$
     }
-    
+
     public void testDefaultWithoutPrimaryBinding() {
         IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
         IMemoryBlock block = new MemoryBlockThree();
@@ -101,7 +101,7 @@
 		assertEquals("Wrong number of bindings", 1, types.length); //$NON-NLS-1$
 		assertEquals("Wrong binding", "rendering_type_3", types[0].getId()); //$NON-NLS-1$ //$NON-NLS-2$
     }
-    
+
     public void testDynamicBinding() {
         IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
         IMemoryBlock block = new MemoryBlockDynamic();
@@ -114,22 +114,22 @@
         IMemoryRenderingType type = manager.getPrimaryRenderingType(block);
 		assertEquals("Wrong bindings", manager.getRenderingType("rendering_type_1"), type); //$NON-NLS-1$ //$NON-NLS-2$
     }
-	
+
 	public void testBindingChangeNotification() {
 		final boolean[] changed = new boolean[1];
 		IMemoryRenderingBindingsListener listener = new IMemoryRenderingBindingsListener() {
 			@Override
 			public void memoryRenderingBindingsChanged() {
 				changed[0] = true;
-			}		
+			}
 		};
 		IMemoryRenderingManager manager = DebugUITools.getMemoryRenderingManager();
-		
+
 		// bug 374447 - Need to make sure that DynamicRenderingBindings singleton
 		// is initialized
 		IMemoryBlock block = new MemoryBlockDynamic();
         IMemoryRenderingType[] types = manager.getRenderingTypes(block);
-        
+
 		try {
 			manager.addListener(listener);
 			assertFalse("Renderings should not have changed yet", changed[0]); //$NON-NLS-1$
@@ -144,7 +144,7 @@
 			manager.removeListener(listener);
 		}
 	}
-    
+
 	protected int indexOf(Object thing, Object[] list) {
 		for (int i = 0; i < list.length; i++) {
 			Object object2 = list[i];
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/RenderingTypeDelegate.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/RenderingTypeDelegate.java
index 32d3888..d4cf0bc 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/RenderingTypeDelegate.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/view/memory/RenderingTypeDelegate.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
  *******************************************************************************/
@@ -16,7 +16,7 @@
 
 /**
  * Test memory rendering type delegate.
- * 
+ *
  * @since 3.1
  */
 public class RenderingTypeDelegate implements IMemoryRenderingTypeDelegate {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java
index ecdf67e..a4a3df6 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/CheckTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -25,11 +25,11 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Tests which verify the check box support.  This test is very similar to the 
- * content test except that the extending class should create a viewer with 
- * the SWT.CHECK style enabled. <br>  
+ * Tests which verify the check box support.  This test is very similar to the
+ * content test except that the extending class should create a viewer with
+ * the SWT.CHECK style enabled. <br>
  * Most of the  check box verification is performed in the test model.
- * 
+ *
  * @since 3.6
  */
 abstract public class CheckTests extends TestCase {
@@ -37,7 +37,7 @@
     Shell fShell;
     ITreeModelViewer fViewer;
     TestModelUpdatesListener fListener;
-    
+
     public CheckTests(String name) {
         super(name);
     }
@@ -53,14 +53,14 @@
         fShell.setLayout(new FillLayout());
 
         fViewer = createViewer(fDisplay, fShell);
-        
+
         fListener = new TestModelUpdatesListener(fViewer, false, false);
 
         fShell.open ();
     }
 
     abstract protected IInternalTreeModelViewer createViewer(Display display, Shell shell);
-    
+
     /**
      * @throws java.lang.Exception
      */
@@ -68,7 +68,7 @@
 	protected void tearDown() throws Exception {
         fListener.dispose();
         fViewer.getPresentationContext().dispose();
-        
+
         // Close the shell and exit.
         fShell.close();
         while (!fShell.isDisposed()) {
@@ -93,34 +93,34 @@
 
         // Make sure that all elements are expanded
         fViewer.setAutoExpandLevel(-1);
-        
+
         // Create the agent which forces the tree to populate
         //TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
-        
+
         // Create the listener which determines when the view is finished updating.
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
-        
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
+
         // Set the viewer input (and trigger updates).
         fViewer.setInput(model.getRootElement());
-        
+
         // Wait for the updates to complete.
         while (!fListener.isFinished()) {
 			if (!fDisplay.readAndDispatch ()) {
 				Thread.sleep(0);
 			}
 		}
-        
+
         model.validateData(fViewer, TreePath.EMPTY);
     }
 
     public void testSimpleMultiLevel() throws InterruptedException {
         //TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
-        
+
         TestModel model = TestModel.simpleMultiLevel();
         fViewer.setAutoExpandLevel(-1);
-        
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
-        
+
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
+
         fViewer.setInput(model.getRootElement());
 
         while (!fListener.isFinished()) {
@@ -138,14 +138,14 @@
 //        TestModel model = TestModel.simpleSingleLevel();
 //        fViewer.setAutoExpandLevel(-1);
 //        //TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
-//        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+//        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 //        fViewer.setInput(model.getRootElement());
-//        
+//
 //        // Wait for the updates to complete and validate.
 //        while (!fListener.isFinished()) if (!fDisplay.readAndDispatch ()) Thread.sleep(0);
 //        model.validateData(fViewer, TreePath.EMPTY);
-//        
-//        InternalTreeModelViewer treeViewer = ((InternalTreeModelViewer)fViewer); 
+//
+//        InternalTreeModelViewer treeViewer = ((InternalTreeModelViewer)fViewer);
 //        TreePath elementPath = model.findElement("1");
 //        TestElement element = model.getElement(elementPath);
 //        boolean initialCheckState = element.getChecked();
@@ -158,18 +158,18 @@
 //        fDisplay.post(event);
 //
 //        while (fDisplay.readAndDispatch ());
-//        
+//
 //        Assert.assertTrue(element.getChecked() != initialCheckState);
 //    }
 
     public void testUpdateCheck() throws InterruptedException {
         //TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
-        
+
         TestModel model = TestModel.simpleSingleLevel();
         fViewer.setAutoExpandLevel(-1);
 
         // Create the listener
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
@@ -179,14 +179,14 @@
 			}
 		}
         model.validateData(fViewer, TreePath.EMPTY);
-        
+
         // Update the model
         TestElement element = model.getRootElement().getChildren()[0];
-        
+
         TreePath elementPath = new TreePath(new Object[] { element });
         ModelDelta delta = model.setElementChecked(elementPath, false, false);
-        
-        fListener.reset(elementPath, element, -1, true, false); 
+
+        fListener.reset(elementPath, element, -1, true, false);
         model.postDelta(delta);
         while (!fListener.isFinished(ITestModelUpdatesListenerConstants.LABEL_COMPLETE | ITestModelUpdatesListenerConstants.MODEL_CHANGED_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java
index 863b4a7..300cbe8 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ChildrenUpdateTests.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
  *******************************************************************************/
@@ -35,20 +35,20 @@
 
 /**
  * Tests coalescing of children update requests.
- * 
+ *
  * @since 3.3
  */
 public class ChildrenUpdateTests extends TestCase {
-	
+
 	class BogusModelContentProvider extends TreeModelContentProvider {
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.model.ModelContentProvider#getViewer()
 		 */
 		@Override
 		protected IInternalTreeModelViewer getViewer() {
 			return new IInternalTreeModelViewer(){
-			
+
 				@Override
 				public void setSelection(ISelection selection) {}
 				@Override
@@ -105,52 +105,52 @@
 				public void refresh() {}
                 @Override
 				public void refresh(Object element) {}
-			
+
 				@Override
 				public ISelection getSelection() {
 					return null;
 				}
-			
+
 				@Override
 				public IPresentationContext getPresentationContext() {
 					return null;
 				}
-			
+
 				@Override
 				public Object getInput() {
 					return null;
 				}
-			
+
 				@Override
 				public ViewerLabel getElementLabel(TreePath path, String columnId) {
 					return null;
 				}
-			
+
 				@Override
 				public Display getDisplay() {
 					return DebugUIPlugin.getStandardDisplay();
 				}
-			
+
 				@Override
 				public int getAutoExpandLevel() {
 					return 0;
 				}
-			
-			
+
+
 				@Override
 				public boolean overrideSelection(ISelection current, ISelection candidate) {
 					return false;
 				}
-			
+
 				@Override
 				public void insert(Object parentOrTreePath, Object element, int position) {
 				}
-			
+
 				@Override
 				public TreePath getTopElementPath() {
 					return null;
 				}
-			
+
 				@Override
 				public ViewerFilter[] getFilters() {
 					return null;
@@ -161,36 +161,36 @@
 				@Override
 				public void setFilters(ViewerFilter... filters) {
 				}
-				
+
 				@Override
 				public boolean getExpandedState(Object elementOrTreePath) {
 					return false;
 				}
-			
+
 				@Override
 				public Object getChildElement(TreePath path, int index) {
 					return null;
 				}
-			
+
                 @Override
 				public boolean getHasChildren(Object elementOrTreePath) {
                     return false;
                 }
-            
+
 				@Override
 				public int getChildCount(TreePath path) {
 					return 0;
 				}
-			
+
 				@Override
 				public int findElementIndex(TreePath parentPath, Object element) {
 					return 0;
 				}
-			
+
 				@Override
 				public void expandToLevel(Object elementOrTreePath, int level) {
 				}
-			
+
 				@Override
 				public void autoExpand(TreePath elementPath) {
 				}
@@ -199,17 +199,17 @@
 				public boolean getElementChildrenRealized(TreePath parentPath) {
                     return false;
                 }
-                
+
                 @Override
 				public boolean getElementChecked(TreePath path) {
                     return false;
                 }
-                
+
                 @Override
 				public boolean getElementGrayed(TreePath path) {
                     return false;
                 }
-                
+
                 @Override
 				public void setElementChecked(TreePath path, boolean checked, boolean grayed) {
                 }
@@ -225,22 +225,22 @@
                 @Override
 				public String[] getVisibleColumns() {
                     return null;
-                }                
+                }
 			};
 		}
 	}
-	
+
 	/**
 	 * @param name
 	 */
 	public ChildrenUpdateTests(String name) {
 		super(name);
 	}
-	
+
 	protected TreeModelContentProvider getContentProvider() {
 		return new BogusModelContentProvider();
 	}
-	
+
 	/**
 	 * Tests coalescing of requests
 	 */
@@ -252,17 +252,17 @@
 		assertTrue("Should coalesce", update1.coalesce(update2)); //$NON-NLS-1$
 		assertEquals("Wrong offset", 1, update1.getOffset()); //$NON-NLS-1$
 		assertEquals("Wrong length", 2, update1.getLength()); //$NON-NLS-1$
-		
+
 		update2 = new ChildrenUpdate(cp, element, TreePath.EMPTY, element, 3, null);
 		assertTrue("Should coalesce", update1.coalesce(update2)); //$NON-NLS-1$
 		assertEquals("Wrong offset", 1, update1.getOffset()); //$NON-NLS-1$
 		assertEquals("Wrong length", 3, update1.getLength()); //$NON-NLS-1$
-		
+
 		update2 = new ChildrenUpdate(cp, element, TreePath.EMPTY, element, 2, null);
 		assertTrue("Should coalesce", update1.coalesce(update2)); //$NON-NLS-1$
 		assertEquals("Wrong offset", 1, update1.getOffset()); //$NON-NLS-1$
 		assertEquals("Wrong length", 3, update1.getLength()); //$NON-NLS-1$
-		
+
 		update2 = new ChildrenUpdate(cp, element, TreePath.EMPTY, element, 5, null);
 		assertFalse("Should not coalesce", update1.coalesce(update2)); //$NON-NLS-1$
 		assertEquals("Wrong offset", 1, update1.getOffset()); //$NON-NLS-1$
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java
index df9991d..9fed7b5 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ColumnPresentationTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -43,7 +43,7 @@
 	private Shell fShell;
 	private TreeModelViewer fViewer;
 	private TestModelUpdatesListener fListener;
-	private boolean fResized = false; 
+	private boolean fResized = false;
 
 	public ColumnPresentationTests(String name) {
 		super(name);
@@ -76,7 +76,7 @@
 			public void controlResized(ControlEvent e) {
                 fResized = true;
             }
-            
+
             @Override
 			public void controlMoved(ControlEvent e) {
             }
@@ -117,7 +117,7 @@
             }
             return columnIds;
 		}
-		
+
 		MyColumnPresentation(String[] columnIds) {
 			this.columnIds = columnIds;
 		}
@@ -274,7 +274,7 @@
 			Thread.sleep(0);
 		}
         fResized = false;
-	    
+
 		MyColumnPresentation colPre = new MyColumnPresentation();
 		makeModel(colPre, "m1"); //$NON-NLS-1$
 		Tree tree = fViewer.getTree();
@@ -290,7 +290,7 @@
 		for (int i = 0; i < columns.length - 1; i++) {
 			assertEquals(avgWidth, columns[i].getWidth());
 		}
-		// Checking of the width of the last column is not reliable.  
+		// Checking of the width of the last column is not reliable.
 		// I.e. it's handled differenty on different platforms.
         //int remainder = treeWidth % columns.length;
         //assertEquals(avgWidth + remainder, columns[columns.length - 1].getWidth());
@@ -312,12 +312,12 @@
 		makeModel(colPre, "m2"); //$NON-NLS-1$
 		Tree tree = fViewer.getTree();
 		TreeColumn[] columns = tree.getColumns();
-		
+
         // Resizing the tree invalidates the test.
 		if (fResized) {
 		    return;
 		}
-		
+
 		for (int i = 0; i < columns.length; i++) {
 			int width = colPre.repliedWidths[i];
 			if (width != -1) {
@@ -411,14 +411,14 @@
 			assertEquals(newWidths[i], columns[i].getWidth());
 		}
 	}
-	
+
 	/**
-     * In this test: verify that tree viewer can handle the column presentation changing 
+     * In this test: verify that tree viewer can handle the column presentation changing
      * its available column IDs between runs (bug 360015).
      */
     public void testChangedColumnIds() throws InterruptedException {
         MyColumnPresentation colPre = new MyColumnPresentation();
-        
+
 		makeModel(colPre, "m1"); //$NON-NLS-1$
         TreeColumn[] columns = fViewer.getTree().getColumns();
         // Select visible columns
@@ -428,18 +428,18 @@
                 Thread.sleep(0);
             }
         } while (fViewer.getTree().getColumns().length != 1);
-        
+
         // get InternalTreeModelViewer to rebuild columns due to change of
         // model and presentation - first set to another model and column
         // presentation, then switch to a model with original presentation.
 		makeModel(new MyColumnPresentation2(), "m2"); //$NON-NLS-1$
-        
+
         String[] newColumnIds = MyColumnPresentation.makeDefaultColumnIds();
 		newColumnIds[0] = "new_column_id"; //$NON-NLS-1$
         colPre = new MyColumnPresentation(newColumnIds);
-        
+
 		makeModel(colPre, "m3"); //$NON-NLS-1$
-        
+
         // verify user resized widths are used instead of the initial widths from IColumnPresentation2
         columns = fViewer.getTree().getColumns();
         for (int i = 0; i < columns.length; i++) {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java
index f7f9ae7..4659ec1 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - clean-up
@@ -33,18 +33,18 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Tests that verify that the viewer property retrieves all the content 
+ * Tests that verify that the viewer property retrieves all the content
  * from the model.
- * 
+ *
  * @since 3.8
  */
 abstract public class FilterTests extends TestCase implements ITestModelUpdatesListenerConstants {
-    
+
     Display fDisplay;
     Shell fShell;
     ITreeModelViewer fViewer;
     TestModelUpdatesListener fListener;
-    
+
     public FilterTests(String name) {
         super(name);
     }
@@ -60,14 +60,14 @@
         fShell.setLayout(new FillLayout());
 
         fViewer = createViewer(fDisplay, fShell);
-        
+
         fListener = new TestModelUpdatesListener(fViewer, true, true);
 
         fShell.open ();
     }
 
     abstract protected IInternalTreeModelViewer createViewer(Display display, Shell shell);
-    
+
     /**
      * @throws java.lang.Exception
      */
@@ -75,7 +75,7 @@
 	protected void tearDown() throws Exception {
         fListener.dispose();
         fViewer.getPresentationContext().dispose();
-        
+
         // Close the shell and exit.
         fShell.close();
         while (!fShell.isDisposed()) {
@@ -93,27 +93,27 @@
 			throw new ExecutionException("Test failed: " + t.getMessage() + "\n fListener = " + fListener.toString(), t); //$NON-NLS-1$ //$NON-NLS-2$
         }
     }
-    
+
     protected IInternalTreeModelViewer getInternalViewer() {
         return (IInternalTreeModelViewer)fViewer;
     }
-    
+
 
     class TestViewerFilter extends ViewerFilter {
-    	
+
     	Pattern fPattern;
     	TestViewerFilter(String pattern) {
     		fPattern = Pattern.compile(pattern);
     	}
-    	
-    	
+
+
     	 @Override
 		public boolean select(Viewer viewer, Object parentElement, Object element) {
     		 if (element instanceof TestElement) {
     			 TestElement te = (TestElement)element;
     			 return !fPattern.matcher(te.getLabel()).find();
     		 }
-    		
+
     		return true;
     	}
     }
@@ -125,7 +125,7 @@
             fPattern = Pattern.compile(pattern);
             fParentElement = parentElement;
         }
-        
+
         @Override
 		public boolean isApplicable(ITreeModelViewer viewer, Object parentElement) {
             if (fParentElement != null) {
@@ -134,38 +134,38 @@
 
             return true;
         }
-        
+
          @Override
 		public boolean select(Viewer viewer, Object parentElement, Object element) {
              if (element instanceof TestElement) {
                  TestElement te = (TestElement)element;
                  return !fPattern.matcher(te.getLabel()).find();
              }
-            
+
             return true;
         }
     }
-    
+
     public void testSimpleSingleLevel() throws InterruptedException {
         TestModel model = TestModel.simpleSingleLevel();
 		doTestSimpleLevel(model, new ViewerFilter[] { new TestViewerFilter("2") }); //$NON-NLS-1$
     }
-    
+
     public void testSimpleSingleLevelWithTMVFilter() throws InterruptedException {
         TestModel model = TestModel.simpleSingleLevel();
 		doTestSimpleLevel(model, new ViewerFilter[] { new TestTMVFilter("2", model.getRootElement()) }); //$NON-NLS-1$
     }
-    
+
     public void testSimpleSingleLevelWithMixedFilters() throws InterruptedException {
         TestModel model = TestModel.simpleSingleLevel();
 		doTestSimpleLevel(model, new ViewerFilter[] { new TestTMVFilter("2", model.getRootElement()), new TestViewerFilter("1") }); //$NON-NLS-1$ //$NON-NLS-2$
-    }    
+    }
 
     public void testSimpleMultiLevel() throws InterruptedException {
         TestModel model = TestModel.simpleMultiLevel();
 		doTestSimpleLevel(model, new ViewerFilter[] { new TestViewerFilter(".1"), new TestViewerFilter(".2") }); //$NON-NLS-1$ //$NON-NLS-2$
     }
-    
+
     public void testSimpleMultiLevelWithTMVFilter() throws InterruptedException {
         TestModel model = TestModel.simpleMultiLevel();
 		doTestSimpleLevel(model, new ViewerFilter[] { new TestTMVFilter(".1", null), new TestTMVFilter(".2", null) }); //$NON-NLS-1$ //$NON-NLS-2$
@@ -177,29 +177,29 @@
     }
 
     private void doTestSimpleLevel(TestModel model, ViewerFilter[] filters) throws InterruptedException {
-        
+
         // Make sure that all elements are expanded
         fViewer.setAutoExpandLevel(-1);
-        
+
         fViewer.setFilters(filters);
-        
+
         // Create the listener which determines when the view is finished updating.
         // fListener.reset(TreePath.EMPTY, model.getRootElement(), filters, -1, false, false);
         fListener.reset(TreePath.EMPTY, model.getRootElement(), filters, -1, true, true);
-        
+
         // Set the viewer input (and trigger updates).
         fViewer.setInput(model.getRootElement());
-        
+
         // Wait for the updates to complete.
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
 				Thread.sleep(0);
 			}
 		}
-        
+
         model.validateData(fViewer, TreePath.EMPTY, false, filters);
     }
-    
+
     public void testLargeSingleLevel() throws InterruptedException {
 		doTestLargeSingleLevel(new ViewerFilter[] { new TestViewerFilter("2") }); //$NON-NLS-1$
     }
@@ -207,7 +207,7 @@
     public void testLargeSingleLevelWithTMVFilter() throws InterruptedException {
 		doTestLargeSingleLevel(new ViewerFilter[] { new TestTMVFilter("2", null) }); //$NON-NLS-1$
     }
-    
+
     private void doTestLargeSingleLevel(ViewerFilter[] filters) throws InterruptedException {
         TestModel model = new TestModel();
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
@@ -219,17 +219,17 @@
         fListener.setFailOnRedundantUpdates(false);
         //fListener.setFailOnMultipleLabelUpdateSequences(false);
         fListener.reset();
-        
+
         fViewer.setInput(model.getRootElement());
-        
+
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
 				Thread.sleep(0);
 			}
 		}
     }
-    
-    
+
+
     /**
      * Replace an element that is not visible but filtered out.  With an element that is NOT filtered out.
      * Fire REPLACE delta.
@@ -237,7 +237,7 @@
     public void testReplacedUnrealizedFilteredElement() throws InterruptedException {
 		doTestReplacedUnrealizedFilteredElement(new ViewerFilter[] { new TestViewerFilter("2") }); //$NON-NLS-1$
     }
-    
+
 
     /**
      * Replace an element that is not visible but filtered out.  With an element that is NOT filtered out.
@@ -246,9 +246,9 @@
     public void testReplacedUnrealizedFilteredElementWithTMVFilter() throws InterruptedException {
 		doTestReplacedUnrealizedFilteredElement(new ViewerFilter[] { new TestTMVFilter("2", null) }); //$NON-NLS-1$
     }
-    
+
     private void doTestReplacedUnrealizedFilteredElement(ViewerFilter[] filters) throws InterruptedException {
-        
+
         // Populate a view with a large model (only first 100 elements will be visible in virtual viewer).
         TestModel model = new TestModel();
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
@@ -261,14 +261,14 @@
 
         // Populate the view (all elements containing a "2" will be filtered out.
         fViewer.setInput(model.getRootElement());
-        
+
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
 				Thread.sleep(0);
 			}
 		}
-        
-        // Switch out element "201" which is filtered out, with a "replaced element" which should NOT be 
+
+        // Switch out element "201" which is filtered out, with a "replaced element" which should NOT be
         // filtered out.
 		TestElement replacedElement = new TestElement(model, "replaced element", new TestElement[0]); //$NON-NLS-1$
         IModelDelta replaceDelta = model.replaceElementChild(TreePath.EMPTY, 200, replacedElement);
@@ -281,7 +281,7 @@
 		}
 
         // Reposition the viewer to make element 100 the top element, making the replaced element visible.
-        fListener.reset();        
+        fListener.reset();
         ((IInternalTreeModelViewer) fViewer).reveal(TreePath.EMPTY, 150);
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
@@ -320,14 +320,14 @@
 
         // Populate the view (all elements containing a "2" will be filtered out.
         fViewer.setInput(model.getRootElement());
-        
+
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
 				Thread.sleep(0);
 			}
 		}
-        
-        // Switch out element "201" which is filtered out, with a "replaced element" which should NOT be 
+
+        // Switch out element "201" which is filtered out, with a "replaced element" which should NOT be
         // filtered out.
 		TestElement replacedElement = new TestElement(model, "replaced element", new TestElement[0]); //$NON-NLS-1$
         model.replaceElementChild(TreePath.EMPTY, 200, replacedElement);
@@ -340,7 +340,7 @@
 		}
 
         // Reposition the viewer to make element 100 the top element, making the replaced element visible.
-        fListener.reset();        
+        fListener.reset();
         ((IInternalTreeModelViewer) fViewer).reveal(TreePath.EMPTY, 150);
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
@@ -351,12 +351,12 @@
         // Verify that the replaced element is in viewer now (i.e. it's not filtered out.
         TreePath[] replacedElementPaths = fViewer.getElementPaths(replacedElement);
         assertTrue(replacedElementPaths.length != 0);
-    }    
+    }
 
     public void testRefreshToUnfilterElements() throws InterruptedException {
 		doTestRefreshToUnfilterElements(new ViewerFilter[] { new TestViewerFilter(".1"), new TestViewerFilter(".2") }); //$NON-NLS-1$ //$NON-NLS-2$
     }
-    
+
     public void testRefreshToUnfilterElementsWithTMVFilter() throws InterruptedException {
 		doTestRefreshToUnfilterElements(new ViewerFilter[] { new TestTMVFilter(".1", null), new TestTMVFilter(".2", null) }); //$NON-NLS-1$ //$NON-NLS-2$
     }
@@ -364,7 +364,7 @@
     public void testRefreshToUnfilterElementsWithMixedFilters() throws InterruptedException {
 		doTestRefreshToUnfilterElements(new ViewerFilter[] { new TestViewerFilter(".1"), new TestTMVFilter(".2", null) }); //$NON-NLS-1$ //$NON-NLS-2$
     }
-    
+
     /**
      * Replace an element that is not visible but filtered out.  With an element that is NOT filtered out.
      * Fire CONTENT delta on parent.
@@ -381,10 +381,10 @@
 
         // Make sure that all elements are expanded
         fViewer.setAutoExpandLevel(-1);
-        
+
         // Populate the view (all elements containing a "2" will be filtered out.
         fViewer.setInput(model.getRootElement());
-        
+
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
 				Thread.sleep(0);
@@ -404,16 +404,16 @@
 		}
 
 		model.validateData(fViewer, TreePath.EMPTY, false, filters1);
-    }    
+    }
 
     public void testPreserveExpandedOnMultLevelContent() throws InterruptedException {
         //TreeModelViewerAutopopulateAgent autopopulateAgent = new TreeModelViewerAutopopulateAgent(fViewer);
         TestModel model = StateTests.alternatingSubsreesModel(6);
 
         // NOTE: WE ARE NOT EXPANDING ANY CHILDREN
-        
+
         // Create the listener, only check the first level
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), 1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), 1, true, false);
 
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
@@ -425,7 +425,7 @@
         model.validateData(fViewer, TreePath.EMPTY, true);
 
         StateTests.expandAlternateElements(fListener, model, true);
-        
+
         // Set a selection in view
         // Set a selection in view
         TreeSelection originalSelection = new TreeSelection(
@@ -436,11 +436,11 @@
         // Set a filter to remove element "1"
 		ViewerFilter[] filters = new ViewerFilter[] { new TestViewerFilter("^1$") }; //$NON-NLS-1$
         fViewer.setFilters(filters);
-        
+
         // Note: Re-expanding nodes causes redundant updates.
         fListener.reset(false, false);
         fListener.addUpdates(getInternalViewer(), TreePath.EMPTY, model.getRootElement(), filters, -1, ALL_UPDATES_COMPLETE);
-        
+
         // Post the refresh delta
         model.postDelta(new ModelDelta(model.getRootElement(), IModelDelta.CONTENT));
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE | STATE_RESTORE_COMPLETE)) {
@@ -459,11 +459,11 @@
 		assertTrue(getInternalViewer().getExpandedState(model.findElement("5.1")) == true); //$NON-NLS-1$
 		assertTrue(getInternalViewer().getExpandedState(model.findElement("6")) == false); //$NON-NLS-1$
         assertTrue( StateTests.areTreeSelectionsEqual(originalSelection, (ITreeSelection)fViewer.getSelection()) );
-        
-        // Note: in past it was observed sub-optimal coalescing in this test due 
+
+        // Note: in past it was observed sub-optimal coalescing in this test due
         // to scattered update requests from viewer.
         assertTrue( fListener.checkCoalesced(TreePath.EMPTY, 0, 6) );
-        
+
         // Clear the filter, to re-add the element
         filters = new ViewerFilter[0];
         fViewer.setFilters(filters);
@@ -488,7 +488,7 @@
 		assertTrue(getInternalViewer().getExpandedState(model.findElement("5.1")) == true); //$NON-NLS-1$
 		assertTrue(getInternalViewer().getExpandedState(model.findElement("6")) == false); //$NON-NLS-1$
         assertTrue( StateTests.areTreeSelectionsEqual(originalSelection, (ITreeSelection)fViewer.getSelection()) );
-        
+
     }
-    
+
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java
index a5081cf..dc52f8b 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/FilterTransformTests.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
  *******************************************************************************/
@@ -20,7 +20,7 @@
  * @since 3.3
  */
 public class FilterTransformTests extends TestCase {
-	
+
 	public Object root;
 	public Object element0;
 	public Object element1;
@@ -30,16 +30,16 @@
 	public Object element5;
 	public Object element6;
 	public Object element7;
-	
+
 	public FilterTransform transform;
-	
+
 	/**
 	 * @param name
 	 */
 	public FilterTransformTests(String name) {
 		super(name);
 	}
-	
+
 	/**
 	 * Builds a filter transform. Model has 8 elements,
 	 * and elements 0, 2, 3, 6, 7 are filtered. Elements
@@ -64,7 +64,7 @@
 		assertTrue(transform.addFilteredIndex(TreePath.EMPTY, 6, element6));
 		assertTrue(transform.addFilteredIndex(TreePath.EMPTY, 7, element7));
 	}
-	
+
 	protected boolean equals(int[] a, int[] b) {
 		if (a.length == b.length) {
 			for (int i = 0; i < b.length; i++) {
@@ -83,13 +83,13 @@
 		assertFalse("Element should be unfiltered", transform.isFiltered(TreePath.EMPTY, 3)); //$NON-NLS-1$
 		assertTrue("Wrong filter state", equals(transform.getFilteredChildren(TreePath.EMPTY), new int[] { 0, 2, 5, 6 })); //$NON-NLS-1$
 	}
-	
+
 	public void testRemoveFirstElementFromFilters() {
 		assertTrue("Element should be filtered", transform.isFiltered(TreePath.EMPTY, 0)); //$NON-NLS-1$
 		transform.removeElementFromFilters(TreePath.EMPTY, element0);
 		assertFalse("Element should be unfiltered", transform.isFiltered(TreePath.EMPTY, 0)); //$NON-NLS-1$
 		assertTrue("Wrong filter state", equals(transform.getFilteredChildren(TreePath.EMPTY), new int[] { 1, 2, 5, 6 })); //$NON-NLS-1$
-	}	
+	}
 
 	public void testRemoveLastFromFilters() {
 		assertTrue("Element should be filtered", transform.isFiltered(TreePath.EMPTY, 7)); //$NON-NLS-1$
@@ -97,45 +97,45 @@
 		assertFalse("Element should be unfiltered", transform.isFiltered(TreePath.EMPTY, 7)); //$NON-NLS-1$
 		assertTrue("Wrong filter state", equals(transform.getFilteredChildren(TreePath.EMPTY), new int[] { 0, 2, 3, 6 })); //$NON-NLS-1$
 	}
-	
+
 	public void testClearMiddleElementFromFilters() {
 		assertTrue("Element should be filtered", transform.isFiltered(TreePath.EMPTY, 3)); //$NON-NLS-1$
 		transform.clear(TreePath.EMPTY, 3);
 		assertFalse("Element should be unfiltered", transform.isFiltered(TreePath.EMPTY, 3)); //$NON-NLS-1$
 		assertTrue("Wrong filter state", equals(transform.getFilteredChildren(TreePath.EMPTY), new int[] { 0, 2, 6, 7 })); //$NON-NLS-1$
 	}
-	
+
 	public void testClearFirstElementFromFilters() {
 		assertTrue("Element should be filtered", transform.isFiltered(TreePath.EMPTY, 0)); //$NON-NLS-1$
 		transform.clear(TreePath.EMPTY, 0);
 		assertFalse("Element should be unfiltered", transform.isFiltered(TreePath.EMPTY, 0)); //$NON-NLS-1$
 		assertTrue("Wrong filter state", equals(transform.getFilteredChildren(TreePath.EMPTY), new int[] { 2, 3, 6, 7 })); //$NON-NLS-1$
-	}	
+	}
 
 	public void testClearLastFromFilters() {
 		assertTrue("Element should be filtered", transform.isFiltered(TreePath.EMPTY, 7)); //$NON-NLS-1$
 		transform.clear(TreePath.EMPTY, 7);
 		assertFalse("Element should be unfiltered", transform.isFiltered(TreePath.EMPTY, 7)); //$NON-NLS-1$
 		assertTrue("Wrong filter state", equals(transform.getFilteredChildren(TreePath.EMPTY), new int[] { 0, 2, 3, 6 })); //$NON-NLS-1$
-	}	
-	
+	}
+
 	public void testViewToModelCount() {
 		assertEquals("Wrong model count", 8, transform.viewToModelCount(TreePath.EMPTY, 3)); //$NON-NLS-1$
 	}
-	
+
 	public void testViewToModelIndex() {
 		assertEquals("Wrong model index", 1, transform.viewToModelIndex(TreePath.EMPTY, 0)); //$NON-NLS-1$
 		assertEquals("Wrong model index", 4, transform.viewToModelIndex(TreePath.EMPTY, 1)); //$NON-NLS-1$
 		assertEquals("Wrong model index", 5, transform.viewToModelIndex(TreePath.EMPTY, 2)); //$NON-NLS-1$
 	}
-	
+
 	public void testAddAlreadyFiltered() {
 		assertTrue("Element should be filtered", transform.isFiltered(TreePath.EMPTY, 0)); //$NON-NLS-1$
 		boolean added = transform.addFilteredIndex(TreePath.EMPTY, 0, element0);
 		assertFalse("Filter should not be added - should already have been there", added); //$NON-NLS-1$
 	}
-	
-	
+
+
 	/**
 	 * Test to make sure that setModelChildCount() updates internal arrays appropriately.
 	 * See bug 200325.
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ITestModelUpdatesListenerConstants.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ITestModelUpdatesListenerConstants.java
index 3fc501b..bed64a1 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ITestModelUpdatesListenerConstants.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/ITestModelUpdatesListenerConstants.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -12,11 +12,11 @@
 
 /**
  * Convenience interface with constants used by the test model update listener.
- * 
+ *
  * @since 3.6
  */
 public interface ITestModelUpdatesListenerConstants {
-    
+
     public static final int LABEL_SEQUENCE_COMPLETE =      0X00000001;
     public static final int CONTENT_SEQUENCE_COMPLETE =    0X00000002;
     public static final int CONTENT_SEQUENCE_STARTED =     0X00020000;
@@ -29,7 +29,7 @@
     public static final int CHILDREN_UPDATES =             0X00000020;
     public static final int CHILDREN_UPDATES_STARTED =     0X00200000;
     public static final int CHILDREN_UPDATES_RUNNING =     0X00400000;
-    public static final int MODEL_CHANGED_COMPLETE =       0X00000040; 
+    public static final int MODEL_CHANGED_COMPLETE =       0X00000040;
     public static final int MODEL_PROXIES_INSTALLED =      0X00000080;
     public static final int STATE_SAVE_COMPLETE =          0X00000100;
     public static final int STATE_SAVE_STARTED =           0X01000000;
@@ -37,15 +37,15 @@
     public static final int STATE_RESTORE_STARTED =        0X02000000;
     public static final int STATE_UPDATES =                0X00000400;
     public static final int STATE_UPDATES_STARTED =        0X04000000;
-    
+
     public static final int VIEWER_UPDATES_RUNNING =       0X00001000;
     public static final int LABEL_UPDATES_RUNNING =        0X00002000;
 
-    public static final int ALL_VIEWER_UPDATES_STARTED = HAS_CHILDREN_UPDATES_STARTED | CHILD_COUNT_UPDATES_STARTED | CHILDREN_UPDATES_STARTED; 
+    public static final int ALL_VIEWER_UPDATES_STARTED = HAS_CHILDREN_UPDATES_STARTED | CHILD_COUNT_UPDATES_STARTED | CHILDREN_UPDATES_STARTED;
 
     public static final int LABEL_COMPLETE = LABEL_SEQUENCE_COMPLETE | LABEL_UPDATES | LABEL_UPDATES_RUNNING;
-    public static final int CONTENT_COMPLETE = 
+    public static final int CONTENT_COMPLETE =
         CONTENT_SEQUENCE_COMPLETE | HAS_CHILDREN_UPDATES | CHILD_COUNT_UPDATES | CHILDREN_UPDATES | VIEWER_UPDATES_RUNNING;
-    
+
     public static final int ALL_UPDATES_COMPLETE = LABEL_COMPLETE | CONTENT_COMPLETE | MODEL_PROXIES_INSTALLED | LABEL_UPDATES_RUNNING | VIEWER_UPDATES_RUNNING;
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerCheckTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerCheckTests.java
index b73dc46..809ee73 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerCheckTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerCheckTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerCheckTests extends CheckTests {
-    
+
     public JFaceViewerCheckTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerContentTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerContentTests.java
index 9789ecc..5d880ab 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerContentTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerContentTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerContentTests extends ContentTests {
-    
+
     public JFaceViewerContentTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java
index 53433c7..c46bcea 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerDeltaTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerDeltaTests extends DeltaTests {
-    
+
     public JFaceViewerDeltaTests(String name) {
         super(name);
     }
@@ -31,7 +31,7 @@
 	protected IInternalTreeModelViewer createViewer(Display display, Shell shell) {
 		return new TreeModelViewer(fShell, SWT.VIRTUAL, new PresentationContext("TestViewer")); //$NON-NLS-1$
     }
-    
+
     /**
      * TODO: remove this method when bug 292322 gets fixed in TreeViewer
      */
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerFilterTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerFilterTests.java
index a5398fd..625d3d4 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerFilterTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerFilterTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.8
  */
 public class JFaceViewerFilterTests extends FilterTests {
-    
+
     public JFaceViewerFilterTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerLazyTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerLazyTests.java
index 326cbf4..1686324 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerLazyTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerLazyTests.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class JFaceViewerLazyTests extends LazyTests {
-    
+
     public JFaceViewerLazyTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPerformanceTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPerformanceTests.java
index f45685a..fa86f08 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPerformanceTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPerformanceTests.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class JFaceViewerPerformanceTests extends PerformanceTests {
-    
+
     public JFaceViewerPerformanceTests(String name) {
         super(name);
     }
@@ -30,7 +30,7 @@
 	protected IInternalTreeModelViewer createViewer(Display display, Shell shell) {
 		return new TreeModelViewer(fShell, SWT.VIRTUAL, new PresentationContext("TestViewer")); //$NON-NLS-1$
     }
-    
+
     @Override
 	protected int getTestModelDepth() {
         return 5;
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPopupTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPopupTests.java
index 976ebba..3d3fb98 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPopupTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerPopupTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerPopupTests extends PopupTests {
-    
+
     public JFaceViewerPopupTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerSelectionTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerSelectionTests.java
index ed84dc7..e255f90 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerSelectionTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerSelectionTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerSelectionTests extends SelectionTests {
-    
+
     public JFaceViewerSelectionTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerStateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerStateTests.java
index a27183f..282f826 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerStateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerStateTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerStateTests extends StateTests {
-    
+
     public JFaceViewerStateTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerUpdateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerUpdateTests.java
index c76d02b..60865ec 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerUpdateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/JFaceViewerUpdateTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class JFaceViewerUpdateTests extends UpdateTests {
-    
+
     public JFaceViewerUpdateTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java
index e30945c..a19ae73 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/LazyTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - clean-up
@@ -27,18 +27,18 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Tests that verify that the viewer property retrieves all the content 
+ * Tests that verify that the viewer property retrieves all the content
  * from the model.
- * 
+ *
  * @since 3.6
  */
 abstract public class LazyTests extends TestCase implements ITestModelUpdatesListenerConstants {
-    
+
     Display fDisplay;
     Shell fShell;
     IInternalTreeModelViewer fViewer;
     TestModelUpdatesListener fListener;
-    
+
     public LazyTests(String name) {
         super(name);
     }
@@ -54,7 +54,7 @@
         fShell.setLayout(new FillLayout());
 
         fViewer = createViewer(fDisplay, fShell);
-        
+
         fListener = new TestModelUpdatesListener(fViewer, true, true);
 
         fShell.open ();
@@ -68,7 +68,7 @@
 	protected void tearDown() throws Exception {
         fListener.dispose();
         fViewer.getPresentationContext().dispose();
-        
+
         // Close the shell and exit.
         fShell.close();
         while (!fShell.isDisposed()) {
@@ -86,10 +86,10 @@
 			throw new ExecutionException("Test failed: " + t.getMessage() + "\n fListener = " + fListener.toString(), t); //$NON-NLS-1$ //$NON-NLS-2$
         }
     }
-    
+
     /**
      * Creates a model in the pattern of:
-     * 
+     *
      * root
      *   1
      *     1.1
@@ -106,23 +106,23 @@
         }
 		TestElement element = new TestElement(model, "1", children); //$NON-NLS-1$
 		model.setRoot(new TestElement(model, "root", new TestElement[] { element })); //$NON-NLS-1$
-        
+
         return model;
     }
 
     /**
-     * Test to make sure that if an element is expanded its children are 
+     * Test to make sure that if an element is expanded its children are
      * not automatically materialized.
      * (bug 305739 and bug 304277)
      */
     public void testExpandLargeSubTree() throws InterruptedException {
         // Create test model with lots of children.
-        TestModel model = largeSubtreeModel(1000); 
-        
+        TestModel model = largeSubtreeModel(1000);
+
         // NOTE: WE ARE NOT EXPANDING ANY CHILDREN
 
         // Populate initial view content
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), 1, true, true); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), 1, true, true);
         fViewer.setInput(model.getRootElement());
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
@@ -138,7 +138,7 @@
         expandDelta.addNode(expandElement, 0, IModelDelta.EXPAND, expandElement.getChildren().length);
 
         // Add first 250 elements as acceptable to materialize
-        fListener.reset(); 
+        fListener.reset();
         fListener.setFailOnRedundantUpdates(true);
 		TreePath expandElementPath = model.findElement("1"); //$NON-NLS-1$
         fListener.addChildreCountUpdate(expandElementPath);
@@ -159,23 +159,23 @@
     }
 
     /**
-     * Test to make sure that if an element that is previously selected, is 
+     * Test to make sure that if an element that is previously selected, is
      * then selected and replaced, that no extra elements are retrieved.
      * (bug 304277 comment #24, and bug 305739 comment #9).
      */
     public void testReplaceAndSelectInSubTreeTree() throws InterruptedException {
         // Create test model with lots of children.
-        TestModel model = largeSubtreeModel(1000); 
-        
+        TestModel model = largeSubtreeModel(1000);
+
         // Expand all children
         fViewer.setAutoExpandLevel(-1);
-        
-        // Populate initial view content, watch for all updates but only wait 
+
+        // Populate initial view content, watch for all updates but only wait
         // for the content update sequence to finish (elements off screen will
         // not be updated).
         // TODO: child count for element 1 is updated multiple times.
         fListener.reset();
-        fListener.setFailOnMultipleModelUpdateSequences(true); 
+        fListener.setFailOnMultipleModelUpdateSequences(true);
         fListener.setFailOnRedundantUpdates(false);
         fViewer.setInput(model.getRootElement());
 		fListener.addLabelUpdate(model.findElement("1.0")); //$NON-NLS-1$
@@ -187,7 +187,7 @@
 
         // Set selection so that the initial selection is not empty
 		fViewer.setSelection(new TreeSelection(new TreePath[] { model.findElement("1.0") })); //$NON-NLS-1$
-        
+
         // Create delta to select the "1" element.
         TestElement rootElement = model.getRootElement();
         ModelDelta rootDelta = new ModelDelta(rootElement, IModelDelta.NO_CHANGE);
@@ -202,7 +202,7 @@
         _1Delta.addNode(_1_0_newElement, 0, IModelDelta.SELECT);
 
         // Add element label update and post the delta
-        fListener.reset(); 
+        fListener.reset();
         fListener.setFailOnRedundantUpdates(true);
 		TreePath _1_0_newElementPath = model.findElement("1.0 - new"); //$NON-NLS-1$
         fListener.addLabelUpdate(_1_0_newElementPath);
@@ -222,13 +222,13 @@
      */
     public void testContentRefresh() throws InterruptedException {
         // Create test model with lots of children.
-        TestModel model = largeSubtreeModel(1000); 
-        
+        TestModel model = largeSubtreeModel(1000);
+
         // Expand children all
         fViewer.setAutoExpandLevel(-1);
 
         // Populate initial view content
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, true); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, true);
         fViewer.setInput(model.getRootElement());
         while (!fListener.isFinished(CONTENT_SEQUENCE_COMPLETE | LABEL_SEQUENCE_COMPLETE)) {
 			if (!fDisplay.readAndDispatch ()) {
@@ -248,7 +248,7 @@
 				Thread.sleep(0);
 			}
 		}
-        
+
         // Create delta to refresh the "1" element.
         TestElement rootElement = model.getRootElement();
         ModelDelta rootDelta = new ModelDelta(rootElement, IModelDelta.NO_CHANGE);
@@ -256,11 +256,11 @@
         TestElement expandElement = rootElement.getChildren()[0];
         expandDelta.addNode(expandElement, 0, IModelDelta.CONTENT, expandElement.getChildren().length);
 
-        // Rinse and repeast.  The refresh in bug 335734 is only triggered 
+        // Rinse and repeast.  The refresh in bug 335734 is only triggered
         // only on the second time.
         for (int repeatCount = 0; repeatCount < 3; repeatCount++) {
             // Add first 250 elements (after element 500) as acceptable to materialize
-            fListener.reset(); 
+            fListener.reset();
             fListener.setFailOnRedundantUpdates(true);
 			TreePath refreshElementPath = model.findElement("1"); //$NON-NLS-1$
             fListener.addRedundantExceptionChildCount(refreshElementPath);
@@ -276,7 +276,7 @@
                 fListener.addHasChildrenUpdate(childPath);
             }
             model.postDelta(rootDelta);
-    
+
             while (!fListener.isFinished(CONTENT_SEQUENCE_COMPLETE | MODEL_CHANGED_COMPLETE)) {
 				if (!fDisplay.readAndDispatch ()) {
 					Thread.sleep(0);
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java
index 18d4cb4..6193f56 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PerformanceTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -31,14 +31,14 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Tests to measure the performance of the viewer updates.  
+ * Tests to measure the performance of the viewer updates.
  */
 abstract public class PerformanceTests extends TestCase implements ITestModelUpdatesListenerConstants {
     Display fDisplay;
     Shell fShell;
     ITreeModelViewer fViewer;
     TestModelUpdatesListener fListener;
-    
+
     public PerformanceTests(String name) {
         super(name);
     }
@@ -55,14 +55,14 @@
 
         fVirtualItemValidator = new VisibleVirtualItemValidator(0, Integer.MAX_VALUE);
         fViewer = createViewer(fDisplay, fShell);
-        
+
         fListener = new TestModelUpdatesListener(fViewer, false, false);
 
         fShell.open();
     }
 
     abstract protected IInternalTreeModelViewer createViewer(Display display, Shell shell);
-    
+
     /**
      * @throws java.lang.Exception
      */
@@ -70,7 +70,7 @@
 	protected void tearDown() throws Exception {
         fListener.dispose();
         fViewer.getPresentationContext().dispose();
-        
+
         // Close the shell and exit.
         fShell.close();
         while (!fShell.isDisposed()) {
@@ -79,7 +79,7 @@
 			}
 		}
     }
-    
+
     @Override
 	protected void runTest() throws Throwable {
         try {
@@ -91,22 +91,22 @@
 
     /**
      * Depth (size) of the test model to be used in the tests.  This number allows
-     * the jface based tests to use a small enough model to fit on the screen, and 
+     * the jface based tests to use a small enough model to fit on the screen, and
      * for the virtual viewer to exercise the content provider to a greater extent.
      */
     abstract protected int getTestModelDepth();
-    
+
     protected VisibleVirtualItemValidator fVirtualItemValidator;
-    
+
     public void testRefreshStruct() throws InterruptedException {
         TestModel model = new TestModel();
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
 		model.setElementChildren(TreePath.EMPTY, TestModel.makeMultiLevelElements(model, getTestModelDepth(), "model.")); //$NON-NLS-1$
-        
+
         fViewer.setAutoExpandLevel(-1);
 
         // Create the listener
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
@@ -123,10 +123,10 @@
             for (int i = 0; i < 10; i++) {
                 // Update the model
 				model.setAllAppendix(" - pass " + i); //$NON-NLS-1$
-                
+
                 TestElement element = model.getRootElement();
                 fListener.reset(TreePath.EMPTY, element, -1, false, false);
-                
+
                 meter.start();
                 model.postDelta(new ModelDelta(element, IModelDelta.CONTENT));
                 while (!fListener.isFinished(ALL_UPDATES_COMPLETE | MODEL_CHANGED_COMPLETE)) {
@@ -137,7 +137,7 @@
                 meter.stop();
                 System.gc();
             }
-            
+
             meter.commit();
             perf.assertPerformance(meter);
         } finally {
@@ -149,12 +149,12 @@
         TestModel model = new TestModel();
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
 		model.setElementChildren(TreePath.EMPTY, TestModel.makeMultiLevelElements2(model, new int[] { 2, 3000, 1 }, "model.")); //$NON-NLS-1$
-        
+
         fViewer.setAutoExpandLevel(2);
         // Create the listener
-        //fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, false, false); 
+        //fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, false, false);
         fListener.reset();
-        
+
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
         while (!fListener.isFinished(ALL_UPDATES_COMPLETE))
@@ -165,20 +165,20 @@
 				//model.validateData(fViewer, TreePath.EMPTY);
 			}
 		}
-        
+
         fVirtualItemValidator.setVisibleRange(0, 50);
-        
+
         Performance perf = Performance.getDefault();
         PerformanceMeter meter = perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
         try {
             for (int i = 0; i < 100; i++) {
                 // Update the model
 				model.setAllAppendix(" - pass " + i); //$NON-NLS-1$
-                
+
                 TestElement element = model.getRootElement();
                 //fListener.reset(TreePath.EMPTY, element, -1, false, false);
                 fListener.reset();
-                
+
                 meter.start();
                 model.postDelta(new ModelDelta(element, IModelDelta.CONTENT));
                 while (!fListener.isFinished(MODEL_CHANGED_COMPLETE)) {
@@ -195,7 +195,7 @@
                 meter.stop();
                 System.gc();
             }
-            
+
             meter.commit();
             perf.assertPerformance(meter);
         } finally {
@@ -208,11 +208,11 @@
         TestModel model = new TestModel();
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
 		model.setElementChildren(TreePath.EMPTY, TestModel.makeMultiLevelElements(model, getTestModelDepth(), "model.")); //$NON-NLS-1$
-        
+
         fViewer.setAutoExpandLevel(-1);
 
         // Create the listener
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
@@ -229,10 +229,10 @@
             for (int i = 0; i < 100; i++) {
                 // Update the model
 				model.setElementChildren(TreePath.EMPTY, TestModel.makeMultiLevelElements(model, getTestModelDepth(), "pass " + i + ".")); //$NON-NLS-1$ //$NON-NLS-2$
-                
+
                 TestElement element = model.getRootElement();
                 fListener.reset(TreePath.EMPTY, element, -1, false, false);
-                
+
                 meter.start();
                 model.postDelta(new ModelDelta(element, IModelDelta.CONTENT));
                 while (!fListener.isFinished(ALL_UPDATES_COMPLETE | MODEL_CHANGED_COMPLETE)) {
@@ -243,7 +243,7 @@
                 meter.stop();
                 System.gc();
             }
-            
+
             meter.commit();
             perf.assertPerformance(meter);
         } finally {
@@ -251,17 +251,17 @@
         }
     }
 
-    
+
     public void testRefreshList() throws InterruptedException {
         TestModel model = new TestModel();
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
         int numElements = (int)Math.pow(2, getTestModelDepth());
 		model.setElementChildren(TreePath.EMPTY, TestModel.makeSingleLevelModelElements(model, numElements, "model.")); //$NON-NLS-1$
-        
+
         fViewer.setAutoExpandLevel(-1);
 
         // Create the listener
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
@@ -278,10 +278,10 @@
             for (int i = 0; i < 100; i++) {
                 // Update the model
 				model.setAllAppendix(" - pass " + i); //$NON-NLS-1$
-                
+
                 TestElement element = model.getRootElement();
                 fListener.reset(TreePath.EMPTY, element, -1, false, false);
-                
+
                 meter.start();
                 model.postDelta(new ModelDelta(element, IModelDelta.CONTENT));
                 while (!fListener.isFinished(ALL_UPDATES_COMPLETE | MODEL_CHANGED_COMPLETE)) {
@@ -292,7 +292,7 @@
                 meter.stop();
                 System.gc();
             }
-            
+
             meter.commit();
             perf.assertPerformance(meter);
         } finally {
@@ -306,9 +306,9 @@
 
         // expand all elements
         fViewer.setAutoExpandLevel(-1);
-        
+
         // Create the listener, only check the first level
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
@@ -321,7 +321,7 @@
 
         // Set a selection in view
 		fViewer.setSelection(new TreeSelection(model.findElement("3.2.3"))); //$NON-NLS-1$
-                
+
         // Turn off the auto-expand now since we want to text the auto-expand logic
         fViewer.setAutoExpandLevel(-1);
 
@@ -334,7 +334,7 @@
 
                 // Set the viewer input to null.  This will trigger the view to save the viewer state.
                 fListener.reset(true, false);
-        
+
                 meter.start();
                 fViewer.setInput(null);
                 while (!fListener.isFinished(STATE_SAVE_COMPLETE)) {
@@ -342,9 +342,9 @@
 						Thread.sleep(0);
 					}
 				}
-        
+
                 // Set the viewer input back to the model.  When view updates are complete
-                // the viewer 
+                // the viewer
                 // Note: disable redundant updates because the reveal delta triggers one.
                 fListener.reset(TreePath.EMPTY, model.getRootElement(), 1, false, false);
                 // TODO: add state updates somehow?
@@ -357,7 +357,7 @@
                 meter.stop();
                 System.gc();
             }
-            
+
             meter.commit();
             perf.assertPerformance(meter);
         } finally {
@@ -371,11 +371,11 @@
 		model.setRoot(new TestElement(model, "root", new TestElement[0])); //$NON-NLS-1$
         int numElements = (int)Math.pow(2, getTestModelDepth());
 		model.setElementChildren(TreePath.EMPTY, TestModel.makeSingleLevelModelElements(model, numElements, "model.")); //$NON-NLS-1$
-        
+
         fViewer.setAutoExpandLevel(-1);
 
         // Create the listener
-        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false); 
+        fListener.reset(TreePath.EMPTY, model.getRootElement(), -1, true, false);
 
         fViewer.addFilter(new ViewerFilter() {
             @Override
@@ -392,7 +392,7 @@
                 return true;
             }
         });
-        
+
         // Set the input into the view and update the view.
         fViewer.setInput(model.getRootElement());
         while (!fListener.isFinished()) {
@@ -408,10 +408,10 @@
             for (int i = 0; i < 100; i++) {
                 // Update the model
 				model.setAllAppendix(" - pass " + i); //$NON-NLS-1$
-                
+
                 TestElement element = model.getRootElement();
                 fListener.reset(TreePath.EMPTY, element, -1, false, false);
-                
+
                 meter.start();
                 model.postDelta(new ModelDelta(element, IModelDelta.CONTENT));
                 while (!fListener.isFinished(ALL_UPDATES_COMPLETE | MODEL_CHANGED_COMPLETE)) {
@@ -422,12 +422,12 @@
                 meter.stop();
                 System.gc();
             }
-            
+
             meter.commit();
             perf.assertPerformance(meter);
         } finally {
             meter.dispose();
         }
     }
-    
+
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java
index 0409c36..d89a54f 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/PresentationContextTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM - moved to debug platform tests from JDT
@@ -20,7 +20,7 @@
 
 /**
  * Test the serialization of presentation context properties.
- * 
+ *
  * @since 3.4
  */
 public class PresentationContextTests extends TestCase {
@@ -28,7 +28,7 @@
     public PresentationContextTests(String name) {
         super(name);
     }
-    
+
     /**
      * Tests saving and restoring presentation context properties.
      */
@@ -41,7 +41,7 @@
 
 		final XMLMemento memento = XMLMemento.createWriteRoot("TEST"); //$NON-NLS-1$
         context.saveProperites(memento);
-        
+
 		context = new PresentationContext("test"); //$NON-NLS-1$
         context.initProperties(memento);
 		assertEquals("Wrong value restored", "string", context.getProperty("string")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -50,5 +50,5 @@
 		assertEquals("Wrong value restored", ResourcesPlugin.getWorkspace().getRoot(), context.getProperty("persistable")); //$NON-NLS-1$ //$NON-NLS-2$
         context.dispose();
     }
-    
+
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreePathWrapper.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreePathWrapper.java
index 7adb27d..df8d04f 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreePathWrapper.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/TreePathWrapper.java
@@ -15,9 +15,9 @@
 import org.junit.Assert;
 
 /**
- * Utility for comparing TreePath objects in unit tests.  This wrapper prints the tree 
+ * Utility for comparing TreePath objects in unit tests.  This wrapper prints the tree
  * paths in exception showing contexts of the paths.
- * 
+ *
  * @since 3.7
  */
 public class TreePathWrapper {
@@ -26,26 +26,26 @@
     public TreePathWrapper(TreePath path) {
         fPath = path;
     }
-    
+
     @Override
 	public int hashCode() {
         return fPath.hashCode();
     }
-    
+
     @Override
 	public boolean equals(Object obj) {
         return obj instanceof TreePathWrapper &&
-               fPath.equals( ((TreePathWrapper)obj).fPath ); 
+               fPath.equals( ((TreePathWrapper)obj).fPath );
     }
-    
+
     @Override
 	public String toString() {
         if (fPath.getSegmentCount() == 0) {
             return "TreePath:EMPTY"; //$NON-NLS-1$
         }
-        
+
         StringBuffer buf = new StringBuffer("TreePath:["); //$NON-NLS-1$
-        
+
         for (int i = 0; i < fPath.getSegmentCount(); i++) {
             if (i != 0) {
                 buf.append(", ");                     //$NON-NLS-1$
@@ -55,14 +55,14 @@
         buf.append(']');
         return buf.toString();
     }
-    
+
     /**
-     * Asserts that the two given tree paths are the same.  In case of failure, the 
+     * Asserts that the two given tree paths are the same.  In case of failure, the
      * generated exception will contain a printout of the tree paths' contents.
      */
     public static void assertEqual(TreePath expected, TreePath actual) {
         Assert.assertEquals(
-            expected != null ? new TreePathWrapper(expected) : null,  
+            expected != null ? new TreePathWrapper(expected) : null,
             actual != null ? new TreePathWrapper(actual) : null);
-    }        
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerContentTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerContentTests.java
index 266980c..726aace 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerContentTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerContentTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class VirtualViewerContentTests extends ContentTests {
-    
+
     public VirtualViewerContentTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerDeltaTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerDeltaTests.java
index fdc0a17..a2287db 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerDeltaTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerDeltaTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class VirtualViewerDeltaTests extends DeltaTests {
-    
+
     public VirtualViewerDeltaTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerFilterTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerFilterTests.java
index 1a5c67f..e181fce 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerFilterTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerFilterTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.8
  */
 public class VirtualViewerFilterTests extends FilterTests {
-    
+
     public VirtualViewerFilterTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java
index e137ae7..a695acf 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerLazyModeTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -26,7 +26,7 @@
  * Tests which verify the operation of the virtual viewer in the lazy mode.
  * Note: the virtual viewer doesn't support lazy mode yet, so this class
  * is really just a big place holder.
- * 
+ *
  *  @since 3.6
  */
 public class VirtualViewerLazyModeTests extends TestCase {
@@ -34,7 +34,7 @@
     Shell fShell;
     ITreeModelViewer fViewer;
     TestModelUpdatesListener fListener;
-    
+
     public VirtualViewerLazyModeTests(String name) {
         super(name);
     }
@@ -50,7 +50,7 @@
         fShell.setLayout(new FillLayout());
 
         fViewer = createViewer(fDisplay, fShell);
-        
+
         fListener = new TestModelUpdatesListener(fViewer, false, false);
 
         fShell.open ();
@@ -64,7 +64,7 @@
     protected ITreeModelViewer createViewer(Display display, Shell shell) {
 		return new VirtualTreeModelViewer(display, SWT.VIRTUAL, new PresentationContext("TestViewer")); //$NON-NLS-1$
     }
-    
+
     /**
      * @throws java.lang.Exception
      */
@@ -72,7 +72,7 @@
 	protected void tearDown() throws Exception {
         fListener.dispose();
         fViewer.getPresentationContext().dispose();
-        
+
         // Close the shell and exit.
         fShell.close();
         while (!fShell.isDisposed()) {
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPerformanceTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPerformanceTests.java
index d740554..7bdf09f 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPerformanceTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPerformanceTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -22,7 +22,7 @@
  * @since 3.6
  */
 public class VirtualViewerPerformanceTests extends PerformanceTests {
-    
+
     public VirtualViewerPerformanceTests(String name) {
         super(name);
     }
@@ -31,7 +31,7 @@
 	protected IInternalTreeModelViewer createViewer(Display display, Shell shell) {
 		return new VirtualTreeModelViewer(fDisplay, SWT.VIRTUAL, new PresentationContext("TestViewer"), fVirtualItemValidator); //$NON-NLS-1$
     }
-    
+
     @Override
 	protected int getTestModelDepth() {
         return 7;
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPopupTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPopupTests.java
index 34988f1..cf0ef1c 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPopupTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerPopupTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class VirtualViewerPopupTests extends PopupTests {
-    
+
     public VirtualViewerPopupTests(String name) {
         super(name);
     }
@@ -30,6 +30,6 @@
 	protected ITreeModelViewer createViewer(Display display, Shell shell, int style) {
 		return new VirtualTreeModelViewer(fDisplay, style, new PresentationContext("TestViewer")); //$NON-NLS-1$
     }
-    
-    
+
+
 }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerSelectionTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerSelectionTests.java
index 877791a..f2585da 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerSelectionTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerSelectionTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class VirtualViewerSelectionTests extends SelectionTests {
-    
+
     public VirtualViewerSelectionTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerStateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerStateTests.java
index 684dc1b..2530273 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerStateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerStateTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class VirtualViewerStateTests extends StateTests {
-    
+
     public VirtualViewerStateTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerUpdateTests.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerUpdateTests.java
index a300d05..e0b2029 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerUpdateTests.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VirtualViewerUpdateTests.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -21,7 +21,7 @@
  * @since 3.6
  */
 public class VirtualViewerUpdateTests extends UpdateTests {
-    
+
     public VirtualViewerUpdateTests(String name) {
         super(name);
     }
diff --git a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VisibleVirtualItemValidator.java b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VisibleVirtualItemValidator.java
index 86c5461..74de441 100644
--- a/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VisibleVirtualItemValidator.java
+++ b/org.eclipse.debug.tests/src/org/eclipse/debug/tests/viewer/model/VisibleVirtualItemValidator.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -15,14 +15,14 @@
 import org.eclipse.debug.internal.ui.viewers.model.provisional.VirtualTree;
 
 /**
- * Item validator for the virtual viewer which specifies that the given 
+ * Item validator for the virtual viewer which specifies that the given
  * range of items should be treated as visible.
  */
 public class VisibleVirtualItemValidator implements IVirtualItemValidator {
 
     private int fStart = 0;
     private int fEnd = 0;
-    
+
     public VisibleVirtualItemValidator(int startPosition, int length) {
         setVisibleRange(startPosition, length);
     }
@@ -31,15 +31,15 @@
         fStart = startPosition;
         fEnd = startPosition + length;
     }
-    
+
     public int getStartPosition() {
         return fStart;
     }
-    
+
     public int getLength() {
         return fEnd - fStart;
     }
-    
+
     @Override
 	public boolean isItemVisible(VirtualItem item) {
         int position = 0;
@@ -65,11 +65,11 @@
         }
         return position;
     }
-    
+
     private boolean isSelected(VirtualItem item) {
         VirtualItem[] selection = getSelection(item);
         for (int i = 0; i < selection.length; i++) {
-            VirtualItem selectionItem = selection[i]; 
+            VirtualItem selectionItem = selection[i];
             while (selectionItem != null) {
                 if (item.equals(selectionItem)) {
                     return true;
@@ -79,7 +79,7 @@
         }
         return false;
     }
-    
+
     private VirtualItem[] getSelection(VirtualItem item) {
         VirtualTree tree = getTree(item);
         if (tree != null) {
@@ -87,7 +87,7 @@
         }
         return new VirtualItem[0];
     }
-    
+
     private VirtualTree getTree(VirtualItem item) {
         while (item != null && !(item instanceof VirtualTree)) {
             item = item.getParent();
diff --git a/org.eclipse.debug.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.debug.ui/.settings/org.eclipse.jdt.ui.prefs
index 666d89f..c0ff1c1 100644
--- a/org.eclipse.debug.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.debug.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -68,10 +68,12 @@
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=false
 sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=false
 sp_cleanup.correct_indentation=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=true
+sp_cleanup.insert_inferred_type_arguments=false
 sp_cleanup.make_local_variable_final=false
 sp_cleanup.make_parameters_final=false
 sp_cleanup.make_private_fields_final=true
@@ -87,7 +89,8 @@
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
 sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
 sp_cleanup.remove_unnecessary_casts=true
@@ -100,8 +103,10 @@
 sp_cleanup.remove_unused_private_types=true
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=false
 sp_cleanup.use_parentheses_in_expressions=false
 sp_cleanup.use_this_for_non_static_field_access=false
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugCheckboxSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugCheckboxSelectionDialog.java
index c79039e..2a4faf8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugCheckboxSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugCheckboxSelectionDialog.java
@@ -29,17 +29,17 @@
 import org.eclipse.swt.widgets.Table;
 
 /**
- * This class provides selection dialog using a check box table viewer. 
- * 
+ * This class provides selection dialog using a check box table viewer.
+ *
  * @since 3.4
  */
 public abstract class AbstractDebugCheckboxSelectionDialog extends AbstractDebugSelectionDialog {
-	
+
 	/**
 	 * Whether to add Select All / De-select All buttons to the custom footer controls.
 	 */
 	private boolean fShowSelectButtons = false;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell the parent shell
@@ -48,7 +48,7 @@
 		super(parentShell);
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 	}
-	
+
 	/**
 	 * Returns the viewer cast to the correct instance.  Possibly <code>null</code> if
 	 * the viewer has not been created yet.
@@ -57,7 +57,7 @@
 	protected CheckboxTableViewer getCheckBoxTableViewer() {
 		return (CheckboxTableViewer) fViewer;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#initializeControls()
 	 */
@@ -70,7 +70,7 @@
 		}
 		super.initializeControls();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#createViewer(org.eclipse.swt.widgets.Composite)
 	 */
@@ -92,7 +92,7 @@
 	protected void addViewerListeners(StructuredViewer viewer) {
 		getCheckBoxTableViewer().addCheckStateListener(new DefaultCheckboxListener());
 	}
-	
+
 	/**
 	 * A checkbox state listener that ensures that exactly one element is checked
 	 * and enables the OK button when this is the case.
@@ -104,7 +104,7 @@
 			getButton(IDialogConstants.OK_ID).setEnabled(isValid());
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.AbstractDebugSelectionDialog#isValid()
 	 */
@@ -122,7 +122,7 @@
 		setResult(Arrays.asList(elements));
 		super.okPressed();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#addCustomFooterControls(org.eclipse.swt.widgets.Composite)
 	 */
@@ -150,16 +150,16 @@
 			});
 		}
 	}
-	
+
 	/**
-	 * If this setting is set to true before the dialog is opened, a Select All and 
+	 * If this setting is set to true before the dialog is opened, a Select All and
 	 * a De-select All button will be added to the custom footer controls.  The default
 	 * setting is false.
-	 * 
+	 *
 	 * @param setting whether to show the select all and de-select all buttons
 	 */
 	protected void setShowSelectAllButtons(boolean setting){
 		fShowSelectButtons = setting;
 	}
-	    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugListSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugListSelectionDialog.java
index 9910e0c..6303d5d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugListSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugListSelectionDialog.java
@@ -26,13 +26,13 @@
 
 /**
  * This class provides a simple selection dialog displaying items in a table.
- * 
+ *
  * @since 3.3
  */
 public abstract class AbstractDebugListSelectionDialog extends AbstractDebugSelectionDialog {
 
 	protected TableViewer fListViewer;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell the parent shell
@@ -41,7 +41,7 @@
 		super(parentShell);
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.AbstractDebugSelectionDialog#createViewer(org.eclipse.swt.widgets.Composite)
 	 */
@@ -54,7 +54,7 @@
 		fListViewer.getTable().setLayoutData(gd);
 		return fListViewer;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#addViewerListeners(org.eclipse.jface.viewers.StructuredViewer)
 	 */
@@ -75,7 +75,7 @@
 			}
 		});
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.AbstractDebugSelectionDialog#isValid()
 	 */
@@ -89,7 +89,7 @@
 		}
 		return false;
 	}
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#okPressed()
      */
@@ -101,5 +101,5 @@
 		}
 		super.okPressed();
     }
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugSelectionDialog.java
index fcbe5bd..e1a9c03 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/AbstractDebugSelectionDialog.java
@@ -30,16 +30,16 @@
 
 /**
  * This class provides the framework for a general selection dialog class.
- * 
+ *
  * @see AbstractDebugListSelectionDialog
  * @see AbstractDebugCheckboxSelectionDialog
- * 
+ *
  * @since 3.3
  */
 public abstract class AbstractDebugSelectionDialog extends SelectionDialog {
 
 	protected StructuredViewer fViewer = null;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell the parent shell
@@ -48,37 +48,37 @@
 		super(parentShell);
 		setDialogBoundsSettings(getDialogBoundsSettings(), Dialog.DIALOG_PERSISTSIZE);
 	}
-	
+
 	/**
 	 * returns the dialog settings area id
 	 * @return the id of the dialog settings area
 	 */
 	protected abstract String getDialogSettingsId();
-	
+
 	/**
 	 * Returns the object to use as input for the viewer
 	 * @return the object to use as input for the viewer
 	 */
 	protected abstract Object getViewerInput();
-	
+
 	/**
 	 * Create and return a viewer to use in this dialog.
-	 * 
+	 *
 	 * @param parent the composite the viewer should be created in
 	 * @return the viewer to use in the dialog
 	 */
 	protected abstract StructuredViewer createViewer(Composite parent);
-	
+
 	/**
 	 * Returns if the dialog and/or current selection is/are valid.
 	 * This method is polled when selection changes are made to update the enablement
-	 * of the OK button by default 
+	 * of the OK button by default
 	 * @return true if the dialog is in a valid state, false otherwise
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	protected abstract boolean isValid();
-	
+
 	/**
 	 * Returns the content provider for the viewer
 	 * @return the content provider for the viewer
@@ -87,7 +87,7 @@
 		//by default return a simple array content provider
 		return new ArrayContentProvider();
 	}
-	
+
 	/**
 	 * Returns the label provider used by the viewer
 	 * @return the label provider used in the viewer
@@ -95,13 +95,13 @@
 	protected IBaseLabelProvider getLabelProvider() {
 		return new DefaultLabelProvider();
 	}
-	
+
 	/**
 	 * Returns the help context id for this dialog
 	 * @return the help context id for this dialog
 	 */
 	abstract protected String getHelpContextId();
-	
+
 	/**
 	 * This method allows listeners to be added to the viewer after it
 	 * is created.
@@ -109,13 +109,13 @@
 	/**
 	 * This method allows listeners to be added to the viewer.  Called
 	 * after the viewer has been created and its input set.
-	 * 
+	 *
 	 * @param viewer the viewer returned by createViewer()
 	 */
 	protected void addViewerListeners(StructuredViewer viewer){
 		//do nothing by default
 	}
-	
+
 	/**
 	 * This method allows custom controls to be added before the viewer
 	 * @param parent the parent composite to add these custom controls to
@@ -123,7 +123,7 @@
 	protected void addCustomHeaderControls(Composite parent) {
 		//do nothing by default
 	}
-	
+
 	/**
 	 * This method allows custom controls to be added after the viewer
 	 * @param parent the parent composite to add these controls to
@@ -131,18 +131,18 @@
 	protected void addCustomFooterControls(Composite parent) {
 		//do nothing by default
 	}
-	
+
 	/**
 	 * This method allows the newly created controls to be initialized.
-	 * This method is called only once all controls have been created from the 
+	 * This method is called only once all controls have been created from the
 	 * <code>createContents</code> method.
-	 * 
+	 *
 	 * By default this method initializes the OK button control.
 	 */
 	protected void initializeControls() {
 		getButton(IDialogConstants.OK_ID).setEnabled(isValid());
 	}
-	
+
 	/**
 	 * Returns the viewer used to display information in this dialog.
 	 * Can be <code>null</code> if the viewer has not been created.
@@ -151,7 +151,7 @@
 	protected Viewer getViewer(){
     	return fViewer;
     }
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createContents(org.eclipse.swt.widgets.Composite)
 	 */
@@ -161,7 +161,7 @@
 		initializeControls();
 		return comp;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
@@ -195,14 +195,14 @@
 		}
 		return comp;
 	}
-	
+
 	/**
 	 * This method returns the label describing what to do with the viewer. Typically this label
 	 * will include the key accelerator to get to the viewer via the keyboard
 	 * @return the label for the viewer
 	 */
 	abstract protected String getViewerLabel();
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.SelectionDialog#getDialogBoundsSettings()
 	 */
@@ -212,7 +212,7 @@
 		IDialogSettings section = settings.getSection(getDialogSettingsId());
 		if (section == null) {
 			section = settings.addNewSection(getDialogSettingsId());
-		} 
+		}
 		return section;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java
index 91b5a2a..67813e7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.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
  *******************************************************************************/
@@ -24,8 +24,8 @@
  * @since 3.0
  */
 public class BreakpointImageProvider implements IAnnotationImageProvider {
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getManagedImage(org.eclipse.jface.text.source.Annotation)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
index c1255ac..c0ab068 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
@@ -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
  *******************************************************************************/
@@ -21,22 +21,22 @@
 /**
  * Generic color manager.
  */
-public class ColorManager {	
-	
+public class ColorManager {
+
 	private static ColorManager fgColorManager;
-	
+
 	private ColorManager() {
 	}
-	
+
 	public static ColorManager getDefault() {
 		if (fgColorManager == null) {
 			fgColorManager= new ColorManager();
 		}
 		return fgColorManager;
 	}
-	
+
 	protected Map<RGB, Color> fColorTable = new HashMap<RGB, Color>(10);
-	
+
 	public Color getColor(RGB rgb) {
 		Color color= fColorTable.get(rgb);
 		if (color == null) {
@@ -45,7 +45,7 @@
 		}
 		return color;
 	}
-	
+
 	public void dispose() {
 		for (Color color : fColorTable.values()) {
 			color.dispose();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/CompositeDebugImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/CompositeDebugImageDescriptor.java
index 53cb702..0dc0257 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/CompositeDebugImageDescriptor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/CompositeDebugImageDescriptor.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
  *******************************************************************************/
@@ -23,26 +23,26 @@
  * are computed according to flags set on creation of the descriptor.
  */
 public class CompositeDebugImageDescriptor extends CompositeImageDescriptor {
-	
+
 	/** Flag to render the skip breakpoint adornment */
 	public final static int SKIP_BREAKPOINT= 			0x0001;
-	
+
 	private Image fBaseImage;
 	private int fFlags;
 	private Point fSize;
-	
+
 	/**
 	 * Create a new composite image descriptor.
-	 * 
+	 *
 	 * @param baseImage an image used as the base image
 	 * @param flags flags indicating which adornments are to be rendered
-	 * 
+	 *
 	 */
 	public CompositeDebugImageDescriptor(Image baseImage, int flags) {
 		setBaseImage(baseImage);
 		setFlags(flags);
 	}
-	
+
 	/**
 	 * @see CompositeImageDescriptor#getSize()
 	 */
@@ -54,7 +54,7 @@
 		}
 		return fSize;
 	}
-	
+
 	/**
 	 * @see Object#equals(java.lang.Object)
 	 */
@@ -66,7 +66,7 @@
 		CompositeDebugImageDescriptor other= (CompositeDebugImageDescriptor)object;
 		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
 	}
-	
+
 	/**
 	 * @see Object#hashCode()
 	 */
@@ -74,7 +74,7 @@
 	public int hashCode() {
 		return getBaseImage().hashCode() | getFlags();
 	}
-	
+
 	/**
 	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
 	 */
@@ -103,11 +103,11 @@
 			drawImage(data, x, y);
 		}
 	}
-	
+
 	protected Image getBaseImage() {
 		return fBaseImage;
 	}
-    
+
     protected void setBaseImage(Image image) {
         fBaseImage = image;
     }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java
index 6c950b2..d5522c8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugModelPropertyTester.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
  *     Wind River Systems (Pawel Piech) - added support for IDebugModelProvider (Bug 212314)
@@ -34,7 +34,7 @@
 
 	public static final String MODEL_TYPE_PROPERTY = "getModelIdentifier"; //$NON-NLS-1$
 	public static final String IS_TERMINATED_OR_DISCONNECTED_PROPERTY = "isTerminatedOrDisconnected"; //$NON-NLS-1$
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.expressions.PropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
 	 */
@@ -45,7 +45,7 @@
 			if(receiver instanceof IProcess) {
 				target = ((IProcess)receiver).getAdapter(IDebugTarget.class);
 			}
-			else if(receiver instanceof IDebugElement) { 
+			else if(receiver instanceof IDebugElement) {
 				target = ((IDebugElement)receiver).getAdapter(IDebugTarget.class);
 			}
 			if(target != null) {
@@ -53,7 +53,7 @@
 				if (expectedValue == null || expectedValue.equals(IInternalDebugCoreConstants.EMPTY_STRING)){
 					return false;
 				}
-				//!target.isTerminated() && !target.isDisconnected() 
+				//!target.isTerminated() && !target.isDisconnected()
 				if(expectedValue.equals(target.getModelIdentifier())) {
 					return true;
 				}
@@ -75,8 +75,8 @@
 		        }
 		        return false;
 		    }
-			// There is no element selected with an associated debug model.  
-			// Return true iff the expected value is an empty string.  
+			// There is no element selected with an associated debug model.
+			// Return true iff the expected value is an empty string.
 			return "".equals(expectedValue); //$NON-NLS-1$
 		} else if (IS_TERMINATED_OR_DISCONNECTED_PROPERTY.equals(property)){
 			if (receiver instanceof ITerminate && ((ITerminate)receiver).isTerminated()){
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
index 028ecc3..675f9e3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.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
  *******************************************************************************/
@@ -21,39 +21,39 @@
  * The debug perspective factory.
  */
 public class DebugPerspectiveFactory implements IPerspectiveFactory {
-	
+
 	/**
 	 * @see IPerspectiveFactory#createInitialLayout(IPageLayout)
 	 */
 	@Override
 	public void createInitialLayout(IPageLayout layout) {
-		
+
 		IFolderLayout consoleFolder = layout.createFolder(IInternalDebugUIConstants.ID_CONSOLE_FOLDER_VIEW, IPageLayout.BOTTOM, (float)0.75, layout.getEditorArea());
 		consoleFolder.addView(IConsoleConstants.ID_CONSOLE_VIEW);
 		consoleFolder.addView(IPageLayout.ID_TASK_LIST);
 		consoleFolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);
 		consoleFolder.addPlaceholder(IPageLayout.ID_PROP_SHEET);
-		
+
 		IFolderLayout navFolder= layout.createFolder(IInternalDebugUIConstants.ID_NAVIGATOR_FOLDER_VIEW, IPageLayout.TOP, (float) 0.45, layout.getEditorArea());
 		navFolder.addView(IDebugUIConstants.ID_DEBUG_VIEW);
 		navFolder.addPlaceholder(IPageLayout.ID_PROJECT_EXPLORER);
-		
+
 		IFolderLayout toolsFolder= layout.createFolder(IInternalDebugUIConstants.ID_TOOLS_FOLDER_VIEW, IPageLayout.RIGHT, (float) 0.50, IInternalDebugUIConstants.ID_NAVIGATOR_FOLDER_VIEW);
 		toolsFolder.addView(IDebugUIConstants.ID_VARIABLE_VIEW);
 		toolsFolder.addView(IDebugUIConstants.ID_BREAKPOINT_VIEW);
 		toolsFolder.addPlaceholder(IDebugUIConstants.ID_EXPRESSION_VIEW);
 		toolsFolder.addPlaceholder(IDebugUIConstants.ID_REGISTER_VIEW);
-		
+
 		IFolderLayout outlineFolder= layout.createFolder(IInternalDebugUIConstants.ID_OUTLINE_FOLDER_VIEW, IPageLayout.RIGHT, (float) 0.75, layout.getEditorArea());
 		outlineFolder.addView(IPageLayout.ID_OUTLINE);
-		
+
 		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
 		layout.addActionSet(IDebugUIConstants.DEBUG_ACTION_SET);
-		
+
 		setContentsOfShowViewMenu(layout);
 	}
-	
-	/** 
+
+	/**
 	 * Sets the initial contents of the "Show View" menu.
 	 */
 	protected void setContentsOfShowViewMenu(IPageLayout layout) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
index 4e1528f..0c1ddaf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
@@ -4,13 +4,13 @@
  *  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
  *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
  *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
  *     Wind River Systems - Pawel Piech - Added Modules view (bug 211158)
- *     Lars.Vogel <Lars.Vogel@gmail.com> - Bug 430620 
+ *     Lars.Vogel <Lars.Vogel@gmail.com> - Bug 430620
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
@@ -34,14 +34,14 @@
  */
 public class DebugPluginImages {
 
-	/** 
+	/**
 	 * The image registry containing <code>Image</code>s and <code>ImageDescriptor</code>s.
 	 */
 	private static ImageRegistry imageRegistry;
-	
+
 	private static final String ATTR_LAUNCH_CONFIG_TYPE_ICON = "icon"; //$NON-NLS-1$
 	private static final String ATTR_LAUNCH_CONFIG_TYPE_ID = "configTypeID"; //$NON-NLS-1$
-	
+
 	private static String ICONS_PATH = "$nl$/icons/full/"; //$NON-NLS-1$
 
 	// Use IPath and toOSString to build the names to ensure they have the slashes correct
@@ -53,7 +53,7 @@
 	private final static String WIZBAN= ICONS_PATH + "wizban/"; //basic colors - size 16x16 //$NON-NLS-1$
 	private final static String OVR= ICONS_PATH + "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$
 	private final static String VIEW= ICONS_PATH + "eview16/"; // views //$NON-NLS-1$
-	
+
 	/**
 	 * Declare all images
 	 */
@@ -63,16 +63,16 @@
 		declareRegistryImage(IDebugUIConstants.IMG_ACT_RUN, CTOOL + "run_exc.png"); //$NON-NLS-1$
         declareRegistryImage(IDebugUIConstants.IMG_ACT_SYNCED, ELCL + "synced.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_SKIP_BREAKPOINTS, ELCL + "skip_brkp.png"); //$NON-NLS-1$
-		
+
 		//menus
 		declareRegistryImage(IDebugUIConstants.IMG_LCL_CHANGE_VARIABLE_VALUE, ELCL + "changevariablevalue_co.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_CHANGE_VARIABLE_VALUE, DLCL + "changevariablevalue_co.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_CHANGE_VARIABLE_VALUE, ELCL + "changevariablevalue_co.png"); //$NON-NLS-1$
-		
+
 		declareRegistryImage(IDebugUIConstants.IMG_LCL_CONTENT_ASSIST, ELCL + "metharg_obj.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_DLCL_CONTENT_ASSIST, DLCL + "metharg_obj.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_ELCL_CONTENT_ASSIST, ELCL + "metharg_obj.png"); //$NON-NLS-1$
-		
+
 		//Local toolbars
 		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE, ELCL + "toggledetailpane_co.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE_UNDER, ELCL + "det_pane_under.png"); //$NON-NLS-1$
@@ -92,7 +92,7 @@
 		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_RESET_MEMORY, ELCL + "memoryreset_tsk.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_COPY_VIEW_TO_CLIPBOARD, ELCL + "copyviewtoclipboard_tsk.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_PRINT_TOP_VIEW_TAB, ELCL + "printview_tsk.png"); //$NON-NLS-1$
-			
+
 		// disabled local toolbars
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE, DLCL + "toggledetailpane_co.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_UNDER, DLCL + "det_pane_under.png"); //$NON-NLS-1$
@@ -111,7 +111,7 @@
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY, DLCL + "removememory_tsk.png");  //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_RESET_MEMORY, DLCL + "memoryreset_tsk.png");  //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_COPY_VIEW_TO_CLIPBOARD, DLCL + "copyviewtoclipboard_tsk.png");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_PRINT_TOP_VIEW_TAB, DLCL + "printview_tsk.png");  //$NON-NLS-1$		
+		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_PRINT_TOP_VIEW_TAB, DLCL + "printview_tsk.png");  //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DUPLICATE_CONFIG, DLCL + "copy_edit_co.png");   //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_NEW_CONFIG, DLCL + "new_con.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DELETE_CONFIG, DLCL + "rem_co.png"); //$NON-NLS-1$
@@ -129,7 +129,7 @@
         declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_NEXT_THREAD, DLCL+"next_thread_nav.png"); //$NON-NLS-1$
         declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_PREVIOUS_THREAD, DLCL+"prev_thread_nav.png"); //$NON-NLS-1$
         declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_RESTART, DLCL+"restart_co.png"); //$NON-NLS-1$
-        
+
 		// enabled local toolbars
 		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE, ELCL + "toggledetailpane_co.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_UNDER, ELCL + "det_pane_under.png"); //$NON-NLS-1$
@@ -169,7 +169,7 @@
         declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_NEXT_THREAD, ELCL+"next_thread_nav.png"); //$NON-NLS-1$
         declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_PREVIOUS_THREAD, ELCL+"prev_thread_nav.png"); //$NON-NLS-1$
         declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_RESTART, ELCL+"restart_co.png"); //$NON-NLS-1$
-        
+
 		//Object
 		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_DEBUG, OBJECT + "ldebug_obj.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_RUN, OBJECT + "lrun_obj.png"); //$NON-NLS-1$
@@ -206,13 +206,13 @@
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY, OBJECT + "memory_obj.png");  //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_BREAKPOINT_TYPE, OBJECT + "brkp_type.png");  //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_LAUNCH_GROUP, OBJECT + "lgroup_obj.png"); //$NON-NLS-1$
-		
+
 		// tabs
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB, OBJECT + "common_tab.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_REFRESH_TAB, OBJECT + "refresh_tab.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_PERSPECTIVE_TAB, OBJECT + "persp_tab.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_OBJS_ENVIRONMENT, OBJECT + "environment_obj.png"); //$NON-NLS-1$
-		
+
 		// Views
 		declareRegistryImage(IDebugUIConstants.IMG_VIEW_BREAKPOINTS, VIEW + "breakpoint_view.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_VIEW_EXPRESSIONS, VIEW + "watchlist_view.png"); //$NON-NLS-1$
@@ -220,10 +220,10 @@
 		declareRegistryImage(IDebugUIConstants.IMG_VIEW_VARIABLES, VIEW + "variable_view.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_CVIEW_MEMORY_VIEW, VIEW + "memory_view.png");  //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_CVIEW_MODULES_VIEW, VIEW + "module_view.png"); //$NON-NLS-1$
-		
+
 		// Perspectives
 		declareRegistryImage(IDebugUIConstants.IMG_PERSPECTIVE_DEBUG, VIEW + "debug_persp.png"); //$NON-NLS-1$
-		
+
 		//Wizard Banners
 		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_DEBUG, WIZBAN + "debug_wiz.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_RUN, WIZBAN + "run_wiz.png"); //$NON-NLS-1$
@@ -231,12 +231,12 @@
 		declareRegistryImage(IInternalDebugUIConstants.IMG_WIZBAN_EXPORT_BREAKPOINTS, WIZBAN + "export_brkpts_wizban.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_WIZBAN_IMPORT_CONFIGS, WIZBAN + "import_config_wizban.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_WIZBAN_EXPORT_CONFIGS, WIZBAN + "export_config_wizban.png"); //$NON-NLS-1$
-		
+
 		// Overlays
 		declareRegistryImage(IDebugUIConstants.IMG_OVR_ERROR, OVR + "error.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT, OVR + "transparent.png"); //$NON-NLS-1$
 		declareRegistryImage(IDebugUIConstants.IMG_OVR_SKIP_BREAKPOINT, OVR + "skip_breakpoint_ov.png"); //$NON-NLS-1$
-				
+
 		//source location
 		declareRegistryImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU, ELCL + "edtsrclkup_co.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU_DLCL, DLCL + "edtsrclkup_co.png"); //$NON-NLS-1$
@@ -246,7 +246,7 @@
 		declareRegistryImage(IInternalDebugUIConstants.IMG_EDIT_SRC_LOC_WIZ, WIZBAN + "edtsrclkup_wiz.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_ADD_SRC_DIR_WIZ, WIZBAN + "adddir_wiz.png"); //$NON-NLS-1$
 		declareRegistryImage(IInternalDebugUIConstants.IMG_EDIT_SRC_DIR_WIZ, WIZBAN + "editdir_wiz.png"); //$NON-NLS-1$
-		
+
 		// launch configuration types
 		//try to get the images from the config types themselves, cache those that could not be found
 		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES);
@@ -261,8 +261,8 @@
 			if (configTypeID == null) {
 				// bug 12652
 				configTypeID = configElement.getAttribute(IConfigurationElementConstants.TYPE);
-			}			
-			imageRegistry.put(configTypeID, descriptor);				
+			}
+			imageRegistry.put(configTypeID, descriptor);
 		}
 	}
 
@@ -284,7 +284,7 @@
 		}
 		imageRegistry.put(key, desc);
 	}
-	
+
 	/**
 	 * Returns the ImageRegistry.
 	 */
@@ -294,10 +294,10 @@
 		}
 		return imageRegistry;
 	}
-	
+
 	/**
 	 * Returns whether the image registry has been initialized.
-	 * 
+	 *
 	 * @return whether the image registry has been initialized
 	 */
 	public synchronized static boolean isInitialized() {
@@ -347,7 +347,7 @@
 	public static Image getImage(String key) {
 		return getImageRegistry().get(key);
 	}
-	
+
 	/**
 	 * Returns the <code>ImageDescriptor</code> identified by the given key,
 	 * or <code>null</code> if it does not exist.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
index 008d024..5997120 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
- 
+
 import org.eclipse.core.runtime.IAdapterFactory;
 
 import org.eclipse.debug.core.model.IBreakpoint;
@@ -33,25 +33,25 @@
 		if (adapterType.isInstance(obj)) {
 			return (T) obj;
 		}
-		
+
 		if (adapterType == IPersistableElement.class) {
 			if (obj instanceof IBreakpoint) {
 			    return (T) new BreakpointPersistableElementAdapter((IBreakpoint)obj);
             }
 		}
-        
+
         if (adapterType == IWorkbenchAdapter.class) {
             if (obj instanceof IBreakpointContainer) {
                 return (T) new BreakpointContainerWorkbenchAdapter();
             }
         }
-		
+
         if (adapterType == IWorkbenchAdapter2.class) {
             if (obj instanceof IBreakpointContainer) {
                 return (T) new BreakpointContainerWorkbenchAdapter();
             }
         }
-        
+
 		return null;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
index 4cb94c2..c1020bc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.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 - Initial API and implementation
  *  Wind River Systems - Ted Williams - [Memory View] Memory View: Workflow Enhancements (Bug 215432)
@@ -290,12 +290,12 @@
 	public static String WorkingDirectoryBlock_20;
 	public static String WorkingDirectoryBlock_1;
 	public static String WorkingDirectoryBlock_Exception_occurred_reading_configuration___15;
-		
+
 	//
 	// Elements
-	// 
+	//
     public static String ExpressionManagerContentProvider_1;
-	
+
 	static {
 		// load message values from bundle file
 		NLS.initializeMessages(BUNDLE_NAME, DebugUIMessages.class);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
index 458546c..a8ae9ca 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
@@ -13,7 +13,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
- 
+
 import java.lang.reflect.InvocationTargetException;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -118,17 +118,17 @@
 
 /**
  * The Debug UI Plug-in.
- * 
+ *
  * Since 3.3 this plug-in registers an <code>ISaveParticipant</code>, allowing this plug-in to participate
  * in workspace persistence life-cycles
- * 
+ *
  * @see ISaveParticipant
  * @see ILaunchListener
  * @see LaunchConfigurationManager
  * @see PerspectiveManager
  */
 public class DebugUIPlugin extends AbstractUIPlugin implements ILaunchListener, DebugOptionsListener {
-	
+
 	public static boolean DEBUG = false;
 	public static boolean DEBUG_BREAKPOINT_DELTAS = false;
 	public static boolean DEBUG_MODEL = false;
@@ -141,7 +141,7 @@
 	public static boolean DEBUG_STATE_SAVE_RESTORE = false;
 	public static String DEBUG_PRESENTATION_ID = null;
 	public static boolean DEBUG_DYNAMIC_LOADING = false;
-	
+
 	static final String DEBUG_FLAG = "org.eclipse.debug.ui/debug"; //$NON-NLS-1$
 	static final String DEBUG_BREAKPOINT_DELTAS_FLAG = "org.eclipse.debug.ui/debug/viewers/breakpointDeltas"; //$NON-NLS-1$
 	static final String DEBUG_MODEL_FLAG = "org.eclipse.debug.ui/debug/viewers/model"; //$NON-NLS-1$
@@ -159,12 +159,12 @@
 	 * @since 3.8
 	 */
 	private static DebugTrace fgDebugTrace;
-	
+
 	/**
 	 * The singleton debug plug-in instance
 	 */
 	private static DebugUIPlugin fgDebugUIPlugin = null;
-	
+
 	/**
 	 * A utility presentation used to obtain labels
 	 */
@@ -174,7 +174,7 @@
 	 * Default label provider
 	 */
 	private static DefaultLabelProvider fgDefaultLabelProvider;
-	
+
 	/**
 	 * Launch configuration attribute - used by the stand-in launch
 	 * config working copies that are created while a launch is waiting
@@ -182,48 +182,48 @@
 	 * to access the original config if the user asks to edit it.
 	 */
 	public static String ATTR_LAUNCHING_CONFIG_HANDLE= getUniqueIdentifier() + "launching_config_handle"; //$NON-NLS-1$
-	
+
 	/**
 	 * Singleton console document manager
 	 */
 	private ProcessConsoleManager fProcessConsoleManager = null;
-	
+
 	/**
 	 * Perspective manager
 	 */
 	private PerspectiveManager fPerspectiveManager = null;
-	
+
 	/**
 	 * Launch configuration manager
 	 */
 	private LaunchConfigurationManager fLaunchConfigurationManager = null;
-    
+
 	/**
 	 * Context launching manager
 	 */
 	private LaunchingResourceManager fContextLaunchingManager = null;
-	
+
     /**
      * Image descriptor registry used for images with common overlays.
-     * 
+     *
      * @since 3.1
      */
     private ImageDescriptorRegistry fImageDescriptorRegistry;
-    
+
     /**
      * A set of <code>ISaveParticipant</code>s that want to contribute to saving via this plugin
-     * 
+     *
      * @since 3.3
      */
 	private Set<ISaveParticipant> fSaveParticipants = new HashSet<ISaveParticipant>();
-    
+
 	/**
 	 * Theme listener.
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	private IPropertyChangeListener fThemeListener;
-    
+
     /**
      * Dummy launch node representing a launch that is waiting
      * for a build to finish before proceeding. This node exists
@@ -249,7 +249,7 @@
             fJob.cancel();
         }
     }
-	
+
 	/**
 	 * Constructs the debug UI plug-in
 	 */
@@ -257,7 +257,7 @@
 		super();
 		fgDebugUIPlugin= this;
 	}
-	
+
 	/**
 	 * Prints the given message to System.out and to the OSGi tracing (if started)
 	 * @param option the option or <code>null</code>
@@ -271,17 +271,17 @@
 			fgDebugTrace.trace(option, message, throwable);
 		}
 	}
-	
+
 	/**
 	 * Prints the given message to System.out and to the OSGi tracing (if enabled)
-	 * 
+	 *
 	 * @param message the message or <code>null</code>
 	 * @since 3.8
 	 */
 	public static void trace(String message) {
 		trace(null, message, null);
 	}
-	
+
 	/**
 	 * Returns the singleton instance of the debug plug-in.
 	 * @return the singleton {@link DebugUIPlugin}
@@ -292,7 +292,7 @@
 		}
 		return fgDebugUIPlugin;
 	}
-	
+
 	/**
 	 * Convenience method which returns the unique identifier of this plug-in.
 	 * @return the identifier of the plug-in
@@ -311,7 +311,7 @@
 		}
 		return fgPresentation;
 	}
-	
+
 	/**
 	 * Returns the launch configuration manager
 	 * @return the launch configuration manager
@@ -322,12 +322,12 @@
 		}
 		return fLaunchConfigurationManager;
 	}
-	
+
 	/**
 	 * Returns the context launching resource manager. If one has not been created prior to this
 	 * method call, a new manager is created and initialized, by calling its startup() method.
 	 * @return the context launching resource manager
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public LaunchingResourceManager getLaunchingResourceManager() {
@@ -337,21 +337,21 @@
 		}
 		return fContextLaunchingManager;
 	}
-	
+
 	/**
 	 * Returns the currently active workbench window or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return the currently active workbench window or <code>null</code>
 	 */
 	public static IWorkbenchWindow getActiveWorkbenchWindow() {
 		return getDefault().getWorkbench().getActiveWorkbenchWindow();
 	}
-	
+
 	/**
 	 * Returns the currently active workbench window shell or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return the currently active workbench window shell or <code>null</code>
 	 */
 	public static Shell getShell() {
@@ -413,7 +413,7 @@
 		}
 		return ret[0];
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
 	 */
@@ -431,9 +431,9 @@
             if (fProcessConsoleManager != null) {
                 fProcessConsoleManager.shutdown();
             }
-            
+
             BreakpointOrganizerManager.getDefault().shutdown();
-            
+
 			if (fPerspectiveManager != null) {
 				fPerspectiveManager.shutdown();
 			}
@@ -443,36 +443,36 @@
 			if(fContextLaunchingManager != null) {
 				fContextLaunchingManager.shutdown();
 			}
-	
+
 			ColorManager.getDefault().dispose();
-			
+
 			if (fgPresentation != null) {
 				fgPresentation.dispose();
 			}
-            
+
             if (fImageDescriptorRegistry != null) {
                 fImageDescriptorRegistry.dispose();
             }
-            
+
             if (fgDefaultLabelProvider != null) {
             	fgDefaultLabelProvider.dispose();
             }
-            
+
             SourceLookupFacility.shutdown();
-			
+
 			DebugElementHelper.dispose();
-			
+
 			fSaveParticipants.clear();
-			
+
 			ResourcesPlugin.getWorkspace().removeSaveParticipant(getUniqueIdentifier());
-			
+
 			if (fThemeListener != null) {
 				if (PlatformUI.isWorkbenchRunning()) {
 					PlatformUI.getWorkbench().getThemeManager().removePropertyChangeListener(fThemeListener);
 				}
 				fThemeListener= null;
 			}
-			
+
 		} finally {
 			super.stop(context);
 		}
@@ -488,19 +488,19 @@
 	public boolean addSaveParticipant(ISaveParticipant participant) {
 		return fSaveParticipants.add(participant);
 	}
-	
+
 	/**
 	 * Removes the specified <code>ISaveParticipant</code> from the current listing of registered
 	 * participants
 	 * @param participant the save participant to remove
 	 * @return true if the set contained the specified element
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public boolean removeSaveParticipant(ISaveParticipant participant) {
 		return fSaveParticipants.remove(participant);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
 	 */
@@ -545,14 +545,14 @@
 						}
 					}
 				});
-		
+
 		// make sure the perspective manager is created
 		// and be the first debug event listener
 		fPerspectiveManager = new PerspectiveManager();
 		fPerspectiveManager.startup();
-		
+
 		getLaunchingResourceManager();
-		
+
 		// Listen to launches to lazily create "launch processors"
 		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
 		ILaunch[] launches = launchManager.getLaunches();
@@ -563,12 +563,12 @@
 			// if no launches, wait for first launch to initialize processors
 			launchManager.addLaunchListener(this);
 		}
-        
+
         // start the breakpoint organizer manager
         BreakpointOrganizerManager.getDefault();
-				
+
 		getLaunchConfigurationManager().startup();
-		
+
 		if (PlatformUI.isWorkbenchRunning()) {
 			fThemeListener= new IPropertyChangeListener() {
 
@@ -581,7 +581,7 @@
 			};
 			PlatformUI.getWorkbench().getThemeManager().addPropertyChangeListener(fThemeListener);
 		}
-		
+
 		// do the asynchronous exec last - see bug 209920
 		getStandardDisplay().asyncExec(
 				new Runnable() {
@@ -619,7 +619,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Utility method with conventions
 	 * @param shell the shell to open the dialog on
@@ -635,7 +635,7 @@
 		}
 		ErrorDialog.openError(shell, title, message, s);
 	}
-	
+
 	/**
 	 * Utility method with conventions
 	 * @param shell the shell to open the dialog on
@@ -661,25 +661,25 @@
 
 	/**
 	 * Logs the specified status with this plug-in's log.
-	 * 
+	 *
 	 * @param status status to log
 	 */
 	public static void log(IStatus status) {
 		getDefault().getLog().log(status);
 	}
-	
+
 	/**
 	 * Logs the specified throwable with this plug-in's log.
-	 * 
+	 *
 	 * @param t throwable to log
 	 */
 	public static void log(Throwable t) {
 		log(newErrorStatus("Error logged from Debug UI: ", t)); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Logs an internal error with the specified message.
-	 * 
+	 *
 	 * @param message the error message to log
 	 */
 	public static void logErrorMessage(String message) {
@@ -687,7 +687,7 @@
 		// be due to the resource bundle itself
 		log(newErrorStatus("Internal message logged from Debug UI: " + message, null)); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Returns a new error status for this plug-in with the given message
 	 * @param message the message to be included in the status
@@ -697,7 +697,7 @@
 	public static IStatus newErrorStatus(String message, Throwable exception) {
 		return new Status(IStatus.ERROR, getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, message, exception);
 	}
-	
+
 	/**
      * Open the launch configuration dialog on the specified launch
      * configuration. The dialog displays the tabs for a single configuration
@@ -716,7 +716,7 @@
      * @param showCancel if the cancel button should be shown in the particular instance of the dialog
      * @return the return code from opening the launch configuration dialog -
      *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-     * 
+     *
      * @since 3.3
      *
      */
@@ -729,7 +729,7 @@
     	}
     	return Window.CANCEL;
     }
-	
+
     /**
      * Open the launch configuration dialog on the specified launch
      * configuration. The dialog displays the tabs for a single configuration
@@ -750,9 +750,9 @@
      * @param setDefaults whether to set default values in the configuration
      * @return the return code from opening the launch configuration dialog -
      *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-     * 
+     *
      * @since 3.3
-     * 
+     *
      */
 	public static int openLaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier, Set<String> reservednames, IStatus status, boolean setDefaults) {
     	LaunchGroupExtension group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier);
@@ -764,7 +764,7 @@
     	}
     	return Window.CANCEL;
     }
-    
+
     /**
      * Opens the {@link LaunchConfigurationsDialog} on the given selection for the given group. A status
      * can be provided or <code>null</code> and the dialog can initialize the given {@link ILaunchConfiguration}
@@ -787,12 +787,12 @@
     	}
     	return Window.CANCEL;
     }
-    
+
 	/**
 	 * Save all dirty editors in the workbench.
 	 * Returns whether the operation succeeded.
 	 * @param confirm if the user should be asked before saving
-	 * 
+	 *
 	 * @return whether all saving was completed
 	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
 	 * of resources that are only involved in the current launch, no longer the entire workspace
@@ -804,12 +804,12 @@
 		}
 		return PlatformUI.getWorkbench().saveAllEditors(confirm);
 	}
-	
+
 	/**
 	 * Save & build the workspace according to the user-specified preferences.  Return <code>false</code> if
 	 * any problems were encountered, <code>true</code> otherwise.
 	 * @return <code>false</code> if any problems were encountered, <code>true</code> otherwise.
-	 * 
+	 *
 	 * @deprecated this method is no longer to be used. It is an artifact from 2.0, and all saving is now done with the
 	 * launch delegate <code>LaunchConfigurationDelegate</code>
 	 */
@@ -818,7 +818,7 @@
 		boolean status = true;
 		String saveDirty = getDefault().getPreferenceStore().getString(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
 		boolean buildBeforeLaunch = getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH);
-		
+
 		// If we're ignoring dirty editors, check if we need to build
 		if (saveDirty.equals(MessageDialogWithToggle.NEVER)) {
 			if (buildBeforeLaunch) {
@@ -830,10 +830,10 @@
 				status = doBuild();
 			}
 		}
-				
+
 		return status;
 	}
-	
+
 	private static boolean doBuild() {
 		try {
 			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
@@ -858,15 +858,15 @@
 		}
 		return true;
 	}
-	
+
 	/**
 	 * Returns the workbench's display.
-	 * @return the standard display 
+	 * @return the standard display
 	 */
 	public static Display getStandardDisplay() {
 		return PlatformUI.getWorkbench().getDisplay();
 	}
-	
+
 	/**
 	 * Returns the a color based on the type of output.
 	 * Valid types:
@@ -884,7 +884,7 @@
 	/**
 	 * Returns the process console manager. The manager will be created lazily on
 	 * the first access.
-	 * 
+	 *
 	 * @return ProcessConsoleManager
 	 */
 	public ProcessConsoleManager getProcessConsoleManager() {
@@ -893,7 +893,7 @@
 		}
 		return fProcessConsoleManager;
 	}
-	
+
 	/**
 	 * Returns a Document that can be used to build a DOM tree
 	 * @return the Document
@@ -907,11 +907,11 @@
 		Document doc= docBuilder.newDocument();
 		return doc;
 	}
-		
+
 	/**
 	 * When the first launch is added, instantiate launch processors,
 	 * and stop listening to launch notifications.
-	 * 
+	 *
 	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
 	 */
 	@Override
@@ -919,7 +919,7 @@
 		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
 		initializeLaunchListeners();
 	}
-	
+
 	/**
 	 * Creates/starts launch listeners after a launch has been added.
 	 * <p>
@@ -934,10 +934,10 @@
 		getProcessConsoleManager().startup();
 		SourceLookupManager.getDefault();
 	}
-	
+
 	/**
 	 * Returns the perspective manager.
-	 * 
+	 *
 	 * @return the singleton {@link PerspectiveManager}
 	 */
 	public PerspectiveManager getPerspectiveManager() {
@@ -957,18 +957,18 @@
 	public void launchRemoved(ILaunch launch) {}
 
 	/**
-	 * Formats the given key stroke or click name and the modifier keys 
-	 * to a key binding string that can be used in action texts. 
-	 * 
+	 * Formats the given key stroke or click name and the modifier keys
+	 * to a key binding string that can be used in action texts.
+	 *
 	 * @param modifierKeys the modifier keys
 	 * @param keyOrClick a key stroke or click, e.g. "Double Click"
 	 * @return the formatted keyboard shortcut string, e.g. "Shift+Double Click"
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	public static final String formatKeyBindingString(int modifierKeys, String keyOrClick) {
 		// this should actually all be delegated to KeyStroke class
-		return KeyStroke.getInstance(modifierKeys, KeyStroke.NO_KEY).format() + keyOrClick; 
+		return KeyStroke.getInstance(modifierKeys, KeyStroke.NO_KEY).format() + keyOrClick;
 	}
 
 	public static boolean DEBUG_TEST_PRESENTATION_ID(IPresentationContext context) {
@@ -981,7 +981,7 @@
 	/**
      * Return the ILaunch associated with a model element, or null if there is
      * no such association.
-     * 
+     *
      * @param element the model element
      * @return the ILaunch associated with the element, or null.
      * @since 3.6
@@ -1001,11 +1001,11 @@
         }
         return launch;
     }
-    
+
 
     /**
 	 * Save dirty editors before launching, according to preferences.
-	 * 
+	 *
 	 * @return whether to proceed with launch
 	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
 	 * of resources that are only involved in the current launch, no longer the entire workspace
@@ -1018,12 +1018,12 @@
 		}
 		return saveAllEditors(saveDirty.equals(MessageDialogWithToggle.PROMPT));
 	}
-	
+
 	/**
 	 * Builds the workspace (according to preferences) and launches the given launch
 	 * configuration in the specified mode. May return null if auto build is in process and
 	 * user cancels the launch.
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode - run or debug
 	 * @param monitor progress monitor
@@ -1032,7 +1032,7 @@
 	 */
 	public static ILaunch buildAndLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
 		boolean buildBeforeLaunch = getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH);
-		
+
 		monitor.beginTask(IInternalDebugCoreConstants.EMPTY_STRING, 1);
 		try
 		{
@@ -1046,13 +1046,13 @@
 			monitor.done();
 		}
 	}
-	
+
 	/**
 	 * Saves and builds the workspace according to current preference settings and
 	 * launches the given launch configuration in the specified mode in the
 	 * foreground with a progress dialog. Reports any exceptions that occur
 	 * in an error dialog.
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode
 	 * @since 3.0
@@ -1061,13 +1061,13 @@
 		final IJobManager jobManager = Job.getJobManager();
 		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
 		boolean wait = false;
-		
+
 		if (jobManager.find(ResourcesPlugin.FAMILY_AUTO_BUILD).length > 0 || jobManager.find(ResourcesPlugin.FAMILY_MANUAL_BUILD).length >0) {
 			String waitForBuild = store.getString(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD);
 
 			if (waitForBuild.equals(MessageDialogWithToggle.PROMPT)) {
 				MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(getShell(), DebugUIMessages.DebugUIPlugin_23, DebugUIMessages.DebugUIPlugin_24, null, false, store, IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD); //
-				
+
 				switch (dialog.getReturnCode()) {
 					case IDialogConstants.CANCEL_ID:
 						return;
@@ -1143,7 +1143,7 @@
 
 		}
 	}
-	
+
 	private static void handleInvocationTargetException(InvocationTargetException e, ILaunchConfiguration configuration, String mode) {
 		Throwable targetException = e.getTargetException();
 		Throwable t = e;
@@ -1168,13 +1168,13 @@
 		}
 		DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.DebugUITools_Error_1, DebugUIMessages.DebugUITools_Exception_occurred_during_launch_2, t); //
 	}
-	
+
 	/**
 	 * Saves and builds the workspace according to current preference settings and
 	 * launches the given launch configuration in the specified mode in a background
 	 * Job with progress reported via the Job. Exceptions are reported in the Progress
 	 * view.
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode
 	 * @since 3.0
@@ -1276,7 +1276,7 @@
 				finally	{
 					monitor.done();
 				}
-				
+
 				return Status.OK_STATUS;
 			}
 		};
@@ -1287,7 +1287,7 @@
 		job.setPriority(Job.INTERACTIVE);
 		job.setProperty(IProgressConstants2.SHOW_IN_TASKBAR_ICON_PROPERTY, Boolean.TRUE);
 		job.setName(MessageFormat.format(DebugUIMessages.DebugUIPlugin_25, new Object[] {configuration.getName()}));
-		
+
 		if (wait) {
 			progressService.showInDialog(workbench.getActiveWorkbenchWindow().getShell(), job);
 		}
@@ -1297,7 +1297,7 @@
 	/**
 	 * Returns the label with any accelerators removed.
 	 * @param label the label to remove accelerators from
-	 * 
+	 *
 	 * @return label without accelerators
 	 */
     public static String removeAccelerators(String label) {
@@ -1322,12 +1322,12 @@
         }
         return title;
     }
-    
+
 	/**
 	 * Returns the label with any DBCS accelerator moved to the end of the string.
 	 * See bug 186921.
 	 * @param label the label to be adjusted
-	 * 
+	 *
 	 * @return label with moved accelerator
 	 */
     public static String adjustDBCSAccelerator(String label) {
@@ -1357,7 +1357,7 @@
     /**
      * Returns the image descriptor registry used for this plug-in.
      * @return the singleton {@link ImageDescriptorRegistry}
-     * 
+     *
      * @since 3.1
      */
     public static ImageDescriptorRegistry getImageDescriptorRegistry() {
@@ -1366,11 +1366,11 @@
         }
         return getDefault().fImageDescriptorRegistry;
     }
-    
+
     /**
      * Returns an image descriptor for the icon referenced by the given attribute
      * and configuration element, or <code>null</code> if none.
-     * 
+     *
      * @param element the configuration element
      * @param attr the name of the attribute
      * @return image descriptor or <code>null</code>
@@ -1395,11 +1395,11 @@
 		}
 		return null;
     }
-    
+
     /**
      * Returns an image descriptor for the icon referenced by the given path
      * and contributor name, or <code>null</code> if none.
-     * 
+     *
      * @param name the name of the contributor
      * @param path the path of the icon (from the configuration element)
      * @return image descriptor or <code>null</code>
@@ -1415,7 +1415,7 @@
 		}
 		return null;
     }
-    
+
     /**
 	 * Performs extra filtering for launch configurations based on the preferences set on the
 	 * Launch Configurations page
@@ -1441,12 +1441,12 @@
 		}
 		return ret;
 	}
-	
+
 	/**
 	 * Creates a new {@link IEvaluationContext} initialized with the current platform state if the
 	 * {@link IEvaluationService} can be acquired, otherwise the new context is created with no
 	 * parent context
-	 * 
+	 *
 	 * @param defaultvar the default variable for the new context
 	 * @return a new {@link IEvaluationContext}
 	 * @since 3.7
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
index 2d3a1d4..f9f0a43 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPreferenceInitializer.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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -54,23 +54,23 @@
 		prefs.setDefault(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_TRIGGER_BREAKPOINTS, true);
 		prefs.setDefault(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_BREAKPOINTS_FROM_CONTAINER, true);
 		prefs.setDefault(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_EXPRESSIONS, true);
-		
+
 		/**
 		 * Context launching preferences. Appear on the the Launching preference page
-		 * 
+		 *
 		 * @since 3.3.0
 		 */
 		prefs.setDefault(IInternalDebugUIConstants.PREF_USE_CONTEXTUAL_LAUNCH, true);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_LAUNCH_PARENT_PROJECT, false);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_LAUNCH_LAST_IF_NOT_LAUNCHABLE, true);
-		
+
 		prefs.setDefault(IInternalDebugUIConstants.PREF_TERMINATE_AND_RELAUNCH_LAUNCH_ACTION, false);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_BREAKPOINT_SORTING_ORDER, IInternalDebugUIConstants.BREAKPOINT_SORTING_ORDER_NAME);
 
 		//View Management preference page
 		prefs.setDefault(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES, IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES_DEFAULT);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_TRACK_VIEWS, true);
-		
+
 		//ConsolePreferencePage
 		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_WRAP, false);
 		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_WIDTH, 80);
@@ -91,19 +91,19 @@
 		//Launching Preference Page
 		prefs.setDefault(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, 10);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_REMOVE_FROM_LAUNCH_HISTORY, true);
-		
+
 		//VariableViewsPreferencePage
 		prefs.setDefault(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
 		PreferenceConverter.setDefault(prefs, IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR, new RGB(255, 0, 0));
 		prefs.setDefault(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP, false);
 		prefs.setDefault(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH, 10000);
-		
+
 		//Registers View
 		prefs.setDefault(IDebugPreferenceConstants.REGISTERS_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
-		
+
 		// Breakpoints view default settings
 		prefs.setDefault(IDebugPreferenceConstants.BREAKPOINTS_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
-		
+
 		// Expression View
 		prefs.setDefault(IDebugPreferenceConstants.EXPRESSIONS_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
 
@@ -115,37 +115,37 @@
 		prefs.setDefault(IDebugUIConstants.ID_EXPRESSION_VIEW + '+' + "org.eclipse.debug.ui.ShowDetailPaneAction", true); //$NON-NLS-1$
 		prefs.setDefault(IDebugUIConstants.ID_VARIABLE_VIEW + '+' + "org.eclipse.debug.ui.ShowTypeNamesAction", false); //$NON-NLS-1$
 		prefs.setDefault(IDebugUIConstants.ID_EXPRESSION_VIEW + '+' + "org.eclipse.debug.ui.ShowTypeNamesAction", false);		 //$NON-NLS-1$
-		
+
 		// set default for column size preference
 		prefs.setDefault(IDebugPreferenceConstants.PREF_COLUMN_SIZE,
 				IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
-		
+
 		// set default for row size preference
 		prefs.setDefault(IDebugPreferenceConstants.PREF_ROW_SIZE,
 				IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
-		
+
 		// set default padded string
 		prefs.setDefault(IDebugUIConstants.PREF_PADDED_STR,
 				IDebugPreferenceConstants.PREF_PADDED_STR_DEFAULT);
-		
+
 		// set default code page for ascii and ebcdic
 		prefs.setDefault(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE,
 				IDebugPreferenceConstants.DEFAULT_ASCII_CP);
 		prefs.setDefault(IDebugUIConstants.PREF_DEFAULT_EBCDIC_CODE_PAGE,
 				IDebugPreferenceConstants.DEFAULT_EBCDIC_CP);
-		
+
 		if (MemoryViewUtil.isLinuxGTK()) {
 			prefs.setDefault(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM, false);
 		}
 		else {
 			prefs.setDefault(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM, true);
 		}
-		
+
 		prefs.setDefault(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE, IDebugPreferenceConstants.DEFAULT_PAGE_SIZE);
 		prefs.setDefault(IDebugPreferenceConstants.PREF_RESET_MEMORY_BLOCK, IDebugPreferenceConstants.RESET_VISIBLE);
 		prefs.setDefault(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PRE_BUFFER_SIZE,IDebugPreferenceConstants.DEFAULT_PAGE_SIZE);
 		prefs.setDefault(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE,IDebugPreferenceConstants.DEFAULT_PAGE_SIZE);
-		
+
 		/**
 		 * new launch configuration filtering options
 		 * @since 3.2
@@ -154,10 +154,10 @@
 		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED, true);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS, false);
 		prefs.setDefault(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES, false);
-		
+
 		/**
 		 * Debug view mode default
-		 * 
+		 *
 		 * @since 3.5
 		 */
         prefs.setDefault(IDebugPreferenceConstants.DEBUG_VIEW_MODE, IDebugPreferenceConstants.DEBUG_VIEW_MODE_AUTO);
@@ -165,7 +165,7 @@
 
 	/**
 	 * Returns the RGB for the given key in the given color registry.
-	 * 
+	 *
 	 * @param registry the color registry
 	 * @param key the key for the constant in the registry
 	 * @param defaultRGB the default RGB if no entry is found
@@ -176,19 +176,19 @@
 		if (registry == null) {
 			return defaultRGB;
 		}
-			
+
 		RGB rgb= registry.getRGB(key);
 		if (rgb != null) {
 			return rgb;
 		}
-		
+
 		return defaultRGB;
 	}
 
 	/**
 	 * Sets the default value and fires a property
 	 * change event if necessary.
-	 * 
+	 *
 	 * @param store	the preference store
 	 * @param key the preference key
 	 * @param newValue the new value
@@ -203,9 +203,9 @@
 			if (store.isDefault(key)) {
 				oldValue= PreferenceConverter.getDefaultColor(store, key);
 			}
-		
+
 			PreferenceConverter.setDefault(store, key, newValue);
-		
+
 			if (oldValue != null && !oldValue.equals(newValue)) {
 				store.firePropertyChangeEvent(key, oldValue, newValue);
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
index e6e5299..c25826f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *     Valentin Ciocoi - Bug 414994 Guard against out of bounds exception when handling escaped characters in DefaultLabelProvider 
+ *     Valentin Ciocoi - Bug 414994 Guard against out of bounds exception when handling escaped characters in DefaultLabelProvider
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
@@ -57,7 +57,7 @@
 import com.ibm.icu.text.MessageFormat;
 
 public class DefaultLabelProvider implements ILabelProvider {
-	
+
 	/**
 	 * Maps image descriptors to images.
 	 */
@@ -77,7 +77,7 @@
 			if (de != null) {
 				ImageDescriptor descriptor= de.getImageDescriptor(element);
 				if( descriptor != null) {
-					return getImage(descriptor);					
+					return getImage(descriptor);
 				}
 			}
 			return null;
@@ -87,11 +87,11 @@
 		}
 		return DebugPluginImages.getImage(key);
 	}
-	
+
 	/**
 	 * Returns an image created from the given image descriptor or <code>null</code>.
 	 * Caches and reuses images.
-	 * 
+	 *
 	 * @param descriptor image descriptor
 	 * @return image or <code>null</code>
 	 */
@@ -104,9 +104,9 @@
 		if (image != null) {
 			fImages.put(descriptor, image);
 		}
-		return image;						
+		return image;
 	}
-	
+
 	/**
 	 * Returns the key (<code>String</code>) of the default image
 	 * appropriate for the given element or <code>null</code>
@@ -123,7 +123,7 @@
 			} else if (element instanceof IVariable || element instanceof IValue) {
 				if (element instanceof IndexedVariablePartition) {
 					return IInternalDebugUIConstants.IMG_OBJS_ARRAY_PARTITION;
-				} 
+				}
 				return IDebugUIConstants.IMG_OBJS_VARIABLE;
 			} else if (element instanceof IStackFrame) {
 				if (((IStackFrame)element).getThread().isSuspended()) {
@@ -159,7 +159,7 @@
 			} else if (element instanceof IProcess) {
 				if (((IProcess) element).isTerminated()) {
 					return IDebugUIConstants.IMG_OBJS_OS_PROCESS_TERMINATED;
-				} 
+				}
 				return IDebugUIConstants.IMG_OBJS_OS_PROCESS;
 			} else if (element instanceof ILaunch) {
 				// determine the image from the launch config type
@@ -180,7 +180,7 @@
 					return IDebugUIConstants.IMG_OBJS_LAUNCH_RUN_TERMINATED;
 				} else {
 					return IDebugUIConstants.IMG_OBJS_LAUNCH_RUN;
-				}	
+				}
 			} else if (element instanceof ILaunchConfigurationType) {
 				return ((ILaunchConfigurationType)element).getIdentifier();
 			} else if (element instanceof ILaunchConfiguration) {
@@ -192,7 +192,7 @@
 				}
 			}
 		}
-		return null;		
+		return null;
 	}
 
 	/**
@@ -220,7 +220,7 @@
 				} else if (element instanceof IRegisterGroup) {
 					label.append(getRegisterGroupText((IRegisterGroup)element));
 				} else if (element instanceof IValue) {
-					label.append(((IValue)element).getValueString()); 
+					label.append(((IValue)element).getValueString());
 				}
 			} else {
 				if (element instanceof IMarker) {
@@ -258,25 +258,25 @@
 						int exit = process.getExitValue();
 						terminatedMessage = MessageFormat.format(DebugUIMessages.DefaultLabelProvider_16, new Object[] { Integer.valueOf(exit).toString() });
 					} else {
-						terminatedMessage= DebugUIMessages.DefaultLabelProvider_1; 
+						terminatedMessage= DebugUIMessages.DefaultLabelProvider_1;
 					}
 					label.insert(0, terminatedMessage);
 				}
 			} else if (element instanceof IDisconnect) {
 				if (((IDisconnect) element).isDisconnected()) {
-					label.insert(0, DebugUIMessages.DefaultLabelProvider__disconnected__1); 
+					label.insert(0, DebugUIMessages.DefaultLabelProvider__disconnected__1);
 				}
 			}
 		} catch (DebugException e) {
 			DebugUIPlugin.log(e);
-			label.append(DebugUIMessages.DefaultLabelProvider__unknown__1); 
+			label.append(DebugUIMessages.DefaultLabelProvider__unknown__1);
 		}
 		return label.toString();
 	}
-	
+
 	/**
 	 * Returns default label for a breakpoint.
-	 * 
+	 *
 	 * @param breakpoint
 	 * @return default label for a breakpoint
 	 */
@@ -303,16 +303,16 @@
 				return de.getLabel(object);
 			}
 		}
-		return DebugUIMessages.DefaultLabelProvider__unknown__1; 
+		return DebugUIMessages.DefaultLabelProvider__unknown__1;
 	}
-	
+
 	/**
 	 * Used to render launch history items in the re-launch drop downs
 	 */
 	protected String getLaunchText(ILaunch launch) {
 		if (launch.getLaunchConfiguration() == null || (!launch.getLaunchConfiguration().exists() && !launch.getLaunchConfiguration().isWorkingCopy())) {
-			return DebugUIMessages.DefaultLabelProvider__unknown__1; 
-		} 
+			return DebugUIMessages.DefaultLabelProvider__unknown__1;
+		}
 		// new launch configuration
 		ILaunchConfiguration config = launch.getLaunchConfiguration();
 		StringBuffer buff= new StringBuffer(config.getName());
@@ -323,7 +323,7 @@
 			DebugUIPlugin.log(e);
 		}
 		buff.append("]"); //$NON-NLS-1$
-		return buff.toString();			
+		return buff.toString();
 	}
 
 	protected String getExpressionText(IExpression expression) {
@@ -342,18 +342,18 @@
 		}
 		if (valueString != null && valueString.length() > 0) {
 			buffer.append("= "); //$NON-NLS-1$
-			buffer.append(valueString);		
+			buffer.append(valueString);
 		}
 		return buffer.toString();
-	}	
-	
+	}
+
 	/**
 	 * @param expression
 	 * @return
 	 */
 	protected String getWatchExpressionText(IWatchExpression expression) {
 		StringBuffer result= new StringBuffer();
-		
+
 		String snippet = expression.getExpressionText().trim();
 		StringBuffer snippetBuffer = new StringBuffer();
 		if (snippet.length() > 30){
@@ -364,18 +364,18 @@
 			snippetBuffer.append(snippet);
 		}
 		snippet = snippetBuffer.toString().replaceAll("[\n\r\t]+", " ");  //$NON-NLS-1$//$NON-NLS-2$
-		
+
 		result.append('"');
 		result.append(snippet);
 		result.append('"');
 
 		if (expression.isPending()) {
-			result.append(DebugUIMessages.DefaultLabelProvider_12); 
+			result.append(DebugUIMessages.DefaultLabelProvider_12);
 		} else if (expression.hasErrors()) {
-			result.append(DebugUIMessages.DefaultLabelProvider_13); 
+			result.append(DebugUIMessages.DefaultLabelProvider_13);
 		} else {
 			IValue value= expression.getValue();
-			if (value != null) {	
+			if (value != null) {
 				String valueString= DebugUIPlugin.getModelPresentation().getText(value);
 				if (valueString.length() > 0) {
 					result.append(" = ").append(valueString); //$NON-NLS-1$
@@ -383,7 +383,7 @@
 			}
 		}
 		if (!expression.isEnabled()) {
-			result.append(DebugUIMessages.DefaultLabelProvider_15); 
+			result.append(DebugUIMessages.DefaultLabelProvider_15);
 		}
 		return result.toString();
 	}
@@ -400,7 +400,7 @@
 		}
 		return buffer.toString();
 	}
-	
+
 	protected String getRegisterGroupText(IRegisterGroup registerGroup) {
 		StringBuffer buffer= new StringBuffer();
 		try {
@@ -410,32 +410,32 @@
 		}
 		return buffer.toString();
 	}
-	
+
 	protected String getMarkerText(IMarker marker) {
 		try {
 			if (marker.exists() && marker.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-				return DebugUIMessages.DefaultLabelProvider_Breakpoint_1; 
+				return DebugUIMessages.DefaultLabelProvider_Breakpoint_1;
 			}
 		} catch (CoreException e) {
 			DebugUIPlugin.log(e);
 		}
 		return IInternalDebugCoreConstants.EMPTY_STRING;
 	}
-	
+
 	protected String getMarkerImageKey(IMarker marker) {
 		try {
 			IBreakpoint breakpoint= DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
 			if (breakpoint != null && marker.exists()) {
 				if (breakpoint.isEnabled()) {
 					return IDebugUIConstants.IMG_OBJS_BREAKPOINT;
-				} 
+				}
 				return IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED;
 			}
 		} catch (CoreException e) {
 		}
 		return null;
 	}
-	
+
 	protected String getBreakpointImageKey(IBreakpoint breakpoint) {
 		if (breakpoint != null && breakpoint.getMarker().exists()) {
 		    try {
@@ -447,17 +447,17 @@
 	        				//access and modification
 	        				if (enabled) {
 	        					return IDebugUIConstants.IMG_OBJS_WATCHPOINT;
-	        				} 
+	        				}
 	        				return IDebugUIConstants.IMG_OBJS_WATCHPOINT_DISABLED;
 	        			}
 	        			if (enabled) {
         					return IDebugUIConstants.IMG_OBJS_ACCESS_WATCHPOINT;
-        				} 
+        				}
 	        			return IDebugUIConstants.IMG_OBJS_ACCESS_WATCHPOINT_DISABLED;
 	        		} else if (watchpoint.isModification()) {
 	        			if (enabled) {
 	        				return IDebugUIConstants.IMG_OBJS_MODIFICATION_WATCHPOINT;
-	        			} 
+	        			}
 	        			return IDebugUIConstants.IMG_OBJS_MODIFICATION_WATCHPOINT_DISABLED;
 	        		} else {
 	        			//neither access nor modification
@@ -466,7 +466,7 @@
 	            }
 			    if (enabled) {
 					return IDebugUIConstants.IMG_OBJS_BREAKPOINT;
-				} 
+				}
 				return IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED;
 		    } catch (CoreException e) {
 		    }
@@ -506,10 +506,10 @@
 	@Override
 	public void removeListener(ILabelProviderListener listener) {
 	}
-	
+
 	/**
 	 * Returns the given string with special chars in escaped sequences.
-	 * 
+	 *
 	 * @param label
 	 * @return the given string with special chars in escaped sequences
 	 * @since 3.3
@@ -527,7 +527,7 @@
 					break;
 				case '\f':
 					escaped.append("\\f"); //$NON-NLS-1$
-					break;					
+					break;
 				case '\n':
 					escaped.append("\\n"); //$NON-NLS-1$
 					break;
@@ -539,18 +539,18 @@
 					break;
 				case '\\':
 					escaped.append("\\\\"); //$NON-NLS-1$
-					break;					
+					break;
 				default:
 					escaped.append(c);
 					break;
 			}
 		}
 		return escaped.toString();
-	}	
-	
+	}
+
 	/**
 	 * Returns the string with escaped sequences replaced with single chars.
-	 * 
+	 *
 	 * @param string
 	 * @return the string with escaped sequences replaced with single chars
 	 * @since 3.3
@@ -597,11 +597,11 @@
 						break;
 					default :
 						break;
-				}	
+				}
 			}
 			encoded.append(c);
 		}
-		return encoded.toString();		
+		return encoded.toString();
 	}
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
index 994ca76..e80176e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
@@ -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
  *******************************************************************************/
@@ -50,11 +50,11 @@
  * presentation contains a table of specialized presentations that are defined
  * as <code>org.eclipse.debug.ui.debugModelPresentations</code> extensions. When
  * asked to render an object from a debug model, this presentation delegates
- * to the extension registered for that debug model. 
+ * to the extension registered for that debug model.
  */
 public class DelegatingModelPresentation implements IDebugModelPresentation, IDebugEditorPresentation,
 	IColorProvider, IFontProvider, IInstructionPointerPresentation, IDebugModelPresentationExtension {
-	
+
 	/**
 	 * A mapping of attribute ids to their values
 	 * @see IDebugModelPresentation#setAttribute
@@ -151,7 +151,7 @@
 		// If no delegate returned an image, use the default
 		return getDefaultImage(item);
 	}
-	
+
 	/**
      * @see IDebugModelPresentation#getText(Object)
      */
@@ -163,7 +163,7 @@
     	}
     	return getDefaultText(item);
     }
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorInput(java.lang.Object)
 	 */
@@ -175,7 +175,7 @@
 		}
 		return null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorId(org.eclipse.ui.IEditorInput, java.lang.Object)
 	 */
@@ -202,7 +202,7 @@
 	protected Image getDefaultImage(Object element) {
 		return DebugUIPlugin.getDefaultLabelProvider().getImage(element);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDebugModelPresentation#computeDetail(org.eclipse.debug.core.model.IValue, org.eclipse.debug.ui.IValueDetailListener)
 	 */
@@ -210,11 +210,11 @@
 	public void computeDetail(IValue value, IValueDetailListener listener) {
 		IDebugModelPresentation lp= getConfiguredPresentation(value);
 		if (lp != null) {
-			lp.computeDetail(value, listener);			
+			lp.computeDetail(value, listener);
 		} else {
 			listener.detailComputed(value, getText(value));
 		}
-	}	
+	}
 
 	/**
 	 * Delegate to all extensions.
@@ -269,7 +269,7 @@
 
 		return null;
 	}
-	
+
 	/**
 	 * Returns the presentation registered for the given id, or <code>null</code>
 	 * of nothing is registered for the id.
@@ -277,7 +277,7 @@
 	public IDebugModelPresentation getPresentation(String id) {
 		return getLabelProviders().get(id);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDebugModelPresentation#setAttribute(java.lang.String, java.lang.Object)
 	 */
@@ -291,10 +291,10 @@
 			p.setAttribute(id, value);
 		}
 	}
-	
+
 	/**
 	 * Sets the value of the given attribute without setting in child presentations.
-	 * 
+	 *
 	 * @param id id
 	 * @param value value
 	 */
@@ -312,7 +312,7 @@
 		show= show == null ? Boolean.FALSE : show;
 		return show.booleanValue();
 	}
-		
+
 	/**
 	 * Returns the raw attribute map
 	 * @return the raw attribute map
@@ -320,10 +320,10 @@
 	public HashMap<String, Object> getAttributes() {
 		return fAttributes;
 	}
-	
+
 	/**
 	 * Returns a copy of the attribute map for this presentation.
-	 * 
+	 *
 	 * @return a copy of the attribute map for this presentation
 	 * @since 3.0
 	 */
@@ -333,7 +333,7 @@
 
 	/**
 	 * Returns the live-list of registered {@link ILabelProvider}s
-	 * 
+	 *
 	 * @return the live list of label providers
 	 */
 	protected HashMap<String, IDebugModelPresentation> getLabelProviders() {
@@ -493,7 +493,7 @@
 		}
 		if (presentation instanceof IDebugModelPresentationExtension) {
 			return ((IDebugModelPresentationExtension)presentation).requiresUIThread(element);
-		} 
+		}
 		return false;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java
index 8d377a2..c9d2fb9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DynamicInstructionPointerAnnotation.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
- 
+
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.jface.text.source.Annotation;
 
@@ -24,9 +24,9 @@
 	 * instances of this class can be distinguished by equals().
 	 */
 	private IStackFrame fStackFrame;
-		
+
 	/**
-	 * 
+	 *
 	 * @param frame
 	 * @param markerAnnotationSpecificationId
 	 * @param text
@@ -35,18 +35,18 @@
 		super(markerAnnotationSpecificationId, false, text);
 		fStackFrame = frame;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#equals(java.lang.Object)
 	 */
 	@Override
 	public boolean equals(Object other) {
 		if (other instanceof DynamicInstructionPointerAnnotation) {
-			return getStackFrame().equals(((DynamicInstructionPointerAnnotation)other).getStackFrame());			
+			return getStackFrame().equals(((DynamicInstructionPointerAnnotation)other).getStackFrame());
 		}
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#hashCode()
 	 */
@@ -57,7 +57,7 @@
 
 	/**
 	 * Returns the stack frame associated with this annotation
-	 * 
+	 *
 	 * @return the stack frame associated with this annotation
 	 */
 	private IStackFrame getStackFrame() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
index d7361f3..2ae06ef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
@@ -12,7 +12,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
- 
+
 import org.eclipse.debug.ui.IDebugUIConstants;
 
 /**
@@ -21,16 +21,16 @@
  * This interface contains constants only; it is not intended to be implemented
  * or extended.
  * </p>
- * 
+ *
  */
 public interface IDebugHelpContextIds {
-	
+
 	public static final String PREFIX = IDebugUIConstants.PLUGIN_ID + "."; //$NON-NLS-1$
-	
+
 	// Actions
-	public static final String CHANGE_VALUE_ACTION = PREFIX + "change_value_action_context"; //$NON-NLS-1$	
+	public static final String CHANGE_VALUE_ACTION = PREFIX + "change_value_action_context"; //$NON-NLS-1$
 	public static final String OPEN_BREAKPOINT_ACTION = PREFIX + "open_breakpoint_action_context"; //$NON-NLS-1$
-	public static final String RELAUNCH_HISTORY_ACTION = PREFIX + "relaunch_history_action_context"; //$NON-NLS-1$	
+	public static final String RELAUNCH_HISTORY_ACTION = PREFIX + "relaunch_history_action_context"; //$NON-NLS-1$
 	public static final String SHOW_BREAKPOINTS_FOR_MODEL_ACTION = PREFIX + "show_breakpoints_for_model_action_context"; //$NON-NLS-1$
 	public static final String COPY_BREAKPOINTS_ACTION = PREFIX + "copy_breakpoints_action_context"; //$NON-NLS-1$
 	public static final String PASTE_BREAKPOINTS_ACTION = PREFIX + "paste_breakpoints_action_context"; //$NON-NLS-1$
@@ -39,7 +39,7 @@
 	public static final String VARIABLES_SELECT_LOGICAL_STRUCTURE = PREFIX + "variables_select_logical_structure"; //$NON-NLS-1$
 	public static final String VARIABLES_SELECT_DETAIL_PANE = PREFIX + "variables_select_detail_pane_action_context"; //$NON-NLS-1$
 	public static final String VARIABLES_AUTO_EXPAND = PREFIX + "variables_auto_expand_action_context"; //$NON-NLS-1$
-	public static final String SELECT_WORKING_SET_ACTION = PREFIX + "select_working_set_context"; //$NON-NLS-1$			
+	public static final String SELECT_WORKING_SET_ACTION = PREFIX + "select_working_set_context"; //$NON-NLS-1$
 	public static final String CLEAR_WORKING_SET_ACTION = PREFIX + "clear_working_set_context"; //$NON-NLS-1$
 	public static final String EDIT_LAUNCH_CONFIGURATION_ACTION = PREFIX + "edit_launch_configuration_action_context"; //$NON-NLS-1$
 	public static final String OPEN_LAUNCH_CONFIGURATION_ACTION = PREFIX + "open_launch_configuration_action_context"; //$NON-NLS-1$
@@ -88,7 +88,7 @@
 	public static final String REGISTERS_VIEW = PREFIX + "registers_view_context"; //$NON-NLS-1$
 	public static final String PROCESS_CONSOLE = PREFIX + "process_console_context";  //$NON-NLS-1$
     public static final String MODULES_VIEW = PREFIX + "modules_view_context"; //$NON-NLS-1$
-	
+
 	// Preference pages
 	public static final String DEBUG_PREFERENCE_PAGE = PREFIX + "debug_preference_page_context"; //$NON-NLS-1$
 	public static final String CONSOLE_PREFERENCE_PAGE = PREFIX + "console_preference_page_context"; //$NON-NLS-1$
@@ -98,7 +98,7 @@
 	public static final String LAUNCH_CONFIGURATION_PREFERENCE_PAGE = PREFIX + "launch_configuration_preference_page_context"; //$NON-NLS-1$
 	public static final String VIEW_MANAGEMENT_PREFERENCE_PAGE = PREFIX + "view_management_preference_page_context"; //$NON-NLS-1$
 	public static final String LAUNCH_DELEGATES_PREFERENCE_PAGE = PREFIX + "launch_delegate_preference_page_context"; //$NON-NLS-1$
-	
+
 	// Dialogs
 	public static final String LAUNCH_CONFIGURATION_DIALOG = PREFIX + "launch_configuration_dialog"; //$NON-NLS-1$
 	public static final String LAUNCH_CONFIGURATION_PROPERTIES_DIALOG = PREFIX + "launch_configuration_properties_dialog"; //$NON-NLS-1$
@@ -129,28 +129,28 @@
 	public static final String SELECT_FAVORITES_DIALOG = PREFIX + "select_favorites_dialog"; //$NON-NLS-1$
 	public static final String SELECT_NATIVE_ENVIRONMENT_DIALOG = PREFIX + "select_native_environment_dialog"; //$NON-NLS-1$
 	public static final String SELECT_LAUNCH_CONFIGURATION_MIGRATION_DIALOG = PREFIX + "select_launch_configuration_migration_dialog"; //$NON-NLS-1$
-	
+
 	// Property pages
 	public static final String PROCESS_PROPERTY_PAGE = PREFIX + "process_property_page_context"; //$NON-NLS-1$
 	public static final String PROCESS_PAGE_RUN_AT = PREFIX + "process_page_run_at_time_widget"; //$NON-NLS-1$
 	public static final String RUN_DEBUG_RESOURCE_PROPERTY_PAGE = PREFIX + "run_debug_resource_property_page"; //$NON-NLS-1$
-	
+
 	// Launch configuration dialog pages
 	public static final String LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB = PREFIX + "launch_configuration_dialog_common_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_PERSPECTIVE_TAB = PREFIX + "launch_configuration_dialog_perspective_tab"; //$NON-NLS-1$	
+	public static final String LAUNCH_CONFIGURATION_DIALOG_PERSPECTIVE_TAB = PREFIX + "launch_configuration_dialog_perspective_tab"; //$NON-NLS-1$
 	public static final String LAUNCH_CONFIGURATION_DIALOG_REFRESH_TAB = PREFIX + "launch_configuration_dialog_refresh_tab"; //$NON-NLS-1$
 	public static final String LAUNCH_CONFIGURATION_DIALOG_ENVIRONMENT_TAB = PREFIX +  "launch_configuration_dialog_environment_tab"; //$NON-NLS-1$
-	
+
 	// Working set page
-	public static final String WORKING_SET_PAGE = PREFIX + "working_set_page_context"; //$NON-NLS-1$			
-	
+	public static final String WORKING_SET_PAGE = PREFIX + "working_set_page_context"; //$NON-NLS-1$
+
 	//Wizards
 	public static final String IMPORT_BREAKPOINTS_WIZARD_PAGE = PREFIX + "import_breakpoints_wizard_page_context"; //$NON-NLS-1$
 	public static final String EXPORT_BREAKPOINTS_WIZARD_PAGE = PREFIX + "export_breakpoints_wizard_page_context"; //$NON-NLS-1$
 	public static final String IMPORT_LAUNCH_CONFIGURATIONS_PAGE = PREFIX + "import_launch_configurations_context"; //$NON-NLS-1$
 	public static final String EXPORT_LAUNCH_CONFIGURATIONS_PAGE = PREFIX + "export_launch_configurations_context"; //$NON-NLS-1$
-	
-	//Editor	
+
+	//Editor
 	public static final String NO_SOURCE_EDITOR = PREFIX + "debugger_editor_no_source_common";//$NON-NLS-1$
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
index 2a7dcc5..3ed20ea 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.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
  *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
@@ -16,24 +16,24 @@
 import org.eclipse.debug.internal.ui.views.memory.RenderingViewPane;
 import org.eclipse.debug.ui.IDebugUIConstants;
 
- 
+
 public interface IInternalDebugUIConstants {
-    
+
     public static final String DIALOGSTORE_LASTEXTJAR= "org.eclipse.debug.ui.lastextjar"; //$NON-NLS-1$
-        
+
     //Folders
     public static final String ID_NAVIGATOR_FOLDER_VIEW= "org.eclipse.debug.internal.ui.NavigatorFolderView"; //$NON-NLS-1$
     public static final String ID_TOOLS_FOLDER_VIEW= "org.eclipse.debug.internal.ui.ToolsFolderView"; //$NON-NLS-1$
     public static final String ID_CONSOLE_FOLDER_VIEW= "org.eclipse.debug.internal.ui.ConsoleFolderView"; //$NON-NLS-1$
     public static final String ID_OUTLINE_FOLDER_VIEW= "org.eclipse.debug.internal.ui.OutlineFolderView"; //$NON-NLS-1$
-    
+
     // tool images
     public static final String IMG_LCL_COLLAPSE_ALL = "IMG_LCL_COLLAPSE_ALL"; //$NON-NLS-1$
     public static final String IMG_LCL_TERMINATE = "IMG_LCL_TERMINATE"; //$NON-NLS-1$
     public static final String IMG_LCL_SHOW_LOGICAL_STRUCTURE = "IMG_LCL_SHOW_LOGICAL_STRUCTURE"; //$NON-NLS-1$
     public static final String IMG_LCL_RUN_TO_LINE= "IMG_LCL_RUN_TO_LINE"; //$NON-NLS-1$
     public static final String IMG_SRC_LOOKUP_MENU = "IMG_SRC_LOOKUP_MENU"; //$NON-NLS-1$
-    
+
     /**
      * @deprecated Use IDebugUIConstants#IMG_LCL_ADD
      */
@@ -43,7 +43,7 @@
     public static final String IMG_LCL_RESET_MEMORY= "IMG_LCL_RESET_MEMORY";//$NON-NLS-1$
     public static final String IMG_LCL_COPY_VIEW_TO_CLIPBOARD = "IMG_LCL_COPY_VIEW_TO_CLIPBOARD"; //$NON-NLS-1$
     public static final String IMG_LCL_PRINT_TOP_VIEW_TAB = "IMG_LCL_PRINT_TOP_VIEW_TAB"; //$NON-NLS-1$
-    
+
     // disabled local tool images
     public static final String IMG_DLCL_LOCK= "IMG_DLCL_LOCK"; //$NON-NLS-1$
     public static final String IMG_DLCL_DETAIL_PANE= "IMG_DLCL_DETAIL_PANE"; //$NON-NLS-1$
@@ -81,12 +81,12 @@
     public static final String IMG_DLCL_NEXT_THREAD = "IMG_DLCL_NEXT_THREAD"; //$NON-NLS-1$
     public static final String IMG_DLCL_PREVIOUS_THREAD = "IMG_DLCL_PREVIOUS_THREAD"; //$NON-NLS-1$
     public static final String IMG_DLCL_RESTART = "IMG_DLCL_RESTART"; //$NON-NLS-1$
-    
+
     //TODO: Move this IDebugUIConstants. Created too late in 3.2 cycle to add API.
     //The enabled icon is already API.
     public static final String IMG_DLCL_DISCONNECT= "IMG_DLCL_DISCONNECT"; //$NON-NLS-1$
-    
-    // enabled local tool images    
+
+    // enabled local tool images
     public static final String IMG_ELCL_LOCK= "IMG_ELCL_LOCK"; //$NON-NLS-1$
     public static final String IMG_ELCL_DETAIL_PANE= "IMG_ELCL_DETAIL_PANE"; //$NON-NLS-1$
     public static final String IMG_ELCL_CHANGE_VARIABLE_VALUE= "IMG_ELCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$
@@ -128,7 +128,7 @@
     public static final String IMG_ELCL_PREVIOUS_THREAD = "IMG_ELCL_PREVIOUS_THREAD"; //$NON-NLS-1$
     public static final String IMG_ELCL_RESTART = "IMG_ELCL_RESTART"; //$NON-NLS-1$
     public static final String IMG_ELCL_DEBUG_VIEW_COMPACT_LAYOUT = "IMG_ELCL_DEBUG_VIEW_BREADCRUMB_LAYOUT"; //$NON-NLS-1$
-    
+
     public static final String IMG_OBJS_COMMON_TAB = "IMG_OBJS_COMMON_TAB"; //$NON-NLS-1$
     public static final String IMG_OBJS_REFRESH_TAB = "IMG_OBJS_REFRESH_TAB"; //$NON-NLS-1$
     public static final String IMG_OBJS_PERSPECTIVE_TAB = "IMG_OBJS_PERSPECTIVE_TAB"; //$NON-NLS-1$
@@ -138,111 +138,111 @@
     public static final String IMG_OBJECT_MEMORY="IMG_OBJECT_MEMORY";  //$NON-NLS-1$
     public static final String IMG_OBJS_BREAKPOINT_TYPE="IMG_OBJ_BREAKPOINT_TYPE"; //$NON-NLS-1$
 	public static final String IMG_OBJS_LAUNCH_GROUP = "IMG_OBJ_LAUNCH_GROUP"; //$NON-NLS-1$
-    
+
     // wizard images
     public static final String IMG_WIZBAN_IMPORT_BREAKPOINTS = "IMG_WIZBAN_IMPORT_BREAKPOINTS"; //$NON-NLS-1$
     public static final String IMG_WIZBAN_EXPORT_BREAKPOINTS = "IMG_WIZBAN_EXPORT_BREAKPOINTS"; //$NON-NLS-1$
     public static final String IMG_WIZBAN_IMPORT_CONFIGS = "IMG_WIZBAN_IMPORT_CONFIGS"; //$NON-NLS-1$
-    public static final String IMG_WIZBAN_EXPORT_CONFIGS = "IMG_WIZBAN_EXPORT_CONFIGS"; //$NON-NLS-1$    
+    public static final String IMG_WIZBAN_EXPORT_CONFIGS = "IMG_WIZBAN_EXPORT_CONFIGS"; //$NON-NLS-1$
     public static final String IMG_ADD_SRC_LOC_WIZ = "IMG_ADD_SRC_LOCATION"; //$NON-NLS-1$
     public static final String IMG_EDIT_SRC_LOC_WIZ = "IMG_EDIT_SRC_LOCATION"; //$NON-NLS-1$
     public static final String IMG_ADD_SRC_DIR_WIZ = "IMG_ADD_SRC_DIRECTORY"; //$NON-NLS-1$
     public static final String IMG_EDIT_SRC_DIR_WIZ = "IMG_EDIT_SRC_DIRECTORY"; //$NON-NLS-1$
-    
+
     // internal preferences
     /**
      * XML for perspective settings - see PerspectiveManager.
      * @since 3.0
      */
     public static final String PREF_LAUNCH_PERSPECTIVES = IDebugUIConstants.PLUGIN_ID + ".PREF_LAUNCH_PERSPECTIVES"; //$NON-NLS-1$
-    
+
     /**
      * Preference for enabling/disabling launch configuration filtering based on project accessibility status
-     * 
+     *
      * @since 3.2
      */
     public static final String PREF_FILTER_LAUNCH_CLOSED = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_LAUNCH_CLOSED"; //$NON-NLS-1$
-    
+
     /**
      * Preference for enabling/disabling launch configuration filtering based on project context
-     * 
+     *
      * @since 3.2
      */
     public static final String PREF_FILTER_LAUNCH_DELETED = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_LAUNCH_DELETED"; //$NON-NLS-1$
-        
+
     /**
      * Preference for enabling/disabling filtering based on selected items from the launch configuration type table
      * @since 3.2
      */
     public static final String PREF_FILTER_LAUNCH_TYPES = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_LAUNCH_TYPES"; //$NON-NLS-1$
-    
+
     /**
      * Preference that saves which launch configuration types have been checked on the Launch Configurations pref page
      * @since 3.2
      */
     public static final String PREF_FILTER_TYPE_LIST = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_TYPE_LIST"; //$NON-NLS-1$
-    
+
     /**
      * Preference for filtering launch configurations based on the currently active working sets
      * @since 3.2
      */
-    public static final String PREF_FILTER_WORKING_SETS = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_WORKING_SETS"; //$NON-NLS-1$ 
-     
-    /** 
-     * Transparent overlay image identifier. 
+    public static final String PREF_FILTER_WORKING_SETS = IDebugUIConstants.PLUGIN_ID + ".PREF_FILTER_WORKING_SETS"; //$NON-NLS-1$
+
+    /**
+     * Transparent overlay image identifier.
      */
     public static final String IMG_OVR_TRANSPARENT = "IMG_OVR_TRANSPARENT";  //$NON-NLS-1$
-    
+
     /**
      * Editor Id for the "Source Not Found" editor
      */
     public static final String ID_SOURCE_NOT_FOUND_EDITOR = "org.eclipse.debug.ui.NoSourceFoundEditor"; //$NON-NLS-1$
-    
+
     /**
      * Boolean preference indicating if contextual launch options should be visible
      * to the user rather than the "run as" menu.
-     * 
+     *
      * @since 3.3.0
      * CONTEXTLAUNCHING
-     */ 
+     */
     public static final String PREF_USE_CONTEXTUAL_LAUNCH = IDebugUIConstants.PLUGIN_ID + ".UseContextualLaunch"; //$NON-NLS-1$
-    
+
     /**
      * Boolean preference indicating that if the selected resource is not launchable, then we should
      * launch the last configuration that was launched.
-     * 
+     *
      * @since 3.3.0
      * CONTEXTLAUNCHING
      */
     public static final String PREF_LAUNCH_LAST_IF_NOT_LAUNCHABLE = IDebugUIConstants.PLUGIN_ID + ".LaunchLastIfNotLaunchable"; //$NON-NLS-1$
-    
+
     /**
      * Boolean preference indicating if we should always consider the parent project when
      * a selected context is not runnable
-     * 
+     *
      *  @since 3.3.0
      *  CONTEXTLAUNCHING
      */
     public static final String PREF_LAUNCH_PARENT_PROJECT = IDebugUIConstants.PLUGIN_ID + ".LaunchParentProject"; //$NON-NLS-1$
-    
+
     /**
      * Boolean preference indicating if the user should be prompted prior to removing a launch configuration
      * from the launch history drop down
-     * 
+     *
      * @since 3.4
      */
     public static final String PREF_REMOVE_FROM_LAUNCH_HISTORY = IDebugUIConstants.PLUGIN_ID + ".RemoveFromLaunchHistory"; //$NON-NLS-1$
-    
+
     /**
      * String preference controlling whether editors are saved before launching.
      * Valid values are either "always", "never", or "prompt".
      * If "always" or "never", launching will save editors (or not) automatically.
      * If "prompt", the user will be prompted each time.
-     * 
+     *
      * @since 3.0
      */
     public static final String PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH = IDebugUIConstants.PLUGIN_ID + ".save_dirty_editors_before_launch"; //$NON-NLS-1$
-    
+
     /**
      * Preference specifying that all launches should be DEBUG_MODE if breakpoints exist in the workspace
      * @since 3.0
@@ -253,12 +253,12 @@
      * Preference specifying that launches should continue when compile errors exist.
      * @since 3.0
      */
-    public static final String PREF_CONTINUE_WITH_COMPILE_ERROR = IDebugUIConstants.PLUGIN_ID + ".cancel_launch_with_compile_errors"; //$NON-NLS-1$ 
+    public static final String PREF_CONTINUE_WITH_COMPILE_ERROR = IDebugUIConstants.PLUGIN_ID + ".cancel_launch_with_compile_errors"; //$NON-NLS-1$
 
     /**
      * Boolean preference controlling whether the debugger will force activate the debug
      * view when a breakpoint is hit.
-     * 
+     *
      * @since 3.0
      */
     public static final String PREF_ACTIVATE_DEBUG_VIEW= IDebugUIConstants.PLUGIN_ID + ".activate_debug_view"; //$NON-NLS-1$
@@ -269,7 +269,7 @@
      * Valid values are either "always", "never", or "prompt".
      * If "always" or "never", launching will switch perspectives (or not) automatically.
      * If "prompt", the user will be prompted each time.
-     * 
+     *
      * @since 3.0
      */
     public static final String PREF_SWITCH_TO_PERSPECTIVE= IDebugUIConstants.PLUGIN_ID + ".switch_to_perspective"; //$NON-NLS-1$
@@ -280,7 +280,7 @@
      * Valid values are either "always", "never", or "prompt".
      * If "always" or "never", suspension will switch perspectives (or not) automatically.
      * If "prompt", the user will be prompted each time.
-     * 
+     *
      * @since 3.0
      */
     public static final String PREF_SWITCH_PERSPECTIVE_ON_SUSPEND= IDebugUIConstants.PLUGIN_ID + ".switch_perspective_on_suspend"; //$NON-NLS-1$
@@ -291,18 +291,18 @@
 	 * Valid values are either "always", "never", or "prompt".
 	 * If "always" or "never", launching will wait for builds to finish (or not) automatically.
 	 * If "prompt", the user will be prompted each time.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String PREF_WAIT_FOR_BUILD= IDebugUIConstants.PLUGIN_ID + ".wait_for_build"; //$NON-NLS-1$
-	
+
 	/**
 	 * Font for Memory View
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public final static String FONT_NAME = IDebugUIConstants.PLUGIN_ID + ".MemoryViewTableFont"; //$NON-NLS-1$
-	
+
 	public final static int ADD_UNIT_PER_LINE = 16;	// number of addressable unit per line
 	public final static int CHAR_PER_BYTE = 2;		// number of characters to represent one byte
 
@@ -311,24 +311,24 @@
      * @since 3.1
      */
     public static String ID_RENDERING_VIEW_PANE = RenderingViewPane.RENDERING_VIEW_PANE_ID;
-    
+
     /**
      * Memory view's memory block tree viewer's identifier. (value <code>"org.eclipse.debug.ui.MemoryView.MemoryBlocksTreeViewPane"</code>).
      * @since 3.1
      */
     public static String ID_MEMORY_BLOCK_TREE_VIEWER = MemoryBlocksTreeViewPane.PANE_ID;
 
-    /** 
+    /**
      * Memory view image identifier
-     * 
+     *
      * @since 3.0
      * */
     public static final String IMG_CVIEW_MEMORY_VIEW= "IMG_CVIEW_MEMORY_VIEW";  //$NON-NLS-1$
-    
-    
-    /** 
+
+
+    /**
      * Modules view image identifier
-     * 
+     *
      * @since 3.4
      * */
     public static final String IMG_CVIEW_MODULES_VIEW= "IMG_CVIEW_MODULES_VIEW";  //$NON-NLS-1$
@@ -337,103 +337,103 @@
      * Boolean preference controlling whether the debug view tracks
      * views as the user manually opens/closes them for the purpose
      * of not automatically opening/closing such views.
-     * 
+     *
      * @since 3.0
      */
     public static final String PREF_TRACK_VIEWS= IDebugUIConstants.PLUGIN_ID + ".track_views"; //$NON-NLS-1$
-	
+
     /**
      * Comma separated list of view ids closed by the user, that have view context bindings.
      * @since 3.2
      */
     public static final String PREF_USER_VIEW_BINDINGS = IDebugUIConstants.PLUGIN_ID + ".user_view_bindings"; //$NON-NLS-1$
-    
+
     /**
      * Preference storing memento for the default breakpoint working set in
      * the breakpoints view.
-     * 
+     *
      * @since 3.1
      */
     public static final String MEMENTO_BREAKPOINT_WORKING_SET_NAME = DebugUIPlugin.getUniqueIdentifier() + ".MEMENTO_BREAKPOINT_WORKING_SET_NAME"; //$NON-NLS-1$
 
     /**
      * Breakpoint working set identifier.
-     * 
+     *
      * @since 3.1
      * @deprecated There is an API equivalent constant that should be used, see
      * {@link IDebugUIConstants#BREAKPOINT_WORKINGSET_ID}
      */
 	@Deprecated
 	public static final String ID_BREAKPOINT_WORKINGSET = "org.eclipse.debug.ui.breakpointWorkingSet"; //$NON-NLS-1$
-    
-    
+
+
     /**
      * Address at the beginning of a page in a table rendering.
      * @since 3.1
      */
     public static final String PROPERTY_PAGE_START_ADDRESS = "pageStart"; //$NON-NLS-1$
 
-    
+
     /**
      * This constant is used as a "quick-fix" for the issue of breakpoint to working set
      * persistence when the state of a project changes.
-     * 
+     *
      * @since 3.2
      */
     public static final String WORKING_SET_NAME = "workingset_name"; //$NON-NLS-1$
-    
+
     /**
      * This constant is used as a "quick-fix" for the issue of breakpoint to working set
      * persistence when the state of a project changes.
-     * 
+     *
      * @since 3.2
      */
     public static final String WORKING_SET_ID = "workingset_id";  //$NON-NLS-1$
-    
+
     /**
      * Annotation type identifier for annotation of the an instruction
      * pointer with a dynamic image. Value is <code>org.eclipse.debug.ui.dynamicIP</code>,
      * identifying a <code>org.eclipse.ui.editors.markerAnnotationSpecification</code>
      * extension.
-     * 
+     *
      * @since 3.2
      */
     public static final String ANNOTATION_TYPE_DYNAMIC_INSTRUCTION_POINTER = "org.eclipse.debug.ui.dynamicIP"; //$NON-NLS-1$
-    
+
     /**
      * Identifier of the external tool builder launch category. Defined here since
      * external tools is actually a dependent plug-in.
-     * 
+     *
      * @since 3.4
      */
     public static final String ID_EXTERNAL_TOOL_BUILDER_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools.builder";  //$NON-NLS-1$
-    
+
     //themes
-    
+
     /**
      * Theme color definition for process console background color.
-     * 
+     *
      * @since 3.4
      */
     public static final String THEME_CONSOLE_COLOR_BACKGROUND= "org.eclipse.debug.ui.console.background"; //$NON-NLS-1$
-    
+
     /**
      * Theme color definition for process console standard out.
-     * 
+     *
      * @since 3.4
      */
-    public static final String THEME_CONSOLE_COLOR_STD_OUT= "org.eclipse.debug.ui.console.stream.out"; //$NON-NLS-1$    
+    public static final String THEME_CONSOLE_COLOR_STD_OUT= "org.eclipse.debug.ui.console.stream.out"; //$NON-NLS-1$
 
     /**
      * Theme color definition for process console standard in.
-     * 
+     *
      * @since 3.4
      */
     public static final String THEME_CONSOLE_COLOR_STD_IN= "org.eclipse.debug.ui.console.stream.in"; //$NON-NLS-1$
-    
+
     /**
      * Theme color definition for process console standard err.
-     * 
+     *
      * @since 3.4
      */
 	public static final String THEME_CONSOLE_COLOR_STD_ERR = "org.eclipse.debug.ui.console.stream.err"; //$NON-NLS-1$
@@ -442,28 +442,28 @@
 	/**
 	 * Boolean preference indicating if launch action should launch or terminate
 	 * and relaunch by default
-	 * 
+	 *
 	 * @since 3.11
 	 */
 	public static final String PREF_TERMINATE_AND_RELAUNCH_LAUNCH_ACTION = IDebugUIConstants.PLUGIN_ID + ".RelaunchAndTerminateLaunchAction"; //$NON-NLS-1$
 
 	/**
 	 * Int preference indicating the sorting order of breakpoints
-	 * 
+	 *
 	 * @since 3.12
 	 */
 	public static final String PREF_BREAKPOINT_SORTING_ORDER = IDebugUIConstants.PLUGIN_ID + ".BreakpointSortingOrder"; //$NON-NLS-1$
 
 	/**
 	 * Int indicating the breakpoints will be sorted by name
-	 * 
+	 *
 	 * @since 3.12
 	 */
 	public static final int BREAKPOINT_SORTING_ORDER_NAME = 0;
 
 	/**
 	 * Int indicating the breakpoints will be sorted by Creation Time
-	 * 
+	 *
 	 * @since 3.12
 	 */
 	public static final int BREAKPOINT_SORTING_ORDER_CREATION_TIME = 1;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
index 1156d2f..fee755c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchLabelChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchLabelChangedListener.java
index fe30134..557f8b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchLabelChangedListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchLabelChangedListener.java
@@ -13,24 +13,24 @@
 import org.eclipse.debug.ui.ILaunchGroup;
 
 /**
- * Implementors of this interface are notified when a changed has been made to 
+ * Implementors of this interface are notified when a changed has been made to
  * the cache of context sensitive labels stored in the <code>LaunchingResourceManager</code>.
  * A change can come from either a selection change, or from a change to the launch history(s).
- * 
+ *
  * <p>
  * Clients are intended to implement this interface
  * </p>
- * 
+ *
  * @since 3.3
  */
 public interface ILaunchLabelChangedListener {
-	
+
 	/**
 	 * This method is called back to by <code>LaunchingResourceManager</code> iff the cache of labels
 	 * for the current set of listeners has changed
 	 */
 	public void labelChanged();
-	
+
 	/**
 	 * Returns the launch group that this listener is associated with.
 	 * @return the launch group that this listener is associated with, or <code>null</code> if none
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ImageDescriptorRegistry.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ImageDescriptorRegistry.java
index e2d19e2..25c71b4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ImageDescriptorRegistry.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ImageDescriptorRegistry.java
@@ -11,7 +11,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
- 
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -28,7 +28,7 @@
 
 	private Map<ImageDescriptor, Image> fRegistry = Collections.synchronizedMap(new HashMap<ImageDescriptor, Image>(10));
 	private Display fDisplay;
-	
+
 	/**
 	 * Creates a new image descriptor registry for the current or default display,
 	 * respectively.
@@ -36,22 +36,22 @@
 	public ImageDescriptorRegistry() {
 		this(DebugUIPlugin.getStandardDisplay());
 	}
-	
+
 	/**
 	 * Creates a new image descriptor registry for the given display. All images
 	 * managed by this registry will be disposed when the display gets disposed.
-	 * 
-	 * @param display the display the images managed by this registry are allocated for 
+	 *
+	 * @param display the display the images managed by this registry are allocated for
 	 */
 	public ImageDescriptorRegistry(Display display) {
 		fDisplay= display;
 		Assert.isNotNull(fDisplay);
 		hookDisplay();
 	}
-	
+
 	/**
 	 * Returns the image associated with the given image descriptor.
-	 * 
+	 *
 	 * @param descriptor the image descriptor for which the registry manages an image
 	 * @return the image associated with the image descriptor or <code>null</code>
 	 *  if the image descriptor can't create the requested image.
@@ -60,13 +60,13 @@
 		if (descriptor == null) {
 			descriptor= ImageDescriptor.getMissingImageDescriptor();
 		}
-			
+
 		Image result= fRegistry.get(descriptor);
 		if (result != null) {
 			return result;
 		}
-	
-		Assert.isTrue(fDisplay == DebugUIPlugin.getStandardDisplay(), DebugUIMessages.ImageDescriptorRegistry_0); 
+
+		Assert.isTrue(fDisplay == DebugUIPlugin.getStandardDisplay(), DebugUIMessages.ImageDescriptorRegistry_0);
 		result= descriptor.createImage();
 		if (result != null) {
 			fRegistry.put(descriptor, result);
@@ -76,14 +76,14 @@
 
 	/**
 	 * Disposes all images managed by this registry.
-	 */	
+	 */
 	public void dispose() {
 		for (Image image : fRegistry.values()) {
 			image.dispose();
 		}
 		fRegistry.clear();
 	}
-	
+
 	private void hookDisplay() {
 		fDisplay.asyncExec(new Runnable() {
 			@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
index 38443e0..92ca6a1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui;
 
- 
+
 import org.eclipse.debug.core.model.IStackFrame;
 import org.eclipse.swt.graphics.Image;
 
@@ -18,15 +18,15 @@
  * Default instruction pointer annotation.
  */
 public class InstructionPointerAnnotation extends DynamicInstructionPointerAnnotation {
-	
+
 	/**
 	 * The image for this annotation.
 	 */
 	private Image fImage;
-	
+
 	/**
 	 * Constructs an instruction pointer image.
-	 * 
+	 *
 	 * @param frame stack frame the instruction pointer is associated with
 	 * @param annotationType the type of annotation to display (annotation identifier)
 	 * @param text the message to display with the annotation as hover help
@@ -36,10 +36,10 @@
 		super(frame, annotationType, text);
 		fImage = image;
 	}
-		
+
 	/**
 	 * Returns this annotation's image.
-	 * 
+	 *
 	 * @return image
 	 */
 	protected Image getImage() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java
index 7a8216f..0aececb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.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
  *******************************************************************************/
@@ -26,17 +26,17 @@
 	 * The thread this context belongs to.
 	 */
 	private IThread fThread;
-	
+
 	/**
 	 * The debug target this context belongs to.
 	 */
 	private IDebugTarget fDebugTarget;
-	
+
 	/**
 	 * The editor that the annotation is being displayed in
 	 */
 	private ITextEditor fEditor;
-	
+
 	/**
 	 * The vertical ruler annotation for this context.
 	 */
@@ -48,7 +48,7 @@
 		fEditor = editor;
 		fAnnotation = annotation;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#equals(java.lang.Object)
 	 */
@@ -62,7 +62,7 @@
 		}
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#hashCode()
 	 */
@@ -91,7 +91,7 @@
 	public ITextEditor getEditor() {
 		return fEditor;
 	}
-	
+
 	/**
 	 * @return the annotation
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.java
index 27e02df..f86cece 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerImageProvider.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
  *      Richard Birenheide - Bug 459664
@@ -47,5 +47,5 @@
 	public ImageDescriptor getImageDescriptor(String imageDescritporId) {
 		return null;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
index 19401b0..fb3cfed 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
@@ -51,29 +51,29 @@
 	 * Set containing all instruction pointer contexts this class manages
 	 */
 	private Set<InstructionPointerContext> fIPCSet = new HashSet<InstructionPointerContext>();
-	
+
 	/**
 	 * Maps ITextEditors to the set of instruction pointer contexts that are displayed in the editor
 	 */
 	private Map<ITextEditor, Set<InstructionPointerContext>> fEditorMap = new HashMap<ITextEditor, Set<InstructionPointerContext>>();
-	
+
 	/**
 	 * Part listener added to editors that contain annotations.  Allows instruction pointer contexts to
 	 * be removed when the editor they are displayed in is removed.
 	 */
 	private IPartListener2 fPartListener;
-	
+
 	/**
-	 * Page listener added to the workbench window to remove part listeners when the page is closed.  
+	 * Page listener added to the workbench window to remove part listeners when the page is closed.
 	 */
 	private IPageListener fPageListener;
-	
+
 	/**
 	 * Clients must not instantiate this class.
 	 */
 	private InstructionPointerManager() {
 	}
-	
+
 	/**
 	 * Return the singleton instance of this class, creating it if necessary.
 	 */
@@ -83,25 +83,25 @@
 		}
 		return fgDefault;
 	}
-	
+
 	/**
-	 * Adds an instruction pointer annotation in the specified editor for the 
+	 * Adds an instruction pointer annotation in the specified editor for the
 	 * specified stack frame.
 	 */
 	public void addAnnotation(ITextEditor textEditor, IStackFrame frame, Annotation annotation) {
-		
+
 		IDocumentProvider docProvider = textEditor.getDocumentProvider();
 		IEditorInput editorInput = textEditor.getEditorInput();
         // If there is no annotation model, there's nothing more to do
         IAnnotationModel annModel = docProvider.getAnnotationModel(editorInput);
         if (annModel == null) {
             return;
-        }        
-		
+        }
+
 		// Create the Position object that specifies a location for the annotation
 		Position position = null;
 		int charStart = -1;
-		int length = -1; 
+		int length = -1;
 		try {
 			charStart = frame.getCharStart();
 			length = frame.getCharEnd() - charStart;
@@ -127,20 +127,20 @@
 			return;
 		}
 		position = new Position(charStart, length);
-		
+
 		if (frame.isTerminated()) {
 			return;
 		}
-		
+
 		synchronized (fIPCSet) {
-					
+
 			// Add the annotation at the position to the editor's annotation model.
 			annModel.removeAnnotation(annotation);
 			annModel.addAnnotation(annotation, position);
-			
+
 			// Create the instruction pointer context
 			InstructionPointerContext ipc = new InstructionPointerContext(frame.getDebugTarget(), frame.getThread(), textEditor, annotation);
-			
+
 			// Add the IPC to the set and map
 			Set<InstructionPointerContext> editorIPCs = fEditorMap.get(textEditor);
 			if (editorIPCs == null){
@@ -152,13 +152,13 @@
 			editorIPCs.add(ipc);
 			fIPCSet.remove(ipc);
 			fIPCSet.add(ipc);
-			
+
 			// Add a listener to the editor so we can remove the IPC when the editor is closed
 			textEditor.getSite().getPage().addPartListener(getPartListener());
 			textEditor.getSite().getPage().getWorkbenchWindow().addPageListener(getPageListener());
 		}
 	}
-	
+
 	/**
 	 * Remove all annotations associated with the specified debug target that this class
 	 * is tracking.
@@ -176,7 +176,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Remove all annotations associated with the specified thread that this class
 	 * is tracking.
@@ -194,7 +194,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Remove all annotations associated with the specified editor that this class
 	 * is tracking.
@@ -225,9 +225,9 @@
 				fEditorMap.remove(ipc.getEditor());
 			}
 		}
-		
+
 	}
-	
+
 	/**
 	 * Remove the annotation from the document model.
 	 */
@@ -240,29 +240,29 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns the number of instruction pointers.
 	 * Used by the test suite.
-	 * 
+	 *
 	 * @return the number of instruction pointers
 	 * @since 3.2
 	 */
 	public int getInstructionPointerCount() {
 		return fIPCSet.size();
 	}
-	
+
 	/**
 	 * Returns the number of keys in the editor to IPC mapping
 	 * Used by the test suite.
-	 * 
+	 *
 	 * @return the number of keys in the editor mapping
 	 * @since 3.3
 	 */
 	public int getEditorMappingCount() {
 		return fEditorMap.size();
 	}
-	
+
 	/**
 	 * @return the page listener to add to workbench window.
 	 */
@@ -272,7 +272,7 @@
 		}
 		return fPageListener;
 	}
-	
+
 	/**
 	 * @return the part listener to add to editors.
 	 */
@@ -300,7 +300,7 @@
 		public void partVisible(IWorkbenchPartReference partRef) {}
 		@Override
 		public void partBroughtToTop(IWorkbenchPartReference partRef) {}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
 		 */
@@ -310,9 +310,9 @@
 			if (part instanceof ITextEditor){
 				removeAnnotations((ITextEditor)part);
 			}
-			
+
 		}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
 		 */
@@ -324,7 +324,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Page listener that is added to the workbench to remove the part listener when the page is closed.
 	 */
@@ -343,7 +343,7 @@
 			page.removePartListener(getPartListener());
 			page.getWorkbenchWindow().removePageListener(getPageListener());
 		}
-		
+
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java
index ba0aaac..f951538 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LaunchConfigurationTabExtension.java
@@ -20,7 +20,7 @@
 
 /**
  * Provides a proxy to a launchConfigurationTabs extension point
- * 
+ *
  * @since 3.3
  */
 public final class LaunchConfigurationTabExtension {
@@ -30,7 +30,7 @@
 	 */
 	IConfigurationElement fElement = null;
 	private Set<String> fDelegates = null;
-	
+
 	/**
 	 * Constructor
 	 * @param element the <code>IConfigurationElement</code> for this proxy
@@ -38,7 +38,7 @@
 	public LaunchConfigurationTabExtension(IConfigurationElement element) {
 		fElement = element;
 	}
-	
+
 	/**
 	 * Returns the unique id of the tab
 	 * @return the unique id of the tab
@@ -76,11 +76,11 @@
 	public String getTabGroupId() {
 		return fElement.getAttribute(IConfigurationElementConstants.GROUP);
 	}
-	
+
 	/**
 	 * This method returns the id of the tab that this tab should be placed immediately after.
 	 * @return the id of the relative tab or <code>null</code> if one has not been specified
-	 * 
+	 *
 	 */
 	public String getRelativeTabId() {
 		IConfigurationElement[] elems = fElement.getChildren(IConfigurationElementConstants.PLACEMENT);
@@ -89,7 +89,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the id of the plugin that contributed this tab extension
 	 * @return the id of the plugin tat contributed this tab
@@ -97,7 +97,7 @@
 	public String getPluginIdentifier() {
 		return fElement.getContributor().getName();
 	}
-	
+
 	/**
 	 * Returns a set of strings of the launch delegates that this tab contribution is associated with
 	 * @return the set of strings of the associated launch delegates, which can be an empty collection, never <code>null</code>.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
index f9588cd..355fdf2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
@@ -50,9 +50,9 @@
  * when it is needed.
  */
 
-public class LazyModelPresentation implements IDebugModelPresentation, IDebugEditorPresentation, 
+public class LazyModelPresentation implements IDebugModelPresentation, IDebugEditorPresentation,
 	IColorProvider, IFontProvider, IInstructionPointerPresentation, IDebugModelPresentationExtension {
-	
+
 	/**
 	 * A temporary mapping of attribute ids to their values
 	 * @see IDebugModelPresentation#setAttribute
@@ -63,24 +63,24 @@
 	 * The config element that defines the extension
 	 */
 	protected IConfigurationElement fConfig = null;
-	
+
 	/**
 	 * The actual presentation instance - null until called upon
 	 */
 	protected IDebugModelPresentation fPresentation = null;
-	
+
 	/**
 	 * Temp holding for listeners - we do not add to presentation until
 	 * it needs to be instantiated.
 	 */
 	protected ListenerList<ILabelProviderListener> fListeners = new ListenerList<>();
-	
+
 	/**
 	 * Non-null when nested inside a delegating model presentation
 	 */
 	private DelegatingModelPresentation fOwner = null;
-	
-		
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDebugEditorPresentation#removeAnntations(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IThread)
 	 */
@@ -110,18 +110,18 @@
 	public LazyModelPresentation(IConfigurationElement configElement) {
 		fConfig = configElement;
 	}
-	
+
 	/**
 	 * Constructs a lazy presentation from the config element, owned by the specified
 	 * delegating model presentation.
-	 * 
+	 *
 	 * @param parent owning presentation
 	 * @param configElement XML configuration element
 	 */
 	public LazyModelPresentation(DelegatingModelPresentation parent, IConfigurationElement configElement) {
 		this(configElement);
 		fOwner = parent;
-	}	
+	}
 
 	/**
 	 * @see IDebugModelPresentation#getImage(Object)
@@ -142,7 +142,7 @@
         }
         return image;
 	}
-	
+
 	/**
 	 * Initializes the image registry
 	 */
@@ -154,7 +154,7 @@
 
 	/**
      * Computes and return common adornment flags for the given element.
-     * 
+     *
      * @param element
      * @return adornment flags defined in CompositeDebugImageDescriptor
      */
@@ -180,14 +180,14 @@
     protected Image getDefaultImage(Object element) {
         return DebugUIPlugin.getDefaultLabelProvider().getImage(element);
     }
-    
+
     /**
 	 * @see IDebugModelPresentation#getText(Object)
 	 */
 	@Override
 	public String getText(Object element) {
         if (!(element instanceof IndexedVariablePartition)) {
-            // Attempt to delegate        
+            // Attempt to delegate
             String text = getPresentation().getText(element);
             if (text != null) {
                 return text;
@@ -207,7 +207,7 @@
                         }
                     }
                     buf.append(getDefaultText(element));
-                    return buf.toString(); 
+                    return buf.toString();
                 } else if (element instanceof IVariable) {
                     return new StringBuffer(((IVariable)element).getValue().getReferenceTypeName()).append(' ').append(getDefaultText(element)).toString();
                 }
@@ -217,7 +217,7 @@
         }
         return getDefaultText(element);
 	}
-	
+
     /**
      * Whether or not to show variable type names.
      * This option is configured per model presentation.
@@ -228,15 +228,15 @@
 		show = show == null ? Boolean.FALSE : show;
         return show.booleanValue();
     }
-    
+
 	/**
 	 * @see IDebugModelPresentation#computeDetail(IValue, IValueDetailListener)
 	 */
 	@Override
 	public void computeDetail(IValue value, IValueDetailListener listener) {
 		getPresentation().computeDetail(value, listener);
-	}	
-	
+	}
+
 	/**
 	 * @see ISourcePresentation#getEditorInput(Object)
 	 */
@@ -244,7 +244,7 @@
 	public IEditorInput getEditorInput(Object element) {
 		return getPresentation().getEditorInput(element);
 	}
-	
+
 	/**
 	 * @see ISourcePresentation#getEditorId(IEditorInput, Object)
 	 */
@@ -282,7 +282,7 @@
 	public boolean isLabelProperty(Object element, String property) {
 		if (fPresentation != null) {
 			return getPresentation().isLabelProperty(element, property);
-		} 
+		}
 		return false;
 	}
 
@@ -299,7 +299,7 @@
 		    listeners.remove(listener);
 		}
 	}
-	
+
 	/**
 	 * Returns the real presentation, instantiating if required.
 	 */
@@ -347,12 +347,12 @@
 		}
 
 		fAttributes.put(id, value);
-		
+
 		if (fOwner != null) {
 			fOwner.basicSetAttribute(id, value);
 		}
 	}
-	
+
 	/**
 	 * Returns the identifier of the debug model this
 	 * presentation is registered for.
@@ -360,12 +360,12 @@
 	public String getDebugModelIdentifier() {
 		return fConfig.getAttribute("id"); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Returns a new source viewer configuration for the details
 	 * area of the variables view, or <code>null</code> if
 	 * unspecified.
-	 * 
+	 *
 	 * @return source viewer configuration or <code>null</code>
 	 * @exception CoreException if unable to create the specified
 	 * 	source viewer configuration
@@ -377,20 +377,20 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns a copy of the attributes in this model presentation.
-	 * 
+	 *
 	 * @return a copy of the attributes in this model presentation
 	 * @since 3.0
 	 */
 	public Map<String, Object> getAttributeMap() {
 		return new HashMap<String, Object>(fAttributes);
 	}
-	
+
 	/**
 	 * Returns the raw attribute map
-	 * 
+	 *
 	 * @return the raw attribute map
 	 */
 	public Map<String, Object> getAttributes() {
@@ -422,7 +422,7 @@
         }
         return null;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
index d02ea84..8713018 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
@@ -44,24 +44,24 @@
 	protected static final int BROWSE = 101;
 	protected static final int VARIABLE = 102;
 	protected static final int MULTILINE_VARIABLE = 103;
-	
+
 	protected Composite panel;
-	
+
 	protected List<FieldSummary> fieldList = new ArrayList<FieldSummary>();
 	protected List<Text> controlList = new ArrayList<Text>();
 	protected List<Validator> validators = new ArrayList<Validator>();
 	protected Map<Object, String> valueMap = new HashMap<Object, String>();
 
 	private String title;
-	
-	
-	
+
+
+
 	public MultipleInputDialog(Shell shell, String title) {
 		super(shell);
 		this.title = title;
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
 	 */
@@ -71,9 +71,9 @@
 		if (title != null) {
 			shell.setText(title);
 		}
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
@@ -83,7 +83,7 @@
 		validateFields();
 		return bar;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
@@ -92,7 +92,7 @@
 		Composite container = (Composite)super.createDialogArea(parent);
 		container.setLayout(new GridLayout(2, false));
 		container.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
+
 		panel = new Composite(container, SWT.NONE);
 		GridLayout layout = new GridLayout(2, false);
 		panel.setLayout(layout);
@@ -115,12 +115,12 @@
 					break;
 			}
 		}
-		
+
 		fieldList = null; // allow it to be gc'd
 		Dialog.applyDialogFont(container);
 		return container;
 	}
-	
+
 	public void addBrowseField(String labelText, String initialValue, boolean allowsEmpty) {
 		fieldList.add(new FieldSummary(BROWSE, labelText, initialValue, allowsEmpty));
 	}
@@ -133,23 +133,23 @@
 	public void addMultilinedVariablesField(String labelText, String initialValue, boolean allowsEmpty) {
 		fieldList.add(new FieldSummary(MULTILINE_VARIABLE, labelText, initialValue, allowsEmpty));
 	}
-	
-	protected void createTextField(String labelText, String initialValue, boolean allowEmpty) { 
+
+	protected void createTextField(String labelText, String initialValue, boolean allowEmpty) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
+
 		final Text text = new Text(panel, SWT.SINGLE | SWT.BORDER);
 		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 		text.setData(FIELD_NAME, labelText);
-		
+
 		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
+		label.setSize(label.getSize().x, text.getSize().y);
+
 		if (initialValue != null) {
 			text.setText(initialValue);
 		}
-		
+
 		if (!allowEmpty) {
 			validators.add(new Validator() {
 				@Override
@@ -164,22 +164,22 @@
 				}
 			});
 		}
-		
+
 		controlList.add(text);
 	}
-	
+
 	protected void createBrowseField(String labelText, String initialValue, boolean allowEmpty) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
+
 		Composite comp = new Composite(panel, SWT.NONE);
 		GridLayout layout = new GridLayout();
 		layout.marginHeight=0;
 		layout.marginWidth=0;
 		comp.setLayout(layout);
 		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
+
 		final Text text = new Text(comp, SWT.SINGLE | SWT.BORDER);
 		GridData data = new GridData(GridData.FILL_HORIZONTAL);
 		data.widthHint = 200;
@@ -187,8 +187,8 @@
 		text.setData(FIELD_NAME, labelText);
 
 		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
+		label.setSize(label.getSize().x, text.getSize().y);
+
 		if (initialValue != null) {
 			text.setText(initialValue);
 		}
@@ -208,45 +208,45 @@
 				}
 			});
 		}
-		
-		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.MultipleInputDialog_6, false); 
+
+		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.MultipleInputDialog_6, false);
 		button.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setMessage(DebugUIMessages.MultipleInputDialog_7);  
+				dialog.setMessage(DebugUIMessages.MultipleInputDialog_7);
 				String currentWorkingDir = text.getText();
 				if (!currentWorkingDir.trim().equals(IInternalDebugCoreConstants.EMPTY_STRING)) {
 					File path = new File(currentWorkingDir);
 					if (path.exists()) {
 						dialog.setFilterPath(currentWorkingDir);
-					}			
+					}
 				}
-				
+
 				String selectedDirectory = dialog.open();
 				if (selectedDirectory != null) {
 					text.setText(selectedDirectory);
-				}		
+				}
 			}
 		});
 
 		controlList.add(text);
-		
+
 	}
-	
-	
+
+
 	public void createVariablesField(String labelText, String initialValue, boolean allowEmpty) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
+
 		Composite comp = new Composite(panel, SWT.NONE);
 		GridLayout layout = new GridLayout();
 		layout.marginHeight=0;
 		layout.marginWidth=0;
 		comp.setLayout(layout);
 		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
+
 		final Text text = new Text(comp, SWT.SINGLE | SWT.BORDER);
 		GridData data = new GridData(GridData.FILL_HORIZONTAL);
 		data.widthHint = 200;
@@ -254,8 +254,8 @@
 		text.setData(FIELD_NAME, labelText);
 
 		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
+		label.setSize(label.getSize().x, text.getSize().y);
+
 		if (initialValue != null) {
 			text.setText(initialValue);
 		}
@@ -275,8 +275,8 @@
 				}
 			});
 		}
-		
-		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.MultipleInputDialog_8, false); 
+
+		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.MultipleInputDialog_8, false);
 		button.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -292,16 +292,16 @@
 		});
 
 		controlList.add(text);
-				
+
 	}
-	
+
 	public void createMultilineVariablesField(String labelText, String initialValue, boolean allowEmpty) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
 		gd.horizontalSpan = 2;
 		label.setLayoutData(gd);
-		
+
 		final Text text = new Text(panel, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
 		gd = new GridData(GridData.FILL_BOTH);
 		gd.widthHint = 300;
@@ -309,7 +309,7 @@
 		gd.horizontalSpan = 2;
 		text.setLayoutData(gd);
 		text.setData(FIELD_NAME, labelText);
-		
+
 		text.addTraverseListener(new TraverseListener () {
   			@Override
 			public void keyTraversed(TraverseEvent e) {
@@ -318,10 +318,10 @@
   				}
   			}
   		});
-		
+
 		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
+		label.setSize(label.getSize().x, text.getSize().y);
+
 		if (initialValue != null) {
 			text.setText(initialValue);
 		}
@@ -341,13 +341,13 @@
 				}
 			});
 		}
-		Composite comp = SWTFactory.createComposite(panel, panel.getFont(), 1, 2, GridData.HORIZONTAL_ALIGN_END); 
+		Composite comp = SWTFactory.createComposite(panel, panel.getFont(), 1, 2, GridData.HORIZONTAL_ALIGN_END);
 		GridLayout ld = (GridLayout)comp.getLayout();
 		ld.marginHeight = 1;
 		ld.marginWidth = 0;
 		ld.horizontalSpacing = 0;
 		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.MultipleInputDialog_8, false);
-		
+
 		button.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -362,9 +362,9 @@
 			}
 		});
 
-		controlList.add(text);				
+		controlList.add(text);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
@@ -377,7 +377,7 @@
 		super.okPressed();
 	}
 
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#open()
 	 */
@@ -386,15 +386,15 @@
 		applyDialogFont(panel);
 		return super.open();
 	}
-	
+
 	public Object getValue(String key) {
 		return valueMap.get(key);
 	}
-	
+
 	public String getStringValue(String key) {
 		return  (String) getValue(key);
 	}
-	
+
 	public void validateFields() {
 		for (Validator validator : validators) {
 			if (!validator.validate()) {
@@ -404,13 +404,13 @@
 		}
 		getButton(IDialogConstants.OK_ID).setEnabled(true);
 	}
-    
+
 	protected class FieldSummary {
 		int type;
 		String name;
 		String initialValue;
 		boolean allowsEmpty;
-		
+
 		public FieldSummary(int type, String name, String initialValue, boolean allowsEmpty) {
 			this.type = type;
 			this.name = name;
@@ -418,7 +418,7 @@
 			this.allowsEmpty = allowsEmpty;
 		}
 	}
-	
+
 	protected class Validator {
 		boolean validate() {
 			return true;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java
index 69a6bf3..cb28ccf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
index 347d1aa..cebd8de 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
@@ -71,7 +71,7 @@
 		        }
         	}
         } else {
-            if (PROPERTY_MATCHES_PATTERN.equals(method)) { 
+            if (PROPERTY_MATCHES_PATTERN.equals(method)) {
                 String fileName = resource.getName();
                 String expected = (String) expectedValue;
                 expected = expected.replaceAll("\\.", "\\\\.");  //$NON-NLS-1$//$NON-NLS-2$
@@ -92,11 +92,11 @@
         }
         return false;
     }
-    
+
     /**
-     * Returns whether the given type or one of its base types matches the 
+     * Returns whether the given type or one of its base types matches the
      * given content type identifier.
-     *  
+     *
      * @param type content type or <code>null</code>
      * @param typeId content type identifier
      * @return
@@ -114,9 +114,9 @@
     /**
      * Returns whether or not the given file's content type matches the
      * specified content type.
-     * 
+     *
      * Content types are looked up in the content type registry.
-     * 
+     *
      * @return whether or not the given resource has the given content type
      */
     private boolean matchesContentType(IResource resource, String contentType) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTFactory.java
index 618c247..99e66b8 100755
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTFactory.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
  *******************************************************************************/
@@ -34,10 +34,10 @@
 import org.eclipse.ui.forms.widgets.ExpandableComposite;
 
 /**
- * Factory class to create some SWT resources. 
+ * Factory class to create some SWT resources.
  */
 public class SWTFactory {
-		
+
 	/**
 	 * Returns a width hint for a button control.
 	 */
@@ -47,28 +47,28 @@
 		int widthHint= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
 		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
 	}
-	
+
 	/**
 	 * Sets width and height hint for the button control.
 	 * <b>Note:</b> This is a NOP if the button's layout data is not
 	 * an instance of <code>GridData</code>.
-	 * 
+	 *
 	 * @param	the button for which to set the dimension hint
-	 */		
+	 */
 	public static void setButtonDimensionHint(Button button) {
 		Assert.isNotNull(button);
 		Object gd= button.getLayoutData();
 		if (gd instanceof GridData) {
-			((GridData)gd).widthHint= getButtonWidthHint(button);	
-			((GridData)gd).horizontalAlignment = GridData.FILL;	 
+			((GridData)gd).widthHint= getButtonWidthHint(button);
+			((GridData)gd).horizontalAlignment = GridData.FILL;
 		}
-	}		
-	
+	}
+
 	/**
 	 * Creates a check box button using the parents' font
 	 * @param parent the parent to add the button to
 	 * @param label the label for the button
-	 * @param image the image for the button 
+	 * @param image the image for the button
 	 * @param checked the initial checked state of the button
 	 * @param hspan the horizontal span to take up in the parent composite
 	 * @return a new checked button set to the initial checked state
@@ -90,15 +90,15 @@
 		setButtonDimensionHint(button);
 		return button;
 	}
-	
+
 	/**
 	 * Creates and returns a new push button with the given
 	 * label and/or image.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
 	 * @param image image of <code>null</code>
-	 * 
+	 *
 	 * @return a new push button
 	 */
 	public static Button createPushButton(Composite parent, String label, Image image) {
@@ -111,20 +111,20 @@
 			button.setText(label);
 		}
 		GridData gd = new GridData();
-		button.setLayoutData(gd);	
+		button.setLayoutData(gd);
 		setButtonDimensionHint(button);
-		return button;	
-	}	
+		return button;
+	}
 
 	/**
 	 * Creates and returns a new push button with the given
 	 * label and/or image.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
 	 * @param image image of <code>null</code>
 	 * @param fill the alignment for the new button
-	 * 
+	 *
 	 * @return a new push button
 	 * @since 3.4
 	 */
@@ -138,20 +138,20 @@
 			button.setText(label);
 		}
 		GridData gd = new GridData(fill);
-		button.setLayoutData(gd);	
+		button.setLayoutData(gd);
 		setButtonDimensionHint(button);
-		return button;	
-	}	
-	
+		return button;
+	}
+
 	/**
 	 * Creates and returns a new push button with the given
 	 * label, tooltip and/or image.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
 	 * @param tooltip the tooltip text for the button or <code>null</code>
 	 * @param image image of <code>null</code>
-	 * 
+	 *
 	 * @return a new push button
 	 * @since 3.6
 	 */
@@ -160,14 +160,14 @@
 		button.setToolTipText(tooltip);
 		return button;
 	}
-	
+
 	/**
 	 * Creates and returns a new radio button with the given
 	 * label.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
-	 * 
+	 *
 	 * @return a new radio button
 	 */
 	public static Button createRadioButton(Composite parent, String label) {
@@ -177,19 +177,19 @@
 			button.setText(label);
 		}
 		GridData gd = new GridData();
-		button.setLayoutData(gd);	
+		button.setLayoutData(gd);
 		setButtonDimensionHint(button);
-		return button;	
-	}	
-	
+		return button;
+	}
+
 	/**
 	 * Creates and returns a new radio button with the given
 	 * label.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
 	 * @param hspan the number of columns to span in the parent composite
-	 * 
+	 *
 	 * @return a new radio button
 	 * @since 3.6
 	 */
@@ -201,11 +201,11 @@
 		}
 		GridData gd = new GridData(GridData.BEGINNING);
 		gd.horizontalSpan = hspan;
-		button.setLayoutData(gd);	
+		button.setLayoutData(gd);
 		setButtonDimensionHint(button);
-		return button;	
+		return button;
 	}
-	
+
 	/**
 	 * Creates a new label widget
 	 * @param parent the parent composite to add this label widget to
@@ -213,7 +213,7 @@
 	 * @param hspan the horizontal span to take up in the parent composite
 	 * @return the new label
 	 * @since 3.2
-	 * 
+	 *
 	 */
 	public static Label createLabel(Composite parent, String text, int hspan) {
 		Label l = new Label(parent, SWT.NONE);
@@ -225,7 +225,7 @@
 		l.setLayoutData(gd);
 		return l;
 	}
-	
+
 	/**
 	 * Creates a new label widget
 	 * @param parent the parent composite to add this label widget to
@@ -244,7 +244,7 @@
 		l.setLayoutData(gd);
 		return l;
 	}
-	
+
 	/**
 	 * Creates a wrapping label
 	 * @param parent the parent composite to add this label to
@@ -264,7 +264,7 @@
 		l.setLayoutData(gd);
 		return l;
 	}
-	
+
 	/**
 	 * Creates a new <code>CLabel</code> that will wrap at the specified width and has the specified image
 	 * @param parent the parent to add this label to
@@ -290,7 +290,7 @@
 		label.setLayoutData(gd);
 		return label;
 	}
-	
+
 	/**
 	 * Creates a wrapping label
 	 * @param parent the parent composite to add this label to
@@ -308,14 +308,14 @@
 		l.setLayoutData(gd);
 		return l;
 	}
-	
+
 	/**
-	 * Creates a new text widget 
+	 * Creates a new text widget
 	 * @param parent the parent composite to add this text widget to
 	 * @param hspan the horizontal span to take up on the parent composite
 	 * @return the new text widget
 	 * @since 3.2
-	 * 
+	 *
 	 */
 	public static Text createSingleText(Composite parent, int hspan) {
     	Text t = new Text(parent, SWT.SINGLE | SWT.BORDER);
@@ -325,9 +325,9 @@
     	t.setLayoutData(gd);
     	return t;
     }
-	
+
 	/**
-	 * Creates a new text widget 
+	 * Creates a new text widget
 	 * @param parent the parent composite to add this text widget to
 	 * @param style the style bits for the text widget
 	 * @param hspan the horizontal span to take up on the parent composite
@@ -343,9 +343,9 @@
     	t.setLayoutData(gd);
     	return t;
     }
-	
+
 	/**
-	 * Creates a new text widget 
+	 * Creates a new text widget
 	 * @param parent the parent composite to add this text widget to
 	 * @param style the style bits for the text widget
 	 * @param hspan the horizontal span to take up on the parent composite
@@ -360,9 +360,9 @@
     	t.setLayoutData(gd);
     	return t;
     }
-	
+
 	/**
-	 * Creates a new text widget 
+	 * Creates a new text widget
 	 * @param parent the parent composite to add this text widget to
 	 * @param style the style bits for the text widget
 	 * @param hspan the horizontal span to take up on the parent composite
@@ -382,9 +382,9 @@
     	t.setLayoutData(gd);
     	return t;
     }
-	
+
 	/**
-	 * Creates a new styled text widget 
+	 * Creates a new styled text widget
 	 * @param parent the parent composite to add this styled text widget to
 	 * @param style the style bits for the styled text widget
 	 * @param hspan the horizontal span to take up on the parent composite
@@ -404,9 +404,9 @@
 		t.setLayoutData(gd);
 		return t;
 	}
-	
+
 	/**
-	 * Creates a new text widget 
+	 * Creates a new text widget
 	 * @param parent the parent composite to add this text widget to
 	 * @param style the style bits for the text widget
 	 * @param hspan the horizontal span to take up on the parent composite
@@ -423,7 +423,7 @@
     	t.setText(text);
     	return t;
     }
-	
+
 	/**
 	 * Creates a Group widget
 	 * @param parent the parent composite to add this group to
@@ -433,7 +433,7 @@
 	 * @param fill the style for how this composite should fill into its parent
 	 * @return the new group
 	 * @since 3.2
-	 * 
+	 *
 	 */
 	public static Group createGroup(Composite parent, String text, int columns, int hspan, int fill) {
     	Group g = new Group(parent, SWT.NONE);
@@ -445,7 +445,7 @@
     	g.setLayoutData(gd);
     	return g;
     }
-	
+
 	/**
 	 * Creates a Composite widget
 	 * @param parent the parent composite to add this composite to
@@ -465,7 +465,7 @@
     	g.setLayoutData(gd);
     	return g;
     }
-	
+
 	/**
 	 * Creates an ExpandibleComposite widget
 	 * @param parent the parent to add this widget to
@@ -486,7 +486,7 @@
 		ex.setLayoutData(gd);
 		return ex;
 	}
-	
+
 	/**
 	 * Creates a composite that uses the parent's font and has a grid layout
 	 * @param parent the parent to add the composite to
@@ -494,7 +494,7 @@
 	 * @param hspan the horizontal span the new composite should take up in the parent
 	 * @param fill the fill style of the composite {@link GridData}
 	 * @return a new composite with a grid layout
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static Composite createComposite(Composite parent, int columns, int hspan, int fill) {
@@ -506,12 +506,12 @@
     	g.setLayoutData(gd);
     	return g;
 	}
-	
+
 	/**
-	 * Creates a vertical spacer for separating components. If applied to a 
+	 * Creates a vertical spacer for separating components. If applied to a
 	 * <code>GridLayout</code>, this method will automatically span all of the columns of the parent
 	 * to make vertical space
-	 * 
+	 *
 	 * @param parent the parent composite to add this spacer to
 	 * @param numlines the number of vertical lines to make as space
 	 * @since 3.3
@@ -526,7 +526,7 @@
 		gd.heightHint = numlines;
 		lbl.setLayoutData(gd);
 	}
-	
+
 	/**
 	 * creates a horizontal spacer for separating components
 	 * @param comp
@@ -539,7 +539,7 @@
 		gd.horizontalSpan = numlines;
 		lbl.setLayoutData(gd);
 	}
-	
+
 	/**
 	 * Creates a Composite widget
 	 * @param parent the parent composite to add this composite to
@@ -564,7 +564,7 @@
     	g.setLayoutData(gd);
     	return g;
 	}
-	
+
 	/**
 	 * Creates a {@link ViewForm}
 	 * @param parent
@@ -589,7 +589,7 @@
 		form.setLayoutData(gd);
 		return form;
 	}
-	
+
 	/**
 	 * Creates a Composite widget
 	 * @param parent the parent composite to add this composite to
@@ -615,7 +615,7 @@
     	g.setLayoutData(gd);
     	return g;
 	}
-	
+
 	/**
 	 * This method is used to make a combo box
 	 * @param parent the parent composite to add the new combo to
@@ -641,7 +641,7 @@
 		c.select(0);
 		return c;
 	}
-	
+
 	/**
 	 * This method is used to make a combo box with a default fill style of GridData.FILL_HORIZONTAL
 	 * @param parent the parent composite to add the new combo to
@@ -665,7 +665,7 @@
 		c.select(0);
 		return c;
 	}
-	
+
 	/**
 	 * This method allows us to open the preference dialog on the specific page, in this case the perspective page
 	 * @param id the id of preference page to show
@@ -675,15 +675,15 @@
 	public static void showPreferencePage(String id) {
 		PreferencesUtil.createPreferenceDialogOn(DebugUIPlugin.getShell(), id, new String[] {id}, null).open();
 	}
-	
+
 	/**
 	 * This method allows users to open a specific preference page and supply a custom
 	 * set of page filter items.
-	 * 
-	 * This alternative to <code>showPreferencePage(String)</code> allows other related 
+	 *
+	 * This alternative to <code>showPreferencePage(String)</code> allows other related
 	 * pref pages to be shown at the same time at the developers/context discretion.
-	 * All pages can be shown if <code>null</code> is passed.  
-	 * 
+	 * All pages can be shown if <code>null</code> is passed.
+	 *
 	 * @param page_id the id for the page to open
 	 * @param page_filters the listing of pages to be shown in the dialog
 	 * @since 3.6
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/TerminateToggleValue.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/TerminateToggleValue.java
index f1bb6d5..c9f943d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/TerminateToggleValue.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/TerminateToggleValue.java
@@ -16,7 +16,7 @@
  * Class stores the data for shortcut and if Shift was pressed with shortcut
  * This is used to store that data for selected selection and later used at the
  * launching of the shortcut
- * 
+ *
  * @since 3.12
  */
 public class TerminateToggleValue {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
index b1fda84..26bf56f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariableValueEditorManager.java
@@ -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 implementation
  *******************************************************************************/
@@ -24,12 +24,12 @@
  * Manager which provides the variable value editors contributed
  * via the org.eclipse.debug.ui.variableValueEditors extension
  * point.
- * 
+ *
  * @see org.eclipse.debug.ui.actions.IVariableValueEditor
  * @since 3.1
  */
 public class VariableValueEditorManager {
-    
+
     /**
      * Mapping of debug model identifiers to variable value editors.
      * The keys in this map are always Strings (model ids).
@@ -38,7 +38,7 @@
      * are instantiated (editors are loaded lazily, then cached).
      */
 	private Map<String, Object> fEditorMap = new HashMap<String, Object>();
-    
+
     /**
      * The singleton instance of this manager.
      */
@@ -63,7 +63,7 @@
         }
         return fgManager;
     }
-    
+
     /**
      * Returns the variable value editor associated with the given debug
      * model identifier or <code>null</code> if no editor has been supplied
@@ -89,7 +89,7 @@
         }
         return editor;
     }
-	
+
 	/**
 	 * Loads contributors to the org.eclipse.debug.ui.variableValueEditors extension point,
 	 * for use when the user runs this action.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java
index eb01c25..0b9dbef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.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
  *******************************************************************************/
@@ -17,7 +17,7 @@
 
 	/**
 	 * @see DelegatingModelPresentation#getText(Object)
-	 * 
+	 *
 	 * Strips out control characters and replaces them with string representations
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
index 94e4ced..d0bb87c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
@@ -30,8 +30,8 @@
 		DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
 			@Override
 			public void run() {
-				String title= DebugUIMessages.WorkingDirectoryStatusHandler_Eclipse_Runtime_1; 
-				String message= DebugUIMessages.WorkingDirectoryStatusHandler_0; 
+				String title= DebugUIMessages.WorkingDirectoryStatusHandler_Eclipse_Runtime_1;
+				String message= DebugUIMessages.WorkingDirectoryStatusHandler_0;
 				result[0]= (MessageDialog.openQuestion(DebugUIPlugin.getShell(), title, message));
 			}
 		});
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
index c91cc56..a5d928e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
@@ -38,7 +38,7 @@
  * @see IActionDelegate2
  */
 public abstract class AbstractDebugActionDelegate implements IViewActionDelegate, IActionDelegate2 {
-	
+
 	/**
 	 * The underlying action for this delegate
 	 */
@@ -48,17 +48,17 @@
 	 * if not installed in a view.
 	 */
 	private IViewPart fViewPart;
-	
+
 	/**
 	 * Cache of the most recent selection
 	 */
 	private IStructuredSelection fSelection = StructuredSelection.EMPTY;
-	
+
 	/**
 	 * Whether this delegate has been initialized
 	 */
 	private boolean fInitialized = false;
-	
+
 	/**
 	 * Whether this delegate was started with Shift pressed
 	 */
@@ -70,7 +70,7 @@
 	 * set in the plugin's plugin.xml file.
 	 */
 	public AbstractDebugActionDelegate() {}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
@@ -92,15 +92,15 @@
 			runInForeground(selection, false);
 	    }
 	}
-	
+
 	/**
 	 * Runs this action in the UI thread.
 	 * @param selection the current selection
 	 */
 	private void runInForeground(final IStructuredSelection selection, boolean isShift) {
 		fIsShift = isShift;
-	    final MultiStatus status= 
-			new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, getStatusMessage(), null); 	    
+	    final MultiStatus status=
+			new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, getStatusMessage(), null);
 		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
 			@Override
 			public void run() {
@@ -143,14 +143,14 @@
 	 */
 	@Override
 	public void selectionChanged(IAction action, ISelection s) {
-		boolean wasInitialized= initialize(action, s);		
+		boolean wasInitialized= initialize(action, s);
 		if (!wasInitialized) {
 			if (getView() != null) {
 				update(action, s);
 			}
 		}
 	}
-	
+
 	/**
 	 * Updates the specified selection based on the selection, as well as setting the selection
 	 * for this action
@@ -167,7 +167,7 @@
 			setSelection(StructuredSelection.EMPTY);
 		}
 	}
-	
+
 	/**
 	 * Returns a selection this operation should act on based on the given selection.
 	 * Provides an opportunity for actions to translate the selection/targets of the
@@ -182,7 +182,7 @@
 	protected IStructuredSelection getTargetSelection(IStructuredSelection s) {
 		return s;
 	}
-	
+
 	/**
 	 * Performs the specific action on this element.
 	 * @param element the element context to perform the action on
@@ -218,11 +218,11 @@
 	public void init(IViewPart view) {
 		fViewPart = view;
 	}
-	
+
 	/**
 	 * Returns this action's view part, or <code>null</code>
 	 * if not installed in a view.
-	 * 
+	 *
 	 * @return view part or <code>null</code>
 	 */
 	protected IViewPart getView() {
@@ -232,9 +232,9 @@
 	/**
 	 * Initialize this delegate, updating this delegate's
 	 * presentation.
-	 * As well, all of the flavors of AbstractDebugActionDelegates need to 
+	 * As well, all of the flavors of AbstractDebugActionDelegates need to
 	 * have the initial enabled state set with a call to update(IAction, ISelection).
-	 * 
+	 *
 	 * @param action the presentation for this action
 	 * @param selection the current selection - workbench or text
 	 * @return whether the action was initialized
@@ -251,22 +251,22 @@
 
 	/**
 	 * Returns the most recent selection
-	 * 
+	 *
 	 * @return structured selection
-	 */	
+	 */
 	protected IStructuredSelection getSelection() {
 		return fSelection;
 	}
-	
+
 	/**
 	 * Sets the most recent selection
-	 * 
+	 *
 	 * @param selection structured selection
-	 */	
+	 */
 	private void setSelection(IStructuredSelection selection) {
 		fSelection = selection;
-	}	
-	
+	}
+
 	/**
 	 * Allows the underlying <code>IAction</code> to be set to the specified <code>IAction</code>
 	 * @param action the action to set
@@ -282,7 +282,7 @@
 	protected IAction getAction() {
 		return fAction;
 	}
-	
+
 	/**
 	 * Returns if this action has been initialized or not
 	 * @return if this action has been initialized or not
@@ -298,7 +298,7 @@
 	protected void setInitialized(boolean initialized) {
 		fInitialized = initialized;
 	}
-	
+
 	/**
 	 * Return whether the action should be enabled or not based on the given selection.
 	 * @param selection the selection
@@ -315,7 +315,7 @@
 				return false;
 			}
 		}
-		return true;		
+		return true;
 	}
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
index c32ae9b..054067d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.actions;
 
- 
+
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.swt.widgets.Event;
@@ -22,14 +22,14 @@
 
 /**
  * This class is a base implementation of a 'remove all' debug action
- * 
+ *
  * This class is intended to be extended by clients
  * @see IViewActionDelegate
  * @see IActionDelegate2
  * @see IWorkbenchWindowActionDelegate
  */
 public abstract class AbstractRemoveAllActionDelegate implements IViewActionDelegate, IActionDelegate2, IWorkbenchWindowActionDelegate {
-	
+
 	/**
 	 * The underlying <code>IAction</code>
 	 */
@@ -39,7 +39,7 @@
 	 * Needed for reflective creation
 	 */
 	public AbstractRemoveAllActionDelegate() {}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#dispose()
 	 */
@@ -58,13 +58,13 @@
 
 	/**
 	 * Returns this delegate's action.
-	 * 
+	 *
 	 * @return the underlying <code>IAction</code>
 	 */
 	protected IAction getAction() {
 		return fAction;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
 	 */
@@ -95,7 +95,7 @@
 	 * Initializes any listeners, etc.
 	 */
 	protected abstract void initialize();
-	
+
 	/**
 	 * Update enablement.
 	 */
@@ -105,14 +105,14 @@
 			action.setEnabled(isEnabled());
 		}
 	}
-	
+
 	/**
 	 * Returns whether this action is enabled
-	 * 
+	 *
 	 * @return true if this action is enabled, false otherwise
 	 */
 	protected abstract boolean isEnabled();
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java
index 6d2078c..c108869 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractSelectionActionDelegate.java
@@ -28,9 +28,9 @@
 /**
  * This class provides a base implementation of a selection action delegate, more specifically a delegate
  * that uses a selection context to update its underlying <code>IAction</code>.
- * 
+ *
  * This class is intended to be extended by clients
- * 
+ *
  * @see IViewActionDelegate
  * @see IActionDelegate2
  *
@@ -41,7 +41,7 @@
 	 * The underlying action for this delegate
 	 */
 	private IAction fAction;
-	
+
 	/**
 	 * This action's view part, or <code>null</code> if not installed in a
 	 * view.
@@ -57,7 +57,7 @@
 	 * Used to schedule jobs, or <code>null</code> if none
 	 */
 	private IWorkbenchSiteProgressService fProgressService = null;
-	
+
 	/**
 	 * It's crucial that delegate actions have a zero-arg constructor so that
 	 * they can be reflected into existence when referenced in an action set in
@@ -67,7 +67,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
 	@Override
@@ -94,7 +94,7 @@
 	 * Returns the String to use as an error dialog message for a failed action.
 	 * This message appears as the "Message:" in the error dialog for this
 	 * action. Default is to return null.
-	 * 
+	 *
 	 * @return the message for the error dialog
 	 */
 	protected String getErrorDialogMessage() {
@@ -105,7 +105,7 @@
 	 * Returns the String to use as a status message for a failed action. This
 	 * message appears as the "Reason:" in the error dialog for this action.
 	 * Default is to return the empty String.
-	 * 
+	 *
 	 * @return the status message
 	 */
 	protected String getStatusMessage() {
@@ -114,7 +114,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
 	 */
 	@Override
@@ -126,7 +126,7 @@
 	/**
 	 * Returns this action's view part, or <code>null</code> if not installed
 	 * in a view.
-	 * 
+	 *
 	 * @return the underlying <code>IViewPart</code> or <code>null</code>
 	 */
 	protected IViewPart getView() {
@@ -135,7 +135,7 @@
 
 	/**
 	 * Returns the most recent selection
-	 * 
+	 *
 	 * @return structured selection
 	 */
 	protected IStructuredSelection getSelection() {
@@ -144,7 +144,7 @@
 
 	/**
 	 * Sets the most recent selection
-	 * 
+	 *
 	 * @param context structured selection
 	 */
 	private void setSelection(IStructuredSelection context) {
@@ -179,7 +179,7 @@
 	 * Return whether the action should be enabled or not based on the given
 	 * selection.
 	 * @param selection the current selection
-	 * 
+	 *
 	 * @return true if the action should be enabled for the specified selection context
 	 * false otherwise
 	 */
@@ -225,7 +225,7 @@
 
 	/**
 	 * Schedules the given job with this action's progress service
-	 * 
+	 *
 	 * @param job the {@link Job} to schedule
 	 */
 	protected void schedule(Job job) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
index 8032a01..fa78599 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.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 - Initial API and implementation
  *  Mike Morearty - Bug 271411
@@ -25,7 +25,7 @@
 	public static String AbstractLaunchHistoryAction_5;
 
 	public static String AbstractLaunchHistoryAction_6;
-    
+
     public static String AddToFavoritesAction_1;
     public static String AddToFavoritesAction_2;
     public static String AddToFavoritesAction_3;
@@ -44,7 +44,7 @@
     public static String ConfigureColumnsAction_0;
 	public static String ConfigureColumnsAction_1;
 	public static String ConfigureColumnsAction_2;
-    
+
     public static String CopyToClipboardActionDelegate_Problem_Copying_to_Clipboard_1;
     public static String CopyToClipboardActionDelegate_There_was_a_problem_when_accessing_the_system_clipboard__Retry__2;
 
@@ -91,7 +91,7 @@
     public static String RelaunchLastAction_Cannot_relaunch___0___because_it_does_not_support__2__mode_2;
     public static String RelaunchLastAction_Error_relaunching_3;
     public static String RelaunchLastAction_Error_encountered_attempting_to_relaunch_4;
-    
+
     public static String RemoveAllBreakpointsAction_0;
     public static String RemoveAllBreakpointsAction_1;
     public static String RemoveAllBreakpointsAction_2;
@@ -108,7 +108,7 @@
 
 	public static String RemoveAllTriggerPointsAction_0;
 	public static String RemoveAllTriggerPointsAction_1;
-	
+
 	public static String DeleteBreakpointOperationName;
 	public static String DeleteBreakpointsOperationName;
 
@@ -128,13 +128,13 @@
 
     public static String SkipAllBreakpointsAction_0;
     public static String SkipAllBreakpointsAction_2;
-    
+
     public static String TerminateAndRelaunchAction_0;
     public static String TerminateAndRelaunchAction_3;
     public static String TerminateAndRelaunchAction_4;
     public static String TerminateAndRemoveAction_0;
     public static String TerminateAndRemoveAction_3;
-    
+
     public static String ToggleDetailPaneAction_0;
 
 	public static String ToggleDetailPaneAction_1;
@@ -163,7 +163,7 @@
 	public static String WatchExpressionDialogMenu_2;
     public static String WatchAction_0;
     public static String WatchAction_1;
-    
+
     public static String RunToLineAction_0;
     public static String RunToLineAction_1;
     public static String RunToLineHandler_0;
@@ -237,7 +237,7 @@
 
 	public static String VirtualFindAction_0;
 	public static String VirtualFindAction_1;
-	
+
 	public static String ToggleBreakpointsTargetManager_defaultToggleTarget_name;
-    public static String ToggleBreakpointsTargetManager_defaultToggleTarget_description;	
+    public static String ToggleBreakpointsTargetManager_defaultToggleTarget_description;
 }
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
index aaa58be..5c89678 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
@@ -39,7 +39,7 @@
  * Adds the selected launch configuration to the launch favorites.
  */
 public class AddToFavoritesAction extends SelectionListenerAction {
-	
+
 	private ILaunchConfiguration fConfiguration = null;
 	private String fMode =null;
 	private ILaunchGroup fGroup = null;
@@ -65,7 +65,7 @@
 			Object object = selection.getFirstElement();
 			ILaunch launch = null;
 			if (object instanceof IAdaptable) {
-				launch = ((IAdaptable)object).getAdapter(ILaunch.class); 
+				launch = ((IAdaptable)object).getAdapter(ILaunch.class);
 			}
 			if (launch == null) {
 				if (object instanceof ILaunch) {
@@ -85,21 +85,21 @@
 					}
 					setGroup(group);
 					setLaunchConfiguration(configuration);
-					setMode(launch.getLaunchMode());				
+					setMode(launch.getLaunchMode());
 					setText(MessageFormat.format(ActionMessages.AddToFavoritesAction_1, new Object[] { DebugUIPlugin.removeAccelerators(getGroup().getLabel()) }));
 				}
 			}
 		}
-		
+
 		// Disable the action if the launch config is private
 		ILaunchConfiguration config = getLaunchConfiguration();
 		if (config == null) {
 			return false;
-		} 
+		}
 		if (DebugUITools.isPrivate(config)) {
 				return false;
 		}
-		
+
 		if (getGroup() != null) {
 			try {
 				List<String> groups = config.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List<String>) null);
@@ -109,9 +109,9 @@
 				return true;
 			} catch (CoreException e) {
 			}
-			
+
 		}
-		
+
 		return false;
 	}
 
@@ -122,7 +122,7 @@
 	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
 		fConfiguration = configuration;
 	}
-	
+
 	/**
 	 * Returns the underlying <code>ILaunchConfiguration</code>
 	 * @return the underlying <code>ILaunchConfiguration</code>
@@ -130,7 +130,7 @@
 	protected ILaunchConfiguration getLaunchConfiguration() {
 		return fConfiguration;
 	}
-	
+
 	/**
 	 * Sets the mode this action applies to
 	 * @param mode the modes to set
@@ -138,7 +138,7 @@
 	protected void setMode(String mode) {
 		fMode = mode;
 	}
-	
+
 	/**
 	 * Returns the mode this action applies to
 	 * @return the {@link ILaunchMode} this action applies to
@@ -146,7 +146,7 @@
 	protected String getMode() {
 		return fMode;
 	}
-	
+
 	/**
 	 * Sets the <code>ILaunchGroup</code> this action applies to
 	 * @param group the new <code>ILaunchGroup</code>
@@ -154,7 +154,7 @@
 	protected void setGroup(ILaunchGroup group) {
 		fGroup = group;
 	}
-	
+
 	/**
 	 * Returns the underlying <code>ILaunchGroup</code>
 	 * @return the underlying <code>ILaunchGroup</code>
@@ -162,7 +162,7 @@
 	protected ILaunchGroup getGroup() {
 		return fGroup;
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
@@ -188,7 +188,7 @@
 			}
 		});
 		if (ex[0] != null) {
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.AddToFavoritesAction_2, ActionMessages.AddToFavoritesAction_3, ex[0].getStatus()); // 
+			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.AddToFavoritesAction_2, ActionMessages.AddToFavoritesAction_3, ex[0].getStatus()); //
 		}
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
index be528d0..9990532 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
@@ -22,9 +22,9 @@
  * CollapseAllAction
  */
 public class CollapseAllAction extends Action implements IUpdate {
-	
+
 	private TreeModelViewer fViewer;
-	
+
 	public CollapseAllAction(TreeModelViewer viewer) {
 		super(ActionMessages.CollapseAllAction_0, DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_COLLAPSE_ALL));
 		setToolTipText(ActionMessages.CollapseAllAction_0);
@@ -33,7 +33,7 @@
 		setActionDefinitionId(CollapseAllHandler.COMMAND_ID);
 		fViewer = viewer;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
index d272120..3359d88 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConfigureColumnsAction.java
@@ -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
  *******************************************************************************/
@@ -32,13 +32,13 @@
 
 /**
  * Configures visible columns in an asynch tree viewer/
- * 
+ *
  * @since 3.2
  */
 public class ConfigureColumnsAction extends Action implements IUpdate {
-	
+
 	private TreeModelViewer fViewer;
-	
+
 	class ColumnContentProvider implements IStructuredContentProvider {
 
 		/* (non-Javadoc)
@@ -60,13 +60,13 @@
 		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 		 */
 		@Override
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {			
+		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
-		
+
 	}
-	
+
 	class ColumnLabelProvider extends LabelProvider {
-		
+
 		private Map<ImageDescriptor, Image> fImages = new HashMap<ImageDescriptor, Image>();
 
 		@Override
@@ -96,9 +96,9 @@
 			}
 			fImages.clear();
 		}
-		
-		
-		
+
+
+
 	}
 
 	public ConfigureColumnsAction(TreeModelViewer viewer) {
@@ -146,7 +146,7 @@
 				fViewer.setVisibleColumns(ids);
 			}
 		}
-			
+
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
index 9a870f6..73289d1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
index d114aab..e0d7938 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
@@ -15,11 +15,11 @@
 
 /**
  * Specialization of <code>ContextualLaunchAction</code> for the debug mode
- * 
+ *
  * @see {@link ContextualLaunchAction}
  */
 public class DebugContextualLaunchAction extends ContextualLaunchAction {
-	
+
 	/**
 	 * Constructor
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
index 496a5e3..432b7ed 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.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
  *******************************************************************************/
@@ -16,11 +16,11 @@
 
 /**
  * Debug history menu in the top-level "Run" menu.
- */ 
+ */
 public class DebugHistoryMenuAction extends AbstractLaunchHistoryAction {
-	
+
 	public DebugHistoryMenuAction() {
 		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
index 8a46b09..f628c83 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.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
  *******************************************************************************/
@@ -19,22 +19,22 @@
 
 /**
  * Re-launches the last debug-mode launch
- * 
+ *
  * This menu item appears in the main 'Run' menu
- * 
+ *
  * @see RelaunchLastAction
  * @see RunLastAction
  * @see ProfileLastAction
  */
 public class DebugLastAction extends RelaunchLastAction {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.actions.RelaunchLastAction#getMode()
 	 */
 	@Override
 	public String getMode() {
 		return ILaunchManager.DEBUG_MODE;
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getLaunchGroupId()
@@ -71,8 +71,8 @@
 	@Override
 	protected String getCommandId() {
 		return "org.eclipse.debug.ui.commands.DebugLast"; //$NON-NLS-1$
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getDescription()
 	 */
@@ -84,5 +84,5 @@
 		else {
 			return ActionMessages.DebugLastAction_3;
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java
index 6e8152f..ebcf5c8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
index 9131390..2ce898a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
@@ -36,7 +36,7 @@
  * on the the launch associated with the selected element.
  */
 public class EditLaunchConfigurationAction extends SelectionListenerAction {
-	
+
 	private ILaunchConfiguration fConfiguration = null;
 	private String fMode = null;
 	private boolean fTerminated = false;
@@ -61,7 +61,7 @@
 			Object object = selection.getFirstElement();
 			ILaunch launch = null;
 			if (object instanceof IAdaptable) {
-				launch = ((IAdaptable)object).getAdapter(ILaunch.class); 
+				launch = ((IAdaptable)object).getAdapter(ILaunch.class);
 			}
 			if (launch == null) {
 				if (object instanceof ILaunch) {
@@ -88,7 +88,7 @@
 							}
 						}
 					} catch (CoreException e1) {
-					}	
+					}
 					setLaunchConfiguration(configuration);
 					setMode(launch.getLaunchMode());
 					setIsTerminated(launch.isTerminated());
@@ -103,7 +103,7 @@
 				}
 			}
 		}
-		
+
 		// Disable the action if the launch config is private
 		ILaunchConfiguration config = getLaunchConfiguration();
 		if (config == null) {
@@ -115,27 +115,27 @@
 	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
 		fConfiguration = configuration;
 	}
-	
+
 	protected ILaunchConfiguration getLaunchConfiguration() {
 		return fConfiguration;
 	}
-	
+
 	protected void setMode(String mode) {
 		fMode = mode;
 	}
-	
+
 	protected String getMode() {
 		return fMode;
 	}
-	
+
 	protected boolean isTerminated() {
 		return fTerminated;
 	}
-	
+
 	protected void setIsTerminated(boolean terminated) {
 		fTerminated = terminated;
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
index d665910..8f3cbb1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.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
  *******************************************************************************/
@@ -26,13 +26,13 @@
  * This is the super class of the Run & Debug actions which appears in the desktop menu and toolbar.
  */
 public abstract class ExecutionAction implements IActionDelegate2 {
-	
+
 	private String fLaunchGroupIdentifier;
-	
+
 	public ExecutionAction(String launchGroupIdentifier) {
 		fLaunchGroupIdentifier = launchGroupIdentifier;
 	}
-	
+
 	/**
 	 * @see IActionDelegate2#runWithEvent(IAction, Event)
 	 */
@@ -51,16 +51,16 @@
 		}
 		DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), new StructuredSelection(), fLaunchGroupIdentifier);
 	}
-	
+
 	protected LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
 	}
-	
+
 	/**
 	 * Returns the mode of a launcher to use for this action
 	 */
 	protected abstract String getMode();
-	
+
 	/**
 	 * @see org.eclipse.ui.IActionDelegate2#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchConfigurationAction.java
index e554b3e..6593936 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchConfigurationAction.java
@@ -26,14 +26,14 @@
 /**
  * This class provides an action wrapper for adding launch configuration actions to the context menu
  * of the Run->... menu item
- * 
+ *
  * @since 3.3
  */
 public class LaunchConfigurationAction extends Action {
 
 	private ILaunchConfiguration fConfig;
 	private String fMode;
-	
+
 	/**
 	 * Constructor
 	 * @param mode
@@ -46,7 +46,7 @@
 		fConfig = config;
 		fMode = mode;
 	}
-	
+
 	/**
 	 * Allows access to the launch configuration associated with the action
 	 * @return the associated launch configuration
@@ -62,7 +62,7 @@
 	public void run() {
 		runInternal(false);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.Action#runWithEvent(org.eclipse.swt.widgets.Event)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
index 41a264a..58c9755 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
@@ -42,9 +42,9 @@
  * Launch shortcut action (proxy to a launch shortcut extension)
  */
 public class LaunchShortcutAction extends Action {
-	
+
 	private String fMode;
-	private LaunchShortcutExtension fShortcut; 
+	private LaunchShortcutExtension fShortcut;
 
 
 	/**
@@ -59,10 +59,10 @@
 		fMode = mode;
 		updateEnablement();
 	}
-	
+
 	/**
 	 * Runs with either the active editor or workbench selection.
-	 * 
+	 *
 	 * @see IAction#run()
 	 */
 	@Override
@@ -86,7 +86,7 @@
 			DebugUITools.removeLaunchToggleTerminate(ss);
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.Action#runWithEvent(org.eclipse.swt.widgets.Event)
 	 */
@@ -135,7 +135,7 @@
 			runInternal(((event.stateMask & SWT.SHIFT) > 0) ? true : false);
 		}
 	}
-	
+
 	/**
 	 * Since these actions are re-created each time the run/debug as menu is
 	 * filled, the enablement of this action is static.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
index 8424033..7073c52 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
@@ -53,10 +53,10 @@
 	protected LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
 	}
-	
+
 	/**
 	 * Returns the resource this property page is open on.
-	 * 
+	 *
 	 * @return resource
 	 */
 	protected IResource getResource(Object element) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
index 4445eee..fa0551d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.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
  *******************************************************************************/
@@ -22,5 +22,5 @@
 	public OpenDebugConfigurations() {
 		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java
index 51e62ee..5157bb0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.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
  *******************************************************************************/
@@ -22,5 +22,5 @@
 	public OpenProfileConfigurations() {
 		super(IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
index b84d912..35cc0f9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.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
  *******************************************************************************/
@@ -22,5 +22,5 @@
 	public OpenRunConfigurations() {
 		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java
index 321d03c..1e96455 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
index 257eee5..ad470e0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
@@ -15,11 +15,11 @@
 
 /**
  * Specialization of <code>ContextualLaunchAction</code> for the profile mode
- * 
+ *
  * @see {@link ContextualLaunchAction}
  */
 public class ProfileContextualLaunchAction extends ContextualLaunchAction {
-	
+
 	/**
 	 * Constructor
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java
index 317ae7a..8e7af67 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.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
  *******************************************************************************/
@@ -16,11 +16,11 @@
 
 /**
  * Profile history menu in the top-level "Run" menu.
- */ 
+ */
 public class ProfileHistoryMenuAction extends AbstractLaunchHistoryAction {
-	
+
 	public ProfileHistoryMenuAction() {
 		super(IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java
index fcb010d..edd1387 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.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
  *******************************************************************************/
@@ -19,13 +19,13 @@
 
 /**
  * Re-launches the last profile-mode launch
- * 
+ *
  * This menu item appears in the main 'Run' menu
- * 
+ *
  * @see RelaunchLastAction
  * @see RunLastAction
  * @see DebugLastAction
- * 
+ *
  */
 public class ProfileLastAction extends RelaunchLastAction {
 
@@ -35,8 +35,8 @@
 	@Override
 	public String getMode() {
 		return ILaunchManager.PROFILE_MODE;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getLaunchGroupId()
 	 */
@@ -65,15 +65,15 @@
 	protected String getTooltipText() {
 		return IInternalDebugCoreConstants.EMPTY_STRING;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getCommandId()
 	 */
 	@Override
 	protected String getCommandId() {
 		return "org.eclipse.debug.ui.commands.ProfileLast"; //$NON-NLS-1$
-	}		
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getDescription()
 	 */
@@ -85,5 +85,5 @@
 		else {
 			return ActionMessages.ProfileLastAction_3;
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java
index 469f8fd..dc3db87 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
index 49ea108..7580f42 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
@@ -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
  *******************************************************************************/
@@ -24,7 +24,7 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 
 public class RelaunchActionDelegate extends AbstractDebugActionDelegate {
-	
+
 	/**
 	 * @see AbstractDebugActionDelegate#doAction(Object)
 	 */
@@ -38,7 +38,7 @@
 
 	/**
 	 * Re-launches the given configuration in the specified mode.
-	 * 
+	 *
 	 */
 	public static void relaunch(ILaunchConfiguration config, String mode) {
 		DebugUITools.launch(config, mode);
@@ -47,7 +47,7 @@
 	/**
 	 * Re-launches the given configuration in the specified mode after
 	 * terminating the previous if Preferred.
-	 * 
+	 *
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
 	 *            Shift)
 	 */
@@ -63,7 +63,7 @@
 		ILaunch launch= DebugUIPlugin.getLaunch(element);
 		return launch != null && launch.getLaunchConfiguration() != null && LaunchConfigurationManager.isVisible(launch.getLaunchConfiguration());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#getTargetSelection(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
@@ -84,20 +84,20 @@
 		}
 		return new StructuredSelection(dups.toArray());
 	}
-			
+
 	/**
 	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
 	 */
 	@Override
 	protected String getErrorDialogMessage() {
-		return ActionMessages.RelaunchActionDelegate_Launch_Failed_1; 
+		return ActionMessages.RelaunchActionDelegate_Launch_Failed_1;
 	}
-	
+
 	/**
 	 * @see AbstractDebugActionDelegate#getStatusMessage()
 	 */
 	@Override
 	protected String getStatusMessage() {
-		return ActionMessages.RelaunchActionDelegate_An_exception_occurred_while_launching_2; 
+		return ActionMessages.RelaunchActionDelegate_An_exception_occurred_while_launching_2;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
index b89310d..43e2ff5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.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

  *     Wind River Systems - bug 227877

@@ -17,7 +17,7 @@
 

 /**

  * Re-launches the last launch.

- * 

+ *

  * @see ContextRunner

  * @see ILaunchConfiguration

  * @see RunLastAction

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
index 7f542db..67b3564 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
@@ -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
  *******************************************************************************/
@@ -19,7 +19,7 @@
 import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.debug.core.ILaunchesListener2;
 import org.eclipse.jface.action.IAction;
- 
+
 /**
  * Removes all terminated/detached launches from the
  * active debug view.
@@ -53,9 +53,9 @@
 		if (!removed.isEmpty()) {
 			ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
 			manager.removeLaunches(removed.toArray(new ILaunch[removed.size()]));
-		}				
+		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
 	 */
@@ -63,7 +63,7 @@
 	protected void initialize() {
 		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java
index a66d4f5..f58e5c5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.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
  *     Wind River Systems - added support for IToggleBreakpointsTargetFactory
@@ -34,17 +34,17 @@
 
 /**
  * Global retargettable debug action.
- * 
+ *
  * @since 3.0
  */
 public abstract class RetargetAction implements IWorkbenchWindowActionDelegate, IPartListener, IActionDelegate2 {
-	
+
 	protected IWorkbenchWindow fWindow = null;
 	private IWorkbenchPart fActivePart = null;
 	private Object fTargetAdapter = null;
 	private IAction fAction = null;
-	private static final ISelection EMPTY_SELECTION = new EmptySelection();  
-	
+	private static final ISelection EMPTY_SELECTION = new EmptySelection();
+
 	static class EmptySelection implements ISelection {
 
 		/* (non-Javadoc)
@@ -55,11 +55,11 @@
 			return true;
 		}
 	}
-	
+
 	/**
 	 * Returns the current selection in the active part, possibly
 	 * and empty selection, but never <code>null</code>.
-	 * 
+	 *
 	 * @return the selection in the active part, possibly empty
 	 */
 	protected ISelection getTargetSelection() {
@@ -71,11 +71,11 @@
 		}
 		return EMPTY_SELECTION;
 	}
-	
+
 	protected IWorkbenchPart getActivePart() {
 	    return fActivePart;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
@@ -84,7 +84,7 @@
 		fWindow.getPartService().removePartListener(this);
 		fActivePart = null;
 		fTargetAdapter = null;
-		
+
 	}
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
@@ -114,29 +114,29 @@
 					DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIPlugin.removeAccelerators(action.getText()), message, status);
 				}
 			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(fWindow.getShell(), ActionMessages.RetargetAction_2, ActionMessages.RetargetAction_3, e.getStatus()); // 
+				DebugUIPlugin.errorDialog(fWindow.getShell(), ActionMessages.RetargetAction_2, ActionMessages.RetargetAction_3, e.getStatus()); //
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns a message to display when we find that the operation is not enabled
 	 * when invoked in an editor (we check enabled state before running in this case,
 	 * rather than updating on each selection change - see bug 180441).
-	 * 
+	 *
 	 * @return information message when unavailable
 	 */
 	protected abstract String getOperationUnavailableMessage();
-	
+
 	/**
 	 * Performs the specific breakpoint toggling.
-	 * 
-	 * @param selection selection in the active part 
+	 *
+	 * @param selection selection in the active part
 	 * @param part active part
 	 * @throws CoreException if an exception occurs
 	 */
 	protected abstract void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -154,7 +154,7 @@
 	        action.setEnabled(fTargetAdapter != null && isTargetEnabled());
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPartListener#partActivated(org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -175,30 +175,30 @@
 			fAction.setEnabled(fTargetAdapter != null && isTargetEnabled());
 		}
 	}
-	
+
 	protected Object getAdapter(IAdaptable adaptable) {
 		Object adapter  = adaptable.getAdapter(getAdapterClass());
 		if (adapter == null) {
 			IAdapterManager adapterManager = Platform.getAdapterManager();
-			if (adapterManager.hasAdapter(adaptable, getAdapterClass().getName())) { 
-				adapter = adapterManager.loadAdapter(adaptable, getAdapterClass().getName()); 
+			if (adapterManager.hasAdapter(adaptable, getAdapterClass().getName())) {
+				adapter = adapterManager.loadAdapter(adaptable, getAdapterClass().getName());
 			}
 		}
 		return adapter;
 	}
-	
+
 	/**
 	 * Returns the type of adapter (target) this action works on.
-	 * 
+	 *
 	 * @return the type of adapter this action works on
 	 */
 	protected abstract Class<?> getAdapterClass();
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPartListener#partBroughtToTop(org.eclipse.ui.IWorkbenchPart)
 	 */
 	@Override
-	public void partBroughtToTop(IWorkbenchPart part) {		
+	public void partBroughtToTop(IWorkbenchPart part) {
 	}
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
@@ -207,11 +207,11 @@
 	public void partClosed(IWorkbenchPart part) {
 		clearPart(part);
 	}
-	
+
 	/**
 	 * Clears reference to active part and adapter when a relevant part
 	 * is closed or no longer active.
-	 * 
+	 *
 	 * @param part workbench part that has been closed or no longer active
 	 */
 	protected void clearPart(IWorkbenchPart part) {
@@ -231,12 +231,12 @@
 	 * @see org.eclipse.ui.IPartListener#partOpened(org.eclipse.ui.IWorkbenchPart)
 	 */
 	@Override
-	public void partOpened(IWorkbenchPart part) {		
+	public void partOpened(IWorkbenchPart part) {
 	}
 
 	/**
 	 * Returns whether the target adapter is enabled
-	 * 
+	 *
 	 * @return whether target adapter is enabled
 	 */
 	protected boolean isTargetEnabled() {
@@ -247,17 +247,17 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns whether the specific operation is supported.
-	 * 
-	 * @param target the target adapter 
+	 *
+	 * @param target the target adapter
 	 * @param selection the selection to verify the operation on
 	 * @param part the part the operation has been requested on
 	 * @return whether the operation can be performed
 	 */
 	protected abstract boolean canPerformAction(Object target, ISelection selection, IWorkbenchPart part);
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
 	 */
@@ -276,7 +276,7 @@
 
 	/**
 	 * Returns the proxy to this action delegate or <code>null</code>
-	 * 
+	 *
 	 * @return action proxy or <code>null</code>
 	 */
 	protected IAction getAction() {
@@ -285,7 +285,7 @@
 
 	/**
 	 * Returns whether there is currently a target adapter for this action.
-	 * 
+	 *
 	 * @return whether the action has a target adapter.
 	 */
 	protected boolean hasTargetAdapter() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
index 759d55e..cdbd7b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.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
  *     Wind River - Pawel Piech - Added use of adapters to support non-standard models (bug 213074)
@@ -27,14 +27,14 @@
 
 /**
  * Global retargettable run to line action.
- * 
+ *
  * @since 3.0
  */
 public class RetargetRunToLineAction extends RetargetAction {
-	
+
 	private DebugContextListener fContextListener = new DebugContextListener();
 	private ISuspendResume fTargetElement = null;
-	
+
 	class DebugContextListener implements IDebugContextListener {
 
 		protected void contextActivated(ISelection selection) {
@@ -56,10 +56,10 @@
 		public void debugContextChanged(DebugContextEvent event) {
 			contextActivated(event.getContext());
 		}
-		
-		
+
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
@@ -79,13 +79,13 @@
 		ISelection activeContext = service.getActiveContext();
 		fContextListener.contextActivated(activeContext);
 	}
-		
+
 	@Override
 	public void init(IAction action) {
 	    super.init(action);
 	    action.setActionDefinitionId("org.eclipse.debug.ui.commands.RunToLine"); //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#canPerformAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -94,7 +94,7 @@
 		return fTargetElement != null &&
 			((IRunToLineTarget)target).canRunToLine(part, selection, fTargetElement);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#getAdapterClass()
 	 */
@@ -109,15 +109,15 @@
 	protected void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException {
 		((IRunToLineTarget)target).runToLine(part, selection, fTargetElement);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#getOperationUnavailableMessage()
 	 */
 	@Override
 	protected String getOperationUnavailableMessage() {
 		return ActionMessages.RetargetRunToLineAction_0;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -128,5 +128,5 @@
 		} else {
 			super.selectionChanged(action, selection);
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java
index efbd375..30d13ea 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
index 25b9964..7deb1cb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
@@ -15,11 +15,11 @@
 
 /**
  * Specialization of <code>ContextualLaunchAction</code> for the run mode
- * 
+ *
  * @see {@link ContextualLaunchAction}
  */
 public class RunContextualLaunchAction extends ContextualLaunchAction {
-	
+
 	/**
 	 * Constructor
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
index fedfecc..1520e6f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.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
  *******************************************************************************/
@@ -16,11 +16,11 @@
 
 /**
  * Run history menu in the top-level "Run" menu.
- */ 
+ */
 public class RunHistoryMenuAction extends AbstractLaunchHistoryAction {
-	
+
 	public RunHistoryMenuAction() {
 		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
index f363549..b900719 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.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
  *******************************************************************************/
@@ -19,9 +19,9 @@
 
 /**
  * Re-launches the last run-mode launch
- * 
+ *
  * This menu item appears in the main 'Run' menu
- * 
+ *
  * @see RelaunchLastAction
  * @see DebugLastAction
  * @see ProfileLastAction
@@ -34,8 +34,8 @@
 	@Override
 	public String getMode() {
 		return ILaunchManager.RUN_MODE;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getLaunchGroupId()
 	 */
@@ -64,7 +64,7 @@
 	protected String getTooltipText() {
 		return IInternalDebugCoreConstants.EMPTY_STRING;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getCommandId()
 	 */
@@ -72,7 +72,7 @@
 	protected String getCommandId() {
 		return "org.eclipse.debug.ui.commands.RunLast"; //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RelaunchLastAction#getDescription()
 	 */
@@ -84,5 +84,5 @@
 		else {
 			return ActionMessages.RunLastAction_3;
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java
index 353cc19..99dff44 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
index a920aa9..f1b6c19 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
@@ -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
  *******************************************************************************/
@@ -23,7 +23,7 @@
 import org.eclipse.ui.IViewPart;
 
 public abstract class SelectAllAction extends AbstractRemoveAllActionDelegate {
-	
+
 	private IViewPart fView;
 
 	/* (non-Javadoc)
@@ -38,13 +38,13 @@
 		}
 		super.init(view);
 	}
-	
+
 	protected IViewPart getView() {
 		return fView;
 	}
-	
+
 	protected abstract String getActionId();
-	
+
 	private void collectExpandedAndVisible(TreeItem[] items, List<TreeItem> result) {
 		for (int i= 0; i < items.length; i++) {
 			TreeItem item= items[i];
@@ -73,5 +73,5 @@
 			viewer.setSelection(viewer.getSelection());
 		}
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
index 11aa179..ca7a181 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
@@ -15,15 +15,15 @@
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 
 /**
- * A settable IStatus. 
+ * A settable IStatus.
  * Can be an error, warning, info or ok. For error, info and warning states,
  * a message describes the problem.
  */
 public class StatusInfo implements IStatus {
-	
+
 	private String fStatusMessage;
 	private int fSeverity;
-	
+
 	/**
 	 * Creates a status set to OK (no message)
 	 */
@@ -36,12 +36,12 @@
 	 * @param severity The status severity: ERROR, WARNING, INFO and OK.
 	 * @param message The message of the status. Applies only for ERROR,
 	 * WARNING and INFO.
-	 */	
+	 */
 	public StatusInfo(int severity, String message) {
 		fStatusMessage= message;
 		fSeverity= severity;
-	}		
-	
+	}
+
 	/**
 	 *  Returns if the status' severity is OK.
 	 */
@@ -52,25 +52,25 @@
 
 	/**
 	 *  Returns if the status' severity is WARNING.
-	 */	
+	 */
 	public boolean isWarning() {
 		return fSeverity == IStatus.WARNING;
 	}
 
 	/**
 	 *  Returns if the status' severity is INFO.
-	 */	
+	 */
 	public boolean isInfo() {
 		return fSeverity == IStatus.INFO;
-	}	
+	}
 
 	/**
 	 *  Returns if the status' severity is ERROR.
-	 */	
+	 */
 	public boolean isError() {
 		return fSeverity == IStatus.ERROR;
 	}
-	
+
 	/**
 	 * @see IStatus#getMessage
 	 */
@@ -78,11 +78,11 @@
 	public String getMessage() {
 		return fStatusMessage;
 	}
-	
+
 	/**
 	 * Sets the status to ERROR.
 	 * @param The error message (can be empty, but not null)
-	 */	
+	 */
 	public void setError(String errorMessage) {
 		Assert.isNotNull(errorMessage);
 		fStatusMessage= errorMessage;
@@ -92,7 +92,7 @@
 	/**
 	 * Sets the status to WARNING.
 	 * @param The warning message (can be empty, but not null)
-	 */		
+	 */
 	public void setWarning(String warningMessage) {
 		Assert.isNotNull(warningMessage);
 		fStatusMessage= warningMessage;
@@ -102,21 +102,21 @@
 	/**
 	 * Sets the status to INFO.
 	 * @param The info message (can be empty, but not null)
-	 */		
+	 */
 	public void setInfo(String infoMessage) {
 		Assert.isNotNull(infoMessage);
 		fStatusMessage= infoMessage;
 		fSeverity= IStatus.INFO;
-	}	
+	}
 
 	/**
 	 * Sets the status to OK.
-	 */		
+	 */
 	public void setOK() {
 		fStatusMessage= null;
 		fSeverity= IStatus.OK;
 	}
-	
+
 	/*
 	 * @see IStatus#matches(int)
 	 */
@@ -175,6 +175,6 @@
 	@Override
 	public IStatus[] getChildren() {
 		return new IStatus[0];
-	}	
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java
index 8531b8e..ec665cd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointsTargetManager.java
@@ -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
  *     Wind River Systems - adapted to use with IToggleBreakpiontsTargetFactory extension
@@ -67,9 +67,9 @@
 import org.eclipse.ui.texteditor.SimpleMarkerAnnotation;
 
 /**
- * The concrete implementation of the toggle breakpoints target manager 
- * interface. 
- * 
+ * The concrete implementation of the toggle breakpoints target manager
+ * interface.
+ *
  * @since 3.5
  */
 public class ToggleBreakpointsTargetManager implements IToggleBreakpointsTargetManager {
@@ -79,29 +79,29 @@
      * through the legacy adapter mechanism.
      */
     public static String DEFAULT_TOGGLE_TARGET_ID = "default"; //$NON-NLS-1$
-    
+
 	private static Set<String> DEFAULT_TOGGLE_TARGET_ID_SET = new TreeSet<String>();
     static {
         DEFAULT_TOGGLE_TARGET_ID_SET.add(DEFAULT_TOGGLE_TARGET_ID);
     }
-    
+
     /**
-     * Acts as a proxy between the toggle breakpoints target manager and the factories 
-     * contributed to the extension point.  Only loads information from the plug-in XML 
+     * Acts as a proxy between the toggle breakpoints target manager and the factories
+     * contributed to the extension point.  Only loads information from the plug-in XML
      * and only instantiates the specified factory if required (lazy loading).
      */
     private static class ToggleTargetFactory implements IToggleBreakpointsTargetFactory {
-        
+
         private IConfigurationElement fConfigElement;
         private IToggleBreakpointsTargetFactory fFactory;
         private Expression fEnablementExpression;
-        
+
         public ToggleTargetFactory(IConfigurationElement configElement){
-            fConfigElement = configElement;         
+            fConfigElement = configElement;
         }
 
         /**
-         * @return Returns the instantiated factory specified by the class property. 
+         * @return Returns the instantiated factory specified by the class property.
          */
         private IToggleBreakpointsTargetFactory getFactory() {
             if (fFactory != null) {
@@ -113,20 +113,20 @@
                     fFactory = (IToggleBreakpointsTargetFactory)obj;
                 } else {
                     throw new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, "org.eclipse.debug.ui.toggleBreakpointsTargetFactories extension failed to load breakpoint toggle target because the specified class does not implement org.eclipse.debug.ui.actions.IToggleBreakpointsTargetFactory.  Class specified was: " + obj, null)); //$NON-NLS-1$
-                }   
+                }
             } catch (CoreException e){
                 DebugUIPlugin.log(e.getStatus());
                 fFactory = null;
             }
             return fFactory;
         }
-        
+
         /**
          * Checks if the enablement expression for the factory evaluates to true for the
          * given part and selection.
          * @param part The active part.
          * @param selection The current selection
-         * @return whether the delegated target factory is enabled for given 
+         * @return whether the delegated target factory is enabled for given
          * part and selection.
          */
         public boolean isEnabled(IWorkbenchPart part, ISelection selection) {
@@ -139,10 +139,10 @@
             }
             return enabled;
         }
-        
+
         /**
          * Returns the active debug context given the active part.  It is used
-         * in creating the evaluation context for the factories' enablement expression. 
+         * in creating the evaluation context for the factories' enablement expression.
          * @param part active part
          * @return current active debug context
          */
@@ -151,14 +151,14 @@
                 getContextService(part.getSite().getWorkbenchWindow()).getActiveContext();
             if (selection instanceof IStructuredSelection) {
                 return (IStructuredSelection)selection;
-            } 
+            }
             return StructuredSelection.EMPTY;
         }
 
         /**
          * Evaluate the given expression within the given context and return
          * the result. Returns <code>true</code> iff result is either TRUE.
-         * 
+         *
          * @param part the {@link IWorkbenchPart} context
          * @param selection the current selection in the part
          * @param exp the current expression
@@ -168,17 +168,17 @@
             if (exp != null){
                 IEvaluationContext context = DebugUIPlugin.createEvaluationContext(part);
 				List<Object> debugContextList = getDebugContext(part).toList();
-                context.addVariable(IConfigurationElementConstants.DEBUG_CONTEXT, debugContextList); 
+                context.addVariable(IConfigurationElementConstants.DEBUG_CONTEXT, debugContextList);
 
                 if (selection instanceof IStructuredSelection) {
 					List<Object> selectionList = ((IStructuredSelection) selection).toList();
-                    context.addVariable(IConfigurationElementConstants.SELECTION, selectionList); 
+                    context.addVariable(IConfigurationElementConstants.SELECTION, selectionList);
                 }
 
                 if (part instanceof IEditorPart) {
                     context.addVariable(IConfigurationElementConstants.EDITOR_INPUT, ((IEditorPart)part).getEditorInput());
                 }
-                
+
                 try{
                     EvaluationResult result = exp.evaluate(context);
                     if (result == EvaluationResult.TRUE){
@@ -190,7 +190,7 @@
             }
             return false;
         }
-        
+
         /**
 		 * @return Returns an expression that represents the enablement logic
 		 *         for the breakpoint toggle target.
@@ -199,7 +199,7 @@
             if (fEnablementExpression == null) {
                 try{
                     IConfigurationElement[] elements = fConfigElement.getChildren(ExpressionTagNames.ENABLEMENT);
-                    IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
+                    IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
                     if (enablement != null) {
                         fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
                     }
@@ -211,10 +211,10 @@
             return fEnablementExpression;
         }
 
-        /** 
+        /**
          * Instantiates the factory and asks it to produce the IToggleBreakpointsTarget
          * for the given ID
-         * @param targetID ID to create toggle target for 
+         * @param targetID ID to create toggle target for
          * @return The created toggle target, or null.
          */
         @Override
@@ -222,16 +222,16 @@
             IToggleBreakpointsTargetFactory factory = getFactory();
             if (factory != null) {
                 return factory.createToggleTarget(targetID);
-            } 
+            }
             return null;
         }
-        
-        /** 
+
+        /**
          * Instantiates the factory and asks it for the set of toggle target
          * IDs that the factory can produce for the given part and selection.
          * @param part The active part.
          * @param selection The current selection
-         * @return Set of <code>String</code> IDs for possible toggle breakpoint 
+         * @return Set of <code>String</code> IDs for possible toggle breakpoint
          * targets, possibly empty
          */
         @Override
@@ -239,11 +239,11 @@
             IToggleBreakpointsTargetFactory factory = getFactory();
             if (factory != null) {
                 return factory.getToggleTargets(part, selection);
-            } 
+            }
             return Collections.EMPTY_SET;
         }
 
-        /** 
+        /**
          * Instantiates the factory and asks it to produce the name of the toggle target
          * for the given ID.
          * @param targetID toggle breakpoints target identifier
@@ -254,12 +254,12 @@
             IToggleBreakpointsTargetFactory factory = getFactory();
             if (factory != null) {
                 return factory.getToggleTargetName(targetID);
-            } 
+            }
             return null;
         }
 
-        /** 
-         * Instantiates the factory and asks it to produce the description of the toggle 
+        /**
+         * Instantiates the factory and asks it to produce the description of the toggle
          * target for the given ID.
          * @param targetID toggle breakpoints target identifier
          * @return toggle target name or <code>null</code> if none
@@ -269,11 +269,11 @@
             IToggleBreakpointsTargetFactory factory = getFactory();
             if (factory != null) {
                 return factory.getToggleTargetDescription(targetID);
-            } 
+            }
             return null;
         }
-        
-        /** 
+
+        /**
          * Instantiates the factory and asks it for the toggle tareget ID that
          * the factory considers the default for the given part and selection.
          * @param part The active part.
@@ -281,19 +281,19 @@
          * @return a breakpoint toggle target identifier or <code>null</code>
          */
         @Override
-		public String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection) { 
+		public String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection) {
             IToggleBreakpointsTargetFactory factory = getFactory();
             if (factory != null) {
                 return factory.getDefaultToggleTarget(part, selection);
-            } 
+            }
             return null;
         }
     }
 
-    
+
     /**
      * Factory for toggle breakpoints targets contributed through the
-     * adapter mechanism.  
+     * adapter mechanism.
      */
     private static class ToggleBreakpointsTargetAdapterFactory implements IToggleBreakpointsTargetFactory {
 
@@ -301,13 +301,13 @@
             if (selection instanceof IStructuredSelection) {
                 IStructuredSelection ss = (IStructuredSelection)selection;
                 return ss.getFirstElement();
-            } 
+            }
             return null;
         }
-        
+
         /**
-         * Checks whether the given element is adaptable to the toggle breakpoints target.  
-         * This method does not force loading of the adapter.  
+         * Checks whether the given element is adaptable to the toggle breakpoints target.
+         * This method does not force loading of the adapter.
          * @param adaptable Element to adapt.
          * @return returns true if element can be adapted.
          */
@@ -316,7 +316,7 @@
                 IToggleBreakpointsTarget adapter = null;
                 if (adaptable instanceof IAdaptable) {
                     adapter = ((IAdaptable)adaptable).getAdapter(IToggleBreakpointsTarget.class);
-                } 
+                }
                 if (adapter == null) {
                     IAdapterManager adapterManager = Platform.getAdapterManager();
                     if (adapterManager.hasAdapter(adaptable, IToggleBreakpointsTarget.class.getName())) {
@@ -328,10 +328,10 @@
             }
             return false;
         }
-        
+
         /**
-         * Finds the toggle breakpoints target for the active part and selection.  
-         * It first looks for the target using the factories registered using an 
+         * Finds the toggle breakpoints target for the active part and selection.
+         * It first looks for the target using the factories registered using an
          * extension point.  If not found it uses the <code>IAdaptable</code>
          * mechanism.
          * @param part The workbench part in which toggle target is to be used
@@ -342,7 +342,7 @@
         	IToggleBreakpointsTarget target = null;
             if (element != null) {
                 target = (IToggleBreakpointsTarget) DebugPlugin.getAdapter(element, IToggleBreakpointsTarget.class);
-            } 
+            }
             if (target == null) {
                 target = (IToggleBreakpointsTarget) DebugPlugin.getAdapter(part, IToggleBreakpointsTarget.class);
             }
@@ -350,17 +350,17 @@
         }
 
         /**
-         * Checks if there is an adaptable object for the given part and 
-         * selection, and if there is, it checks whether an 
+         * Checks if there is an adaptable object for the given part and
+         * selection, and if there is, it checks whether an
          * <code>IToggleBreakpointsTarget</code> can be obtained as an adapter.
          * @param part The workbench part in which toggle target is to be used
          * @param selection The active selection to use with toggle target
-         * @return Whether the adapter (default) toggle target is available. 
+         * @return Whether the adapter (default) toggle target is available.
          */
         public boolean isEnabled(IWorkbenchPart part, ISelection selection) {
             return canGetToggleBreakpointsTarget(getSelectionElement(selection)) || canGetToggleBreakpointsTarget(part);
         }
-        
+
         /**
          * Not implemented use {@link #createDefaultToggleTarget(IWorkbenchPart, ISelection)}
          * instead.
@@ -371,22 +371,22 @@
 		public IToggleBreakpointsTarget createToggleTarget(String targetID) {
             return null;
         }
-        
+
         /**
          * @param part The workbench part in which toggle target is to be used
          * @param selection The active selection to use with toggle target
-         * @return Returns a toggle target for the given part and selection, obtained 
-         * through the adapter mechanism. 
+         * @return Returns a toggle target for the given part and selection, obtained
+         * through the adapter mechanism.
          */
         public IToggleBreakpointsTarget createDefaultToggleTarget(IWorkbenchPart part, ISelection selection) {
             return getToggleBreakpointsTarget(part, getSelectionElement(selection));
         }
-        
+
         @Override
 		public Set<String> getToggleTargets(IWorkbenchPart part, ISelection selection) {
             if (isEnabled(part, selection)) {
                 return DEFAULT_TOGGLE_TARGET_ID_SET;
-            } 
+            }
             return Collections.EMPTY_SET;
         }
 
@@ -399,14 +399,14 @@
 		public String getToggleTargetDescription(String targetID) {
             return ActionMessages.ToggleBreakpointsTargetManager_defaultToggleTarget_description;
         }
-        
+
         @Override
 		public String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection) {
             return DEFAULT_TOGGLE_TARGET_ID;
         }
     }
 
-    
+
     /**
      * Preference key for storing the preferred targets map.
      * @see #storePreferredTargets()
@@ -414,7 +414,7 @@
      */
     public static final String PREF_TARGETS = "preferredTargets"; //$NON-NLS-1$
 
-    
+
     /**
      * There should only ever be once instance of this manager for the workbench.
      */
@@ -426,7 +426,7 @@
 		}
         return fgSingleton;
     }
-    
+
     /**
      * Maps the IDs of toggle breakpoint targets to their instances.  The target
      * IDs must be unique.
@@ -437,13 +437,13 @@
      * Maps a Set of target id's to the one target id that is preferred.
      */
 	private Map<Set<String>, String> fPreferredTargets;
-    
+
     /**
      * Maps the IDs of toggle targets to the factory that can create them.
      * There can currently only be one factory for a given toggle target.
      */
 	private Map<String, IToggleBreakpointsTargetFactory> fFactoriesByTargetID = new HashMap<String, IToggleBreakpointsTargetFactory>();
-    
+
     /**
      * List of listeners to changes in the preferred toggle targets list.
      */
@@ -458,7 +458,7 @@
         IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_TOGGLE_BREAKPOINTS_TARGET_FACTORIES);
         IConfigurationElement[] elements = ep.getConfigurationElements();
         for (int i= 0; i < elements.length; i++) {
-            String id = elements[i].getAttribute(IConfigurationElementConstants.ID); 
+            String id = elements[i].getAttribute(IConfigurationElementConstants.ID);
             if (id != null && id.length() != 0) {
                 if (fKnownFactories.containsKey(id)) {
                     DebugUIPlugin.log(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, "org.eclipse.debug.ui.toggleBreakpointsTargetFactory extension failed to load breakpoint toggle target because the specified id is already registered.  Specified ID is: " + id, null)); //$NON-NLS-1$
@@ -468,24 +468,24 @@
             } else {
                 DebugUIPlugin.log(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, "org.eclipse.debug.ui.toggleBreakpointsTargetFactory extension failed to load breakpoint toggle target because the specified id is empty.", null)); //$NON-NLS-1$
             }
-        }   
-        
-        // If there are any factories contributed through the extension point, 
+        }
+
+        // If there are any factories contributed through the extension point,
         // set a system property for use in enabling actions.
-        System.setProperty(IDebugUIConstants.SYS_PROP_BREAKPOINT_TOGGLE_FACTORIES_USED, 
+        System.setProperty(IDebugUIConstants.SYS_PROP_BREAKPOINT_TOGGLE_FACTORIES_USED,
                 fKnownFactories.size() > 1 ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
     /**
      * Returns the set of IToggleBreakpointsTargetFactory objects (they will be
-     * ToggleTargetFactory) that were contributed to the extension point and 
-     * are enabled for the given part and selection (enabled if the factory 
-     * does not have an enablement expression or if the enablement expression 
+     * ToggleTargetFactory) that were contributed to the extension point and
+     * are enabled for the given part and selection (enabled if the factory
+     * does not have an enablement expression or if the enablement expression
      * evaluates to true).
-     * 
+     *
      * @param part active part
      * @param selection active selection in part
-     * @return The factories enabled for the part and selection or an empty 
+     * @return The factories enabled for the part and selection or an empty
      * collection.
      */
 	private Set<IToggleBreakpointsTargetFactory> getEnabledFactories(IWorkbenchPart part, ISelection selection) {
@@ -495,13 +495,13 @@
 		Set<IToggleBreakpointsTargetFactory> set = new HashSet<IToggleBreakpointsTargetFactory>();
 		for (Entry<String, IToggleBreakpointsTargetFactory> entry : fKnownFactories.entrySet()) {
 			IToggleBreakpointsTargetFactory factory = entry.getValue();
-            if (factory instanceof ToggleTargetFactory && 
+            if (factory instanceof ToggleTargetFactory &&
                 ((ToggleTargetFactory)factory).isEnabled(part, selection)) {
                 set.add(factory);
-            } else if (factory instanceof ToggleBreakpointsTargetAdapterFactory && 
+            } else if (factory instanceof ToggleBreakpointsTargetAdapterFactory &&
                 ((ToggleBreakpointsTargetAdapterFactory)factory).isEnabled(part, selection)) {
                 set.add(factory);
-            } 
+            }
         }
         return set;
     }
@@ -509,7 +509,7 @@
     /**
      * Produces the set of IDs for all possible toggle targets that can be used for
      * the given part and selection.
-     *  
+     *
      * @param factoriesToQuery The collection of factories to check
      * @param part active part
      * @param selection active selection in part
@@ -520,8 +520,8 @@
 		for (IToggleBreakpointsTargetFactory factory : factoriesToQuery) {
 			for(String targetID : factory.getToggleTargets(part, selection)) {
                 fFactoriesByTargetID.put(targetID, factory);
-                idsForSelection.add(targetID);             
-            }           
+                idsForSelection.add(targetID);
+            }
         }
         return idsForSelection;
     }
@@ -557,7 +557,7 @@
         }
         return null;
     }
-    
+
     @Override
 	public String getToggleBreakpointsTargetName(String id) {
         IToggleBreakpointsTargetFactory factory = fFactoriesByTargetID.get(id);
@@ -566,7 +566,7 @@
         }
         return null;
     }
-    
+
     @Override
 	public String getToggleBreakpointsTargetDescription(String id) {
         IToggleBreakpointsTargetFactory factory = fFactoriesByTargetID.get(id);
@@ -588,10 +588,10 @@
 
     /**
      * Stores the map of preferred target IDs to the preference store in the format:
-     * 
-     * Key1A,Key1B:Value1|Key2A,Key2B,Key2C:Value2| 
-     * 
-     * Where the sub keys (Key1A, Key1B, etc.) are the elements of the set used at the 
+     *
+     * Key1A,Key1B:Value1|Key2A,Key2B,Key2C:Value2|
+     *
+     * Where the sub keys (Key1A, Key1B, etc.) are the elements of the set used at the
      * key in the mapping and the values are the associated String value in the mapping.
      */
     private void storePreferredTargets() {
@@ -614,15 +614,15 @@
 
     /**
      * Loads the map of preferred target IDs from the preference store.
-     * 
+     *
      * @see #storePreferredTargets()
      */
     private void loadPreferredTargets() {
 		fPreferredTargets = new HashMap<Set<String>, String>();
         String preferenceValue = Platform.getPreferencesService().getString(
-        		DebugUIPlugin.getUniqueIdentifier(), 
-        		PREF_TARGETS, 
-        		null, 
+        		DebugUIPlugin.getUniqueIdentifier(),
+        		PREF_TARGETS,
+        		null,
         		null);
         if(preferenceValue == null) {
         	return;
@@ -643,7 +643,7 @@
     /**
      * Adds or updates the mapping to set which target ID is preferred for a certain
      * set of possible IDs.
-     * 
+     *
      * @param possibleIDs The set of possible IDs
      * @param preferredID The preferred ID in the set.
      */
@@ -664,12 +664,12 @@
             fPreferredTargets.put(possibleIDs, preferredID);
             storePreferredTargets();
             firePreferredTargetsChanged();
-        }        
+        }
     }
-    
+
     /**
      * Returns the preferred toggle target ID from the given set if the mapping has been set.
-     * 
+     *
      * @param possibleTargetIDs The set of possible toggle target IDs
      * @return The preferred ID or null
      */
@@ -684,19 +684,19 @@
      * Given a set of possible toggle target IDs, this method will determine which target is
      * preferred and should be used to toggle breakpoints.  This method chooses a toggle target
      * by storing previous choices and can be set using a context menu.
-     * 
+     *
      * @param possibleTargetIDs The set of possible toggle target IDs
      * @param part The workbench part in which toggle target is to be used
-     * @param selection The active selection to use with toggle target 
+     * @param selection The active selection to use with toggle target
      * @return The preferred toggle target ID or null
      */
 	private String chooseToggleTargetIDInSet(Set<String> possibleTargetIDs, IWorkbenchPart part, ISelection selection) {
         if (possibleTargetIDs == null || possibleTargetIDs.isEmpty()){
             return null;
         }
-        
+
         String preferredID = getUserPreferredTarget(possibleTargetIDs);
-        
+
         if (preferredID == null){
             // If there is no preferred pane already set, check the factories to see there is a default target
 			Iterator<String> possibleIDsIterator = possibleTargetIDs.iterator();
@@ -726,7 +726,7 @@
 			iToggleBreakpointsTargetManagerListener.preferredTargetsChanged();
         }
     }
-    
+
     public IBreakpoint getBeakpointFromEditor(ITextEditor editor, IVerticalRulerInfo info) {
     	IDocumentProvider provider = editor.getDocumentProvider();
     	if(provider == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
index 2257d25..7ac2180 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.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
  *******************************************************************************/
@@ -26,7 +26,7 @@
 	 * The viewer that this action works for
 	 */
 	private StructuredViewer fViewer;
-	
+
 	/**
 	 * The filter this action applies to the viewer
 	 */
@@ -61,7 +61,7 @@
 					if (!alreadyAdded) {
 						getViewer().addFilter(filter);
 					}
-					
+
 				} else {
 					getViewer().removeFilter(getViewerFilter());
 				}
@@ -81,7 +81,7 @@
 	protected void setViewerFilter(ViewerFilter filter) {
 		fViewerFilter= filter;
 	}
-	
+
 	protected StructuredViewer getViewer() {
 		return fViewer;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
index 3223313..06ebe77 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.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
  *******************************************************************************/
@@ -20,7 +20,7 @@
  * An action which opens the view management preference page.
  */
 public class ViewManagementAction extends ActionDelegate implements IViewActionDelegate {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
index 10df935..da9cfbc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.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 implementation
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * Abstract implementation of an action contributed to the breakpoints view.
  */
 public abstract class AbstractBreakpointsViewAction implements IViewActionDelegate, IActionDelegate2 {
-    
+
     /**
      * The breakpoints view that this action has been contributed to.
      */
@@ -35,7 +35,7 @@
 	public void init(IViewPart view) {
         fView= (BreakpointsView) view;
     }
-    
+
     /* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -49,14 +49,14 @@
     @Override
 	public void dispose() {
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
      */
     @Override
 	public void init(IAction action) {
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.java
index f6fe350..16c556b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AdvancedGroupBreakpointsByAction.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
  *******************************************************************************/
@@ -22,14 +22,14 @@
  * view.
  */
 public class AdvancedGroupBreakpointsByAction extends Action {
-	
+
 	private BreakpointsView fView;
-	
+
 	public AdvancedGroupBreakpointsByAction(BreakpointsView view) {
         super(IInternalDebugCoreConstants.EMPTY_STRING, IAction.AS_RADIO_BUTTON);
 		fView= view;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java
index a1c90fb..bc7ef2b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointSelectionAction.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
  *******************************************************************************/
@@ -17,12 +17,12 @@
  * A selection listener action for the breakpoints view.
  */
 public abstract class BreakpointSelectionAction extends SelectionListenerAction {
-    
+
     private BreakpointsView fView;
-    
+
     /**
      * Constructs an action for the breakpoints view.
-     * 
+     *
      * @param text action name
      * @param view breakpoints view
      */
@@ -30,10 +30,10 @@
         super(text);
         fView = view;
     }
-    
+
     /**
      * Returns the breakpoints view.
-     * 
+     *
      * @return breakpoints view
      */
     protected BreakpointsView getBreakpointsView() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java
index 40fae5d..3833295 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/BreakpointWorkingSetAction.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 implementation
  *******************************************************************************/
@@ -22,8 +22,8 @@
  * An action which clears (sets the null) the default breakpoint group.
  */
 public abstract class BreakpointWorkingSetAction extends AbstractBreakpointsViewAction implements IPropertyChangeListener {
-    
-    protected IAction fAction; 
+
+    protected IAction fAction;
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
@@ -41,7 +41,7 @@
         super.init(view);
         DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate2#dispose()
      */
@@ -59,7 +59,7 @@
         super.init(action);
         update();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
index 3e3704a..ae38fbf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.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 implementation
  *******************************************************************************/
@@ -17,7 +17,7 @@
  * An action which clears (sets the null) the default breakpoint group.
  */
 public class ClearDefaultBreakpointGroupAction extends BreakpointWorkingSetAction {
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java
index 5f08410..975c988 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/CopyBreakpointsActionDelegate.java
@@ -35,7 +35,7 @@
  * to the breakpoint paste action.
  */
 public class CopyBreakpointsActionDelegate extends VirtualCopyToClipboardActionDelegate implements IBreakpointsListener {
-	
+
 	private long fStamp;
 
 	/* (non-Javadoc)
@@ -57,7 +57,7 @@
         	}
         }
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#init(org.eclipse.ui.IViewPart)
 	 */
@@ -66,7 +66,7 @@
 		super.init(view);
 		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java
index 8303511..c7d2827 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/EditBreakpointGroupAction.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 implementation
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -27,12 +27,12 @@
  * An action to edit a breakpoint working set.
  */
 public class EditBreakpointGroupAction extends AbstractBreakpointsViewAction {
-	
+
 	/**
 	 * The currently selected breakpoints
 	 */
 	private IWorkingSet fSet = null;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -48,10 +48,10 @@
 	 */
 	@Override
 	public void selectionChanged(IAction action, ISelection sel) {
-		fSet = null;		
+		fSet = null;
 		if (sel instanceof IStructuredSelection) {
 			IStructuredSelection selection= (IStructuredSelection) sel;
-	        
+
 	        if (selection.size() == 1) {
 	            Object element = selection.getFirstElement();
 				if (element instanceof IBreakpointContainer) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java
index 647fc02..fc0061e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsAction.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 implementation
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * some criteria (as determined by the factory).
  */
 public class GroupBreakpointsAction extends Action {
-    
+
     private IBreakpointOrganizer fOrganzier;
     private BreakpointsView fView;
 
@@ -52,10 +52,10 @@
             }
         }
     }
-    
+
     /**
      * Returns this action's organizer.
-     * 
+     *
      * @return breakpoint organizer
      */
     public IBreakpointOrganizer getOrganizer() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
index 717ff3d..681249d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByAction.java
@@ -31,15 +31,15 @@
 import org.eclipse.swt.widgets.MenuItem;
 
 /**
- * 
+ *
  */
 public class GroupBreakpointsByAction extends AbstractBreakpointsViewAction implements IMenuCreator {
 
 	private IAction fAction= null;
-	
+
 	public GroupBreakpointsByAction() {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -79,7 +79,7 @@
 				}
 				fillMenu(m);
 			}
-		});		
+		});
 		return menu;
     }
 
@@ -88,8 +88,8 @@
 	 */
 	private void fillMenu(Menu menu) {
 		// determine which item should be checked
-		IBreakpointOrganizer[] organizers = fView.getBreakpointOrganizers();					
-		
+		IBreakpointOrganizer[] organizers = fView.getBreakpointOrganizers();
+
 		boolean none = false;
 		boolean advanced = false;
 		IBreakpointOrganizer organizer = null;
@@ -100,11 +100,11 @@
 		} else {
 			organizer = organizers[0];
 		}
-		
+
         int accel = 1;
         // Add hard-coded action for flat breakpoints list
         IAction action = new GroupBreakpointsAction(null, fView);
-        addAccel(accel, action, BreakpointGroupMessages.GroupBreakpointsByAction_0); 
+        addAccel(accel, action, BreakpointGroupMessages.GroupBreakpointsByAction_0);
         accel++;
         action.setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_VIEW_BREAKPOINTS));
         action.setChecked(none);
@@ -121,16 +121,16 @@
 			item= new ActionContributionItem(bpAction);
 			item.fill(menu, -1);
 	    }
-	                    
+
         // advanced action
         AdvancedGroupBreakpointsByAction advancedAction = new AdvancedGroupBreakpointsByAction(fView);
-        addAccel(accel, advancedAction,BreakpointGroupMessages.GroupBreakpointsByAction_1); 
+        addAccel(accel, advancedAction,BreakpointGroupMessages.GroupBreakpointsByAction_1);
         advancedAction.setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_HIERARCHICAL));
         advancedAction.setChecked(advanced);
 		item= new ActionContributionItem(advancedAction);
 		item.fill(menu, -1);
 	}
-    
+
 	public List<IAction> getActions(int accel) {
 		List<IAction> actions = new ArrayList<IAction>();
         IBreakpointOrganizer[] organizers = BreakpointOrganizerManager.getDefault().getOrganizers();
@@ -141,10 +141,10 @@
             accel++;
             action.setImageDescriptor(organizer.getImageDescriptor());
             actions.add(action);
-        }        
+        }
         return actions;
     }
-    
+
     private void addAccel(int accel, IAction action, String label) {
         StringBuffer actionLabel= new StringBuffer();
         if (accel != 10) {
@@ -159,9 +159,9 @@
         accel++;
         actionLabel.append(' ');
         actionLabel.append(label);
-        action.setText(actionLabel.toString());        
+        action.setText(actionLabel.toString());
     }
-    
+
     /* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
index f29ae99..acc4754 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/GroupBreakpointsByDialog.java
@@ -57,24 +57,24 @@
  * to use and in what order they should be applied.
  */
 public class GroupBreakpointsByDialog extends TrayDialog {
-	
+
 	private BreakpointsView fView;
-	
+
 	// Table viewer that presents available containers
 	private TableViewer fAvailableViewer;
 	private AvailableOrganizersProvider fAvailableOrganizersProvider= new AvailableOrganizersProvider();
-	
+
 	// Tree viewer that presents selected containers
 	private TreeViewer fSelectedViewer;
 	private SelectedOrganizerProvider fSelectedOrganizersProvider= new SelectedOrganizerProvider();
-	
+
 	private List<Object> fResult = new ArrayList<Object>();
 
 	private Button fAddButton;
 	private Button fRemoveButton;
 	private Button fMoveUpButton;
 	private Button fMoveDownButton;
-	
+
 	/**
 	 * Selection listener that listens to selection from all buttons in this
 	 * dialog.
@@ -107,7 +107,7 @@
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		ILabelProvider labelProvider= new BreakpointOrganzierLabelProvider();
-		
+
 		Composite parentComposite= (Composite) super.createDialogArea(parent);
 		parentComposite.setFont(parent.getFont());
 		Composite composite= new Composite(parentComposite, SWT.NONE);
@@ -118,13 +118,13 @@
 		data.heightHint= 400;
 		composite.setLayoutData(data);
 		composite.setFont(parent.getFont());
-		
+
 		Label label= new Label(composite, SWT.WRAP);
-		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_0); 
+		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_0);
 		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
 		gridData.horizontalSpan = 3;
         label.setLayoutData(gridData);
-		
+
 		createAvailableViewer(composite, labelProvider);
 		createButtons(composite);
 		createSelectedViewer(composite, labelProvider);
@@ -134,7 +134,7 @@
 		Dialog.applyDialogFont(parentComposite);
 		return parentComposite;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createContents(org.eclipse.swt.widgets.Composite)
 	 */
@@ -166,7 +166,7 @@
 	 * Creates and configured the viewer that shows the available (not currently selected)
 	 * breakpoint container factories.
 	 */
-	private void createAvailableViewer(Composite parent, ILabelProvider labelProvider) {		
+	private void createAvailableViewer(Composite parent, ILabelProvider labelProvider) {
 		Composite availableComposite= new Composite(parent, SWT.NONE);
 		availableComposite.setFont(parent.getFont());
 		GridLayout layout = new GridLayout();
@@ -178,10 +178,10 @@
 		availableComposite.setLayoutData(gridData);
 
 		Label label= new Label(availableComposite, SWT.WRAP);
-		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_1); 
+		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_1);
 		gridData = new GridData(GridData.FILL_HORIZONTAL);
         label.setLayoutData(gridData);
-		
+
 		fAvailableViewer= new TableViewer(availableComposite);
 		fAvailableViewer.setContentProvider(fAvailableOrganizersProvider);
 		fAvailableViewer.setLabelProvider(labelProvider);
@@ -218,13 +218,13 @@
 		gridData.widthHint= 225;
 		selectedComposite.setLayoutData(gridData);
 		selectedComposite.setFont(parent.getFont());
-		
+
 		Label label= new Label(selectedComposite, SWT.WRAP);
-		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_3); 
+		label.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_3);
 		gridData = new GridData();
 		gridData.horizontalSpan = 2;
         label.setLayoutData(gridData);
-		
+
 		fSelectedViewer= new TreeViewer(selectedComposite);
 		fSelectedViewer.setContentProvider(fSelectedOrganizersProvider);
 		fSelectedViewer.setLabelProvider(labelProvider);
@@ -245,25 +245,25 @@
 			}
 		});
 	}
-	
+
 	public void createButtons(Composite parent) {
 		Composite buttonComposite= new Composite(parent, SWT.NONE);
 		buttonComposite.setLayout(new GridLayout());
 		buttonComposite.setLayoutData(new GridData());
 		buttonComposite.setFont(parent.getFont());
-		
-		fAddButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_2, null); 
+
+		fAddButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_2, null);
 		fAddButton.addSelectionListener(fSelectionListener);
-		
-		fRemoveButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_4, null); 
+
+		fRemoveButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_4, null);
 		fRemoveButton.addSelectionListener(fSelectionListener);
-		
-		fMoveUpButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_5, null); 
+
+		fMoveUpButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_5, null);
 		fMoveUpButton.addSelectionListener(fSelectionListener);
-		
-		fMoveDownButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_6, null); 
+
+		fMoveDownButton= SWTFactory.createPushButton(buttonComposite, BreakpointGroupMessages.GroupBreakpointsByDialog_6, null);
 		fMoveDownButton.addSelectionListener(fSelectionListener);
-	    
+
 	}
 
 	/**
@@ -275,7 +275,7 @@
 	public IBreakpointOrganizer[] getOrganizers() {
 		return fResult.toArray(new IBreakpointOrganizer[fResult.size()]);
 	}
-	
+
 	/**
 	 * When the user presses OK, convert the tree selection into a list.
 	 */
@@ -289,7 +289,7 @@
 		}
 		super.okPressed();
 	}
-	
+
 	/**
 	 * Moves the selected item from the list of "available" factories
 	 * to the tree of "selected" factories.
@@ -305,7 +305,7 @@
 		}
 		updateViewers();
 	}
-	
+
 	/**
 	 * Moves the selected item from the tree of "selected" factories
 	 * to the list of "available" factories.
@@ -321,7 +321,7 @@
 		}
 		updateViewers();
 	}
-	
+
 	/**
 	 * Moves each selected item up in the tree of selected containers
 	 */
@@ -333,7 +333,7 @@
 		}
 		updateViewers();
 	}
-	
+
 	/**
 	 * Moves each selected item down in the tree of selected containers
 	 */
@@ -345,7 +345,7 @@
 		}
 		updateViewers();
 	}
-	
+
 	/**
 	 * Fully refreshes and updates all viewers and buttons.
 	 */
@@ -356,7 +356,7 @@
 		updateAddButton();
 		updateSelectedButtons();
 	}
-	
+
 	/**
 	 * Updates all buttons associated with the tree of selected containers.
 	 */
@@ -365,17 +365,17 @@
 		updateMoveUpButton();
 		updateMoveDownButton();
 	}
-	
+
 	public void updateAddButton() {
 		IStructuredSelection selection = (IStructuredSelection) fAvailableViewer.getSelection();
 		fAddButton.setEnabled(selection.size() > 0);
 	}
-	
+
 	public void updateRemoveButton() {
 		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
 		fRemoveButton.setEnabled(selection.size() > 0);
 	}
-	
+
 	public void updateMoveUpButton() {
 		boolean enabled= true;
 		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
@@ -390,7 +390,7 @@
 		}
 		fMoveUpButton.setEnabled(enabled);
 	}
-	
+
 	public void updateMoveDownButton() {
 		boolean enabled= true;
 		IStructuredSelection selection = (IStructuredSelection) fSelectedViewer.getSelection();
@@ -405,24 +405,24 @@
 		}
 		fMoveDownButton.setEnabled(enabled);
 	}
-	
+
 	/**
 	 * Content provider that provides the list of breakpoint organaisers
      * that are available but not currently selected.
 	 */
 	private class AvailableOrganizersProvider implements IStructuredContentProvider {
 		protected List<IBreakpointOrganizer> availableOrganziers = new ArrayList<IBreakpointOrganizer>();
-		
+
 		public void addAvailable(IBreakpointOrganizer organizer) {
             availableOrganziers.add(organizer);
 			fSelectedOrganizersProvider.selectedOrganizers.remove(organizer);
 		}
-		
+
 		@Override
 		public Object[] getElements(Object inputElement) {
 			return availableOrganziers.toArray();
 		}
-		
+
 		@Override
 		public void dispose() {
 		}
@@ -430,7 +430,7 @@
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
 	}
-	
+
 	/**
 	 * Content provider that returns the selected breakpoint organizers
 	 * as a tree. This tree shows the list of organzizers as they will
@@ -438,12 +438,12 @@
 	 */
 	private class SelectedOrganizerProvider implements ITreeContentProvider {
 		protected List<Object> selectedOrganizers = new ArrayList<Object>();
-		
+
 		public void addSelected(IBreakpointOrganizer organizer) {
             selectedOrganizers.add(organizer);
 			fAvailableOrganizersProvider.availableOrganziers.remove(organizer);
 		}
-		
+
 		public void moveUp(Object object) {
 			int index = selectedOrganizers.indexOf(object);
 			if (index > 0) {
@@ -451,7 +451,7 @@
                 selectedOrganizers.add(index - 1, object);
 			}
 		}
-		
+
 		public void moveDown(Object object) {
 			int index = selectedOrganizers.indexOf(object);
 			if (index < selectedOrganizers.size() - 1) {
@@ -496,13 +496,13 @@
 			return new Object[0];
 		}
 	}
-	
+
 	/**
 	 * Label provider which provides text and images for breakpoint container factories
 	 */
 	private class BreakpointOrganzierLabelProvider extends LabelProvider {
 		private HashMap<ImageDescriptor, Image> fImageCache = new HashMap<ImageDescriptor, Image>();
-		
+
 		@Override
 		public String getText(Object element) {
 			if (element instanceof IBreakpointOrganizer) {
@@ -535,15 +535,15 @@
 			super.dispose();
 		}
 	}
-	
+
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
      */
     @Override
 	protected void configureShell(Shell shell) {
         super.configureShell(shell);
-        shell.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_7); 
+        shell.setText(BreakpointGroupMessages.GroupBreakpointsByDialog_7);
     }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java
index be8b4a7..a6ea205 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/PasteBreakpointsAction.java
@@ -25,18 +25,18 @@
  * <p>
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
- * 
+ *
  * @since 2.0
  */
 public class PasteBreakpointsAction extends BreakpointSelectionAction {
-    
+
     /**
      * Creates a new action.
      *
      * @param view the view of this action
      */
     public PasteBreakpointsAction(BreakpointsView view) {
-        super(BreakpointGroupMessages.PasteBreakpointsAction_0, view); 
+        super(BreakpointGroupMessages.PasteBreakpointsAction_0, view);
         setToolTipText(BreakpointGroupMessages.PasteBreakpointsAction_1);
         PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.PASTE_BREAKPOINTS_ACTION);
     }
@@ -44,7 +44,7 @@
     /**
      * Returns the actual target of the paste action. Returns null
      * if no valid target is selected.
-     * 
+     *
      * @return the actual target of the paste action
      */
     private Object getTarget() {
@@ -70,7 +70,7 @@
 
     /**
      * Returns whether this action should be enabled based on the selection
-     * in the clipboard. Only updates when the breakpoints view has focus. 
+     * in the clipboard. Only updates when the breakpoints view has focus.
      */
     @Override
 	protected boolean updateSelection(IStructuredSelection selection) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
index d47318f..6a3bfa5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveFromWorkingSetAction.java
@@ -6,7 +6,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *     IBM Corporation - initial API and implementation     
+ *     IBM Corporation - initial API and implementation
  *     Freescale Semiconductor - bug 287863
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
  *******************************************************************************/
@@ -28,19 +28,19 @@
  * Removes a breakpoint from a breakpoint working set.
  */
 public class RemoveFromWorkingSetAction extends BreakpointSelectionAction {
-	
+
     private BreakpointSetElement[] fBreakpoints;
 
 
 	/**
      * Constructs action to remove breakpoints from a category.
-     * 
+     *
      * @param view
      */
     public RemoveFromWorkingSetAction(BreakpointsView view) {
-        super(BreakpointGroupMessages.RemoveFromWorkingSetAction_0, view); 
+        super(BreakpointGroupMessages.RemoveFromWorkingSetAction_0, view);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.action.IAction#run()
      */
@@ -52,19 +52,19 @@
     		}
     	}
     }
-    
+
     protected static class BreakpointSetElement {
-    	BreakpointSetElement(IBreakpoint b, IBreakpointContainer c) { breakpoint = b; container = c; }    	
+    	BreakpointSetElement(IBreakpoint b, IBreakpointContainer c) { breakpoint = b; container = c; }
     	IBreakpoint breakpoint;
     	IBreakpointContainer container;
     }
-    
+
     /**
      * Returns a array of breakpoint/container pairs for the selection
-     * 
+     *
      *  All the returned elements contain a breakpoint and a working set container the breakpoint is contained and the breakpoint
      *  can be removed from.
-     * 
+     *
      * @param selection
      * @return
      */
@@ -75,19 +75,19 @@
 
     		TreePath[] paths = tSel.getPaths();
     		for (int i = 0; i < paths.length; i++) {
-    			TreePath path = paths[i]; 
-    			
+    			TreePath path = paths[i];
+
     			// We can remove Breakpoints from their working set if any of their parents is a non "Other" breakpoint working set
-                IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(path.getLastSegment(), IBreakpoint.class);            
+                IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(path.getLastSegment(), IBreakpoint.class);
     			if (breakpoint != null) {
     				TreePath parents = path.getParentPath();
-    				
+
     				for (int j = 0; j < parents.getSegmentCount(); j++) {
     					Object parent = parents.getSegment(j);
-    					
+
     					if (parent instanceof IBreakpointContainer) {
     						IBreakpointContainer container = (IBreakpointContainer)parent;
-    						
+
     						// Test if this is a working set container.
     						if (container.getCategory() instanceof WorkingSetCategory) {
     							// Test if this container allows to remove this breakpoint.
@@ -102,7 +102,7 @@
     	}
     	return res.toArray(new BreakpointSetElement[res.size()]);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.action.Action#isEnabled()
      */
@@ -113,7 +113,7 @@
     	}
     	return false;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java
index 8f34d4d..6680193 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointWorkingsetDialog.java
@@ -28,14 +28,14 @@
 /**
  * Dialog to allow the selection of working sets without all of the overhead of the
  * platform UI working set dialog
- * 
+ *
  * @since 3.3
  */
 public class SelectBreakpointWorkingsetDialog extends AbstractDebugCheckboxSelectionDialog {
-	
+
 	private static final String SETTINGS_ID = DebugUIPlugin.getUniqueIdentifier() + ".DELETE_ASSOCIATED_CONFIGS_DIALOG"; //$NON-NLS-1$
 	private IWorkingSet[] fWorkingSetList = null;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell the parent to open this dialog on
@@ -44,7 +44,7 @@
 		super(parentShell);
 		fWorkingSetList = getBreakpointWorkingSets();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugCheckboxSelectionDialog#addViewerListeners(org.eclipse.jface.viewers.StructuredViewer)
 	 */
@@ -61,7 +61,7 @@
 			});
 		}
 	}
-	
+
 	/**
 	 * Returns the current listing of breakpoint <code>IWorkingSet</code>s
 	 * @return an array of the current breakpoint <code>IWorkingSet</code>s
@@ -76,7 +76,7 @@
 		}
 		return list.toArray(new IWorkingSet[list.size()]);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getViewerInput()
 	 */
@@ -84,7 +84,7 @@
 	protected Object getViewerInput() {
 		return fWorkingSetList;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 	 */
@@ -108,5 +108,5 @@
 	protected String getViewerLabel() {
 		return BreakpointGroupMessages.SelectBreakpointWorkingsetDialog_0;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
index a1d7400..8b588fb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
@@ -21,7 +21,7 @@
  * Action which prompts the user to set a default breakpoint group.
  */
 public class SetDefaultBreakpointGroupAction extends AbstractBreakpointsViewAction {
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java
index ab11a75..e7c599e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ToggleDefaultGroupAction.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 implementation
  *******************************************************************************/
@@ -23,9 +23,9 @@
  * Toggles the default breakpoint group based on selection.
  */
 public class ToggleDefaultGroupAction extends AbstractBreakpointsViewAction {
-    
+
     private IWorkingSet fSelectedSet;
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java
index e9f1b25..7682ce9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/WorkingSetsAction.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 implementation
  *******************************************************************************/
@@ -20,15 +20,15 @@
  * Allows the user to manage working sets.
  */
 public class WorkingSetsAction extends AbstractBreakpointsViewAction {
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
      */
     @Override
 	public void run(IAction action) {
         IWorkingSetSelectionDialog selectionDialog = PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(
-        		DebugUIPlugin.getShell(), 
-        		false, 
+        		DebugUIPlugin.getShell(),
+        		false,
         		new String[] {IDebugUIConstants.BREAKPOINT_WORKINGSET_ID});
         selectionDialog.open();
     }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsAction.java
index 1320f32..e41d523 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsAction.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 implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
 	/**
 	 * Creates a new action which will sort breakpoints in the given breakpoint
 	 * view using the given breakpoint container factory
-	 * 
+	 *
 	 * @param factory the factory that will be applied to the given view when
 	 *            this action is run
 	 * @param view the breakpoints view
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsByAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsByAction.java
index 6e80676..c3628a1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsByAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointSortBy/SortBreakpointsByAction.java
@@ -24,15 +24,15 @@
 import org.eclipse.swt.widgets.MenuItem;
 
 /**
- * 
+ *
  */
 public class SortBreakpointsByAction extends AbstractBreakpointsViewAction implements IMenuCreator {
 
 	private IAction fAction= null;
-	
+
 	public SortBreakpointsByAction() {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -72,7 +72,7 @@
 				}
 				fillMenu(m);
 			}
-		});		
+		});
 		return menu;
     }
 
@@ -80,7 +80,7 @@
 	 * Fill pull down menu with the "group by" options
 	 */
 	private void fillMenu(Menu menu) {
-		
+
 		// Add hard-coded sorting order by Name
 		IAction action = new SortBreakpointsAction(fView, Messages.GroupBreakpointsSortByAction_Name, IInternalDebugUIConstants.BREAKPOINT_SORTING_ORDER_NAME);
 		ActionContributionItem item = new ActionContributionItem(action);
@@ -93,7 +93,7 @@
 
 	}
 
-    
+
     /* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java
index eaf4a3e..402fe60 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/AccessWatchpointToggleAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java
index 557f84e..e0849a7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsCollapseAllAction.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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -30,12 +30,12 @@
 import org.eclipse.ui.handlers.CollapseAllHandler;
 
 /**
- * 
+ *
  */
 public class BreakpointsCollapseAllAction implements IViewActionDelegate, IActionDelegate2, IViewerUpdateListener, IModelChangedListener  {
-	
+
 	private AbstractDebugView fView;
-	
+
 	private IAction fAction;
 
 	/* (non-Javadoc)
@@ -48,7 +48,7 @@
         if (viewer != null) {
             viewer.addViewerUpdateListener(this);
             viewer.addModelChangedListener(this);
-        }		
+        }
 	}
 
 	/* (non-Javadoc)
@@ -106,25 +106,25 @@
     @Override
 	public void updateStarted(IViewerUpdate update) {
     }
-    
+
     @Override
 	public void updateComplete(IViewerUpdate update) {
           if (!update.isCanceled()) {
               if (TreePath.EMPTY.equals(update.getElementPath())) {
                   update();
               }
-          }        
+          }
     }
-    
+
     private void update() {
         IInternalTreeModelViewer viewer = (IInternalTreeModelViewer)fView.getViewer();
         if (viewer != null && fAction != null) {
             fAction.setEnabled(viewer.getInput() != null && viewer.getChildCount(TreePath.EMPTY) > 0);
         }
     }
-    
+
     @Override
 	public void modelChanged(IModelDelta delta, IModelProxy proxy) {
         update();
-    }	
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java
index ed7834a..9094d59 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/BreakpointsExpandAllAction.java
@@ -30,8 +30,8 @@
 /**
  * Action which fully expands the tree in the breakpoints view.
  */
-public class BreakpointsExpandAllAction implements IViewActionDelegate, IActionDelegate2, IViewerUpdateListener, IModelChangedListener {	
-	
+public class BreakpointsExpandAllAction implements IViewActionDelegate, IActionDelegate2, IViewerUpdateListener, IModelChangedListener {
+
     private IAction fAction;
 	private BreakpointsView fView;
 
@@ -55,7 +55,7 @@
 
     @Override
 	public void runWithEvent(IAction action, Event event) {
-        run(action);   
+        run(action);
     }
 
 	/* (non-Javadoc)
@@ -94,23 +94,23 @@
     @Override
 	public void updateStarted(IViewerUpdate update) {
     }
-    
+
     @Override
 	public void updateComplete(IViewerUpdate update) {
           if (!update.isCanceled()) {
               if (TreePath.EMPTY.equals(update.getElementPath())) {
                   update();
               }
-          }        
+          }
     }
-    
+
     private void update() {
         IInternalTreeModelViewer viewer = (IInternalTreeModelViewer)fView.getViewer();
         if (viewer != null && fAction != null) {
             fAction.setEnabled(viewer.getInput() != null && viewer.getChildCount(TreePath.EMPTY) > 0);
         }
     }
-    
+
     @Override
 	public void modelChanged(IModelDelta delta, IModelProxy proxy) {
         update();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java
index 8ba1149..2d1c5ce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DeleteWorkingsetsMessageDialog.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
  *******************************************************************************/
@@ -33,32 +33,32 @@
 public class DeleteWorkingsetsMessageDialog extends MessageDialog {
 
 	/**
-	 * to determine if we should delete the working set as well 
+	 * to determine if we should delete the working set as well
 	 */
 	private boolean fDeleteWorkingsets = false;
-	
+
 	/**
 	 * to determine if we should delete all the breakpoints in the set.
-	 * to maintain backward compatibility this is by default true 
+	 * to maintain backward compatibility this is by default true
 	 */
 	private boolean fDeleteBreakpoints = true;
-	
+
 	//widgets
 	private Button fDeleteWS;
 	private Button fDeleteBPS;
-	
+
 	// dialog settings
 	private final static String DIALOG_SETTINGS = "DeleteBreakpointsDialogSettings"; //$NON-NLS-1$
 	private static final String DELETE_BREAKPOINTS = "DeleteBreakpoints";	 //$NON-NLS-1$
 	private static final String DELETE_WORKINGSETS = "DeleteWorkingSets";	 //$NON-NLS-1$
-	
+
 	public DeleteWorkingsetsMessageDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
 		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
 		IDialogSettings section = getDialogSettings();
 		fDeleteBreakpoints = section.getBoolean(DELETE_BREAKPOINTS);
 		fDeleteWorkingsets = section.getBoolean(DELETE_WORKINGSETS);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(org.eclipse.swt.widgets.Composite)
 	 */
@@ -78,7 +78,7 @@
 				getButton(0).setEnabled(fDeleteWS.getSelection() || fDeleteBPS.getSelection());
 			}
 		});
-		
+
 		fDeleteBPS = new Button(comp, SWT.CHECK);
 		fDeleteBPS.setText(ActionMessages.DeleteWorkingsetsMessageDialog_1);
 		fDeleteBPS.setFont(font);
@@ -90,12 +90,12 @@
 				getButton(0).setEnabled(fDeleteWS.getSelection() || fDeleteBPS.getSelection());
 			}
 		});
-		
+
 		fDeleteWS.setSelection(fDeleteWorkingsets);
 		fDeleteBPS.setSelection(fDeleteBreakpoints);
 		return comp;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.MessageDialog#buttonPressed(int)
 	 */
@@ -118,9 +118,9 @@
 	public boolean deleteWorkingset() {
 		return fDeleteWorkingsets;
 	}
-	
+
 	/**
-	 * returns the checked state of the delete all breakpoints in working set check box 
+	 * returns the checked state of the delete all breakpoints in working set check box
 	 * @return the checked state of the delete all breakpoints... check box
 	 */
 	public boolean deleteAllBreakpoints() {
@@ -129,7 +129,7 @@
 
 	/**
 	 * Returns the dialog settings for this dialog.
-	 * 
+	 *
 	 * @return dialog settings
 	 */
 	protected IDialogSettings getDialogSettings() {
@@ -143,7 +143,7 @@
 		}
 		return section;
 	}
-	
-	
-	
+
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java
index 9479fdd..2082ded 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/DisableBreakpointsAction.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
  *******************************************************************************/
@@ -12,7 +12,7 @@
 
 
 public class DisableBreakpointsAction extends EnableBreakpointsAction {
-	
+
 	/**
 	 * If this action can enable breakpoints
 	 * @return always <code>false</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.java
index bcd6891..1fdb32f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/EnableBreakpointsAction.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
  *******************************************************************************/
@@ -38,13 +38,13 @@
 import org.eclipse.ui.IWorkbenchWindow;
 
 public class EnableBreakpointsAction implements IViewActionDelegate, IPartListener, IBreakpointsListener {
-	
+
 	private IViewPart fView;
 	private IAction fAction;
-	
+
 	public EnableBreakpointsAction() {
 	}
-		
+
 	protected IViewPart getView() {
 		return fView;
 	}
@@ -66,7 +66,7 @@
 	protected void update() {
 		selectionChanged(getAction(), getView().getViewSite().getSelectionProvider().getSelection());
 	}
-	
+
 	/**
 	 * If this action can enable breakpoints
 	 * @return always <code>true</code>
@@ -74,7 +74,7 @@
 	protected boolean isEnableAction() {
 		return true;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -85,9 +85,9 @@
 		if (size == 0) {
 			return;
 		}
-		
+
 		final Iterator<?> itr = selection.iterator();
-		final MultiStatus ms= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, ActionMessages.EnableBreakpointAction_Enable_breakpoint_s__failed_2, null); 
+		final MultiStatus ms= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, ActionMessages.EnableBreakpointAction_Enable_breakpoint_s__failed_2, null);
 		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
 			@Override
 			public void run(IProgressMonitor monitor) {
@@ -95,7 +95,7 @@
 					Object element= itr.next();
 					try {
 						IBreakpoint[] breakpoints= null;
-						IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(element, IBreakpoint.class); 
+						IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(element, IBreakpoint.class);
 						if (breakpoint != null) {
 							breakpoints= new IBreakpoint[] { breakpoint };
 						} else if (element instanceof IBreakpointContainer) {
@@ -116,17 +116,17 @@
 				}
 			}
 		};
-		
+
 		try {
 			ResourcesPlugin.getWorkspace().run(runnable, null, 0, new NullProgressMonitor());
 		} catch (CoreException e) {
 			// Exceptions are handled by runnable
 		}
-		
+
 		if (!ms.isOK()) {
 			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
 			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.EnableBreakpointAction_Enabling_breakpoints_3, ActionMessages.EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4, ms); // 
+				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.EnableBreakpointAction_Enabling_breakpoints_3, ActionMessages.EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4, ms); //
 			} else {
 				DebugUIPlugin.log(ms);
 			}
@@ -147,14 +147,14 @@
 			return;
 		}
 		IStructuredSelection sel= (IStructuredSelection)selection;
-		
+
 		Iterator<?> itr = sel.iterator();
 		boolean allEnabled= true;
 		boolean allDisabled= true;
 		while (itr.hasNext()) {
 			Object selected= itr.next();
             IBreakpoint bp = (IBreakpoint)DebugPlugin.getAdapter(selected, IBreakpoint.class);
-			
+
             if (bp != null) {
                 try {
                     if (bp.isEnabled()) {
@@ -165,7 +165,7 @@
                 } catch (CoreException ce) {
                     handleException(ce);
                 }
-            } 
+            }
             else if (selected instanceof IBreakpointContainer) {
 				IBreakpoint[] breakpoints = ((IBreakpointContainer) selected).getBreakpoints();
 				for (int i = 0; i < breakpoints.length; i++) {
@@ -182,25 +182,25 @@
 			} else {
 				return;
 			}
-			
+
 		}
-			
+
 		if (isEnableAction()) {
 			action.setEnabled(!allEnabled);
 		} else {
 			action.setEnabled(!allDisabled);
 		}
 	}
-	
+
 	private void handleException(CoreException ce) {
 		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
 		if (window != null) {
-			DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.EnableBreakpointAction_Enabling_breakpoints_3, ActionMessages.EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4, ce); // 
+			DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.EnableBreakpointAction_Enabling_breakpoints_3, ActionMessages.EnableBreakpointAction_Exceptions_occurred_enabling_the_breakpoint_s___4, ce); //
 		} else {
 			DebugUIPlugin.log(ce);
 		}
 	}
-	
+
 
 	/**
 	 * Removes this action as a breakpoint and part listener.
@@ -209,22 +209,22 @@
 		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
 		getView().getViewSite().getPage().removePartListener(this);
 	}
-	
+
 	/**
 	 * @see IBreakpointsListener#breakpointsAdded(IBreakpoint[])
 	 */
 	@Override
 	public void breakpointsAdded(IBreakpoint[] breakpoints) {
 	}
-	
+
 	/**
 	 * @see IBreakpointsListener#breakpointsRemoved(IBreakpoint[], IMarkerDelta[])
 	 */
 	@Override
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {	
+	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
 		asynchUpdate();
 	}
-	
+
 	/**
 	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])
 	 */
@@ -232,7 +232,7 @@
 	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
 		asynchUpdate();
 	}
-	
+
 	protected void asynchUpdate() {
 		if (getAction() == null) {
 			return;
@@ -259,10 +259,10 @@
 				update();
 			}
 		};
-		
+
 		shell.getDisplay().asyncExec(r);
 	}
-	
+
 	protected IAction getAction() {
 		return fAction;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.java
index 70febda..0ab9af4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/LinkBreakpointsWithDebugViewAction.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
  *******************************************************************************/
@@ -21,10 +21,10 @@
  * breakpoints view.
  */
 public class LinkBreakpointsWithDebugViewAction implements IViewActionDelegate {
-	
+
 	private BreakpointsView fView;
 	private IAction fAction= null;
-	
+
 	public LinkBreakpointsWithDebugViewAction() {
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/Messages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/Messages.java
index aae6250..8f26be1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/Messages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/Messages.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 import org.eclipse.osgi.util.NLS;
 
 /**
- * 
+ *
  */
 public class Messages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.actions.breakpoints.Messages"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java
index 2f25ee1..c61d9e5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModificationWatchpointToggleAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java
index 0f14661..123099d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ModifyWatchpointAction.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
  *******************************************************************************/
@@ -28,7 +28,7 @@
  * Action that modifies a watchpoint's access/modification attributes
  */
 public abstract class ModifyWatchpointAction implements IObjectActionDelegate, IActionDelegate2 {
-    
+
     private IStructuredSelection fWatchpoints = null;
 
     /* (non-Javadoc)
@@ -45,20 +45,20 @@
 	            }
 	        }
         } catch (CoreException e) {
-            DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.ModifyWatchpointAction_0, ActionMessages.ModifyWatchpointAction_1, e.getStatus()); // 
+            DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.ModifyWatchpointAction_0, ActionMessages.ModifyWatchpointAction_1, e.getStatus()); //
         }
 
     }
-    
+
     /**
      * Toggles the watch point attribute to the given value.
-     * 
+     *
      * @param watchpoint the watchpoint to toggle
      * @param b on or off
      * @throws CoreException if an exception occurs
      */
     protected abstract void toggleWatchpoint(IWatchpoint watchpoint, boolean b) throws CoreException;
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
      */
@@ -95,7 +95,7 @@
 
     /**
      * Returns whether the action should be checke for the current selection
-     * 
+     *
      * @param watchpoint selected watchpoint
      * @return whether the action should be checked for the current selection
      */
@@ -103,7 +103,7 @@
 
     /**
      * Returns whether this action is enabled for the given watchpoint.
-     * 
+     *
      * @param watchpoint the watchpoint to examine
      * @return whether this action is enabled for the given watchpoint
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java
index 21130cc..3e213a3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/OpenBreakpointMarkerAction.java
@@ -36,8 +36,8 @@
 	private IEditorInput input;
 
 	public OpenBreakpointMarkerAction(ISelectionProvider selectionProvider) {
-		super(selectionProvider, ActionMessages.OpenBreakpointMarkerAction__Go_to_File_1); 
-		setToolTipText(ActionMessages.OpenBreakpointMarkerAction_Go_to_File_for_Breakpoint_2); 
+		super(selectionProvider, ActionMessages.OpenBreakpointMarkerAction__Go_to_File_1);
+		setToolTipText(ActionMessages.OpenBreakpointMarkerAction_Go_to_File_for_Breakpoint_2);
 		setImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.ide", "icons/full/elcl16/gotoobj_tsk.png")); //$NON-NLS-1$ //$NON-NLS-2$
 		setDisabledImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ui.ide", "icons/full/dlcl16/gotoobj_tsk.png")); //$NON-NLS-1$ //$NON-NLS-2$
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(
@@ -59,13 +59,13 @@
 		if (page == null) {
 			return;
 		}
-		
+
 		IStructuredSelection selection= getStructuredSelection();
 		if (selection.isEmpty()) {
 			setEnabled(false);
 			return;
 		}
-		
+
 		IEditorPart part= null;
 		if (input != null) {
 			String editorId = fgPresentation.getEditorId(input, breakpoint);
@@ -73,7 +73,7 @@
     			try {
     				part= page.openEditor(input, editorId, true, IWorkbenchPage.MATCH_INPUT | IWorkbenchPage.MATCH_ID);
     			} catch (PartInitException e) {
-    				DebugUIPlugin.errorDialog(dwindow.getShell(), ActionMessages.OpenBreakpointMarkerAction_Go_to_Breakpoint_1, ActionMessages.OpenBreakpointMarkerAction_Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2, e); // 
+    				DebugUIPlugin.errorDialog(dwindow.getShell(), ActionMessages.OpenBreakpointMarkerAction_Go_to_Breakpoint_1, ActionMessages.OpenBreakpointMarkerAction_Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2, e); //
     			}
             }
 		}
@@ -81,7 +81,7 @@
 			IDE.gotoMarker(part, breakpoint.getMarker());
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java
index ba21d1a..3aab6c5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllBreakpointsAction.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.actions.breakpoints;
 
- 
+
 import org.eclipse.swt.widgets.Shell;
 
 import org.eclipse.core.runtime.CoreException;
@@ -54,8 +54,8 @@
 	@Override
 	protected boolean isEnabled() {
 		return DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints();
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
 	 */
@@ -80,7 +80,7 @@
 			update();
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
 	 */
@@ -88,7 +88,7 @@
 	protected void initialize() {
 		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
@@ -116,7 +116,7 @@
 		boolean prompt = store.getBoolean(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_BREAKPOINTS);
 		boolean proceed = true;
 		if(prompt) {
-			MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(window.getShell(), ActionMessages.RemoveAllBreakpointsAction_0, 
+			MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(window.getShell(), ActionMessages.RemoveAllBreakpointsAction_0,
 					ActionMessages.RemoveAllBreakpointsAction_1, ActionMessages.RemoveAllBreakpointsAction_3, !prompt, null, null);
 			if(mdwt.getReturnCode() !=  IDialogConstants.YES_ID){
 				proceed = false;
@@ -124,7 +124,7 @@
 			else {
 				store.setValue(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_BREAKPOINTS, !mdwt.getToggleState());
 			}
-		}  
+		}
 		if (proceed) {
 			new Job(ActionMessages.RemoveAllBreakpointsAction_2) {
 				@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllTriggerPointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllTriggerPointsAction.java
index 5b6ec2e..af319ac 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllTriggerPointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveAllTriggerPointsAction.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.actions.breakpoints;
 
- 
+
 import org.eclipse.core.resources.IMarkerDelta;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -42,8 +42,8 @@
 	@Override
 	protected boolean isEnabled() {
 		return DebugPlugin.getDefault().getBreakpointManager().getTriggerPoints().length > 0;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
 	 */
@@ -69,7 +69,7 @@
 			update();
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#initialize()
 	 */
@@ -77,7 +77,7 @@
 	protected void initialize() {
 		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
index ca66a26..70b7fa6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RemoveBreakpointAction.java
@@ -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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -45,7 +45,7 @@
 import org.eclipse.ui.PlatformUI;
 
 public class RemoveBreakpointAction extends AbstractSelectionActionDelegate {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -65,7 +65,7 @@
 				boolean deleteAll = false;
 				boolean deleteContainer = false;
 				boolean prompted = false;
-				while (itr.hasNext()) {		
+				while (itr.hasNext()) {
 					Object next= itr.next();
 					IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(next, IBreakpoint.class);
 					if (breakpoint != null) {
@@ -99,7 +99,7 @@
 								IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
 								prompted = store.getBoolean(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_BREAKPOINTS_FROM_CONTAINER);
 								if(prompted) {
-									MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(getView().getSite().getShell(), ActionMessages.RemoveBreakpointAction_0, 
+									MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(getView().getSite().getShell(), ActionMessages.RemoveBreakpointAction_0,
 											ActionMessages.RemoveBreakpointAction_1, ActionMessages.RemoveAllBreakpointsAction_3, !prompted, null, null);
 									if(mdwt.getReturnCode() == IDialogConstants.NO_ID) {
 										deleteAll = false;
@@ -127,7 +127,7 @@
 				if(breakpoints.length > 0) {
 					((BreakpointsView)getView()).preserveSelection(getSelection());
 				}
-				new Job(ActionMessages.RemoveBreakpointAction_2) { 
+				new Job(ActionMessages.RemoveBreakpointAction_2) {
                     @Override
 					protected IStatus run(IProgressMonitor pmonitor) {
                         try {
@@ -142,7 +142,7 @@
                             DebugUIPlugin.log(e);
                         }
                         return Status.CANCEL_STATUS;
-                    }   
+                    }
                 }.schedule();
 			}
 		};
@@ -154,13 +154,13 @@
 		if (exception[0] != null) {
 			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
 			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.RemoveBreakpointAction_Removing_a_breakpoint_4,ActionMessages.RemoveBreakpointAction_Exceptions_occurred_attempting_to_remove_a_breakpoint__5 , exception[0]);  
+				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.RemoveBreakpointAction_Removing_a_breakpoint_4,ActionMessages.RemoveBreakpointAction_Exceptions_occurred_attempting_to_remove_a_breakpoint__5 , exception[0]);
 			} else {
 				DebugUIPlugin.log(exception[0]);
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.AbstractSelectionActionDelegate#isEnabledFor(java.lang.Object)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java
index ef20e9e..cc0ff86 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetBreakpointAction.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
  *     Wind River Systems - added support for IToggleBreakpointsTargetFactory
@@ -26,13 +26,13 @@
 
 /**
  * Retargettable breakpoint action.
- * 
+ *
  * @since 3.0
  */
 public abstract class RetargetBreakpointAction extends RetargetAction implements IToggleBreakpointsTargetManagerListener {
-	
+
     private IAction fAction;
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#getAdapterClass()
 	 */
@@ -40,7 +40,7 @@
 	protected Class<?> getAdapterClass() {
 		return IToggleBreakpointsTarget.class;
 	}
-	
+
     @Override
 	protected Object getAdapter(IAdaptable adaptable) {
         IToggleBreakpointsTargetManager manager = DebugUITools.getToggleBreakpointsTargetManager();
@@ -56,25 +56,25 @@
         super.init(window);
         DebugUITools.getToggleBreakpointsTargetManager().addChangedListener(this);
     }
-    
+
     @Override
 	public void init(IAction action) {
         super.init(action);
         DebugUITools.getToggleBreakpointsTargetManager().addChangedListener(this);
     }
-    
+
     @Override
 	public void dispose() {
         DebugUITools.getToggleBreakpointsTargetManager().removeChangedListener(this);
         super.dispose();
     }
-    
+
     @Override
 	public void selectionChanged(IAction action, ISelection selection) {
         fAction = action;
         super.selectionChanged(action, selection);
     }
-    
+
     @Override
 	public void preferredTargetsChanged() {
         if (fAction != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java
index c9a01b9..4b61fdc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetMethodBreakpointAction.java
@@ -18,11 +18,11 @@
 
 /**
  * Global retargettable toggle method breakpoint action.
- * 
+ *
  * @since 3.0
  */
 public class RetargetMethodBreakpointAction extends RetargetBreakpointAction {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleBreakpointAction.java
index 22a018e..72e7069 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleBreakpointAction.java
@@ -19,11 +19,11 @@
 
 /**
  * Global retargettable toggle breakpoint action.
- * 
+ *
  * @since 3.3
  */
 public class RetargetToggleBreakpointAction extends RetargetBreakpointAction {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -54,5 +54,5 @@
 	@Override
 	protected String getOperationUnavailableMessage() {
 		return Messages.RetargetToggleBreakpointAction_0;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java
index 58d5ed5..df8e841 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetToggleLineBreakpointAction.java
@@ -18,11 +18,11 @@
 
 /**
  * Global retargettable toggle line breakpoint action.
- * 
+ *
  * @since 3.0
  */
 public class RetargetToggleLineBreakpointAction extends RetargetBreakpointAction {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -43,5 +43,5 @@
 	@Override
 	protected String getOperationUnavailableMessage() {
 		return Messages.RetargetToggleLineBreakpointAction_0;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java
index 49fdb0a..e19fdca 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RetargetWatchpointAction.java
@@ -18,11 +18,11 @@
 
 /**
  * Global retargettable toggle watchpoint action.
- * 
+ *
  * @since 3.0
  */
 public class RetargetWatchpointAction extends RetargetBreakpointAction {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -43,5 +43,5 @@
 	@Override
 	protected String getOperationUnavailableMessage() {
 		return Messages.RetargetWatchpointAction_0;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.java
index 777f08a..ad1e21a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/RulerEnableDisableBreakpointAction.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
  *******************************************************************************/
@@ -25,9 +25,9 @@
  *
  */
 public class RulerEnableDisableBreakpointAction extends RulerBreakpointAction implements IUpdate {
-	
+
 	private IBreakpoint fBreakpoint;
-	
+
 	public RulerEnableDisableBreakpointAction(ITextEditor editor, IVerticalRulerInfo info) {
 		super(editor, info);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java
index 34f7b05..08963a0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SelectAllBreakpointsAction.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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -33,13 +33,13 @@
 	}
 
 	@Override
-	public void run(IAction action) {	
+	public void run(IAction action) {
 		Viewer viewer = ((AbstractDebugView) getView()).getViewer();
 		((Tree) viewer.getControl()).selectAll();
 		// ensure that the selection change callback is fired
 		viewer.setSelection(viewer.getSelection());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
index 407beb1..d4ba34a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowSupportedBreakpointsAction.java
@@ -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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -45,27 +45,27 @@
  * An view filter action that filters showing breakpoints based on whether
  * the IDebugTarget of the selected debug element in the launch view supports
  * the breakpoints.
- * 
+ *
  * @see org.eclipse.debug.core.model.IDebugTarget#supportsBreakpoint(IBreakpoint)
- * 
+ *
  */
-public class ShowSupportedBreakpointsAction extends ToggleFilterAction implements ISelectionListener {	
+public class ShowSupportedBreakpointsAction extends ToggleFilterAction implements ISelectionListener {
 	/**
 	 * The view associated with this action
 	 */
 	private AbstractDebugView fView;
-		
+
 	/**
 	 * The list of identifiers for the current state
 	 */
 	private List<IDebugTarget> fDebugTargets= new ArrayList<IDebugTarget>(2);
-	
+
 	/**
 	 * A viewer filter that selects breakpoints that have
 	 * the same model identifier as the selected debug element
 	 */
 	class BreakpointFilter extends ViewerFilter {
-		
+
 		/**
 		 * @see ViewerFilter#select(Viewer, Object, Object)
 		 */
@@ -89,7 +89,7 @@
 				if (target.supportsBreakpoint(breakpoint)) {
 					return true;
 				}
-				
+
 			}
 			return false;
 		}
@@ -98,29 +98,29 @@
 
 	public ShowSupportedBreakpointsAction(StructuredViewer viewer, IViewPart view) {
 		super();
-		setText(ActionMessages.ShowSupportedBreakpointsAction_Show_For_Selected); 
-		setToolTipText(ActionMessages.ShowSupportedBreakpointsAction_tooltip); 
+		setText(ActionMessages.ShowSupportedBreakpointsAction_Show_For_Selected);
+		setToolTipText(ActionMessages.ShowSupportedBreakpointsAction_tooltip);
 		setViewerFilter(new BreakpointFilter());
 		setViewer(viewer);
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET));
 		setChecked(false);
 		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowSupportedBreakpointsAction"); //$NON-NLS-1$
-		
+
 		setView(view);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(
 			this,
 			IDebugHelpContextIds.SHOW_BREAKPOINTS_FOR_MODEL_ACTION);
-		
+
 	}
 
-	
-		
+
+
 	public void dispose() {
 		if (isChecked()) {
 			getView().getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
 		}
 	}
-	
+
 	/**
 	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
 	 */
@@ -136,7 +136,7 @@
 			if (debugTargets.isEmpty()) {
 				 if(fDebugTargets.isEmpty()) {
 					return;
-				 } 
+				 }
 				 reapplyFilters(debugTargets);
 				 return;
 			}
@@ -144,7 +144,7 @@
 				reapplyFilters(debugTargets);
 				return;
 			}
-			
+
 			if (debugTargets.size() == fDebugTargets.size()) {
 				List<IDebugTarget> copy= new ArrayList<IDebugTarget>(debugTargets.size());
 				for (IDebugTarget target : fDebugTargets) {
@@ -162,29 +162,29 @@
 					return;
 				}
 				reapplyFilters(copy);
-			} 
+			}
 		}
 	}
 
-	
+
 	/**
 	 * Selection has changed in the debug view
 	 * need to re-apply the filters.
 	 * @param debugTargets the new set of {@link IDebugTarget}s
 	 */
 	protected void reapplyFilters(List<IDebugTarget> debugTargets) {
-		fDebugTargets= debugTargets;		
+		fDebugTargets= debugTargets;
 		getViewer().refresh();
 	}
-	
+
 	protected IViewPart getView() {
 		return fView;
 	}
 
-	protected void setView(IViewPart view) {	
+	protected void setView(IViewPart view) {
 		fView = (AbstractDebugView) view;
 	}
-	
+
 	protected List<IDebugTarget> getDebugTargets(IStructuredSelection ss) {
 		List<IDebugTarget> debugTargets= new ArrayList<IDebugTarget>(2);
 		Iterator<?> i= ss.iterator();
@@ -202,15 +202,15 @@
 				if (target != null) {
 					debugTargets.add(target);
 				}
-			}	
+			}
 		}
 		return debugTargets;
 	}
-	
+
 	/**
 	 * Adds or removes the viewer filter depending
 	 * on the value of the parameter.
-	 * @param on flag to indicate if viewer filtering should be added or removed 
+	 * @param on flag to indicate if viewer filtering should be added or removed
 	 */
 	@Override
 	protected void valueChanged(boolean on) {
@@ -227,5 +227,5 @@
 		super.valueChanged(on);
 		fView.getViewer().refresh();
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowTargetBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowTargetBreakpointsAction.java
index c043a35..a9c0dce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowTargetBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ShowTargetBreakpointsAction.java
@@ -21,7 +21,7 @@
 
 /**
  * This class implements the show target breakpoint action.
- * 
+ *
  * @since 3.6
  */
 public class ShowTargetBreakpointsAction extends Action {
@@ -29,24 +29,24 @@
 	 * Breakpoints view
 	 */
 	BreakpointsView fView;
-	
+
 	/**
 	 * Constructor.
-	 * 
+	 *
 	 * @param view the breakpoints view
 	 */
 	public ShowTargetBreakpointsAction(BreakpointsView view) {
 		super();
-		
+
 		fView = view;
-		
-		setText(ActionMessages.ShowSupportedBreakpointsAction_Show_For_Selected); 
-		setToolTipText(ActionMessages.ShowSupportedBreakpointsAction_tooltip); 
-		
+
+		setText(ActionMessages.ShowSupportedBreakpointsAction_Show_For_Selected);
+		setToolTipText(ActionMessages.ShowSupportedBreakpointsAction_tooltip);
+
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET));
 		setChecked(false);
 		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowSupportedBreakpointsAction"); //$NON-NLS-1$
-		
+
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.SHOW_BREAKPOINTS_FOR_MODEL_ACTION);
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java
index a5de171..dcf3c4c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/SkipAllBreakpointsAction.java
@@ -37,35 +37,35 @@
 /**
  * An action which toggles the breakpoint manager's enablement.
  * This causes debug targets which honor the manager's enablement
- * to skip (not suspend for) all breakpoints. 
- * 
+ * to skip (not suspend for) all breakpoints.
+ *
  * This class also implements the window action delegate for the action presented as
  * part of the "Breakpoints" group for the "Run" menu.
  */
 public class SkipAllBreakpointsAction extends Action implements IWorkbenchWindowActionDelegate, IActionDelegate2, IBreakpointManagerListener {
-	
+
 	public static final String ACTION_ID = "org.eclipse.debug.ui.actions.SkipAllBreakpoints"; //$NON-NLS-1$
 	public static final String ACTION_DEFINITION_ID = "org.eclipse.debug.ui.commands.SkipAllBreakpoints"; //$NON-NLS-1$
-	
+
 	//The real action if this is an action delegate
 	private IAction fAction;
-	
+
 	/**
 	 * Workbench part or <code>null</code> if not installed in a part
 	 */
 	private IWorkbenchPart fPart = null;
-	
+
 	public SkipAllBreakpointsAction() {
-		super(ActionMessages.SkipAllBreakpointsAction_0, AS_CHECK_BOX); 
-		setToolTipText(ActionMessages.SkipAllBreakpointsAction_0); 
-		setDescription(ActionMessages.SkipAllBreakpointsAction_2); 
+		super(ActionMessages.SkipAllBreakpointsAction_0, AS_CHECK_BOX);
+		setToolTipText(ActionMessages.SkipAllBreakpointsAction_0);
+		setDescription(ActionMessages.SkipAllBreakpointsAction_2);
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_SKIP_BREAKPOINTS));
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.SKIP_ALL_BREAKPOINT_ACTION);
 	}
-	
+
 	/**
 	 * Constructs an action in the given part.
-	 * 
+	 *
 	 * @param part the part this action is created for
 	 */
 	public SkipAllBreakpointsAction(IWorkbenchPart part) {
@@ -74,7 +74,7 @@
 		setId(ACTION_ID); // set action ID when created programmatically.
 		updateActionCheckedState();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
@@ -102,7 +102,7 @@
 			job.schedule();
 		}
 	}
-	
+
 	/**
 	 * Updates the action's checked state to be opposite the enabled
 	 * state of the breakpoint manager.
@@ -114,16 +114,16 @@
 			setChecked(!getBreakpointManager().isEnabled());
 		}
 	}
-	
+
 	/**
 	 * Returns the global breakpoint manager.
-	 * 
+	 *
 	 * @return the global breakpoint manager
 	 */
 	public static IBreakpointManager getBreakpointManager() {
 		return DebugPlugin.getDefault().getBreakpointManager();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
@@ -131,7 +131,7 @@
 	public void dispose() {
 		getBreakpointManager().removeBreakpointManagerListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
 	 */
@@ -140,20 +140,20 @@
 		updateActionCheckedState();
 		getBreakpointManager().addBreakpointManagerListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
 	@Override
 	public void run(IAction action) {
 		setChecked(action.isChecked());
-		run();	
+		run();
 		// when run from the workbench window action, need to keep view action state in synch (in case view has been closed)
 		String prefKey = IDebugUIConstants.ID_BREAKPOINT_VIEW + '+' + action.getId();
 		IPreferenceStore prefStore = DebugUIPlugin.getDefault().getPreferenceStore();
 		prefStore.setValue(prefKey, action.isChecked());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java
index 67c176d..97170da 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpoints/ToggleBreakpointObjectActionDelegate.java
@@ -26,16 +26,16 @@
 /**
  * A toggle breakpoint action that can be contributed to an object. The action
  * will perform a toggle breakpoint operation for a selected object.
- * 
+ *
  * <p>Clients may subclass this class.</p>
- * 
+ *
  * @since 3.0
  */
 public abstract class ToggleBreakpointObjectActionDelegate implements IObjectActionDelegate, IActionDelegate2 {
-	
+
 	private IWorkbenchPart fPart;
 	private IStructuredSelection fSelection;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -48,7 +48,7 @@
 	 */
 	@Override
 	public void run(IAction action) {
-		IToggleBreakpointsTarget target = 
+		IToggleBreakpointsTarget target =
 		    DebugUITools.getToggleBreakpointsTargetManager().getToggleBreakpointsTarget(fPart, fSelection);
 		if (target != null) {
 			try {
@@ -61,14 +61,14 @@
 
 	/**
 	 * Performs the operation specific to this action.
-	 *  
+	 *
 	 * @param target adapter to toggle breakpoints
 	 * @param part the active part
 	 * @param selection the selection in the active part
 	 * @exception CoreException if an exception occurs
 	 */
 	protected abstract void performAction(IToggleBreakpointsTarget target, IWorkbenchPart part, ISelection selection) throws CoreException;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -81,7 +81,7 @@
 			// selectionChagned() can sometimes be called before setActivePart().
 			// Guard here against that possibility.
 			if (fPart != null) {
-			    IToggleBreakpointsTarget target = 
+			    IToggleBreakpointsTarget target =
 			        DebugUITools.getToggleBreakpointsTargetManager().getToggleBreakpointsTarget(fPart, fSelection);
 			    enabled = target != null;
 			}
@@ -94,7 +94,7 @@
 	@Override
 	public void init(IAction action) {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java
index 4eb881f..2b879d4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/AddWatchExpressionAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.java
index 7c72b9f..b09f85f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ConvertToWatchExpressionAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.java
index 0f0a291..a7694a2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/DisableWatchExpressionAction.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
  *******************************************************************************/
@@ -12,10 +12,10 @@
 
 
 /**
- * 
+ *
  */
 public class DisableWatchExpressionAction extends EnableWatchExpressionAction {
-	
+
 	public DisableWatchExpressionAction() {
 		fEnable= false;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressinInPlaceAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressinInPlaceAction.java
index 084ac13..2299e3b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressinInPlaceAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressinInPlaceAction.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -21,25 +21,25 @@
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 
 /**
- * This action activates the cell editor in the expressions view to edit the 
- * expression string.  If no expression column found or for multi-line 
- * expressions, revert to the 
+ * This action activates the cell editor in the expressions view to edit the
+ * expression string.  If no expression column found or for multi-line
+ * expressions, revert to the
  */
 public class EditWatchExpressinInPlaceAction extends Action implements ISelectionChangedListener {
 
     private ExpressionView fView;
     private TreeModelViewer fViewer;
     private EditWatchExpressionAction fEditActionDelegate = new EditWatchExpressionAction();
-    
+
     public EditWatchExpressinInPlaceAction(ExpressionView view) {
         fView = view;
         fViewer = (TreeModelViewer)view.getViewer();
         fEditActionDelegate.init(view);
-        ISelectionProvider selectionProvider = fView.getSite().getSelectionProvider(); 
+        ISelectionProvider selectionProvider = fView.getSite().getSelectionProvider();
         selectionProvider.addSelectionChangedListener(this);
         fEditActionDelegate.selectionChanged(this, selectionProvider.getSelection());
     }
-    
+
     @Override
 	public void selectionChanged(SelectionChangedEvent event) {
         IStructuredSelection selection = fEditActionDelegate.getCurrentSelection();
@@ -49,16 +49,16 @@
     public void dispose() {
         fView.getSite().getSelectionProvider().removeSelectionChangedListener(this);
     }
-    
+
     @Override
 	public void run() {
         IStructuredSelection selelection = fEditActionDelegate.getCurrentSelection();
-        
+
         if (selelection.size() != 1) {
             return;
         }
 
-        // Always edit multi-line expressions in dialog.  Otherwise try to find the expression 
+        // Always edit multi-line expressions in dialog.  Otherwise try to find the expression
         // column and activate cell editor there.
         int expressionColumn = getExpressionColumnIndex();
         IWatchExpression[] expressions = fEditActionDelegate.getSelectedExpressions();
@@ -68,12 +68,12 @@
             fEditActionDelegate.run(this);
         }
     }
-    
+
     private boolean isWatchExpressionWithNewLine(IWatchExpression[] expressions) {
-        return expressions.length == 1 && 
+        return expressions.length == 1 &&
             expressions[0].getExpressionText().indexOf('\n') != -1;
     }
-    
+
     private int getExpressionColumnIndex() {
         Object[] columnProperties = fViewer.getColumnProperties();
         for (int i = 0; columnProperties != null && i < columnProperties.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java
index fb21f03..758ddf9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EditWatchExpressionAction.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
  *     Wind River Systems - integration with non-standard debug models (Bug 209883)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.java
index 17f06b6..24e82d5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/EnableWatchExpressionAction.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
  *     Wind River Systems - integration with non-standard debug models (Bug 209883)
@@ -27,7 +27,7 @@
 import org.eclipse.ui.IViewPart;
 
 /**
- * 
+ *
  */
 public class EnableWatchExpressionAction implements IViewActionDelegate, IActionDelegate2, IDebugEventSetListener {
 
@@ -143,6 +143,6 @@
 				}
 			}
 		}
-		
+
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/PasteWatchExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/PasteWatchExpressionsAction.java
index a474de8..d2b7cec 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/PasteWatchExpressionsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/PasteWatchExpressionsAction.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:
  *     Adobe Systems, Inc. - initial API and implementation
  *******************************************************************************/
@@ -46,6 +46,6 @@
 		return fExpressionView.canPaste();
 	}
 
-	
-	
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.java
index b20041e..8a9c51e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/ReevaluateWatchExpressionAction.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
  *     Wind River Systems - integration with non-standard debug models (Bug 209883)
@@ -36,7 +36,7 @@
     @Override
 	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
     }
-    
+
     /**
      * Finds the currently selected context in the UI.
      * @return the current debug context
@@ -78,7 +78,7 @@
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java
index 6824115..ea71b5a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveAllExpressionsAction.java
@@ -4,13 +4,13 @@
  *  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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.actions.expressions;
 
- 
+
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.IExpressionManager;
 import org.eclipse.debug.core.IExpressionsListener;
@@ -35,13 +35,13 @@
 	 */
 	@Override
 	public void run(IAction action) {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();		
+		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
 		if (window != null) {
 			IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
 			boolean prompt = store.getBoolean(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_EXPRESSIONS);
 			boolean proceed = true;
 			if (prompt) {
-				MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(window.getShell(), ActionMessages.RemoveAllExpressionsAction_0, 
+				MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(window.getShell(), ActionMessages.RemoveAllExpressionsAction_0,
 						ActionMessages.RemoveAllExpressionsAction_1, ActionMessages.RemoveAllBreakpointsAction_3, !prompt, null, null);
 				if(mdwt.getReturnCode() !=  IDialogConstants.YES_ID){
 					proceed = false;
@@ -57,7 +57,7 @@
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.selection.AbstractRemoveAllActionDelegate#isEnabled()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
index b3b1a03..25c40ec 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/RemoveExpressionAction.java
@@ -29,7 +29,7 @@
 import org.eclipse.ui.progress.WorkbenchJob;
 
 public class RemoveExpressionAction extends AbstractSelectionActionDelegate {
-	
+
 	protected IExpression[] getExpressions() {
 		TreeSelection selection = (TreeSelection) getSelection();
 		TreePath[] paths = selection.getPaths();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java
index c777d06..c238c52 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/SelectAllExpressionsAction.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
  *******************************************************************************/
@@ -33,7 +33,7 @@
 	protected String getActionId() {
 		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.AbstractRemoveAllActionDelegate#initialize()
 	 */
@@ -62,9 +62,9 @@
 	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsChanged(org.eclipse.debug.core.model.IExpression[])
 	 */
 	@Override
-	public void expressionsChanged(IExpression[] expressions) {		
+	public void expressionsChanged(IExpression[] expressions) {
 	}
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.actions.AbstractRemoveAllActionDelegate#dispose()
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
index 237fd5a..0f61d57 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionAction.java
@@ -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
  *     Wind River Systems - integration with non-standard debug models (Bug 209883)
@@ -38,8 +38,8 @@
 public abstract class WatchExpressionAction implements IViewActionDelegate {
 	IWorkbenchPart fPart = null;
 
-	private static IWatchExpression[] EMPTY_EXPRESSION_ARRAY = new IWatchExpression[0]; 
-	
+	private static IWatchExpression[] EMPTY_EXPRESSION_ARRAY = new IWatchExpression[0];
+
 	@Override
 	public void init(IViewPart view) {
 	    fPart = view;
@@ -61,12 +61,12 @@
     }
 
 	protected IWatchExpression[] getSelectedExpressions() {
-	    List<Object> list = new LinkedList<Object>(); 
+	    List<Object> list = new LinkedList<Object>();
 	    IStructuredSelection currentSelection = getCurrentSelection();
 	    if (currentSelection == null) {
 	        return EMPTY_EXPRESSION_ARRAY;
 	    }
-	    
+
         for (Iterator<?> iter= currentSelection.iterator(); iter.hasNext();) {
             Object element = iter.next();
             if (element instanceof IWatchExpression) {
@@ -82,10 +82,10 @@
                 return EMPTY_EXPRESSION_ARRAY;
             }
         }
-        
+
 		return list.toArray(new IWatchExpression[list.size()]);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -106,7 +106,7 @@
 
 	/**
 		* Displays the given error message in the status line.
-		* 
+		*
 		* @param message the message to display
 		*/
 	protected void showErrorMessage(String message) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.java
index e76d080..b1ca7f0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionDialog.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
  *     Mike Morearty - Bug 271411
@@ -58,7 +58,7 @@
 	 * The detail formatter to edit.
 	 */
 	private IWatchExpression fWatchExpression;
-	
+
 	// widgets
 	private SourceViewer fSnippetViewer;
 	private Button fCheckBox;
@@ -70,10 +70,10 @@
 		setShellStyle(getShellStyle() | SWT.MAX | SWT.RESIZE);
 		String helpContextId = null;
 		if (editDialog) {
-			setTitle(ActionMessages.WatchExpressionDialog_0); 
+			setTitle(ActionMessages.WatchExpressionDialog_0);
 			helpContextId = IDebugHelpContextIds.EDIT_WATCH_EXPRESSION_DIALOG;
 		} else {
-			setTitle(ActionMessages.WatchExpressionDialog_1); 
+			setTitle(ActionMessages.WatchExpressionDialog_1);
 			helpContextId = IDebugHelpContextIds.ADD_WATCH_EXPRESSION_DIALOG;
 		}
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, helpContextId);
@@ -87,7 +87,7 @@
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		Font font = parent.getFont();
-		
+
 		Composite container = new Composite(parent, SWT.NONE);
 		GridLayout layout = new GridLayout();
 		container.setLayout(layout);
@@ -96,14 +96,14 @@
 
 		// snippet label
 		Label label = new Label(container, SWT.NONE);
-		label.setText(ActionMessages.WatchExpressionDialog_2); 
+		label.setText(ActionMessages.WatchExpressionDialog_2);
 		gd= new GridData(GridData.BEGINNING);
 		label.setLayoutData(gd);
 		label.setFont(font);
-		
+
 		fSnippetViewer = new SourceViewer(container, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.LEFT_TO_RIGHT);
 		fSnippetViewer.setInput(this);
-		
+
 		IDocument document = new Document();
 		fSnippetViewer.configure(new SourceViewerConfiguration());
 		fSnippetViewer.setEditable(true);
@@ -159,7 +159,7 @@
 
 		// enable checkbox
 		fCheckBox= new Button(container, SWT.CHECK | SWT.LEFT);
-		fCheckBox.setText(ActionMessages.WatchExpressionDialog_3); 
+		fCheckBox.setText(ActionMessages.WatchExpressionDialog_3);
 		fCheckBox.setSelection(fWatchExpression.isEnabled());
 		fCheckBox.setFont(font);
 
@@ -176,7 +176,7 @@
 
 	/**
 	 * Returns a string representation of the "Ctrl+Return" key sequence.
-	 * 
+	 *
 	 * @return a string representation of the "Ctrl+Return" key sequence.
 	 */
 	private String getCtrlReturnText() {
@@ -197,14 +197,14 @@
 		fWatchExpression.setExpressionText(fSnippetViewer.getDocument().get());
 		super.okPressed();
 	}
-	
+
 	/**
 	 * Check the field values and display a message in the status if needed.
 	 */
 	private void checkValues() {
 		StatusInfo status= new StatusInfo();
 		if (fSnippetViewer.getDocument().get().trim().length() == 0) {
-			status.setError(ActionMessages.WatchExpressionDialog_4); 
+			status.setError(ActionMessages.WatchExpressionDialog_4);
 		}
 		updateStatus(status);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionFactoryTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionFactoryTester.java
index 167387b..1465aa5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionFactoryTester.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchExpressionFactoryTester.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -18,9 +18,9 @@
 import org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapterExtension;
 
 /**
- * This class is used to check whether a given element can be used to create 
- * a watch expression.  A single property can be tested 
- * "canCreateWatchExpression".  Test for this property ignores the value and 
+ * This class is used to check whether a given element can be used to create
+ * a watch expression.  A single property can be tested
+ * "canCreateWatchExpression".  Test for this property ignores the value and
  * always returns a boolean.
  *
  *	@since 3.4
@@ -28,7 +28,7 @@
 public class WatchExpressionFactoryTester extends PropertyTester {
 
 	public static final String CAN_CREATE_WATCH_EXPRESSION_PROPERTY = "canCreateWatchExpression"; //$NON-NLS-1$
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.expressions.PropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
 	 */
@@ -51,7 +51,7 @@
 	                return factory2.canCreateWatchExpression(element);
 	            }
 	        }
-		} 
+		}
 		return false;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchHandler.java
index c06864c..9c312b4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/expressions/WatchHandler.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -37,7 +37,7 @@
 
 /**
  * Handler for creating a watch expression.
- * 
+ *
  * @since 3.4
  */
 public class WatchHandler extends AbstractHandler {
@@ -93,10 +93,10 @@
                 }
             }
         } catch (CoreException e) {
-            DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.WatchAction_0, ActionMessages.WatchAction_1, e); // 
+            DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.WatchAction_0, ActionMessages.WatchAction_1, e); //
             return;
         }
-        
+
         IWatchExpression expression;
             expression = DebugPlugin.getDefault().getExpressionManager().newWatchExpression(expressionString);
         DebugPlugin.getDefault().getExpressionManager().addExpression(expression);
@@ -114,17 +114,17 @@
 
     /**
      * Returns the factory adapter for the given variable or <code>null</code> if none.
-     * 
+     *
      * @param variable the variable to get the factory for
      * @return factory or <code>null</code>
      */
     static IWatchExpressionFactoryAdapter getFactory(IVariable variable) {
-        return variable.getAdapter(IWatchExpressionFactoryAdapter.class);      
+        return variable.getAdapter(IWatchExpressionFactoryAdapter.class);
     }
 
     /**
      * Returns the factory adapter for the given variable or <code>null</code> if none.
-     * 
+     *
      * @param element the element to try and adapt
      * @return factory or <code>null</code>
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java
index dd191c2..1a6bdb6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueAction.java
@@ -11,7 +11,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.actions.variables;
 
- 
+
 import java.util.Iterator;
 
 import org.eclipse.debug.core.DebugException;
@@ -42,19 +42,19 @@
  * variable value editor, if any is provided for the variable's debug model.
  */
 public class ChangeVariableValueAction extends SelectionProviderAction {
-    
+
 	protected IVariable fVariable;
     private VariablesView fView;
     private boolean fEditing= false;
     private boolean isApplicable = false;
-	
+
     /**
      * Creates a new ChangeVariableValueAction for the given variables view
      * @param view the variables view in which this action will appear
      */
 	public ChangeVariableValueAction(VariablesView view) {
-		super(view.getViewer(), ActionMessages.ChangeVariableValue_title); 
-		setDescription(ActionMessages.ChangeVariableValue_toolTipText); 
+		super(view.getViewer(), ActionMessages.ChangeVariableValue_title);
+		setDescription(ActionMessages.ChangeVariableValue_toolTipText);
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_CHANGE_VARIABLE_VALUE));
 		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_CHANGE_VARIABLE_VALUE));
 		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_CHANGE_VARIABLE_VALUE));
@@ -63,24 +63,24 @@
 			IDebugHelpContextIds.CHANGE_VALUE_ACTION);
 		fView= view;
 	}
-	
+
 	/**
 	 * Indicates whether this action is applicable for the current selection.
-	 * If the element selected in the viewer is not a standard debug model 
-	 * element this action is not applicable. 
+	 * If the element selected in the viewer is not a standard debug model
+	 * element this action is not applicable.
 	 * @return if this action applies to the current selection
 	 */
 	public boolean isApplicable() {
 	    return isApplicable;
 	}
-	
+
 	/**
-	 * Edit the variable value with an in-line text editor.  
+	 * Edit the variable value with an in-line text editor.
 	 * @param variable run the action on the given variable
 	 */
 	protected void doActionPerformed(final IVariable variable) {
 	    Shell shell = fView.getViewSite().getShell();
-		// If a previous edit is still in progress, don't start another		
+		// If a previous edit is still in progress, don't start another
 	    if (fEditing) {
 	        return;
 	    }
@@ -91,13 +91,13 @@
 	    }
 		fEditing= false;
 	}
-	
+
 	/**
 	 * Attempts to edit the variable by delegating to anyone who's
 	 * contributed a variable value editor via extension. Returns
 	 * <code>true</code> if a delegate handled the edit, <code>false</code>
 	 * if the variable still needs to be edited.
-	 * 
+	 *
      * @param shell a shell for prompting the user
      * @return whether or not a delegate attempted to edit the variable
      */
@@ -121,7 +121,7 @@
 			name= fVariable.getName();
 			value= fVariable.getValue().getValueString();
 		} catch (DebugException exception) {
-			DebugUIPlugin.errorDialog(shell, ActionMessages.ChangeVariableValue_errorDialogTitle,ActionMessages.ChangeVariableValue_errorDialogMessage, exception);	// 
+			DebugUIPlugin.errorDialog(shell, ActionMessages.ChangeVariableValue_errorDialogTitle,ActionMessages.ChangeVariableValue_errorDialogMessage, exception);	//
 			return;
 		}
 		ChangeVariableValueInputDialog inputDialog = new ChangeVariableValueInputDialog(shell, ActionMessages.ChangeVariableValue_1, MessageFormat.format(ActionMessages.ChangeVariableValue_2, new Object[] { name }), value, new IInputValidator() { //
@@ -135,12 +135,12 @@
 						return null; // null means valid
 					}
 				} catch (DebugException exception) {
-					return ActionMessages.ChangeVariableValue_3; 
+					return ActionMessages.ChangeVariableValue_3;
 				}
-				return ActionMessages.ChangeVariableValue_4; 
+				return ActionMessages.ChangeVariableValue_4;
 			}
 		});
-		
+
 		inputDialog.open();
 		String newValue= inputDialog.getValue();
 		if (newValue != null) {
@@ -149,11 +149,11 @@
 				fVariable.setValue(newValue);
 				getSelectionProvider().setSelection(new StructuredSelection(fVariable));
 			} catch (DebugException de) {
-				DebugUIPlugin.errorDialog(shell, ActionMessages.ChangeVariableValue_errorDialogTitle,ActionMessages.ChangeVariableValue_errorDialogMessage, de);	// 
+				DebugUIPlugin.errorDialog(shell, ActionMessages.ChangeVariableValue_errorDialogTitle,ActionMessages.ChangeVariableValue_errorDialogMessage, de);	//
 			}
 		}
 	}
-		
+
 	/**
 	 * Updates the enabled state of this action based
 	 * on the selection
@@ -186,7 +186,7 @@
 		Iterator<Object> iterator = getStructuredSelection().iterator();
 		doActionPerformed((IVariable)iterator.next());
 	}
-	
+
 	/**
 	 * @see SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.java
index 2854059..7e3bb78 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ChangeVariableValueInputDialog.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
  *******************************************************************************/
@@ -33,43 +33,43 @@
  * A simple input dialog for soliciting an input string
  * from the user.
  * <p>
- * This concrete dialog class can be instantiated as is, 
+ * This concrete dialog class can be instantiated as is,
  * or further subclassed as required.
  * </p>
  */
 public class ChangeVariableValueInputDialog extends TrayDialog {
-	
-	
+
+
 	/**
 	 * The title of the dialog.
 	 */
 	private String title;
-	
+
 	/**
 	 * The message to display, or <code>null</code> if none.
 	 */
 	private String message;
-	
+
 	/**
 	 * The input value; the empty string by default.
 	 */
 	private String value= IInternalDebugCoreConstants.EMPTY_STRING;
-	
+
 	/**
 	 * The input validator, or <code>null</code> if none.
 	 */
 	private IInputValidator validator;
-	
+
 	/**
 	 * Ok button widget.
 	 */
 	private Button okButton;
-	
+
 	/**
 	 * Input text widget.
 	 */
 	private Text text;
-	
+
 	/**
 	 * Error message label widget.
 	 */
@@ -98,7 +98,7 @@
 		else
 			value = initialValue;
 		this.validator = validator;
-		
+
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 	}
 	/* (non-Javadoc)
@@ -130,7 +130,7 @@
 		// create OK and Cancel buttons by default
 		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
 		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-		
+
 		//do this here because setting the text will set enablement on the ok button
 		text.setFocus();
 		if (value != null) {
@@ -146,7 +146,7 @@
 		Font font = parent.getFont();
 		// create composite
 		Composite composite = (Composite)super.createDialogArea(parent);
-		
+
 		// create message
 		if (message != null) {
 			Label label = new Label(composite, SWT.WRAP);
@@ -159,9 +159,9 @@
 			label.setLayoutData(data);
 			label.setFont(font);
 		}
-		
+
 		text= new Text(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL| SWT.H_SCROLL);
-		
+
 		GridData gridData= new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
 		gridData.heightHint = 50;
 		gridData.widthHint = 100;
@@ -174,13 +174,13 @@
 						if (okButton.isEnabled()) {
 							return;
 						}
-						errorMessageLabel.setText(IInternalDebugCoreConstants.EMPTY_STRING); 
+						errorMessageLabel.setText(IInternalDebugCoreConstants.EMPTY_STRING);
 						errorMessageLabel.getParent().update();
 						okButton.setEnabled(true);
 					}
 				}
 		);
-		
+
 		errorMessageLabel = new Label(composite, SWT.NONE);
 		errorMessageLabel.setLayoutData(new GridData(
 				GridData.GRAB_HORIZONTAL |
@@ -240,17 +240,17 @@
 	 * </p>
 	 */
 	protected void validateInput() {
-		
+
 		String errorMessage = null;
-		
+
 		if (validator != null) {
 			errorMessage = validator.isValid(text.getText());
 		}
-		
+
 		// Bug 16256: important not to treat empty string (blank error) the same as null (no error)
 		errorMessageLabel.setText(errorMessage == null ? IInternalDebugCoreConstants.EMPTY_STRING : errorMessage);
 		okButton.setEnabled(errorMessage == null);
-		
+
 		errorMessageLabel.getParent().update();
 	}
 	@Override
@@ -260,16 +260,16 @@
 			super.okPressed();
 		}
 	}
-	
+
 	/**
 	 * Returns the name of the section that this dialog stores its settings in
-	 * 
+	 *
 	 * @return String
 	 */
 	protected String getDialogSettingsSectionName() {
 		return IDebugUIConstants.PLUGIN_ID + ".CHANGE_VARIABLE_VALUE_DIALOG_SECTION"; //$NON-NLS-1$
 	}
-	
+
 	 /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
      */
@@ -279,10 +279,10 @@
          IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
          if (section == null) {
              section = settings.addNewSection(getDialogSettingsSectionName());
-         } 
+         }
          return section;
     }
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#handleShellCloseEvent()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.java
index 81dbcba..d762357 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/SelectAllVariablesAction.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
  *******************************************************************************/
@@ -15,7 +15,7 @@
 
 public class SelectAllVariablesAction extends SelectAllAction {
 
-	
+
 	@Override
 	protected String getActionId() {
 		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java
index 23bcdde..a309733 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ShowTypesAction.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 272367: "Show Type Names" attribute is not available in the IPresentationContext properties 
+ *     WindRiver - Bug 272367: "Show Type Names" attribute is not available in the IPresentationContext properties
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.actions.variables;
 
@@ -38,9 +38,9 @@
 	private IDebugView fView;
 
 	public ShowTypesAction(IDebugView view) {
-		super(ActionMessages.ShowTypesAction_Show__Type_Names_1, IAction.AS_CHECK_BOX); 
+		super(ActionMessages.ShowTypesAction_Show__Type_Names_1, IAction.AS_CHECK_BOX);
 		setView(view);
-		setToolTipText(ActionMessages.ShowTypesAction_Show_Type_Names); 
+		setToolTipText(ActionMessages.ShowTypesAction_Show_Type_Names);
 		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_TYPE_NAMES));
 		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TYPE_NAMES));
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TYPE_NAMES));
@@ -61,7 +61,7 @@
 		if (viewer.getControl().isDisposed()) {
 			return;
 		}
-		
+
 		IDebugModelPresentation debugLabelProvider= getView().getAdapter(IDebugModelPresentation.class);
 		if (debugLabelProvider != null) {
 			Boolean typesStatus = on ? Boolean.TRUE : Boolean.FALSE;
@@ -73,12 +73,12 @@
 			BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
 				@Override
 				public void run() {
-					viewer.refresh();					
+					viewer.refresh();
 				}
 			});
 		}
 	}
-	
+
 	protected IDebugView getView() {
 		return fView;
 	}
@@ -99,8 +99,8 @@
 			setToolTipText(ActionMessages.ShowTypesAction_0);
 		}
 	}
-	
-	
+
+
 }
 
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java
index 8f6adc8..5fb07ae 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/ToggleDetailPaneAction.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
  *******************************************************************************/
@@ -26,53 +26,53 @@
  * as the VariablesView and the ExpressionsView.  Instances of this class can be
  * created to show the detail pane underneath the main tree, to the right of the
  * main tree, or not shown at all.
- * 
+ *
  * @since 3.0
  */
 public class ToggleDetailPaneAction extends Action {
 
 	private VariablesView fVariablesView;
-	
+
 	private String fOrientation;
 
 	public ToggleDetailPaneAction(VariablesView view, String orientation, String hiddenLabel) {
 		super(IInternalDebugCoreConstants.EMPTY_STRING, AS_RADIO_BUTTON);
 		setVariablesView(view);
 		setOrientation(orientation);
-				
+
 		if (orientation == IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH) {
-			setText(ActionMessages.ToggleDetailPaneAction_1);  
-			setToolTipText(ActionMessages.ToggleDetailPaneAction_2);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_2);  
+			setText(ActionMessages.ToggleDetailPaneAction_1);
+			setToolTipText(ActionMessages.ToggleDetailPaneAction_2);
+			setDescription(ActionMessages.ToggleDetailPaneAction_2);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_UNDER));
 			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_UNDER));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_UNDER));
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.VERTICAL_DETAIL_PANE_LAYOUT_ACTION);
 		} else if (orientation == IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_RIGHT) {
-			setText(ActionMessages.ToggleDetailPaneAction_4);  
-			setToolTipText(ActionMessages.ToggleDetailPaneAction_5);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_5);  
+			setText(ActionMessages.ToggleDetailPaneAction_4);
+			setToolTipText(ActionMessages.ToggleDetailPaneAction_5);
+			setDescription(ActionMessages.ToggleDetailPaneAction_5);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_RIGHT));
 			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_RIGHT));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_RIGHT));
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.HORIZONTAL_DETAIL_PANE_LAYOUT_ACTION);
 		} else if (orientation == IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_AUTO) {
 			setText(ActionMessages.ToggleDetailPaneAction_0);
-			setToolTipText(ActionMessages.ToggleDetailPaneAction_3);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_3);  
+			setToolTipText(ActionMessages.ToggleDetailPaneAction_3);
+			setDescription(ActionMessages.ToggleDetailPaneAction_3);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_AUTO));
 			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_AUTO));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_AUTO));
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.HORIZONTAL_DETAIL_PANE_LAYOUT_ACTION);
 		} else {
 			setText(hiddenLabel);
-			setToolTipText(ActionMessages.ToggleDetailPaneAction_8);  
-			setDescription(ActionMessages.ToggleDetailPaneAction_8);  
+			setToolTipText(ActionMessages.ToggleDetailPaneAction_8);
+			setDescription(ActionMessages.ToggleDetailPaneAction_8);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_HIDE));
 			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_HIDE));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_HIDE));
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DETAIL_PANE_HIDDEN_LAYOUT_ACTION);
-		} 		
+		}
 	}
 
 	/* (non-Javadoc)
@@ -80,9 +80,9 @@
 	 */
 	@Override
 	public void run() {
-		getVariablesView().setDetailPaneOrientation(getOrientation()); 
+		getVariablesView().setDetailPaneOrientation(getOrientation());
 	}
-	
+
 	private VariablesView getVariablesView() {
 		return fVariablesView;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneAssignValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneAssignValueAction.java
index 5f3db1f..f242d53 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneAssignValueAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneAssignValueAction.java
@@ -47,18 +47,18 @@
 	private IViewSite fViewSite;
 	private ITextViewer fTextViewer;
 	private IStructuredSelection fCurrentSelection;
-	
+
 	/**
 	 * Attempts to evaluate the given string expression and assign the resulting value to the
 	 * specified variable.  Displays error dialogs to the user if a problem is encountered.
-	 * 
+	 *
 	 * @see DetailPaneAssignValueAction
 	 * @see org.eclipse.debug.internal.ui.elements.adapters.DefaultVariableCellModifier
-	 * 
+	 *
 	 * @param shell the shell to use to open dialogs
 	 * @param variable the variable that is getting a new value
 	 * @param newValueExpression the expression to evaluate and set as the new value
-	 * @since 3.3.0 
+	 * @since 3.3.0
 	 */
 	public static void assignValue(Shell shell, IVariable variable, String newValueExpression){
 		String modelIdentifier = variable.getModelIdentifier();
@@ -70,7 +70,7 @@
 		        return;
 		    }
 		}
-		
+
 		try {
 		    // If we failed to delegate to anyone, perform the default assignment.
 			if (variable.verifyValue(newValueExpression)) {
@@ -85,21 +85,21 @@
             MessageDialog.openError(shell, ActionMessages.DetailPaneAssignValueAction_0, e.getStatus().getMessage());
 		}
 	}
-	
+
 	public DetailPaneAssignValueAction(ITextViewer textViewer, IViewSite viewSite) {
 		super(ActionMessages.DetailPaneAssignValueAction_1);
-		
+
         PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DETAIL_PANE_ASSIGN_VALUE_ACTION);
 
 		fTextViewer = textViewer;
 		fViewSite = viewSite;
-		
+
 		setEnabled(false);
         IHandlerService service = fViewSite.getService(IHandlerService.class);
         ActionHandler handler = new ActionHandler(this);
         fHandlerActivation = service.activateHandler(getActionDefinitionId(), handler);
 	}
-		
+
 	public void dispose() {
         IHandlerService service = fViewSite.getService(IHandlerService.class);
         service.deactivateHandler(fHandlerActivation);
@@ -113,17 +113,17 @@
 				fCurrentSelection = selection;
 				enabled = true;
 			}
-		} 
-		setEnabled(enabled);		
-	}	
-	
+		}
+		setEnabled(enabled);
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
 	@Override
 	public void run() {
 		IVariable variable = (IVariable) fCurrentSelection.getFirstElement();
-		
+
 		Point selection = fTextViewer.getSelectedRange();
 		String value = null;
 		if (selection.y == 0) {
@@ -139,15 +139,15 @@
 		if (window != null) {
 			activeShell= window.getShell();
 		}
-		
+
 		assignValue(activeShell, variable, value);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#getActionDefinitionId()
 	 */
 	@Override
-	public String getActionDefinitionId() {		
+	public String getActionDefinitionId() {
 		return IWorkbenchCommandConstants.FILE_SAVE;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthAction.java
index 1127252..23b75b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthAction.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
  *******************************************************************************/
@@ -19,22 +19,22 @@
 /**
  * Opens a dialog so that the user can enter the maximum length in characters that
  * the detail pane should display.
- * 
+ *
  * @see DetailPaneMaxLengthDialog
  * @since 3.0
  */
 public class DetailPaneMaxLengthAction extends Action {
-	
+
 	private Shell fDialogShell;
-	
+
 	public DetailPaneMaxLengthAction(Shell dialogShell){
 		super(ActionMessages.DetailPaneMaxLengthAction_0);
 		fDialogShell = dialogShell;
-		
+
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DETAIL_PANE_MAX_LENGTH_ACTION);
-		
+
 	}
-	
+
 	@Override
 	public void run() {
 		DetailPaneMaxLengthDialog dialog = new DetailPaneMaxLengthDialog(fDialogShell);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthDialog.java
index 237d26f..c70ecbc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneMaxLengthDialog.java
@@ -32,22 +32,22 @@
 
 /**
  * Provides a dialog for changing the maximum length allowed in the detail pane
- * 
+ *
  * @since 3.0
  */
 public class DetailPaneMaxLengthDialog extends TrayDialog {
 
 	private static final String SETTINGS_ID = DebugUIPlugin.getUniqueIdentifier() + ".MAX_DETAILS_LENGTH_DIALOG"; //$NON-NLS-1$
-	
+
 	private Text fTextWidget;
 	private Text fErrorTextWidget;
 	private String fErrorMessage;
 	private String fValue;
 	private IInputValidator fValidator;
-	
+
 	/**
 	 * Constructs a new dialog on the given shell.
-	 * 
+	 *
 	 * @param parent shell
 	 */
 	public DetailPaneMaxLengthDialog(Shell parent) {
@@ -67,7 +67,7 @@
 						}
 						return null;
 					}
-				
+
 				};
 	}
 
@@ -80,10 +80,10 @@
 		IDialogSettings section = settings.getSection(SETTINGS_ID);
 		if (section == null) {
 			section = settings.addNewSection(SETTINGS_ID);
-		} 
+		}
 		return section;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createContents(org.eclipse.swt.widgets.Composite)
 	 */
@@ -134,23 +134,23 @@
 		String text = getValue();
 		try {
 			DebugUIPlugin.getDefault().getPreferenceStore().setValue(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH, Integer.parseInt(text));
-		} 
+		}
 		catch (NumberFormatException e) {
 			DebugUIPlugin.log(e);
 		}
 		super.okPressed();
 	}
-	
+
 	/**
      * Returns the string typed into this input dialog.
-     * 
+     *
      * @return the input string
      * @since 3.3
      */
     public String getValue() {
         return fValue;
     }
-	
+
     /**
      * Validates the current input
      * @since 3.3
@@ -162,7 +162,7 @@
         }
         setErrorMessage(errorMessage);
     }
-    
+
     /**
      * Sets the current error message or none if null
      * @param errorMessage the message to display
@@ -180,5 +180,5 @@
     			button.setEnabled(errorMessage == null);
     		}
     	}
-    }	
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneWordWrapAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneWordWrapAction.java
index caa5bd8..b5608c8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneWordWrapAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/variables/details/DetailPaneWordWrapAction.java
@@ -29,20 +29,20 @@
 public class DetailPaneWordWrapAction extends Action {
 
 	ITextViewer fTextViewer;
-	
+
 	public DetailPaneWordWrapAction(ITextViewer textViewer) {
 		super(ActionMessages.DetailPaneWordWrapAction_0,IAction.AS_CHECK_BOX);
-        
+
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DETAIL_PANE_WORD_WRAP_ACTION);
-		
+
 		fTextViewer = textViewer;
 		setEnabled(true);
-		
+
 		boolean prefSetting = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP);
 		fTextViewer.getTextWidget().setWordWrap(prefSetting);
 		setChecked(prefSetting);
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointContainer.java
index f411b73..faf6824 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointContainer.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:

  *     Wind River Systems - initial API and implementation

  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)

@@ -15,36 +15,36 @@
 import org.eclipse.debug.core.model.IBreakpoint;

 

 /**

- * Interface representing a breakpoint category container elements in 

- * Breakpoints view. Clients which provide custom content in the 

+ * Interface representing a breakpoint category container elements in

+ * Breakpoints view. Clients which provide custom content in the

  * Breakpoints view may implement this interface to represent container

  * elements.  This will allow the breakpoints view to properly handle

- * drag-and-drop and copy-paste operations.  

- * 

+ * drag-and-drop and copy-paste operations.

+ *

  * @since 3.6

  */

 public interface IBreakpointContainer {

-    

+

     /**

      * Returns the breakpoint organizer that this container uses.

      */

     public IBreakpointOrganizer getOrganizer();

 

     /**

-     * Returns the breakpoint category that this container is based on. 

+     * Returns the breakpoint category that this container is based on.

      * @return

      */

     public IAdaptable getCategory();

-    

+

     /**

      * Returns whether this breakpoint container contains the given breakpoint.

-     * 

+     *

      * @param breakpoint Breakpoint to check

      * @return Returns <code>true</code> if this container contains the

      * given breakpoint.

      */

     public boolean contains(IBreakpoint breakpoint);

-    

+

     /**

      * Returns the array of breakpoints in this container.

      */

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointOrganizer.java
index e5ff607..e10fa52 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointOrganizer.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

  *******************************************************************************/

@@ -14,47 +14,47 @@
 import org.eclipse.jface.resource.ImageDescriptor;

 

 /**

- * A breakpoint organizer is represents a breakpoint organizer delegate in 

- * the breakpoint view.  Clients can retrieve the current active breakpoint 

- * organizers from the breakpoint view's presentation context using the 

+ * A breakpoint organizer is represents a breakpoint organizer delegate in

+ * the breakpoint view.  Clients can retrieve the current active breakpoint

+ * organizers from the breakpoint view's presentation context using the

  * {@link IBreakpointUIConstants#PROP_BREAKPOINTS_ORGANIZERS} property.

  * <p>

  * This interface is not intended to be implemented. Clients contributing a breakpoint

- * organizer are intended to implement <code>IBreakpointOrganizerDelegate</code>.  

+ * organizer are intended to implement <code>IBreakpointOrganizerDelegate</code>.

  * </p>

  * @noimplement This interface is not intended to be implemented by clients.

  * @since 3.6 (internal interface since 3.1)

- * 

+ *

  * @see IBreakpointUIConstants#PROP_BREAKPOINTS_ORGANIZERS

  * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext

  */

 public interface IBreakpointOrganizer extends IBreakpointOrganizerDelegate {

-    

+

     /**

      * Returns a label for this breakpoint organizer.

-     * 

+     *

      * @return a label for this breakpoint organizer

      */

     public String getLabel();

-    

+

     /**

      * Returns an image descriptor for this breakpoint organizer or <code>null</code>.

-     * 

+     *

      * @return an image descriptor for this breakpoint organizer or <code>null</code>

      */

     public ImageDescriptor getImageDescriptor();

-    

+

     /**

      * Returns a unique identifier for this breakpoint organizer.

-     * 

+     *

      * @return a unique identifier for this breakpoint organizer

      */

     public String getIdentifier();

-    

+

     /**

      * Returns the label for breakpoints that do not fall into a category

      * for this organizer.

-     * 

+     *

      * @return label for breakpoints that do not fall into a category

      * for this organizer

      */

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointUIConstants.java
index e1d077f..2599323 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointUIConstants.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/IBreakpointUIConstants.java
@@ -4,58 +4,58 @@
  * 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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.breakpoints.provisional;
 
 /**
- * Constants to use with Breakpoint view.  
- * 
- * @since 3.6 
+ * Constants to use with Breakpoint view.
+ *
+ * @since 3.6
  */
 public interface IBreakpointUIConstants {
-    /** 
-     * Breakpoints presentation context property used to retrieve the array of 
-     * breakpoint organizers.  The expected property type is 
-     * <code>IBreakpointOrganizer[]</code>.  If property value is <code>null</code>, 
+    /**
+     * Breakpoints presentation context property used to retrieve the array of
+     * breakpoint organizers.  The expected property type is
+     * <code>IBreakpointOrganizer[]</code>.  If property value is <code>null</code>,
      * the breakpoint categories should not be shown.
-     * 
+     *
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext#getProperty(String)
      */
     public static final String PROP_BREAKPOINTS_ORGANIZERS      = "BreakpointOrganizers";   //$NON-NLS-1$
 
-    /** 
-     * Breakpoints presentation context property used to retrieve a flag 
+    /**
+     * Breakpoints presentation context property used to retrieve a flag
      * indicating whether the list of breakpoints should be filtered based
-     * on the active debug context.  The returned property value should 
-     * be of type <code>java.lang.Boolean</code>.  If property value is 
-     * <code>null</code>, then value should be treated the same as 
+     * on the active debug context.  The returned property value should
+     * be of type <code>java.lang.Boolean</code>.  If property value is
+     * <code>null</code>, then value should be treated the same as
      * <code>Boolean.FALSE</code>.
-     * 
+     *
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext#getProperty(String)
      */
     public static final String PROP_BREAKPOINTS_FILTER_SELECTION = "FilterSelection";       //$NON-NLS-1$
 
-    /** 
-     * Breakpoints presentation context property used to retrieve a flag 
-     * indicating whether breakpoints view selection should be updated  
-     * upon a breakpoint event in debug model.  The returned property value 
-     * should be of type <code>java.lang.Boolean</code>.  If property value is 
-     * <code>null</code>, then value should be treated the same as 
+    /**
+     * Breakpoints presentation context property used to retrieve a flag
+     * indicating whether breakpoints view selection should be updated
+     * upon a breakpoint event in debug model.  The returned property value
+     * should be of type <code>java.lang.Boolean</code>.  If property value is
+     * <code>null</code>, then value should be treated the same as
      * <code>Boolean.FALSE</code>.
-     * 
+     *
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext#getProperty(String)
      */
-    public static final String PROP_BREAKPOINTS_TRACK_SELECTION = "TrackSelection";         //$NON-NLS-1$ 
+    public static final String PROP_BREAKPOINTS_TRACK_SELECTION = "TrackSelection";         //$NON-NLS-1$
 
-    /** 
+    /**
      * Breakpoints presentation context property used to retrieve a
-     * comparator for sorting breakpoints.  The returned property value should 
-     * be of type <code>java.util.Comparator</code>.  If property value is 
+     * comparator for sorting breakpoints.  The returned property value should
+     * be of type <code>java.util.Comparator</code>.  If property value is
      * <code>null</code>, the breakpoints should not be sorted.
-     * 
+     *
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext#getProperty(String)
      */
     public static final String PROP_BREAKPOINTS_ELEMENT_COMPARATOR = "ElementComparator";   //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java
index bb19279..58d1d7b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/breakpoints/provisional/OtherBreakpointCategory.java
@@ -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

  *******************************************************************************/

@@ -21,22 +21,22 @@
 import org.eclipse.ui.model.IWorkbenchAdapter;

 

 /**

- * Category for breakpoints in "other" categories.   Clients which provide 

- * custom content in the Breakpoints view may instantiate this object to 

+ * Category for breakpoints in "other" categories.   Clients which provide

+ * custom content in the Breakpoints view may instantiate this object to

  * represent elements in a breakpoint organizer that do not fall into any known

  * category.

- * 

+ *

  * @since 3.6

- * 

+ *

  * @see IBreakpointContainer

  * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate

  */

 public class OtherBreakpointCategory extends PlatformObject implements IWorkbenchAdapter {

-    

+

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

     private IBreakpointOrganizer fOrganizer;

-    

-    

+

+

     public static IAdaptable[] getCategories(IBreakpointOrganizer organizer) {

         IAdaptable[] others = fOthers.get(organizer);

         if (others == null) {

@@ -45,10 +45,10 @@
         }

         return others;

     }

-    

+

     /**

      * Constructs an 'other' category for the given organizer.

-     * 

+     *

      * @param organizer breakpoint organizer

      */

     private OtherBreakpointCategory(IBreakpointOrganizer organizer) {

@@ -86,7 +86,7 @@
 	public Object getParent(Object o) {

         return null;

     }

-    

+

     /* (non-Javadoc)

      * @see java.lang.Object#equals(java.lang.Object)

      */

@@ -98,12 +98,12 @@
         }

         return false;

     }

-    

+

     /* (non-Javadoc)

      * @see java.lang.Object#hashCode()

      */

     @Override

 	public int hashCode() {

         return fOrganizer.hashCode();

-    }    

+    }

 }

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/AbstractRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/AbstractRequestMonitor.java
index ff7ad3b..af506ce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/AbstractRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/AbstractRequestMonitor.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
  *******************************************************************************/
@@ -15,12 +15,12 @@
 
 /**
  * Common function for request monitors
- * 
+ *
  * @since 3.3
  *
  */
 public abstract class AbstractRequestMonitor implements IStatusMonitor {
-	
+
 	private IStatus fStatus;
 	private boolean fCancelled = false;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ActionsUpdater.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ActionsUpdater.java
index fae69e0..52e0ba6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ActionsUpdater.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ActionsUpdater.java
@@ -13,18 +13,18 @@
 
 /**
  * Collects votes from handler update requests.
- * 
+ *
  * @since 3.3
  *
  */
 public class ActionsUpdater {
-	
+
 	private IEnabledTarget[] fActions;
 	private int fNumVoters;
 	private int fNumOfVotes = 0;
 	private boolean fDone = false;
 	private boolean fEnabled = true;
-	
+
 	public ActionsUpdater(IEnabledTarget[] actions, int numVoters) {
 		fActions = actions;
 		fNumVoters = numVoters;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugActionHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugActionHandler.java
index 1a3591e..c414bf5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugActionHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugActionHandler.java
@@ -25,21 +25,21 @@
  * An action handler that delegates to an action in the debug view.
  */
 public abstract class DebugActionHandler implements IHandler2 {
-	
+
 	private String fActionId;
-	
+
 	/**
 	 * Constructs a new handler for the given action identifier.
-	 * 
+	 *
 	 * @param actionId action identifier
 	 */
 	public DebugActionHandler(String actionId) {
 		fActionId = actionId;
 	}
-		
+
 	/**
 	 * Returns the delegate handler or <code>null</code> if none.
-	 * 
+	 *
 	 * @return handler or <code>null</code>
 	 */
 	protected IHandler2 getDelegate() {
@@ -55,7 +55,7 @@
 		}
 		return null;
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandActionDelegate.java
index a66a6b0..9c79694 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandActionDelegate.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
  *******************************************************************************/
@@ -21,20 +21,20 @@
 
 /**
  * Abstract base class for debug action delegates performing debug commands.
- * 
+ *
  * @since 3.3.
  */
 public abstract class DebugCommandActionDelegate implements IWorkbenchWindowActionDelegate, IActionDelegate2 {
 
 	/**
-     *The real action for this delegate 
+     *The real action for this delegate
 	 */
 	private DebugCommandAction fDebugAction;
-    
+
 	protected void setAction(DebugCommandAction action) {
 	    fDebugAction = action;
 	}
-	
+
 	/*
      * (non-Javadoc)
      * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
@@ -52,7 +52,7 @@
 	public void init(IAction action) {
         fDebugAction.setActionProxy(action);
     }
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
@@ -61,7 +61,7 @@
 	public void init(IWorkbenchWindow window) {
         fDebugAction.init(window);
 	}
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
@@ -71,7 +71,7 @@
         fDebugAction.run();
 	}
 
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
index 25c80f9..f2799ff 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DebugCommandService.java
@@ -31,34 +31,34 @@
 
 /**
  * Updates commands for a window. Coalesces update requests by command type.
- * 
+ *
  * @since 3.3
  */
 public class DebugCommandService implements IDebugContextListener {
-	
+
 	/**
 	 * Maps command types to actions to update
 	 */
 	private Map<Class<?>, List<IEnabledTarget>> fCommandUpdates = new HashMap<Class<?>, List<IEnabledTarget>>();
-	
+
 	/**
 	 * Window this service is for.
 	 */
 	private IWorkbenchWindow fWindow = null;
-	
+
 	/**
 	 * The context service for this command service.
 	 */
 	private IDebugContextService fContextService = null;
-	
+
 	/**
 	 * Service per window
 	 */
 	private static Map<IWorkbenchWindow, DebugCommandService> fgServices = new HashMap<IWorkbenchWindow, DebugCommandService>();
-		
+
 	/**
 	 * Returns the service for a window.
-	 * 
+	 *
 	 * @param window the window
 	 * @return service
 	 */
@@ -70,45 +70,45 @@
 		}
 		return service;
 	}
-	
+
 	public DebugCommandService(IWorkbenchWindow window) {
 		fWindow = window;
 		fContextService = DebugUITools.getDebugContextManager().getContextService(window);
 		fContextService.addPostDebugContextListener(this);
 		PlatformUI.getWorkbench().addWindowListener(new IWindowListener() {
-		
+
 			@Override
 			public void windowOpened(IWorkbenchWindow w) {
 			}
-		
+
 			@Override
 			public void windowDeactivated(IWorkbenchWindow w) {
 			}
-		
+
 			@Override
 			public void windowClosed(IWorkbenchWindow w) {
 				if (fWindow == w) {
 					dispose();
 				}
 			}
-		
+
 			@Override
 			public void windowActivated(IWorkbenchWindow w) {
 			}
-		
+
 		});
 	}
-	
+
 	private void dispose() {
 		fContextService.removeDebugContextListener(this);
 		fgServices.remove(fWindow);
 		fCommandUpdates.clear();
 		fWindow = null;
 	}
-	
+
 	/**
 	 * Updates the given command type after the next context change.
-	 * 
+	 *
 	 * @param commandType the command class
 	 * @param action the action to add to the update list
 	 */
@@ -120,13 +120,13 @@
 				actions = new ArrayList<IEnabledTarget>();
 				fCommandUpdates.put(commandType, actions);
 			}
-			actions.add(action);					
+			actions.add(action);
 		}
 	}
-	
+
 	/**
 	 * Updates the given command type based on the active context.
-	 * 
+	 *
 	 * @param commandType the command class
 	 * @param action the action to update
 	 */
@@ -138,8 +138,8 @@
 		} else {
 			action.setEnabled(false);
 		}
-	}	
-	
+	}
+
 	private void postUpdate(ISelection context) {
 		Map<Class<?>, List<IEnabledTarget>> commands = null;
 		synchronized (fCommandUpdates) {
@@ -159,12 +159,12 @@
 				}
 			}
 		}
-		commands.clear();		
+		commands.clear();
 	}
-	
+
 	/**
 	 * Updates the given command type for the specified elements.
-	 * @param handlerType the handle type class 
+	 * @param handlerType the handle type class
 	 * @param elements elements to update for
 	 * @param actions the actions to update
 	 */
@@ -194,10 +194,10 @@
 			actions[i].setEnabled(false);
 		}
 	}
-	
+
 	/**
 	 * Updates the given command type for the specified elements.
-	 * @param handlerType the handler type class 
+	 * @param handlerType the handler type class
 	 * @param elements elements to update for
 	 * @param participant the participant
 	 * @return if the command stays enabled while the command executes
@@ -227,17 +227,17 @@
 		}
 		// ABORT - no command processors
 		return false;
-	}	
+	}
 
 	@Override
 	public void debugContextChanged(DebugContextEvent event) {
 		postUpdate(event.getContext());
-	}	
-	
+	}
+
 	/**
-	 * Returns a map of command handlers to associated elements, or <code>null</code> if 
+	 * Returns a map of command handlers to associated elements, or <code>null</code> if
 	 * one is missing.
-	 * 
+	 *
 	 * @param elements the elements
 	 * @param handlerType the handler type class
 	 * @return map of command handlers to associated elements or <code>null</code>
@@ -260,7 +260,7 @@
 	 		}
 		return map;
 	}
-	
+
 	private IDebugCommandHandler getHandler(Object element, Class<?> handlerType) {
 		return (IDebugCommandHandler)DebugPlugin.getAdapter(element, handlerType);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandAction.java
index a0495f1..dcf08f1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandAction.java
@@ -19,7 +19,7 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 /**
  * Disconnect action.
- * 
+ *
  * @since 3.3
  */
 public class DisconnectCommandAction extends DebugCommandAction{
@@ -27,7 +27,7 @@
     public DisconnectCommandAction() {
         setActionDefinitionId("org.eclipse.debug.ui.commands.Disconnect"); //$NON-NLS-1$
     }
-    
+
     @Override
 	public String getText() {
         return ActionMessages.DisconnectAction_0;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandActionDelegate.java
index 611e5d4..3d370fb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandActionDelegate.java
@@ -12,11 +12,11 @@
 
 /**
  * Disconnect action delegate.
- * 
+ *
  * @since 3.7
  */
 public class DisconnectCommandActionDelegate extends DebugCommandActionDelegate {
-	
+
 	public DisconnectCommandActionDelegate() {
 		super();
 		setAction(new DisconnectCommandAction());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandHandler.java
index a30302b..648cf51 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DisconnectCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class DisconnectCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<IDisconnectHandler> getCommandType() {
         return IDisconnectHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandAction.java
index 5813777..c78e402 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandAction.java
@@ -19,7 +19,7 @@
 
 /**
  * Drop to frame action.
- * 
+ *
  * @since 3.3
  */
 public class DropToFrameCommandAction extends DebugCommandAction {
@@ -27,7 +27,7 @@
     public DropToFrameCommandAction() {
         setActionDefinitionId("org.eclipse.debug.ui.commands.DropToFrame"); //$NON-NLS-1$
     }
-    
+
     @Override
 	public String getText() {
         return ActionMessages.DropToFrameAction_0;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandActionDelegate.java
index f5b2f0b..aa6a051 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandActionDelegate.java
@@ -12,7 +12,7 @@
 
 /**
  * Drop to Frame action delegate.
- * 
+ *
  * @since 3.7
  */
 public class DropToFrameCommandActionDelegate extends DebugCommandActionDelegate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandHandler.java
index c5c7bbb..cf06a7f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/DropToFrameCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class DropToFrameCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<IDropToFrameHandler> getCommandType() {
         return IDropToFrameHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ExecuteActionRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ExecuteActionRequest.java
index 4c37a86..851b2d4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ExecuteActionRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ExecuteActionRequest.java
@@ -18,14 +18,14 @@
 
 /**
  * Plain status collector for actions. Has no result.
- * 
+ *
  * @since 3.3
- * 
+ *
  */
 public class ExecuteActionRequest extends DebugCommandRequest {
-	
+
 	private ICommandParticipant fParticipant = null;
-	
+
 	public ExecuteActionRequest(Object[] elements) {
 		super(elements);
 	}
@@ -68,7 +68,7 @@
             }
         }
     }
-    
+
 	public void setCommandParticipant(ICommandParticipant participant) {
 		fParticipant = participant;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ICommandParticipant.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ICommandParticipant.java
index 635396d..0d33b07 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ICommandParticipant.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ICommandParticipant.java
@@ -18,6 +18,6 @@
  * @since 3.3.
  */
 public interface ICommandParticipant {
-	
+
 	public void requestDone(IRequest request);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/IEnabledTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/IEnabledTarget.java
index cb66423..37533e5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/IEnabledTarget.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/IEnabledTarget.java
@@ -4,14 +4,14 @@
  * 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:

  *     Wind River Systems - initial API and implementation

  *******************************************************************************/

 package org.eclipse.debug.internal.ui.commands.actions;

 

 /**

- * 

+ *

  */

 public interface IEnabledTarget {

     public void setEnabled(boolean enabled);

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandAction.java
index cc34a4d..e0c5541 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandAction.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -20,7 +20,7 @@
 
 /**
  * Handler for the Restart action
- * 
+ *
  * @since 3.6
  */
 public class RestartCommandAction extends DebugCommandAction {
@@ -28,7 +28,7 @@
     public RestartCommandAction() {
         setActionDefinitionId("org.eclipse.debug.ui.commands.Restart"); //$NON-NLS-1$
     }
-    
+
     @Override
 	protected Class<IRestartHandler> getCommandType() {
         return IRestartHandler.class;
@@ -69,5 +69,5 @@
         return ActionMessages.RestartCommandAction_tooltip;
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandActionDelegate.java
index 1502c4c..e34244e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandActionDelegate.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -21,13 +21,13 @@
 
 /**
  * Restart action delegate.
- * 
+ *
  * @since 3.6
  */
 public class RestartCommandActionDelegate implements IWorkbenchWindowActionDelegate, IActionDelegate2 {
 
     private DebugCommandAction fDebugAction = new RestartCommandAction();
-    
+
     @Override
 	public void dispose() {
         fDebugAction.dispose();
@@ -51,7 +51,7 @@
     @Override
 	public void init(IAction action) {
         fDebugAction.setActionProxy(action);
-        
+
     }
 
     @Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandHandler.java
index 53b9fd0..9645897 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/RestartCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -15,8 +15,8 @@
 import org.eclipse.debug.ui.actions.DebugCommandHandler;
 
 /**
- * Command candler for the restart command (to enable key-binding activation). 
- * 
+ * Command candler for the restart command (to enable key-binding activation).
+ *
  * @since 3.6
  */
 public class RestartCommandHandler extends DebugCommandHandler {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandAction.java
index d0a138e..a97aef8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandAction.java
@@ -19,11 +19,11 @@
 
 /**
  * Resume action.
- * 
+ *
  * @since 3.3
  */
 public class ResumeCommandAction extends DebugCommandAction{
-	
+
 	public ResumeCommandAction() {
 		setActionDefinitionId("org.eclipse.debug.ui.commands.Resume"); //$NON-NLS-1$
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandActionDelegate.java
index 564d8a8..1224c71 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandActionDelegate.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
  *******************************************************************************/
@@ -21,13 +21,13 @@
 
 /**
  * Resume action delegate.
- * 
+ *
  * @since 3.3
  */
 public class ResumeCommandActionDelegate implements IWorkbenchWindowActionDelegate, IActionDelegate2 {
 
     private DebugCommandAction fDebugAction = new ResumeCommandAction();
-    
+
     @Override
 	public void dispose() {
         fDebugAction.dispose();
@@ -51,7 +51,7 @@
     @Override
 	public void init(IAction action) {
         fDebugAction.setActionProxy(action);
-        
+
     }
 
     @Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandHandler.java
index 22e23af..f629595 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ResumeCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class ResumeCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<IResumeHandler> getCommandType() {
         return IResumeHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandAction.java
index f3517ea..98efa60 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandAction.java
@@ -19,11 +19,11 @@
 
 /**
  * Step into action
- * 
+ *
  * @since 3.3
  */
 public class StepIntoCommandAction extends DebugCommandAction {
-	
+
 	public StepIntoCommandAction() {
 		setActionDefinitionId("org.eclipse.debug.ui.commands.StepInto"); //$NON-NLS-1$
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandActionDelegate.java
index 0364de6..e25980b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandActionDelegate.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Step into action delegate.
- * 
+ *
  * @since 3.3
  */
 public class StepIntoCommandActionDelegate extends DebugCommandActionDelegate {
@@ -23,5 +23,5 @@
         setAction(new StepIntoCommandAction());
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandHandler.java
index f16b860..f14b827 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepIntoCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class StepIntoCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<IStepIntoHandler> getCommandType() {
         return IStepIntoHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandAction.java
index 21e7cda..a0773e5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandAction.java
@@ -20,15 +20,15 @@
 
 /**
  * Step over action.
- * 
+ *
  * @since 3.3
  */
 public class StepOverCommandAction extends DebugCommandAction {
-	
+
 	public StepOverCommandAction() {
 		setActionDefinitionId("org.eclipse.debug.ui.commands.StepOver"); //$NON-NLS-1$
 	}
- 
+
     @Override
 	public String getText() {
         return ActionMessages.StepOverAction_0;
@@ -63,7 +63,7 @@
 	public String getToolTipText() {
         return ActionMessages.StepOverAction_3;
     }
- 
+
 	@Override
 	protected Class<IStepOverHandler> getCommandType() {
 		return IStepOverHandler.class;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandActionDelegate.java
index 65bfe17..8612cd7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandActionDelegate.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
  *******************************************************************************/
@@ -15,7 +15,7 @@
 
 /**
  * Step over action delegate.
- * 
+ *
  * @since 3.3
  */
 public class StepOverCommandActionDelegate extends DebugCommandActionDelegate {
@@ -29,6 +29,6 @@
 	public void init(IAction action) {
         super.init(action);
     }
-    
-    
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandHandler.java
index c0b43f3..0683f30 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepOverCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -16,7 +16,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class StepOverCommandHandler extends DebugCommandHandler {
@@ -25,5 +25,5 @@
 	protected Class<IStepOverHandler> getCommandType() {
         return IStepOverHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandAction.java
index 6d94acc..ad68945 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandAction.java
@@ -19,16 +19,16 @@
 
 /**
  * Step return action.
- * 
+ *
  * @since 3.3
  */
 public class StepReturnCommandAction extends DebugCommandAction {
-    
-	
+
+
 	public StepReturnCommandAction() {
-		setActionDefinitionId("org.eclipse.debug.ui.commands.StepReturn"); //$NON-NLS-1$	
+		setActionDefinitionId("org.eclipse.debug.ui.commands.StepReturn"); //$NON-NLS-1$
 	}
-	
+
     @Override
 	public ImageDescriptor getDisabledImageDescriptor() {
         return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_STEP_RETURN);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandActionDelegate.java
index 2f78cce..9f5debf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandActionDelegate.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Step return action delegate.
- * 
+ *
  * @since 3.3
  */
 public class StepReturnCommandActionDelegate extends DebugCommandActionDelegate {
@@ -23,5 +23,5 @@
         setAction(new StepReturnCommandAction());
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandHandler.java
index dc329b5..2485dba 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/StepReturnCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class StepReturnCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<IStepReturnHandler> getCommandType() {
         return IStepReturnHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandAction.java
index ce16e0a..9afd46d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandAction.java
@@ -19,7 +19,7 @@
 
 /**
  * Suspend action.
- * 
+ *
  * @since 3.3
  */
 public class SuspendCommandAction extends DebugCommandAction {
@@ -27,7 +27,7 @@
     public SuspendCommandAction() {
         setActionDefinitionId("org.eclipse.debug.ui.commands.Suspend"); //$NON-NLS-1$
     }
-    
+
     @Override
 	public String getText() {
         return ActionMessages.SuspendAction_0;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandActionDelegate.java
index 9747cdc..156eadb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandActionDelegate.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Suspend action delegate.
- * 
+ *
  * @since 3.3
  */
 public class SuspendCommandActionDelegate extends DebugCommandActionDelegate {
@@ -23,5 +23,5 @@
         setAction(new SuspendCommandAction());
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandHandler.java
index 78a5233..2e77cbe 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/SuspendCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class SuspendCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<ISuspendHandler> getCommandType() {
         return ISuspendHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllAction.java
index 7352f75..10bcde1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllAction.java
@@ -27,16 +27,16 @@
 
 /**
  * Terminates all launches.
- * 
+ *
  * @since 3.3
  */
 public class TerminateAllAction extends DebugCommandAction implements ILaunchesListener2 {
-		
+
 	@Override
 	protected ISelection getContext() {
 		return new StructuredSelection(getLaunchManager().getLaunches());
 	}
-	
+
 	@Override
 	public void dispose() {
 		getLaunchManager().removeLaunchListener(this);
@@ -137,7 +137,7 @@
 
 	/**
 	 * Initializes this action for the given workbench window.
-	 * 
+	 *
 	 * @param window the workbench window that this action is for
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllActionDelegate.java
index 963209d..3bdb307 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAllActionDelegate.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java
index e67c726..b0d0713 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchAction.java
@@ -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 implementation
  *******************************************************************************/
@@ -35,7 +35,7 @@
  * Action which terminates a launch and then re-launches it.
  */
 public class TerminateAndRelaunchAction extends DebugCommandAction {
-	
+
     @Override
 	public void postExecute(IRequest request, final Object[] targets) {
         if (request.getStatus() == null || request.getStatus().isOK()) {
@@ -51,7 +51,7 @@
                         }
                     }
                 }
-            }); 
+            });
         }
     }
 
@@ -72,7 +72,7 @@
         }
         return super.getContext();
     }
-    
+
 
 	@Override
 	protected Class<ITerminateHandler> getCommandType() {
@@ -89,7 +89,7 @@
 					setEnabled(false);
 					return;
 				}
-			} 
+			}
 		}
 		super.debugContextChanged(event);
 	}
@@ -102,7 +102,7 @@
     			return LaunchConfigurationManager.isVisible(configuration);
     		}
     	}
-		return false; 
+		return false;
     }
 
     @Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchHandler.java
index 533d8b1..0507e7f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRelaunchHandler.java
@@ -21,6 +21,6 @@
 	public TerminateAndRelaunchHandler() {
 		super(LaunchView.TERMINATE_AND_RELAUNCH);
 	}
-	
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRemoveAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRemoveAction.java
index 6159f51..e06fb7b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRemoveAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateAndRemoveAction.java
@@ -34,17 +34,17 @@
 
 /**
  * Terminate and remove action.
- * 
+ *
  * @since 3.3
  */
 public class TerminateAndRemoveAction extends DebugCommandAction {
-	
+
 	/**
 	 * Whether the target can be terminated. The action is always enabled,
 	 * but does not always need to terminate the target first.
 	 */
 	private boolean fCanTerminate = false;
-	
+
 	/**
 	 * Local copy of part, possibly null
 	 */
@@ -101,11 +101,11 @@
                     isAllTerminated = false;
                     break;
                 }
-            } 
+            }
         }
-        // IF all elements are terminated, we don't need to query the terminate handler, just 
+        // IF all elements are terminated, we don't need to query the terminate handler, just
         // enable the action, which whill just remove the terminated launches (bug 324959).
-        fCanTerminate = !isAllTerminated; 
+        fCanTerminate = !isAllTerminated;
         if (isAllTerminated) {
             setEnabled(true);
         } else {
@@ -118,10 +118,10 @@
         if (launch != null) {
             return launch.isTerminated();
         }
-        return false; 
+        return false;
     }
 
-    
+
     @Override
 	protected void postExecute(IRequest request, Object[] targets) {
         IStatus status = request.getStatus();
@@ -130,11 +130,11 @@
                 ILaunch launch = DebugUIPlugin.getLaunch(targets[i]);
                 if (launch != null) {
 					DebugPlugin.getDefault().getLaunchManager().removeLaunch(launch);
-				}                   
+				}
             }
         }
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.actions.DebugCommandAction#runWithEvent(org.eclipse.swt.widgets.Event)
      */
@@ -143,7 +143,7 @@
     	if (fCanTerminate) {
 			IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 	    	if (window != null) {
-		    	if (!MessageDialog.openQuestion(window.getShell(), DebugUIViewsMessages.LaunchView_Terminate_and_Remove_1, DebugUIViewsMessages.LaunchView_Terminate_and_remove_selected__2)) {  
+		    	if (!MessageDialog.openQuestion(window.getShell(), DebugUIViewsMessages.LaunchView_Terminate_and_Remove_1, DebugUIViewsMessages.LaunchView_Terminate_and_remove_selected__2)) {
 					return;
 				}
 	    	}
@@ -163,7 +163,7 @@
             }
     	}
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.actions.DebugCommandAction#init(org.eclipse.ui.IWorkbenchPart)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandAction.java
index 7822e95..7ee8513 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandAction.java
@@ -19,11 +19,11 @@
 
 /**
  * Terminate action.
- * 
+ *
  * @since 3.3
  */
 public class TerminateCommandAction extends DebugCommandAction {
-	
+
 	public TerminateCommandAction() {
 		setActionDefinitionId("org.eclipse.debug.ui.commands.Terminate"); //$NON-NLS-1$
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandActionDelegate.java
index a401b22..27c8ddf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandActionDelegate.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
  *******************************************************************************/
@@ -13,7 +13,7 @@
 
 /**
  * Terminate action delegate.
- * 
+ *
  * @since 3.3
  */
 public class TerminateCommandActionDelegate extends DebugCommandActionDelegate {
@@ -23,5 +23,5 @@
         setAction(new TerminateCommandAction());
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandHandler.java
index 26ba2c9..73d64f9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/TerminateCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class TerminateCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<ITerminateHandler> getCommandType() {
         return ITerminateHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersAction.java
index 048a0a6..b82bfd8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersAction.java
@@ -33,9 +33,9 @@
  * This class provides the action for toggling step filters on or off for the debug view
  */
 public class ToggleStepFiltersAction extends DebugCommandAction implements IPreferenceChangeListener {
-	
+
 	private boolean fInitialized = !DebugUITools.isUseStepFilters();
-	
+
 	/**
 	 * @see org.eclipse.debug.internal.ui.commands.actions.DebugCommandAction#getDisabledImageDescriptor()
 	 */
@@ -88,7 +88,7 @@
 	 * @see org.eclipse.debug.internal.ui.commands.actions.DebugCommandAction#getToolTipText()
 	 */
 	@Override
-	public String getToolTipText() {		
+	public String getToolTipText() {
 		return ActionMessages.ToggleStepFiltersAction_0;
 	}
 
@@ -122,7 +122,7 @@
     		fInitialized = true;
     	}
     }
-	
+
     /**
      * @see org.eclipse.jface.action.Action#getStyle()
      */
@@ -161,9 +161,9 @@
 		super.init(window);
 		initState();
 	}
-    
+
     /**
-     * Initializes the state, by adding this action as a property listener 
+     * Initializes the state, by adding this action as a property listener
      */
     protected void initState() {
 		IEclipsePreferences node = InstanceScope.INSTANCE.getNode(DebugPlugin.getUniqueIdentifier());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandActionDelegate.java
index a654648..9f6f427 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandActionDelegate.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
  *******************************************************************************/
@@ -16,12 +16,12 @@
 
 /**
  * Toggle step filters action delegate.
- * 
+ *
  * @since 3.3
  */
 public class ToggleStepFiltersCommandActionDelegate extends DebugCommandActionDelegate {
 
-    /** 
+    /**
      * Constructor
      */
     public ToggleStepFiltersCommandActionDelegate() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandHandler.java
index e114823..3608b63 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/ToggleStepFiltersCommandHandler.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,7 +17,7 @@
 /**
  * Default handler for command.  It ensures that the keyboard accelerator works even
  * if the menu action set is not enabled.
- * 
+ *
  * @since 3.8
  */
 public class ToggleStepFiltersCommandHandler extends DebugCommandHandler {
@@ -26,5 +26,5 @@
 	protected Class<IStepFiltersHandler> getCommandType() {
         return IStepFiltersHandler.class;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateActionsRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateActionsRequest.java
index 3024993..16cc335 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateActionsRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateActionsRequest.java
@@ -16,15 +16,15 @@
 /**
  * Boolean collector that collects boolean results from a number of voters.
  * Request is cancelled when one voter votes false.
- * 
+ *
  * @since 3.3
  *
  */
 public class UpdateActionsRequest extends DebugCommandRequest implements IEnabledStateRequest {
-	
+
 	private IEnabledTarget[] fActions;
 	private boolean fEnabled = false;
-	
+
 	public UpdateActionsRequest(Object[] elements, IEnabledTarget[] actions) {
 		super(elements);
 		fActions = actions;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateHandlerRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateHandlerRequest.java
index 9e8d3e6..e969b2d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateHandlerRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/commands/actions/UpdateHandlerRequest.java
@@ -17,15 +17,15 @@
  * Collects whether a handler is enabled for a set of elements and
  * reports its vote to an action updater collecting results from
  * other handlers.
- * 
+ *
  * @since 3.3
  *
  */
 public class UpdateHandlerRequest extends DebugCommandRequest implements IEnabledStateRequest {
-	
+
 	private boolean fEnabled = false;
 	private ActionsUpdater fUpdater;
-	
+
 	public UpdateHandlerRequest(Object[] elements, ActionsUpdater updater) {
 		super(elements);
 		fUpdater = updater;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextMessages.java
index 5bd265a..09d19bd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextMessages.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextRunner.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextRunner.java
index 7fded39..6ae0bae 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextRunner.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/ContextRunner.java
@@ -39,22 +39,22 @@
 import com.ibm.icu.text.MessageFormat;
 
 /**
- * Static runner for context launching to provide the base capability of context 
+ * Static runner for context launching to provide the base capability of context
  * launching to more than one form of action (drop down, toolbar, view, etc)
- * 
+ *
  * @see org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction
  * @see org.eclipse.debug.ui.actions.LaunchShortcutsAction
  * @see org.eclipse.debug.ui.actions.ContextualLaunchAction
- * 
+ *
  *  @since 3.3
  */
 public final class ContextRunner {
-	
+
 	/**
 	 * The singleton instance of the context runner
 	 */
 	private static ContextRunner fgInstance = null;
-	
+
 	/**
 	 * Returns the singleton instance of <code>ContextRunner</code>
 	 * @return the singleton instance of <code>ContextRunner</code>
@@ -65,17 +65,17 @@
 		}
 		return fgInstance;
 	}
-	
+
 	/**
 	 * The one instance of <code>LaunchingResourceManager</code> we need
 	 * @since 3.4
 	 */
 	private LaunchingResourceManager fLRM = DebugUIPlugin.getDefault().getLaunchingResourceManager();
-	
+
 	/**
 	 * Performs the context launching given the object context and the mode to
 	 * launch in.
-	 * 
+	 *
 	 * @param group the launch group to launch using
 	 * @deprecated use launch(ILaunchGroup, boolean)
 	 */
@@ -83,11 +83,11 @@
 	public void launch(ILaunchGroup group) {
 		launch(group, false);
 	}
-	
+
 	/**
 	 * Performs the context launching given the object context and the mode to
 	 * launch in.
-	 * 
+	 *
 	 * @param group the launch group to launch using
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
 	 *            Shift)
@@ -97,10 +97,10 @@
 		IResource resource = SelectedResourceManager.getDefault().getSelectedResource();
 		selectAndLaunch(resource, group, selection, isShift);
 	}
-	
+
 	/**
 	 * This method launches the last configuration that was launched, if any.
-	 * 
+	 *
 	 * @param group the launch group to launch with
 	 * @return true if there was a last launch and it was launched, false
 	 *         otherwise
@@ -113,7 +113,7 @@
 
 	/**
 	 * This method launches the last configuration that was launched, if any.
-	 * 
+	 *
 	 * @param group the launch group to launch with
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
 	 *            Shift)
@@ -131,11 +131,11 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Prompts the user to select a way of launching the current resource, where
 	 * a 'way' is defined as a launch shortcut.
-	 * 
+	 *
 	 * @param resource the resource context
 	 * @param group the launch group to launch with
 	 * @param selection the current selection
@@ -150,7 +150,7 @@
 	/**
 	 * Prompts the user to select a way of launching the current resource, where
 	 * a 'way' is defined as a launch shortcut.
-	 * 
+	 *
 	 * @param resource the resource context
 	 * @param group the launch group to launch with
 	 * @param selection the current selection
@@ -158,7 +158,7 @@
 	 *            Shift)
 	 */
 	protected void selectAndLaunch(IResource resource, ILaunchGroup group, IStructuredSelection selection, boolean isShift) {
-		if(group != null) {			
+		if(group != null) {
 			LaunchConfigurationManager lcm = DebugUIPlugin.getDefault().getLaunchConfigurationManager();
 			String mode = group.getMode();
 			List<LaunchShortcutExtension> shortcuts = fLRM.getShortcutsForSelection(selection, mode);
@@ -174,7 +174,7 @@
 				launch(config, mode, isShift);
 				return;
 			}
-		//get the configurations from the resource and participants	
+		//get the configurations from the resource and participants
 			List<ILaunchConfiguration> configs = fLRM.getParticipatingLaunchConfigurations(selection, resource, shortcuts, mode);
 			int csize = configs.size();
 			if(csize == 1) {
@@ -225,10 +225,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Validates the given launch mode and launches.
-	 * 
+	 *
 	 * @param configuration configuration to launch
 	 * @param mode launch mode identifier
 	 * @param isShift is Shift pressed
@@ -238,17 +238,17 @@
 			DebugUITools.launch(configuration, mode, isShift);
 		}
 	}
-	
+
 	/**
 	 * Delegate method that calls the appropriate launch method on a
 	 * <code>LaunchShortcutExtension</code> given the current resource and
 	 * selection context
-	 * 
+	 *
 	 * @param selection the current selection
 	 * @param shortcut the shortcut that wants to launch
 	 * @param mode the mode to launch in
 	 * @param isShift is Shift pressed
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	private void launchShortcut(IStructuredSelection selection, LaunchShortcutExtension shortcut, String mode, boolean isShift) {
@@ -266,11 +266,11 @@
 			DebugUITools.removeLaunchToggleTerminate(selection);
 		}
 	}
-	
+
 	/**
 	 * Validates the given launch mode is supported, and returns whether to continue with
 	 * the launch.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @param mode launch mode
 	 * @return whether the mode is supported
@@ -300,11 +300,11 @@
 		}
 		return true;
 	}
-	
+
 	/**
 	 * Presents the user with a dialog to pick the launch configuration to
 	 * launch and launches that configuration.
-	 * 
+	 *
 	 * @param configurations the listing of applicable configurations to present
 	 * @param mode the mode
 	 * @deprecated use
@@ -319,7 +319,7 @@
 	/**
 	 * Presents the user with a dialog to pick the launch configuration to
 	 * launch and launches that configuration.
-	 * 
+	 *
 	 * @param configurations the listing of applicable configurations to present
 	 * @param mode the mode
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
@@ -332,11 +332,11 @@
 			launch(config, mode, isShift);
 		}
 	}
-	
+
 	/**
 	 * Presents a selection dialog to the user to pick a launch shortcut and
 	 * launch using that shortcut.
-	 * 
+	 *
 	 * @param resource the resource context
 	 * @param shortcuts the list of applicable shortcuts
 	 * @param mode the mode
@@ -353,7 +353,7 @@
 	/**
 	 * Presents a selection dialog to the user to pick a launch shortcut and
 	 * launch using that shortcut.
-	 * 
+	 *
 	 * @param resource the resource context
 	 * @param shortcuts the list of applicable shortcuts
 	 * @param mode the mode
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java
index 07b4687..b569243 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contextlaunching/LaunchingResourceManager.java
@@ -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
  *******************************************************************************/
@@ -68,67 +68,67 @@
 import com.ibm.icu.text.MessageFormat;
 
 /**
- * This manager is used to calculate the labels for the current resource or for the current 
+ * This manager is used to calculate the labels for the current resource or for the current
  * state of the launch history, depending on the enabled status of contextual launching. More specifically
- * if contextual launching is enabled the calculated labels are for the current resource, otherwise 
+ * if contextual launching is enabled the calculated labels are for the current resource, otherwise
  * the calculated labels are for the current state of the launch history.
- * 
+ *
  * Any actions interested in being notified of launch label updates need to register with this manager, and implement
  * the <code>ILaunchLabelChangedListener</code> interface.
- * 
+ *
  * @see ILaunchLabelChangedListener
  * @see org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction
- * 
+ *
  * @since 3.3
  */
 @SuppressWarnings("restriction")
 public class LaunchingResourceManager implements IPropertyChangeListener, IWindowListener, ISelectionListener, ILaunchHistoryChangedListener, ILaunchesListener2 {
-	
+
 	/**
 	 *The set of label update listeners
 	 */
 	private ListenerList<ILaunchLabelChangedListener> fLabelListeners = new ListenerList<>();
-	
+
 	/**
 	 * The map of ToolBars that have mouse tracker listeners associated with them:
 	 * stored as Map<IWorkbenchWindow, ToolBar>
 	 */
 	private HashMap<IWorkbenchWindow, ToolBar> fToolbars = new HashMap<IWorkbenchWindow, ToolBar>();
-	
+
 	/**
 	 * the map of current labels
 	 */
 	private HashMap<ILaunchGroup, String> fCurrentLabels = new HashMap<ILaunchGroup, String>();
-	
+
 	/**
 	 * The selection has changed and we need to update the labels
 	 */
 	private boolean fUpdateLabel = true;
-	
+
 	/**
 	 * Set of windows that have been opened and that we have registered selection listeners with
 	 */
 	private HashSet<IWorkbenchWindow> fWindows = new HashSet<IWorkbenchWindow>();
-	
+
 	/**
-	 * Cache of IResource -> ILaunchConfiguration[] used during a tooltip update job. 
+	 * Cache of IResource -> ILaunchConfiguration[] used during a tooltip update job.
 	 * The cache is cleared after each tooltip update job is complete.
 	 */
 	private HashMap<IResource, ILaunchConfiguration[]> fConfigCache = new HashMap<IResource, ILaunchConfiguration[]>();
-	
+
 	/**
 	 * Cache of IResource -> LaunchShortcutExtension used during a tooltip update job.
 	 * The cache is cleared after each tooltip update job is complete.
 	 */
 	private HashMap<IResource, List<LaunchShortcutExtension>> fExtCache = new HashMap<IResource, List<LaunchShortcutExtension>>();
-	
+
 	/**
 	 * Constant denoting the empty string;
 	 */
 	private static final String EMPTY_STRING = IInternalDebugCoreConstants.EMPTY_STRING;
-	
+
 	/**
-	 * Provides a mouse tracker listener for the launching main toolbar 
+	 * Provides a mouse tracker listener for the launching main toolbar
 	 */
 	private MouseTrackAdapter fMouseListener = new MouseTrackAdapter() {
 		@Override
@@ -150,7 +150,7 @@
 			}
 		}
 	};
-	
+
 	/**
 	 * Returns if context launching is enabled
 	 * @return if context launching is enabled
@@ -158,7 +158,7 @@
 	public static boolean isContextLaunchEnabled() {
 		return DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_USE_CONTEXTUAL_LAUNCH);
 	}
-	
+
 	/**
 	 * Returns if context launching is enabled or not. Context launching is enabled iff:
 	 * <ul>
@@ -171,7 +171,7 @@
 	public static boolean isContextLaunchEnabled(String launchgroupid) {
 		return isContextLaunchEnabled() && !"org.eclipse.ui.externaltools.launchGroup".equals(launchgroupid); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Allows an <code>AbstractLaunchHistoryAction</code> to register with this manager to be notified
 	 * of a context (<code>IResource</code>) change and have its updateToolTip(..) method called back to.
@@ -182,9 +182,9 @@
 	public void addLaunchLabelUpdateListener(ILaunchLabelChangedListener listener) {
 		fLabelListeners.add(listener);
 	}
-	
+
 	/**
-	 * Removes the specified <code>AbstractLaunchHistoryAction</code> from the listing of registered 
+	 * Removes the specified <code>AbstractLaunchHistoryAction</code> from the listing of registered
 	 * listeners
 	 * <br><br>
 	 * Obeys the contract of listener removal as outlined in {@link ListenerList#remove(Object)}
@@ -193,17 +193,17 @@
 	public void removeLaunchLabelChangedListener(ILaunchLabelChangedListener listener) {
 		fLabelListeners.remove(listener);
 	}
-	
+
 	/**
 	 * Returns the current resource label to be displayed.
-	 * 
+	 *
 	 * @param group the launch group to get the label for
 	 * @return the current resource label;
 	 */
 	public String getLaunchLabel(ILaunchGroup group) {
 		return fCurrentLabels.get(group);
 	}
-	
+
 	/**
 	 * Returns if the parent project should be checked automatically
 	 * @return true if the parent project should checked automatically, false otherwise
@@ -211,7 +211,7 @@
 	protected boolean shouldCheckParent() {
 		return DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_LAUNCH_PARENT_PROJECT);
 	}
-	
+
 	/**
 	 * Returns if the the last launch configuration should be launched if the selected resource is not launchable and context launching is enabled
 	 * @return true if the last launched should be launched, false otherwise
@@ -219,9 +219,9 @@
 	protected boolean shouldLaunchLast() {
 		return DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_LAUNCH_LAST_IF_NOT_LAUNCHABLE);
 	}
-	
+
 	/**
-	 * Computes the current listing of labels for the given <code>IResource</code> context change or the 
+	 * Computes the current listing of labels for the given <code>IResource</code> context change or the
 	 * current launch history changed event
 	 */
 	protected void computeLabels() {
@@ -255,7 +255,7 @@
 		}
 		notifyLabelChanged();
 	}
-	
+
 	/**
 	 * Notifies all registered listeners that the known labels have changed
 	 */
@@ -264,7 +264,7 @@
 			iLaunchLabelChangedListener.labelChanged();
 		}
 	}
-	
+
 	/**
 	 * Appends the text '(already running)' to the tooltip label if there is a launch currently
 	 * running (not terminated) with the same backing launch configuration as the one specified
@@ -289,7 +289,7 @@
 		}
 		return config.getName();
 	}
-	
+
 	/**
 	 * Returns the label for the last launched configuration or and empty string if there was no last launch.
 	 * @param group the {@link ILaunchGroup} to get the label for
@@ -303,10 +303,10 @@
 		}
 		return EMPTY_STRING;
 	}
-	
+
 	/**
 	 * Returns the label for the specified resource or the empty string, never <code>null</code>
-	 * 
+	 *
 	 * @param selection the current {@link IStructuredSelection}
 	 * @param resource the backing {@link IResource} for the selection
 	 * @param shortcuts the list of {@link ILaunchShortcut}s to consider
@@ -368,14 +368,14 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Prunes the original listing of shortcuts
 	 * @param shortcuts the original listing of <code>LaunchShortcutExtension</code>s
 	 * @param resource the derived resource
 	 * @param mode the mode we are wanting to launch in
 	 * @return the list of {@link ILaunchShortcut}s to consider
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	protected List<LaunchShortcutExtension> pruneShortcuts(List<LaunchShortcutExtension> shortcuts, IResource resource, String mode) {
@@ -394,14 +394,14 @@
 		}
 		return list;
 	}
-	
+
 	/**
 	 * Computes the current resources context, given all of the launch shortcut participants
 	 * and the current selection
 	 * @param shortcuts the list of {@link ILaunchShortcut} to ask for mapped resources
 	 * @param selection the current workbench {@link IStructuredSelection}
 	 * @return The set of resources who care about this launch
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public IResource getLaunchableResource(List<LaunchShortcutExtension> shortcuts, IStructuredSelection selection) {
@@ -427,13 +427,13 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the launch shortcuts that apply to the current <code>IStructuredSelection</code>
 	 * @param selection the current selection
 	 * @param mode the mode
 	 * @return the list of shortcuts that apply to the given selection and mode or an empty listing, never <code>null</code>
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public List<LaunchShortcutExtension> getShortcutsForSelection(IStructuredSelection selection, String mode) {
@@ -441,7 +441,7 @@
 		List<LaunchShortcutExtension> sc = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchShortcuts();
 		List<IEditorInput> ctxt = new ArrayList<IEditorInput>();
 		// work around to bug in Structured Selection that returns actual underlying array in selection
-		// @see bug 211646 
+		// @see bug 211646
 		ctxt.addAll(selection.toList());
 		Object o = selection.getFirstElement();
 		if(o instanceof IEditorPart) {
@@ -451,7 +451,7 @@
 		context.addVariable("selection", ctxt); //$NON-NLS-1$
 		for (LaunchShortcutExtension ext : sc) {
 			try {
-				if(ext.evalEnablementExpression(context, ext.getContextualLaunchEnablementExpression()) && 
+				if(ext.evalEnablementExpression(context, ext.getContextualLaunchEnablementExpression()) &&
 						ext.getModes().contains(mode) && !WorkbenchActivityHelper.filterItem(ext)) {
 					if(!list.contains(ext)) {
 						list.add(ext);
@@ -462,16 +462,16 @@
 		}
 		return list;
 	}
-	
+
 	/**
-	 * Returns a listing of all launch configurations that want to participate in the contextual 
+	 * Returns a listing of all launch configurations that want to participate in the contextual
 	 * launch of the specified resource or specified selection
 	 * @param resource the underlying resource
 	 * @param selection the current selection in the workbench
 	 * @param shortcuts the listing of shortcut extensions that apply to the current context
 	 * @param mode the mode
 	 * @return a listing of all launch configurations wanting to participate in the current launching
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public List<ILaunchConfiguration> getParticipatingLaunchConfigurations(IStructuredSelection selection, IResource resource, List<LaunchShortcutExtension> shortcuts, String mode) {
@@ -494,15 +494,15 @@
 					addAllToList(configs, DebugUIPlugin.getDefault().getLaunchConfigurationManager().getApplicableLaunchConfigurations(types.toArray(new String[types.size()]), resource));
 					voteDefault++;
 				} else {
-					if(cfgs.length > 0) { 
-						for(int j = 0; j < cfgs.length; j++) { 
+					if(cfgs.length > 0) {
+						for(int j = 0; j < cfgs.length; j++) {
 							configs.add(cfgs[j]);
 						}
 					}
 				}
 			}
 		}
-		if (voteDefault == shortcuts.size()) {			
+		if (voteDefault == shortcuts.size()) {
 			// consider default configurations if no configurations were contributed
 			addAllToList(configs, DebugUIPlugin.getDefault().getLaunchConfigurationManager().getApplicableLaunchConfigurations(null, resource));
 		}
@@ -515,12 +515,12 @@
 				if (!config.getType().supportsModeCombination(modes)) {
 					iterator.remove();
 				}
-			} 
+			}
 			catch (CoreException e) {}
 		}
 		return configs;
 	}
-	
+
 	/**
 	 * Adds all of the items in the given object array to the given collection.
 	 * Does nothing if either the collection or array is <code>null</code>.
@@ -537,7 +537,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Starts up the manager
 	 */
@@ -585,7 +585,7 @@
 						bar.removeMouseTrackListener(listener);
 					}
 				});
-				
+
 			}
 		}
 		fWindows.clear();
@@ -633,10 +633,10 @@
 			window.getSelectionService().addSelectionListener(this);
 		}
 	}
-	
+
 	/**
-	 * Adds a mouse listener to the launch toolbar 
-	 * 
+	 * Adds a mouse listener to the launch toolbar
+	 *
 	 * @param window the {@link IWorkbenchWindow} to work with
 	 */
 	private void addMouseListener(IWorkbenchWindow window) {
@@ -653,7 +653,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 	 */
@@ -715,7 +715,7 @@
 	 */
 	@Override
 	public void launchesRemoved(ILaunch[] launches) {
-		//we want to ensure that even if a launch is removed from the debug view 
+		//we want to ensure that even if a launch is removed from the debug view
 		//when it is not terminated we update the label just in case.
 		//bug 195232
 		for(int i = 0; i < launches.length; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
index ad52271..61c2e9a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextManager.java
@@ -4,10 +4,10 @@
  *  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
- *     Patrick Chuong (Texas Instruments) - Allow multiple debug views and 
+ *     Patrick Chuong (Texas Instruments) - Allow multiple debug views and
  *     		multiple debug context providers (Bug 327263)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.contexts;
@@ -32,11 +32,11 @@
  * @since 3.2
  */
 public class DebugContextManager implements IDebugContextManager {
-	
+
 	private static DebugContextManager fgDefault;
 	private Map<IWorkbenchWindow, DebugWindowContextService> fServices = new HashMap<IWorkbenchWindow, DebugWindowContextService>();
 	private ListenerList<IDebugContextListener> fGlobalListeners = new ListenerList<>();
-	
+
 	/**
 	 * A debug context service that does nothing (used for windows that have been closed)
 	 */
@@ -81,12 +81,12 @@
 		}
 		@Override
 		public void addDebugContextListener(IDebugContextListener listener, String partId, String partSecondaryId) {
-			
+
 		}
 		@Override
 		public void removeDebugContextListener(IDebugContextListener listener, String partId, String partSecondaryId) {
 		}
-		
+
 		@Override
 		public ISelection getActiveContext(String partId, String partSecondaryId) {
 			return null;
@@ -99,7 +99,7 @@
 		public void removePostDebugContextListener(IDebugContextListener listener, String partId, String partSecondaryId) {
 		}
 	};
-	
+
 	private class WindowListener implements IWindowListener {
 
 		/* (non-Javadoc)
@@ -113,7 +113,7 @@
 		 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
 		 */
 		@Override
-		public void windowDeactivated(IWorkbenchWindow window) {			
+		public void windowDeactivated(IWorkbenchWindow window) {
 		}
 
 		/* (non-Javadoc)
@@ -134,24 +134,24 @@
 		@Override
 		public void windowOpened(IWorkbenchWindow window) {
 		}
-		
+
 	}
-	
+
 	private DebugContextManager() {
 		PlatformUI.getWorkbench().addWindowListener(new WindowListener());
 	}
-	
+
 	public static IDebugContextManager getDefault() {
 		if (fgDefault == null) {
 			fgDefault = new DebugContextManager();
 			// create the model context bindigg manager at the same time
 			DebugModelContextBindingManager.getDefault();
 			// create view manager
-			ViewContextManager.getDefault();			
+			ViewContextManager.getDefault();
 		}
 		return fgDefault;
 	}
-	
+
 	protected IDebugContextService createService(IWorkbenchWindow window) {
 		DebugWindowContextService service = fServices.get(window);
 		if (service == null) {
@@ -170,10 +170,10 @@
 		}
 		return service;
 	}
-	
+
 	protected IDebugContextService getService(IWorkbenchWindow window) {
 		return fServices.get(window);
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.contexts.IDebugContextManager#addDebugContextListener(org.eclipse.debug.internal.ui.contexts.IDebugContextListener)
@@ -200,10 +200,10 @@
 			service.removeDebugContextListener(listener);
 		}
 	}
-	
+
 	/**
 	 * Returns the existing context services.
-	 * 
+	 *
 	 * @return existing context services
 	 */
 	private DebugWindowContextService[] getServices() {
@@ -218,5 +218,5 @@
 	public IDebugContextService getContextService(IWorkbenchWindow window) {
 		return createService(window);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java
index ec5b353..57f07a8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugContextSourceProvider.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -27,7 +27,7 @@
 
 /**
  * A source provider for the active debug context variable.
- * 
+ *
  * @since 3.5
  */
 public class DebugContextSourceProvider extends AbstractSourceProvider implements IDebugContextListener {
@@ -36,14 +36,14 @@
      * The names of the sources supported by this source provider.
      */
     private static final String[] PROVIDED_SOURCE_NAMES = new String[] { IDebugUIConstants.DEBUG_CONTEXT_SOURCE_NAME };
-    
+
     private final IDebugContextService fDebugContextService;
-    
+
 	private final IEvaluationService fEvaluationService;
-	
+
 	/**
-	 * Creates the source provider.  It registers it as a listener to the 
-	 * given debug context service, and as a provider with the given 
+	 * Creates the source provider.  It registers it as a listener to the
+	 * given debug context service, and as a provider with the given
 	 * evaluation service.
 	 */
 	public DebugContextSourceProvider(IDebugContextService debugContextService, IEvaluationService evaluationService) {
@@ -69,7 +69,7 @@
 			fireSourceChanged(ISources.ACTIVE_CURRENT_SELECTION, values);
 		}
 	}
-	
+
 	@Override
 	public void dispose() {
 		fDebugContextService.removeDebugContextListener(this);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
index f417fa4..264bad3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugModelContextBindingManager.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Pawel Piech - Bug 154598: DebugModelContextBindingManager does not use IAdaptable.getAdapter() to retrieve IDebugModelProvider adapter
- *     Pawel Piech - Bug 298648:  [View Management] Race conditions and other issues make view management unreliable. 
+ *     Pawel Piech - Bug 298648:  [View Management] Race conditions and other issues make view management unreliable.
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.contexts;
 
@@ -63,64 +63,64 @@
  * @since 3.2
  */
 public class DebugModelContextBindingManager implements IDebugContextListener, ILaunchesListener2, IActivityManagerListener {
-	
+
 	/**
 	 * Map of debug model identifier to associated contexts as defined
 	 * by <code>debugModelContextBindings</code> extensions.
 	 */
 	private Map<String, List<String>> fModelToContextIds = new HashMap<String, List<String>>();
-	
+
 	/**
 	 * Map of launch objects to enabled model ids
 	 */
 	private Map<ILaunch, Set<String>> fLaunchToModelIds = new HashMap<ILaunch, Set<String>>();
-	
+
 	/**
 	 * Map of launch objects to context activations
 	 */
 	private Map<ILaunch, List<IContextActivation>> fLanuchToContextActivations = new HashMap<ILaunch, List<IContextActivation>>();
-	
+
 	/**
-	 * A list of activity pattern bindings for debug models. 
+	 * A list of activity pattern bindings for debug models.
 	 */
 	private List<IActivityPatternBinding> fModelPatternBindings = new ArrayList<IActivityPatternBinding>();
-	
+
 	/**
 	 * Map of debug model ids to associated activity ids.
 	 */
 	private Map<String, Set<String>> fModelToActivities = new HashMap<String, Set<String>>();
-	
+
 	/**
 	 * A set of debug model ids for which activities have been enabled.
 	 * Cleared when enabled activities change.
 	 */
 	private Set<String> fModelsEnabledForActivities = new HashSet<String>();
-	
+
 	// extension point
 	public static final String ID_DEBUG_MODEL_CONTEXT_BINDINGS= "debugModelContextBindings"; //$NON-NLS-1$
-	
+
 	// extension point attributes
 	public static final String ATTR_CONTEXT_ID= "contextId"; //$NON-NLS-1$
 	public static final String ATTR_DEBUG_MODEL_ID= "debugModelId"; //$NON-NLS-1$
-	
+
 	// base debug context
 	public static final String DEBUG_CONTEXT= "org.eclipse.debug.ui.debugging"; //$NON-NLS-1$
-	
+
 	// suffix for debug activities triggered by debug model context binding activation
 	private static final String DEBUG_MODEL_ACTIVITY_SUFFIX = "/debugModel"; //$NON-NLS-1$
-	
+
 	// singleton manager
 	private static DebugModelContextBindingManager fgManager;
-	
+
 	private static IContextService fgContextService = PlatformUI.getWorkbench().getAdapter(IContextService.class);
-	
+
 	public static DebugModelContextBindingManager getDefault() {
 		if (fgManager == null) {
 			fgManager = new DebugModelContextBindingManager();
 		}
 		return fgManager;
 	}
-	
+
 	private DebugModelContextBindingManager() {
 		loadDebugModelContextBindings();
 		loadDebugModelActivityExtensions();
@@ -129,7 +129,7 @@
 		IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
 		activitySupport.getActivityManager().addActivityManagerListener(this);
 	}
-	
+
 	/**
 	 * Loads the extensions which map debug model identifiers
 	 * to context ids.
@@ -152,8 +152,8 @@
     			}
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Loads the extensions which map debug model patterns
 	 * to activity ids. This information is used to activate the
@@ -174,7 +174,7 @@
 				}
 			}
 		}
-	}	
+	}
 
 	@Override
 	public void debugContextChanged(DebugContextEvent event) {
@@ -184,16 +184,16 @@
 				IStructuredSelection ss = (IStructuredSelection) selection;
 				Iterator<?> iterator = ss.iterator();
 				while (iterator.hasNext()) {
-					activated(iterator.next()); 
+					activated(iterator.next());
 				}
 			}
 		}
 	}
-	
+
 	/**
 	 * The specified object has been activated. Activate contexts and activities as
 	 * required for the object.
-	 * 
+	 *
 	 * @param object object that has been activated
 	 */
 	private void activated(Object object) {
@@ -226,11 +226,11 @@
 
 		enableActivitiesFor(modelIds);
 	}
-	
+
 	/**
 	 * Activates the given model identifier for the specified launch. This activates
 	 * associated contexts and all parent contexts for the model.
-	 * 
+	 *
 	 * @param modelId model to be enabled
 	 * @param launch the launch the model is being enabled for
 	 */
@@ -239,7 +239,7 @@
 	    synchronized (this) {
     		contextIds = fModelToContextIds.get(modelId);
     		if (contextIds == null) {
-    			// if there are no contexts for a model, the base debug context should 
+    			// if there are no contexts for a model, the base debug context should
     			// be activated (i.e. a debug model with no org.eclipse.ui.contexts and
     			// associated org.eclipse.debug.ui.modelContextBindings)
 				contextIds = new ArrayList<String>();
@@ -251,10 +251,10 @@
 			activateContext(id, launch);
 		}
 	}
-	
+
 	/**
 	 * Activates the given context and all its parent contexts.
-	 * 
+	 *
 	 * @param contextId
 	 * @param launch
 	 */
@@ -275,10 +275,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Notes the activation for a context and launch so we can de-activate later.
-	 * 
+	 *
 	 * @param launch
 	 * @param activation
 	 */
@@ -294,8 +294,8 @@
 	/**
 	 * Returns the debug model identifiers associated with the given object or <code>null</code>
 	 * if none.
-	 * 
-	 * @param object 
+	 *
+	 * @param object
 	 * @return debug model identifiers associated with the given object or <code>null</code>
 	 */
 	private String[] getDebugModelIds(Object object) {
@@ -312,12 +312,12 @@
 			return new String[] { ((IStackFrame) object).getModelIdentifier() };
 		}
 		return null;
-	}	
-	
+	}
+
 	/**
 	 * Returns the ILaunch associated with the given object or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param object object for which launch is required
 	 * @return the ILaunch associated with the given object or <code>null</code>
 	 */
@@ -359,7 +359,7 @@
 				job.setSystem(true);
 				job.schedule();
 			}
-			
+
 		}
 		// TODO: Terminated notification
 	}
@@ -382,11 +382,11 @@
 	 */
 	@Override
 	public void launchesChanged(ILaunch[] launches) {
-	}	
-	
+	}
+
 	/**
 	 * Returns the workbench contexts associated with a debug context
-	 * 
+	 *
 	 * @param target debug context
 	 * @return associated workbench contexts
 	 */
@@ -409,12 +409,12 @@
 			}
 		}
 		return workbenchContexts;
-	}	
-	
+	}
+
 	/**
-	 * Enables activities in the workbench associated with the given debug 
+	 * Enables activities in the workbench associated with the given debug
 	 * model ids that have been activated.
-	 * 
+	 *
 	 * @param debug model ids for which to enable activities
 	 */
 	private void enableActivitiesFor(String[] modelIds) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
index 882fd36..6fea942 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/DebugWindowContextService.java
@@ -4,11 +4,11 @@
  *  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
  *     Wind River - Pawel Piech - added an evaluation context source provider (bug 229219)
- *     Patrick Chuong (Texas Instruments) and Pawel Piech (Wind River) - 
+ *     Patrick Chuong (Texas Instruments) and Pawel Piech (Wind River) -
  *     		Allow multiple debug views and multiple debug context providers (Bug 327263)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.contexts;
@@ -40,24 +40,24 @@
 
 /**
  * Context service for a specific window.
- * 
+ *
  * @since 3.2
  */
 public class DebugWindowContextService implements IDebugContextService, IPartListener2, IDebugContextListener {
-	
+
 	private Map<String, ListenerList<IDebugContextListener>> fListenersByPartId = new HashMap<>();
 	private Map<String, IDebugContextProvider> fProvidersByPartId = new HashMap<String, IDebugContextProvider>();
 	private Map<String, ListenerList<IDebugContextListener>> fPostListenersByPartId = new HashMap<>();
-	
+
 	private IWorkbenchWindow fWindow;
 	private List<IDebugContextProvider> fProviders = new ArrayList<IDebugContextProvider>();
-	
+
 	private DebugContextSourceProvider fSourceProvider;
 
 	public DebugWindowContextService(IWorkbenchWindow window, final IEvaluationService evaluationService) {
 		fWindow = window;
 		fWindow.getPartService().addPartListener(this);
-		
+
 		// need to register source provider on the UI thread (bug 438396)
 		window.getShell().getDisplay().asyncExec(new Runnable() {
 			@Override
@@ -68,7 +68,7 @@
 			}
 		});
 	}
-	
+
 	public void dispose() {
 		if (fSourceProvider != null) {
 			fSourceProvider.dispose();
@@ -76,14 +76,14 @@
 		fWindow.getPartService().removePartListener(this);
 		fWindow = null;
 	}
-	
+
 	@Override
 	public synchronized void addDebugContextProvider(IDebugContextProvider provider) {
 	    if (fWindow == null)
 		 {
 			return; // disposed
 		}
-	    
+
 		IWorkbenchPart part = provider.getPart();
 		fProvidersByPartId.put( getCombinedPartId(part), provider );
 
@@ -92,17 +92,17 @@
         if (provider instanceof IDebugContextProvider2) {
             canSetActive = ((IDebugContextProvider2) provider).isWindowContextProvider();
         }
-        // Make the provider active if matches the active part. Otherwise, it 
-        // may still become the active provider if fProviders.isEmpty(). 
+        // Make the provider active if matches the active part. Otherwise, it
+        // may still become the active provider if fProviders.isEmpty().
 		if (canSetActive) {
 	        IWorkbenchPart activePart = null;
 	        IWorkbenchPage activePage = fWindow.getActivePage();
 	        if (activePage != null) {
 	            activePart = activePage.getActivePart();
-	        }        
+	        }
 	        canSetActive = (activePart == null && part == null) || (activePart != null && activePart.equals(part));
 		}
-		
+
 		if (canSetActive) {
 		    fProviders.add(0, provider);
 		} else {
@@ -111,7 +111,7 @@
         notify(provider);
 		provider.addDebugContextListener(this);
 	}
-	
+
 	@Override
 	public synchronized void removeDebugContextProvider(IDebugContextProvider provider) {
 		int index = fProviders.indexOf(provider);
@@ -128,13 +128,13 @@
     			}
 			} else {
 			    // Notify listeners of the removed provider with the active window context.
-			    notifyPart(provider.getPart(), 
+			    notifyPart(provider.getPart(),
 			        new DebugContextEvent(activeProvider, getActiveContext(), DebugContextEvent.ACTIVATED));
 			}
 		}
 		provider.removeDebugContextListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.contexts.IDebugContextService#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener)
 	 */
@@ -142,7 +142,7 @@
 	public void addDebugContextListener(IDebugContextListener listener) {
 		addDebugContextListener(listener, null);
 	}
-	
+
 	@Override
 	public void addPostDebugContextListener(IDebugContextListener listener, String partId) {
 		ListenerList<IDebugContextListener> list = fPostListenersByPartId.get(partId);
@@ -150,14 +150,14 @@
 			list = new ListenerList<>();
 			fPostListenersByPartId.put(partId, list);
 		}
-		list.add(listener);	
+		list.add(listener);
 	}
 
 	@Override
 	public void addPostDebugContextListener(IDebugContextListener listener) {
 		addPostDebugContextListener(listener, null);
 	}
-	
+
 	@Override
 	public void removePostDebugContextListener(IDebugContextListener listener, String partId) {
 		ListenerList<IDebugContextListener> list = fPostListenersByPartId.get(partId);
@@ -178,10 +178,10 @@
 	public void removeDebugContextListener(IDebugContextListener listener) {
 		removeDebugContextListener(listener, null);
 	}
-	
+
 	/**
 	 * Notifies listeners of the context in the specified provider.
-	 * 
+	 *
 	 * @param provdier context provider
 	 */
 	protected void notify(IDebugContextProvider provdier) {
@@ -191,22 +191,22 @@
 		}
 		notify(new DebugContextEvent(provdier, activeContext, DebugContextEvent.ACTIVATED));
 	}
-	
+
 	protected void notify(DebugContextEvent event) {
 	    // Allow handling for case where getActiveProvider() == null.
-	    // This can happen upon removeContextProvider() called on last available 
+	    // This can happen upon removeContextProvider() called on last available
 	    // provider (bug 360637).
 		IDebugContextProvider provider = getActiveProvider();
 		IWorkbenchPart part = event.getDebugContextProvider().getPart();
-		
+
 		// Once for listeners
-		if (provider == null || provider == event.getDebugContextProvider()) {		
+		if (provider == null || provider == event.getDebugContextProvider()) {
 			notify(event, getListeners(null));
-		}		
+		}
 		if (part != null) {
 			notify(event, getListeners(part));
 		}
-		
+
 		// Again for post-listeners
 		if (provider == null || provider == event.getDebugContextProvider()) {
 			notify(event, getPostListeners(null));
@@ -237,14 +237,14 @@
 			});
 		}
 	}
-	
+
 	protected ListenerList<IDebugContextListener> getListeners(IWorkbenchPart part) {
-        String id = null; 
-        if (part != null) { 
-            id = getCombinedPartId(part); 
+        String id = null;
+        if (part != null) {
+            id = getCombinedPartId(part);
 			ListenerList<IDebugContextListener> listenerList = fListenersByPartId.get(id);
 			return listenerList != null ? listenerList : new ListenerList<IDebugContextListener>();
-        } else { 
+        } else {
 			ListenerList<IDebugContextListener> listenerList = fListenersByPartId.get(null);
 			ListenerList<IDebugContextListener> retVal = new ListenerList<>();
 			for (IDebugContextListener iDebugContextListener : listenerList) {
@@ -252,21 +252,21 @@
 			}
 
 			outer: for (Iterator<String> itr = fListenersByPartId.keySet().iterator(); itr.hasNext();) {
-                String listenerPartId = itr.next(); 
-                for (int i = 0; i < fProviders.size(); i++) { 
+                String listenerPartId = itr.next();
+                for (int i = 0; i < fProviders.size(); i++) {
                     String providerPartId = getCombinedPartId(fProviders.get(i).getPart());
-                    if ((listenerPartId == null && providerPartId == null) || 
-                        (listenerPartId != null && listenerPartId.equals(providerPartId)))  
-                    { 
-                        continue outer; 
-                    } 
+                    if ((listenerPartId == null && providerPartId == null) ||
+                        (listenerPartId != null && listenerPartId.equals(providerPartId)))
+                    {
+                        continue outer;
+                    }
                 }
 				for (IDebugContextListener iDebugContextListener : fListenersByPartId.get(listenerPartId)) {
 					retVal.add(iDebugContextListener); // no effect if listener already present
 				}
 			}
 			return retVal;
-        } 
+        }
 	}
 
 	protected ListenerList<IDebugContextListener> getPostListeners(IWorkbenchPart part) {
@@ -345,10 +345,10 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the active provider or <code>null</code>
-	 * 
+	 *
 	 * @return active provider or <code>null</code>
 	 */
 	private IDebugContextProvider getActiveProvider() {
@@ -369,7 +369,7 @@
 			if (provider instanceof IDebugContextProvider2) {
 				canSetActive = ((IDebugContextProvider2) provider).isWindowContextProvider();
 			}
-			
+
 			if (canSetActive) {
 				int index = fProviders.indexOf(provider);
 				if (index > 0) {
@@ -379,14 +379,14 @@
 				}
 			}
 		}
-		
+
 	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
 	 */
 	@Override
-	public void partBroughtToTop(IWorkbenchPartReference partRef) {		
+	public void partBroughtToTop(IWorkbenchPartReference partRef) {
 	}
 
 	/* (non-Javadoc)
@@ -407,7 +407,7 @@
 	 * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
 	 */
 	@Override
-	public void partOpened(IWorkbenchPartReference partRef) {		
+	public void partOpened(IWorkbenchPartReference partRef) {
 	}
 
 	/* (non-Javadoc)
@@ -435,26 +435,26 @@
 	 * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextEventListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent)
 	 */
 	@Override
-	public void debugContextChanged(DebugContextEvent event) {	
+	public void debugContextChanged(DebugContextEvent event) {
 		notify(event);
 	}
-	
+
 	private String getCombinedPartId(IWorkbenchPart part) {
 	    if (part == null) {
 	        return null;
-	    } else if (part.getSite() instanceof IViewSite) { 
+	    } else if (part.getSite() instanceof IViewSite) {
             IViewSite site = (IViewSite)part.getSite();
             return getCombinedPartId(site.getId(), site.getSecondaryId());
-            
-        } else { 
-            return part.getSite().getId(); 
-        } 
-    }	
+
+        } else {
+            return part.getSite().getId();
+        }
+    }
 
 	private String getCombinedPartId(String id, String secondaryId) {
 		return id + (secondaryId != null ? ":" + secondaryId : "");   //$NON-NLS-1$//$NON-NLS-2$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.contexts.IDebugContextService2#addDebugContextListener(org.eclipse.debug.ui.contexts.IDebugContextListener, java.lang.String, java.lang.String)
 	 */
@@ -491,7 +491,7 @@
 	 * @see org.eclipse.debug.ui.contexts.IDebugContextService2#getActiveContext(java.lang.String, java.lang.String)
 	 */
 	@Override
-	public ISelection getActiveContext(String partId, String partSecondaryId) {		
+	public ISelection getActiveContext(String partId, String partSecondaryId) {
 		return getActiveContext(getCombinedPartId(partId, partSecondaryId));
-	} 
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
index 26a08c5..6d92f33 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/LaunchSuspendTrigger.java
@@ -34,17 +34,17 @@
 	private ListenerList<ISuspendTriggerListener> fListeners = new ListenerList<>();
 	private SuspendTriggerAdapterFactory fFactory = null;
 	private ILaunch fLaunch = null;
-	
+
 	public LaunchSuspendTrigger(ILaunch launch, SuspendTriggerAdapterFactory factory) {
 		fFactory = factory;
 		fLaunch = launch;
 		DebugPlugin.getDefault().addDebugEventListener(this);
 	}
-	
+
 	public ILaunch getLaunch() {
 		return fLaunch;
 	}
-	
+
 	protected void dispose() {
 		DebugPlugin.getDefault().removeDebugEventListener(this);
 		fListeners = null;
@@ -65,7 +65,7 @@
 	 * @see org.eclipse.debug.ui.contexts.ISuspendTrigger#removeSuspendTriggerListener(org.eclipse.debug.ui.contexts.ISuspendTriggerListener)
 	 */
 	@Override
-	public void removeSuspendTriggerListener(ISuspendTriggerListener listener) { 
+	public void removeSuspendTriggerListener(ISuspendTriggerListener listener) {
         if (fListeners != null) {
             fListeners.remove(listener);
         }
@@ -91,7 +91,7 @@
 					ILaunch launch = adaptable.getAdapter(ILaunch.class);
 					if (fLaunch.equals(launch)) {
 						// only notify for this launch
-						notifySuspend(event);						
+						notifySuspend(event);
 					}
 				}
 
@@ -125,18 +125,18 @@
 						public void run() throws Exception {
         					listener.suspended(launch, temp);
         				}
-        			
+
         				@Override
 						public void handleException(Throwable exception) {
         					DebugUIPlugin.log(exception);
         				}
-        			
-        			}); 			
+
+        			});
         		}
             }
 
 		}
-		
+
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
index 22440d2..d7dde2a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/contexts/SuspendTriggerAdapterFactory.java
@@ -23,7 +23,7 @@
  * @since 3.2
  */
 public class SuspendTriggerAdapterFactory implements IAdapterFactory {
-	
+
 	private Map<Object, LaunchSuspendTrigger> fSuspendTriggers = new HashMap<Object, LaunchSuspendTrigger>();
 
 	/* (non-Javadoc)
@@ -52,7 +52,7 @@
 	public Class<?>[] getAdapterList() {
 		return new Class[]{ISuspendTrigger.class};
 	}
-	
+
 	public synchronized void dispose(LaunchSuspendTrigger trigger) {
 		fSuspendTriggers.remove(trigger.getLaunch());
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
index 3de6db4..75167bc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/AsynchronousDebugLabelAdapter.java
@@ -31,11 +31,11 @@
 
 /**
  * Asynchronous label adapter for debug elements.
- * 
+ *
  * @since 3.2
  */
 public class AsynchronousDebugLabelAdapter extends AsynchronousLabelAdapter {
-	      
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousLabelAdapter#computeLabels(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext, org.eclipse.debug.ui.viewers.ILabelRequestMonitor)
 	 */
@@ -112,11 +112,11 @@
 		Arrays.fill(rgbs, DebugElementHelper.getBackground(element));
 		return rgbs;
 	}
-	
+
 	/**
 	 * Returns the number of columns in the given presentation context, or 1
 	 * if there are no columns.
-	 * 
+	 *
 	 * @param context presentation context
 	 * @return number of columns or 1 if none
 	 */
@@ -124,7 +124,7 @@
 		String[] columns = context.getColumns();
 		if (columns == null) {
 			return 1;
-		} 
+		}
 		return columns.length;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultBreakpointsViewInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultBreakpointsViewInput.java
index b8b34d3..7aafe1c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultBreakpointsViewInput.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultBreakpointsViewInput.java
@@ -14,36 +14,36 @@
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
 
 /**
- * The default breakpoints view input populates the view with content 
+ * The default breakpoints view input populates the view with content
  * from the default breakpoint manager.
- * 
+ *
  * @since 3.6
  */
 public class DefaultBreakpointsViewInput {
-	
+
 	/**
 	 * The presentation context of the breakpoints view.
 	 */
 	final private IPresentationContext fContext;
-	
+
 	/**
 	 * Constructor.
-	 * 
+	 *
 	 * @param context the presentation context for this input
 	 */
 	public DefaultBreakpointsViewInput(IPresentationContext context) {
 		fContext = context;
 	}
-		
+
 	/**
 	 * Returns the presentation context for this input.
-	 * 
+	 *
 	 * @return the presentation context
 	 */
 	public IPresentationContext getContext() {
 		return fContext;
 	}
-	
+
 	/*
      * (non-Javadoc)
      * @see java.lang.Object#hashCode()
@@ -68,9 +68,9 @@
             IPresentationContext context = ((DefaultBreakpointsViewInput) arg0).getContext();
             if (getContext() != null && context != null)
                 return getContext().equals(context);
-        } 
-        
-        return super.equals(arg0);              
+        }
+
+        return super.equals(arg0);
     }
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java
index 33b394d..19ebdbe 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultVariableCellModifier.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
  *******************************************************************************/
@@ -23,7 +23,7 @@
  */
 @SuppressWarnings("deprecation")
 public class DefaultVariableCellModifier implements ICellModifier {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
 	 */
@@ -68,7 +68,7 @@
 						// The value column displays special characters escaped, so encode the string with any special characters escaped properly
 						String valueExpression = DefaultLabelProvider.encodeEsacpedChars((String)value);
 						IVariable variable = (IVariable) element;
-						DetailPaneAssignValueAction.assignValue(DebugUIPlugin.getShell(), variable, valueExpression);						
+						DetailPaneAssignValueAction.assignValue(DebugUIPlugin.getShell(), variable, valueExpression);
 					}
 				}
 	        }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultViewerInputProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultViewerInputProvider.java
index d47277d..e152d75 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultViewerInputProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/DefaultViewerInputProvider.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:
  *     Wind River Systems - initial API and implementation
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -19,9 +19,9 @@
 import org.eclipse.debug.ui.IDebugUIConstants;
 
 /**
- * Default input provider supplies the expression manager as input to the 
+ * Default input provider supplies the expression manager as input to the
  * expression view.
- * 
+ *
  * @since 3.4
  */
 public class DefaultViewerInputProvider extends ViewerInputProvider {
@@ -30,12 +30,12 @@
 	 * @see org.eclipse.debug.internal.ui.model.elements.ViewerInputProvider#getViewerInput(java.lang.Object, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate)
 	 */
 	@Override
-	protected Object getViewerInput(Object source, IPresentationContext context, IViewerUpdate update) throws CoreException {	    
-		if (IDebugUIConstants.ID_BREAKPOINT_VIEW.equals(context.getId())) {	  			
+	protected Object getViewerInput(Object source, IPresentationContext context, IViewerUpdate update) throws CoreException {
+		if (IDebugUIConstants.ID_BREAKPOINT_VIEW.equals(context.getId())) {
 			DefaultBreakpointsViewInput input = new DefaultBreakpointsViewInput(context);
 			return input;
-		}	    	
-		
+		}
+
 		return DebugPlugin.getDefault().getExpressionManager();
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
index d2a8c27..47b0ed4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockContentAdapter.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
  *******************************************************************************/
 
@@ -219,7 +219,7 @@
 
 	/**
 	 * Get memory to fit table
-	 * 
+	 *
 	 * @param startingAddress
 	 * @param numberOfLines
 	 * @param updateDelta
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java
index bde25dd..66a7dc3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryBlockLabelAdapter.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
  *******************************************************************************/
@@ -20,12 +20,12 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 
 public class MemoryBlockLabelAdapter extends AsynchronousDebugLabelAdapter {
-	
+
 	@Override
 	protected ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException {
 		if (element instanceof IMemoryBlock)
 			return new ImageDescriptor[]{DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_VARIABLE)};
-		
+
 		return new ImageDescriptor[0];
 	}
 
@@ -34,7 +34,7 @@
 	 * @return
 	 */
 	private String getLabel(IMemoryBlock memoryBlock) {
-		
+
 		String memoryBlockLabel = " "; //$NON-NLS-1$
 		if (memoryBlock instanceof IMemoryBlockExtension)
 		{
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java
index 9826e37..5980d0c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemoryRetrievalContentAdapter.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
index eca2353..d536343 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/MemorySegmentLabelAdapter.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
  *******************************************************************************/
@@ -45,7 +45,7 @@
 	@Override
 	protected String[] getLabels(Object element, IPresentationContext context)
 			throws CoreException {
-		
+
 		if (context instanceof MemoryViewPresentationContext)
 		{
 			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
@@ -57,15 +57,15 @@
 				{
 					String addressStr = getColumnText(element, 0, tableRendering, descriptor);
 					int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-					
+
 					String[] labels = new String[numColumns+2];
 					labels[0] = addressStr;
-					
+
 					for (int i=0; i<=numColumns; i++)
 					{
 						labels[i+1] = getColumnText(element, i+1, tableRendering, tableRendering.getAdapter(TableRenderingContentDescriptor.class));
 					}
-					
+
 					labels[labels.length - 1 ] = IInternalDebugCoreConstants.EMPTY_STRING;
 					return labels;
 				}
@@ -73,7 +73,7 @@
 		}
 		return new String[0];
 	}
-	
+
 	private String getColumnText(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering, TableRenderingContentDescriptor descriptor) {
 		String columnLabel = null;
 
@@ -86,9 +86,9 @@
 				if (rowLabel != null)
 					return rowLabel;
 			}
-			
+
 			columnLabel = ((MemorySegment)element).getAddress().toString(16).toUpperCase();
-			
+
 			int addressSize = descriptor.getAddressSize();
 			int prefillLength = addressSize * 2 - columnLabel.length();
 			StringBuffer buf = new StringBuffer();
@@ -101,21 +101,21 @@
 			}
 			buf.append(columnLabel);
 			return buf.toString();
-			
+
 		}
 		else if (columnIndex > (tableRendering.getBytesPerLine()/tableRendering.getBytesPerColumn()))
 		{
 			columnLabel = " "; //$NON-NLS-1$
 		}
 		else
-		{	
+		{
 			if (element instanceof MemorySegment)
 			{
 				MemorySegment segment = (MemorySegment)element;
 				if (segment.getBytes().length != tableRendering.getBytesPerLine())
 					return IInternalDebugCoreConstants.EMPTY_STRING;
 			}
-			
+
 			ILabelProvider labelProvider = tableRendering.getAdapter(ILabelProvider.class);
 			if (labelProvider != null && columnIndex > 0)
 			{
@@ -124,14 +124,14 @@
 					String label = labelProvider.getText(renderingElement);
 					if (label != null)
 						return label;
-				}			
+				}
 			}
-			
+
 			int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
 			MemoryByte[] bytes = ((MemorySegment)element).getBytes(start, tableRendering.getBytesPerColumn());
 			BigInteger address = ((MemorySegment)element).getAddress();
-			address = address.add(BigInteger.valueOf(start)); 
-			
+			address = address.add(BigInteger.valueOf(start));
+
 			columnLabel = tableRendering.getString(tableRendering.getRenderingId(), address, bytes);
 		}
 		return columnLabel;
@@ -147,32 +147,32 @@
 			{
 				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
 				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
+
 				ImageDescriptor[] images = new ImageDescriptor[numColumns+2];
-				
+
 				for (int i=0; i<=numColumns; i++)
 				{
 					images[i] = getColumnImageDescriptor(element, i, tableRendering);
 				}
-				
+
 				images[images.length - 1 ] = null;
 				return images;
 			}
 		}
 		return new ImageDescriptor[0];
 	}
-	
+
 	private ImageDescriptor getColumnImageDescriptor(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
 	{
 		if (columnIndex == 0)
-			return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
-		
+			return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
+
 		if (element instanceof MemorySegment)
 		{
 			MemorySegment segment = (MemorySegment)element;
 			if (segment.getBytes().length != tableRendering.getBytesPerLine())
 				return null;
-			
+
 			ILabelProvider labelProvider = tableRendering.getAdapter(ILabelProvider.class);
 			if (labelProvider != null && columnIndex > 0)
 			{
@@ -183,9 +183,9 @@
 					{
 						return DebugElementHelper.getImageDescriptor(image);
 					}
-				}			
+				}
 			}
-			
+
 			int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
 
 			MemoryByte[] bytes = ((MemorySegment)element).getBytes(start, tableRendering.getBytesPerColumn());
@@ -195,17 +195,17 @@
 			{
 				if (!bytes[i].isHistoryKnown())
 					allKnown = false;
-				
+
 				if (bytes[i].isChanged())
 					unchanged = false;
 			}
-			
+
 			if (allKnown)
 			{
 				// mark changed elements with changed icon
 				if (!unchanged)
 					return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED);
-				
+
 			}
 		}
 		return DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
@@ -221,7 +221,7 @@
 			{
 				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
 				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
+
 				FontData[] fontData = new FontData[numColumns+2];
 
 				for (int i=0; i<fontData.length-1; i++)
@@ -231,18 +231,18 @@
 				return fontData;
 			}
 		}
-		
+
 		return new FontData[0];
 	}
-	
-	private FontData getColumnFontData(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering) 
+
+	private FontData getColumnFontData(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
 	{
 		if (element instanceof MemorySegment)
-		{	
+		{
 			MemorySegment segment = (MemorySegment)element;
 			if (segment.getBytes().length != tableRendering.getBytesPerLine())
 				return null;
-			
+
 			IFontProvider fontProvider = tableRendering.getAdapter(IFontProvider.class);
 			if (fontProvider != null && columnIndex > 0)
 			{
@@ -251,7 +251,7 @@
 					Font font = fontProvider.getFont(renderingElement);
 					if (font != null)
 						return font.getFontData()[0];
-				}			
+				}
 			}
 		}
 		return null;
@@ -260,7 +260,7 @@
 	@Override
 	protected RGB[] getForegrounds(Object element, IPresentationContext context)
 			throws CoreException {
-		
+
 		if (context instanceof MemoryViewPresentationContext)
 		{
 			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
@@ -268,34 +268,34 @@
 			{
 				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
 				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
+
 				RGB[] colors = new RGB[numColumns+2];
 
 				for (int i=0; i<colors.length-1; i++)
 				{
 					colors[i] = getColumnForeground(element, i, tableRendering);
 				}
-				
+
 				colors[colors.length-1] = null;
-				
+
 				return colors;
 			}
 		}
 
 		return new RGB[0];
 	}
-	
+
 	private RGB getColumnBackground(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
 	{
 		if (columnIndex == 0)
 			return null;
-		
+
 		if (element instanceof MemorySegment)
-		{	
+		{
 			MemorySegment segment = (MemorySegment)element;
 			if (segment.getBytes().length != tableRendering.getBytesPerLine())
 				return null;
-			
+
 			IColorProvider colorProvider = tableRendering.getAdapter(IColorProvider.class);
 			if (colorProvider != null && columnIndex > 0)
 			{
@@ -304,23 +304,23 @@
 					Color color = colorProvider.getBackground(renderingElement);
 					if (color != null)
 						return color.getRGB();
-				}			
+				}
 			}
 		}
 		return null;
 	}
-	
+
 	private RGB getColumnForeground(Object element, int columnIndex, AbstractAsyncTableRendering tableRendering)
 	{
 		if (columnIndex == 0)
 			return null;
-		
+
 		if (element instanceof MemorySegment)
-		{	
+		{
 			MemorySegment segment = (MemorySegment)element;
 			if (segment.getBytes().length != tableRendering.getBytesPerLine())
 				return null;
-			
+
 			IColorProvider colorProvider = tableRendering.getAdapter(IColorProvider.class);
 			if (colorProvider != null && columnIndex > 0)
 			{
@@ -329,9 +329,9 @@
 					Color color = colorProvider.getForeground(renderingElement);
 					if (color != null)
 						return color.getRGB();
-				}			
+				}
 			}
-			
+
 			int start = (columnIndex-1)*tableRendering.getBytesPerColumn();
 			MemoryByte[] bytes = segment.getBytes(start, tableRendering.getBytesPerColumn());
 			boolean allKnown = true;
@@ -340,22 +340,22 @@
 			{
 				if (!bytes[i].isHistoryKnown())
 					allKnown = false;
-				
+
 				if (bytes[i].isChanged())
 					unchanged = false;
 			}
-			
+
 			if (allKnown)
 			{
 				// mark changed elements in changed color
 				if (!unchanged)
-					return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR).getRGB();				
-				
+					return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR).getRGB();
+
 				return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR).getRGB();
 			}
-			
+
 			return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR).getRGB();
-			
+
 		}
 		return null;
 	}
@@ -363,7 +363,7 @@
 	@Override
 	protected RGB[] getBackgrounds(Object element, IPresentationContext context)
 			throws CoreException {
-		
+
 		if (context instanceof MemoryViewPresentationContext)
 		{
 			MemoryViewPresentationContext tableRenderingContext = (MemoryViewPresentationContext)context;
@@ -371,27 +371,27 @@
 			{
 				AbstractAsyncTableRendering tableRendering = (AbstractAsyncTableRendering)tableRenderingContext.getRendering();
 				int numColumns = tableRendering.getAddressableUnitPerLine() / tableRendering.getAddressableUnitPerColumn();
-				
+
 				RGB[] colors = new RGB[numColumns+2];
 
 				for (int i=0; i<colors.length-1; i++)
 				{
 					colors[i] = getColumnBackground(element, i, tableRendering);
 				}
-				
+
 				colors[colors.length-1] = null;
-				
+
 				return colors;
 			}
 		}
 
 		return new RGB[0];
 	}
-	
+
 	/**
 	 * Returns a memory rendering element corresponding to the given element
 	 * or <code>null</code> if none.
-	 *  
+	 *
 	 * @param element element to be rendered
 	 * @param columnIndex column index at which to render
 	 * @return memory rendering element or <code>null</code>
@@ -407,7 +407,7 @@
 		}
 		return null;
 	}
-	
+
 	private MemoryRenderingElement getMemoryRenderingElement(MemorySegment line, BigInteger lineAddress, int offset, AbstractBaseTableRendering rendering) {
 		BigInteger cellAddress = lineAddress.add(BigInteger.valueOf(offset));
 		MemoryByte[] bytes = line.getBytes(offset, rendering.getBytesPerColumn());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java
index 3dc7f87..c5ac5fd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/Messages.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java
index 4ef734a..f70f5bf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java
@@ -41,7 +41,7 @@
  * that do not change across stack frame selection to avoid register groups collapsing
  * while stepping between frames.
  * <p>
- * The standard debug model {@link IStackFrame} uses an 
+ * The standard debug model {@link IStackFrame} uses an
  * {@link org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerInputProvider} to
  * create a register group proxy for the register view's input.
  * </p>
@@ -59,12 +59,12 @@
  * @since 3.4
  */
 public class RegisterGroupProxy implements IModelProxyFactory, IColumnPresentationFactory, IElementContentProvider, IElementMementoProvider {
-	
+
 	private IRegisterGroup[] fGroups;
 	private IStackFrame fFrame;
-	
+
 	private static final String HASH_CODE = "HASH_CODE"; //$NON-NLS-1$
-	
+
 	/**
 	 * Local implementation of a viewer update request. This class delegates to the underlying frame
 	 * for viewer requests. The requests have to be wrapped such that the request's element provided
@@ -73,7 +73,7 @@
 	 */
 	private class Update extends Request implements IViewerUpdate {
 		private IViewerUpdate fViewerUpdate;
-		
+
 		Update(IViewerUpdate update) {
 			fViewerUpdate = update;
 		}
@@ -109,7 +109,7 @@
 			fViewerUpdate.setStatus(getStatus());
 			fViewerUpdate.done();
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getViewerInput()
 		 */
@@ -117,18 +117,18 @@
 		public Object getViewerInput() {
 			return fFrame;
 		}
-		
+
 	}
-	
+
 	private class CountUpdate extends Update implements IChildrenCountUpdate {
 
 		private IChildrenCountUpdate fUpdate;
-		
+
 		CountUpdate(IChildrenCountUpdate delegate) {
 			super(delegate);
 			fUpdate = delegate;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate#setChildCount(int)
 		 */
@@ -136,18 +136,18 @@
 		public void setChildCount(int numChildren) {
 			fUpdate.setChildCount(numChildren);
 		}
-		
+
 	}
-	
+
 	private class HasUpdate extends Update implements IHasChildrenUpdate {
 
 		private IHasChildrenUpdate fUpdate;
-		
+
 		HasUpdate(IHasChildrenUpdate delegate) {
 			super(delegate);
 			fUpdate = delegate;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IHasChildrenUpdate#setHasChilren(boolean)
 		 */
@@ -155,13 +155,13 @@
 		public void setHasChilren(boolean hasChildren) {
 			fUpdate.setHasChilren(hasChildren);
 		}
-		
+
 	}
-	
+
 	private class ChildrenUpdate extends Update implements IChildrenUpdate {
 
 		private IChildrenUpdate fUpdate;
-		
+
 		ChildrenUpdate(IChildrenUpdate delegate) {
 			super(delegate);
 			fUpdate = delegate;
@@ -189,9 +189,9 @@
 		public void setChild(Object child, int offset) {
 			fUpdate.setChild(child, offset);
 		}
-		
+
 	}
-	
+
 	/**
 	 * The memento request has to override {@link #getElement()} to provide the element
 	 * that a memento is requested for (which could be any element in the view, not just
@@ -219,9 +219,9 @@
 		public TreePath getElementPath() {
 			return fUpdate.getElementPath();
 		}
-		
+
 	}
-	
+
 	private class ElementCompare extends MementoRequest implements IElementCompareRequest {
 
 		private IElementCompareRequest fRequest;
@@ -236,12 +236,12 @@
 		public void setEqual(boolean equal) {
 			fRequest.setEqual(equal);
 		}
-		
+
 	}
 
 	/**
 	 * Creates a new register group proxy for the given stack frame.
-	 * 
+	 *
 	 * @param frame stack frame
 	 * @throws DebugException exception if unable to retrieve register groups
 	 */
@@ -249,12 +249,12 @@
 		fFrame = frame;
 		init(frame);
 	}
-	
+
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * A register group proxy is equal to other stack frames that have the same
 	 * register groups.
-	 * 
+	 *
 	 * @see java.lang.Object#equals(java.lang.Object)
 	 */
 	@Override
@@ -279,7 +279,7 @@
 
 	/**
 	 * Initializes the register groups for this stack frame.
-	 * 
+	 *
 	 * @param frame stack frame
 	 */
 	private void init(IStackFrame frame) throws DebugException {
@@ -288,7 +288,7 @@
 
 	/**
 	 * Returns cached register groups for this stack frame.
-	 * 
+	 *
 	 * @return register groups
 	 */
 	protected IRegisterGroup[] getRegisterGroups() {
@@ -329,7 +329,7 @@
 			return factory.getColumnPresentationId(context, fFrame);
 		}
 		return null;
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider#update(org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate[])
@@ -363,7 +363,7 @@
 		} else {
 			cancelUpdates(updates);
 		}
-		
+
 	}
 
 	/* (non-Javadoc)
@@ -381,11 +381,11 @@
 		} else {
 			cancelUpdates(updates);
 		}
-	}	
-	
+	}
+
 	/**
 	 * Cancels a collection of update requests.
-	 * 
+	 *
 	 * @param updates updates to cancel
 	 */
 	private void cancelUpdates(IViewerUpdate[] updates) {
@@ -448,6 +448,6 @@
 		} else {
 			cancelUpdates(requests);
 		}
-	}	
-		
+	}
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameViewerInputProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameViewerInputProvider.java
index fb3ac0c..c463a09 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameViewerInputProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/StackFrameViewerInputProvider.java
@@ -24,20 +24,20 @@
  * @since 3.4
  */
 public class StackFrameViewerInputProvider extends ViewerInputProvider {
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ViewerInputProvider#getViewerInput(java.lang.Object, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate)
 	 */
 	@Override
 	protected Object getViewerInput(Object source, IPresentationContext context, IViewerUpdate update) throws CoreException {
 	    if ( IDebugUIConstants.ID_REGISTER_VIEW.equals(context.getId()) ) {
-	        return new RegisterGroupProxy((IStackFrame) source);  
+	        return new RegisterGroupProxy((IStackFrame) source);
 	    } else if ( IDebugUIConstants.ID_BREAKPOINT_VIEW.equals(context.getId()) ) {
 	    	return new DefaultBreakpointsViewInput(context);
 	    } else {
 	        return DebugPlugin.getDefault().getExpressionManager();
 	    }
-	       
+
 	}
 
 	/* (non-Javadoc)
@@ -45,8 +45,8 @@
 	 */
 	@Override
 	protected boolean supportsContextId(String id) {
-		return IDebugUIConstants.ID_REGISTER_VIEW.equals(id) || 
-		       IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id) ||     
+		return IDebugUIConstants.ID_REGISTER_VIEW.equals(id) ||
+		       IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id) ||
 		       IDebugUIConstants.ID_BREAKPOINT_VIEW.equals(id);
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java
index 9098c00..f6cac3a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnFactoryAdapter.java
@@ -20,7 +20,7 @@
 
 /**
  * Factory for default variable column presentation.
- * 
+ *
  * @since 3.2
  */
 public class VariableColumnFactoryAdapter implements IColumnPresentationFactory {
@@ -31,9 +31,9 @@
 	@Override
 	public IColumnPresentation createColumnPresentation(IPresentationContext context, Object element) {
 		String id = context.getId();
-        if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) || 
-            IDebugUIConstants.ID_REGISTER_VIEW.equals(id) || 
-            IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id)) 
+        if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) ||
+            IDebugUIConstants.ID_REGISTER_VIEW.equals(id) ||
+            IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id))
         {
 			if (element instanceof IStackFrame || element instanceof IExpressionManager) {
 				return new VariableColumnPresentation();
@@ -48,9 +48,9 @@
 	@Override
 	public String getColumnPresentationId(IPresentationContext context, Object element) {
 		String id = context.getId();
-		if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) || 
-		    IDebugUIConstants.ID_REGISTER_VIEW.equals(id) || 
-		    IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id)) 
+		if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(id) ||
+		    IDebugUIConstants.ID_REGISTER_VIEW.equals(id) ||
+		    IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id))
 		{
 			if (element instanceof IStackFrame || element instanceof IExpressionManager) {
 				return IDebugUIConstants.COLUMN_PRESENTATION_ID_VARIABLE;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java
index 35489d8..bbb7e24 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/VariableColumnPresentation.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
  *******************************************************************************/
@@ -15,18 +15,18 @@
 
 /**
  * Columns for Java variables.
- * 
+ *
  * @since 3.2
  */
 public class VariableColumnPresentation extends AbstractColumnPresentation {
-	
+
 	/**
 	 * Constant identifier for the default variable column presentation.
 	 * @deprecated Replaced by {@link IDebugUIConstants#COLUMN_PRESENTATION_ID_VARIABLE}
 	 */
 	@Deprecated
 	public final static String DEFAULT_VARIABLE_COLUMN_PRESENTATION = IDebugUIConstants.COLUMN_PRESENTATION_ID_VARIABLE;
-	
+
 	/**
 	 * Default column identifiers
 	 * @deprecated Replaced by {@link IDebugUIConstants#COLUMN_ID_VARIABLE_NAME}
@@ -48,12 +48,12 @@
 	 */
 	@Deprecated
 	public final static String COLUMN_VALUE_TYPE = IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE_TYPE;
-	
-	private static final String[] ALL_COLUMNS = new String[]{IDebugUIConstants.COLUMN_ID_VARIABLE_NAME, 
+
+	private static final String[] ALL_COLUMNS = new String[]{IDebugUIConstants.COLUMN_ID_VARIABLE_NAME,
 		IDebugUIConstants.COLUMN_ID_VARIABLE_TYPE, IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE, IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE_TYPE};
-	private static final String[] INITIAL_COLUMNS = new String[]{IDebugUIConstants.COLUMN_ID_VARIABLE_NAME, 
-		IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE}; 
-	
+	private static final String[] INITIAL_COLUMNS = new String[]{IDebugUIConstants.COLUMN_ID_VARIABLE_NAME,
+		IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE};
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getColumns()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/WatchExpressionCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/WatchExpressionCellModifier.java
index 840200f..6286da3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/WatchExpressionCellModifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/WatchExpressionCellModifier.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -18,12 +18,12 @@
 
 /**
  * Watch expressions modifier can change the expression name but not its value.
- * 
+ *
  * @since 3.6
  */
 @SuppressWarnings("deprecation")
 public class WatchExpressionCellModifier implements ICellModifier {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
 	 */
@@ -31,7 +31,7 @@
 	public boolean canModify(Object element, String property) {
         if (VariableColumnPresentation.COLUMN_VARIABLE_NAME.equals(property)) {
             return element instanceof IWatchExpression;
-        }  
+        }
 		return false;
 	}
 
@@ -42,7 +42,7 @@
 	public Object getValue(Object element, String property) {
         if (VariableColumnPresentation.COLUMN_VARIABLE_NAME.equals(property)) {
             return DefaultLabelProvider.escapeSpecialChars( ((IWatchExpression)element).getExpressionText() );
-        }  
+        }
         return null;
 	}
 
@@ -56,8 +56,8 @@
         	if (VariableColumnPresentation.COLUMN_VARIABLE_NAME.equals(property)) {
 				if (element instanceof IWatchExpression) {
 					if (value instanceof String) {
-						// The value column displays special characters 
-					    // escaped, so encode the string with any special 
+						// The value column displays special characters
+					    // escaped, so encode the string with any special
 					    // characters escaped properly
 						String expressionText = DefaultLabelProvider.encodeEsacpedChars((String)value);
 						IWatchExpression expression = (IWatchExpression) element;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/ComboControlledStackComposite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/ComboControlledStackComposite.java
index 4187db0..e1b90b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/ComboControlledStackComposite.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/ComboControlledStackComposite.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:
  *      QNX Software Systems - initial API and implementation
  *      Freescale Semiconductor
@@ -128,7 +128,7 @@
 		Label label = new Label(parent, SWT.WRAP);
 	    return label;
     }
-	
+
 	protected Combo createCombo(Composite parent) {
 		Combo box = new Combo(parent, SWT.READ_ONLY);
 		box.addSelectionListener(new SelectionAdapter() {
@@ -149,8 +149,8 @@
 		layout.topControl = tabMap.get(label);
 		getStackParent().layout();
 	}
-	
+
 	public Control getTopControl() {
-		return layout != null ? layout.topControl : null; 
+		return layout != null ? layout.topControl : null;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java
index 087cc4e..a0f0f37 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/CommonTabLite.java
@@ -4,14 +4,14 @@
  *  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
- *     Freescale Semiconductor (stripped out functionality from platform debug version) 
+ *     Freescale Semiconductor (stripped out functionality from platform debug version)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.groups;
 
- 
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -73,7 +73,7 @@
 /**
  * This class was taken from org.eclipse.debug.ui. We expose a Common tab for
  * Multilaunch that has only a subset of the standard tab's properties.
- * 
+ *
  * Launch configuration tab used to specify the location a launch configuration
  * is stored in, whether it should appear in the favorites list, and perspective
  * switching behavior for an associated launch.
@@ -83,9 +83,9 @@
  * Copied from CDT (org.eclipse.cdt.launch)
  */
 class CommonTabLite extends AbstractLaunchConfigurationTab {
-	
+
 	private final String SETTINGS_ID = IDebugUIConstants.PLUGIN_ID + ".SHARED_LAUNCH_CONFIGURATON_DIALOG"; //$NON-NLS-1$
-	
+
 	/**
 	 * This attribute exists solely for the purpose of making sure that invalid shared locations
 	 * can be revertible. This attribute is not saveable and will never appear in a saved
@@ -93,18 +93,18 @@
 	 * @since 3.3
 	 */
 	private static final String BAD_CONTAINER = "bad_container_name"; //$NON-NLS-1$
-	
+
 	// Local/shared UI widgets
 	private Button fLocalRadioButton;
 	private Button fSharedRadioButton;
 	private Text fSharedLocationText;
 	private Button fSharedLocationButton;
-	
+
 	/**
 	 * Check box list for specifying favorites
 	 */
 	private CheckboxTableViewer fFavoritesTable;
-			
+
 	/**
 	 * Modify listener that simply updates the owning launch configuration dialog.
 	 */
@@ -114,22 +114,22 @@
 			updateLaunchConfigurationDialog();
 		}
 	};
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
-	public void createControl(Composite parent) {		
+	public void createControl(Composite parent) {
 		Composite comp = new Composite(parent, SWT.NONE);
 		setControl(comp);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);
 		comp.setLayout(new GridLayout(2, true));
 		comp.setFont(parent.getFont());
-		
+
 		createSharedConfigComponent(comp);
 		createFavoritesComponent(comp);
 	}
-	
+
 	/**
 	 * Creates the favorites control
 	 * @param parent the parent composite to add this one to
@@ -151,7 +151,7 @@
 				}
 			});
 	}
-	
+
 	/**
 	 * Creates the shared config component
 	 * @param parent the parent composite to add this component to
@@ -179,18 +179,18 @@
 			}
 		});
 		fSharedLocationText.addModifyListener(fBasicModifyListener);
-		fSharedLocationButton = createPushButton(comp, LaunchConfigurationsMessages.CommonTab__Browse_6, null);	 
+		fSharedLocationButton = createPushButton(comp, LaunchConfigurationsMessages.CommonTab__Browse_6, null);
 		fSharedLocationButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent evt) {
 				handleSharedLocationButtonSelected();
 			}
-		});	
+		});
 
 		fLocalRadioButton.setSelection(true);
-		setSharedEnabled(false);	
+		setSharedEnabled(false);
 	}
-	
+
 	/**
 	 * handles the shared radio button being selected
 	 */
@@ -198,16 +198,16 @@
 		setSharedEnabled(isShared());
 		updateLaunchConfigurationDialog();
 	}
-	
+
 	/**
 	 * Sets the widgets for specifying that a launch configuration is to be shared to the enable value
-	 * @param enable the enabled value for 
+	 * @param enable the enabled value for
 	 */
 	private void setSharedEnabled(boolean enable) {
 		fSharedLocationText.setEnabled(enable);
 		fSharedLocationButton.setEnabled(enable);
 	}
-	
+
 	private String getDefaultSharedConfigLocation(ILaunchConfiguration config) {
 		String path = IInternalDebugCoreConstants.EMPTY_STRING;
 		try {
@@ -221,11 +221,11 @@
 					}
 				}
 			}
-		} 
+		}
 		catch (CoreException e) {DebugUIPlugin.log(e);}
 		return path;
 	}
-	
+
 	/**
 	 * if the shared radio button is selected, indicating that the launch configuration is to be shared
 	 * @return true if the radio button is selected, false otherwise
@@ -233,11 +233,11 @@
 	private boolean isShared() {
 		return fSharedRadioButton.getSelection();
 	}
-	
+
 	/**
 	 * Handles the shared location button being selected
 	 */
-	private void handleSharedLocationButtonSelected() { 
+	private void handleSharedLocationButtonSelected() {
 		String currentContainerString = fSharedLocationText.getText();
 		IContainer currentContainer = getContainer(currentContainerString);
 		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(),
@@ -247,14 +247,14 @@
 		dialog.showClosedProjects(false);
 		dialog.setDialogBoundsSettings(getDialogBoundsSettings(), Dialog.DIALOG_PERSISTSIZE);
 		dialog.open();
-		Object[] results = dialog.getResult();	
+		Object[] results = dialog.getResult();
 		if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {
 			IPath path = (IPath)results[0];
 			String containerName = path.toOSString();
 			fSharedLocationText.setText(containerName);
-		}		
+		}
 	}
-	
+
 	private IDialogSettings getDialogBoundsSettings() {
 		IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
 		IDialogSettings section = settings.getSection(SETTINGS_ID);
@@ -273,7 +273,7 @@
 		Path containerPath = new Path(path);
 		return (IContainer) getWorkspaceRoot().findMember(containerPath);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -297,7 +297,7 @@
 		}
 		updateFavoritesFromConfig(configuration);
 	}
-	
+
 
 	/**
 	 * Updates the favorites selections from the local configuration
@@ -353,17 +353,17 @@
 			config.setContainer(null);
 		}
 	}
-	
+
 	/**
 	 * Convenience accessor
 	 */
 	protected LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
 	}
-	
+
 	/**
 	 * Update the favorite settings.
-	 * 
+	 *
 	 * NOTE: set to <code>null</code> instead of <code>false</code> for backwards compatibility
 	 *  when comparing if content is equal, since 'false' is default
 	 * 	and will be missing for older configurations.
@@ -398,7 +398,7 @@
 						return;
 					}
 				}
-			} 
+			}
 			config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
 			config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String)null);
 			List<String> groups = null;
@@ -412,16 +412,16 @@
 			config.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
 		} catch (CoreException e) {
 			DebugUIPlugin.log(e);
-		}		
-	}	
-	
+		}
+	}
+
 	/**
 	 * Convenience method for getting the workspace root.
 	 */
 	private IWorkspaceRoot getWorkspaceRoot() {
 		return ResourcesPlugin.getWorkspace().getRoot();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -429,10 +429,10 @@
 	public boolean isValid(ILaunchConfiguration config) {
 		setMessage(null);
 		setErrorMessage(null);
-		
+
 		return validateLocalShared();
 	}
-	
+
     /**
      * validates the local shared config file location
      * @return true if the local shared file exists, false otherwise
@@ -442,14 +442,14 @@
 			String path = fSharedLocationText.getText().trim();
 			IContainer container = getContainer(path);
 			if (container == null || container.equals(ResourcesPlugin.getWorkspace().getRoot())) {
-				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Invalid_shared_configuration_location_14); 
+				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Invalid_shared_configuration_location_14);
 				return false;
 			} else if (!container.getProject().isOpen()) {
-				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1); 
-				return false;				
+				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1);
+				return false;
 			}
 		}
-		return true;		
+		return true;
 	}
 
 	/* (non-Javadoc)
@@ -475,19 +475,19 @@
 	 */
 	@Override
 	public String getName() {
-		return LaunchConfigurationsMessages.CommonTab__Common_15; 
+		return LaunchConfigurationsMessages.CommonTab__Common_15;
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	@Override
 	public String getId() {
 		return "org.eclipse.debug.ui.commonTab"; //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
 	 */
@@ -503,7 +503,7 @@
 	public Image getImage() {
 		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
@@ -531,7 +531,7 @@
 				LaunchHistory history = getLaunchConfigurationManager().getLaunchHistory(extension.getIdentifier());
 				if (history != null && history.accepts(configuration)) {
 					possibleGroups.add(extension);
-				} 
+				}
 			}
 			return possibleGroups.toArray();
 		}
@@ -543,13 +543,13 @@
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
 
 	}
-	
+
 	/**
 	 * Provides the labels for the favorites table
 	 *
 	 */
 	class FavoritesLabelProvider implements ITableLabelProvider {
-		
+
 		private Map<Object, Image> fImages = new HashMap<Object, Image>();
 
 		@Override
@@ -587,7 +587,7 @@
 		public boolean isLabelProperty(Object element, String property) {return false;}
 
 		@Override
-		public void removeListener(ILabelProviderListener listener) {}		
+		public void removeListener(ILabelProviderListener listener) {}
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupElementLaunchedHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupElementLaunchedHandler.java
index 24d276c..fd4ae33 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupElementLaunchedHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupElementLaunchedHandler.java
@@ -19,7 +19,7 @@
 /**
  * Handles additionally required actions when a member of a group has been
  * launched
- * 
+ *
  * @since 3.12
  */
 public class GroupElementLaunchedHandler implements IStatusHandler {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java
index d795651..4873552 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationSelectionDialog.java
@@ -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:
  *      QNX Software Systems - initial API and implementation
  *      Freescale Semiconductor
@@ -73,7 +73,7 @@
  */
 class GroupLaunchConfigurationSelectionDialog extends TitleAreaDialog implements ISelectionChangedListener {
 	private static final String GROUP_TYPE_ID = "org.eclipse.debug.core.groups.GroupLaunchConfigurationType"; //$NON-NLS-1$
-	
+
 	private ISelection fSelection;
 	private String mode;
 	private GroupElementPostLaunchAction action = GroupElementPostLaunchAction.NONE;
@@ -95,7 +95,7 @@
 		fForEditing = forEditing;
 		selfRef = self;
 		setShellStyle(getShellStyle() | SWT.RESIZE);
-		
+
 		groupType = getLaunchManager().getLaunchConfigurationType(GROUP_TYPE_ID);
 		emptyTypeFilter = new ViewerFilter() {
 			@Override
@@ -432,7 +432,7 @@
 				}
 			}
 		}
-		
+
 		return false;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java
index 2dca579..2aa4947 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchConfigurationTabGroup.java
@@ -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:
  *      QNX Software Systems - initial API and implementation
  *      Freescale Semiconductor
@@ -66,7 +66,7 @@
 
 /**
  * Tab group for Launch Group.
- * 
+ *
  * @since 3.12
  */
 public class GroupLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
@@ -118,7 +118,7 @@
 					Image errorImage = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
 					return errorImage;
 				}
-				
+
 				try {
 	                String key = el.data.getType().getIdentifier();
 	                return DebugPluginImages.getImage(key);
@@ -136,7 +136,7 @@
 				return null;
 			}
 			GroupLaunchElement el = (GroupLaunchElement) element;
-			
+
 			// launch name
 			if (columnIndex == 0) {
 				try {
@@ -146,11 +146,11 @@
 				}
 			}
 
-			// launch mode 
+			// launch mode
 			if (columnIndex == 1) {
 				return el.mode + (el.adoptIfRunning ? DebugUIMessages.GroupLaunchConfigurationTabGroup_lblAdopt : ""); //$NON-NLS-1$
 			}
-			
+
 			// launch post action
 			if (columnIndex == 2) {
 				GroupElementPostLaunchAction action = el.action;
@@ -172,7 +172,7 @@
 			return null;
 		}
 	}
-	
+
 	static class CheckStateProvider implements ICheckStateProvider {
 
 		/* (non-Javadoc)
@@ -212,10 +212,10 @@
 		}
 
 		protected abstract void updateWidgetEnablement();
-		
+
 		/**
 		 * Helper method to create a push button.
-		 * 
+		 *
 		 * @param parent
 		 *            the parent control
 		 * @param key
@@ -252,7 +252,7 @@
 		protected abstract void addPressed();
 
 		protected abstract void editPressed();
-		
+
 		protected abstract void deletePressed();
 
 		protected abstract void downPressed();
@@ -292,12 +292,12 @@
 			TreeColumn col3 = new TreeColumn(table, SWT.NONE);
 			col3.setText(DebugUIMessages.GroupLaunchConfigurationTabGroup_12);
 			col3.setWidth(100);
-		
+
 			treeViewer.setInput(input);
 			final ButtonComposite buts = new ButtonComposite(comp, SWT.NONE) {
 				@Override
 				protected void addPressed() {
-					GroupLaunchConfigurationSelectionDialog dialog = 
+					GroupLaunchConfigurationSelectionDialog dialog =
 						GroupLaunchConfigurationSelectionDialog.createDialog(
 									treeViewer.getControl().getShell(), GroupLaunchElement.MODE_INHERIT, false, self);
 					if (dialog.open() == Window.OK) {
@@ -327,7 +327,7 @@
 					editButton.setEnabled(selectionCount == 1);
 					deleteButton.setEnabled(selectionCount > 0);
 				}
-				
+
 
 				@Override
 				protected void editPressed() {
@@ -336,7 +336,7 @@
 						return;
 					}
 					GroupLaunchElement el = input.get(index);
-					GroupLaunchConfigurationSelectionDialog dialog = 
+					GroupLaunchConfigurationSelectionDialog dialog =
 						GroupLaunchConfigurationSelectionDialog.createDialog(
 									treeViewer.getControl().getShell(), el.mode, true, self);
 					if (isValidLaunchReference(el.data)) {
@@ -401,11 +401,11 @@
 				private int[] getMultiSelectionIndices() {
 					StructuredSelection sel = (StructuredSelection) treeViewer.getSelection();
 					List<Integer> indices = new ArrayList<Integer>();
-					
+
 					for (Iterator<?> iter = sel.iterator(); iter.hasNext(); ) {
 						GroupLaunchElement el = (GroupLaunchElement) iter.next();
 						indices.add(input.indexOf(el));
-						
+
 					}
 					int[] result = new int[indices.size()];
 					for (int i = 0; i < result.length; i++) {
@@ -417,7 +417,7 @@
 				private int getSelectionCount() {
 					return ((StructuredSelection)treeViewer.getSelection()).size();
 				}
-				
+
 
 				@Override
 				protected void downPressed() {
@@ -425,7 +425,7 @@
 						return;
 					}
 					int index = getSingleSelectionIndex();
-					
+
 					GroupLaunchElement x = input.get(index);
 					input.set(index, input.get(index + 1));
 					input.set(index + 1, x);
@@ -433,12 +433,12 @@
 					updateWidgetEnablement();
 					updateLaunchConfigurationDialog();
 				}
-				
+
 				protected boolean isDownEnabled() {
 					final int index = getSingleSelectionIndex();
 	                return (index >= 0) && (index != input.size() - 1);
                 }
-				
+
 				protected boolean isUpEnabled(){
 					return getSingleSelectionIndex() > 0;
 				}
@@ -463,14 +463,14 @@
 					buts.updateWidgetEnablement();
 				}
 			});
-			
+
 			treeViewer.getTree().addSelectionListener(new SelectionAdapter(){
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {
 					buts.editPressed();
 				}
 			});
-			
+
 			treeViewer.addCheckStateListener(new ICheckStateListener(){
 				@Override
 				public void checkStateChanged(CheckStateChangedEvent event) {
@@ -502,7 +502,7 @@
 				DebugPlugin.log(e);
 			}
 
-			// replace the input from previously shown launch configurations 
+			// replace the input from previously shown launch configurations
 			input = GroupLaunchConfigurationDelegate.createLaunchElements(configuration);
 			if (treeViewer != null) {
 				treeViewer.setInput(input);
@@ -529,7 +529,7 @@
 			int validLaunches = 0;
 			// test if each launch is valid
 			for (GroupLaunchElement element : input) {
-				if (element.enabled) { 
+				if (element.enabled) {
 					if ( element.data == null) {
 						// error referencing invalid launch
 						setErrorMessage(MessageFormat.format(DebugUIMessages.GroupLaunchConfigurationTabGroup_14,
@@ -542,12 +542,12 @@
 						return false;
 					}
 					validLaunches++;
-				} 
+				}
 			}
 			if (validLaunches < 1) {
 				// must have at least one valid and enabled launch
 				setErrorMessage(DebugUIMessages.GroupLaunchConfigurationTabGroup_16);
-				return false;				
+				return false;
 			}
 			return true;
 		}
@@ -559,7 +559,7 @@
 
 	/**
 	 * Test if a launch configuration is a valid reference.
-	 * 
+	 *
 	 * @param config configuration reference
 	 * @return <code>true</code> if it is a valid reference, <code>false</code>
 	 *         if launch configuration should be filtered
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchHandler.java
index 799a34a..4cf686a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/GroupLaunchHandler.java
@@ -26,7 +26,7 @@
  * <p>
  * The implementation uses some static variables to keep track as
  * IStatusHandlers are instantiated from scratch for each state change.
- * 
+ *
  * @since 3.12
  */
 public class GroupLaunchHandler implements IStatusHandler {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/UnsupportedModeHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/UnsupportedModeHandler.java
index cc58548..de4a090 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/UnsupportedModeHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/groups/UnsupportedModeHandler.java
@@ -21,7 +21,7 @@
 /**
  * Handles the case where a launch configuration in a group cannot be launched
  * in the requested mode.
- * 
+ *
  * @since 3.12
  */
 public class UnsupportedModeHandler implements IStatusHandler {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
index e13636e..506d73f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
@@ -46,7 +46,7 @@
 
 /**
  * This class creates a simplified debug view that can be used in wizards etc., to emulate the current debug view
- * 
+ *
  * @see WizardExportBreakpointsPage
  * @see WizardImportBreakpointsPage
  *
@@ -65,10 +65,10 @@
 			updateCheckedState(event.getElement(), event.getChecked());
 		}
 	};
-	
+
 	/**
 	 * This constructor allows a specific selection to be used in stead of the default
-	 * 
+	 *
 	 * @param parent the parent composite to add this one to
 	 * @param input the input to the viewer
 	 * @param selection the selection to set on the viewer
@@ -78,11 +78,11 @@
 		Assert.isNotNull(input);
 		createControl(parent, input, selection);
 	}
-	
+
 	/**
 	 * Creates the control initialized to the current view, selection, and organization of the breakpoints view
 	 * @param parent the parent composite to add this one to.
-	 * 
+	 *
 	 * @param parent the parent composite to add this one to
 	 * @param input the input for the viewer
 	 * @param selection the selection for the viewer to be initialized to. If null the selection from the breakpoints view is used
@@ -99,7 +99,7 @@
 			}
 		}
 		Composite composite = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_BOTH, 0, 0);
-		
+
 		// create the treeview
 		fTree = new Tree(composite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);
 		GridData gd = new GridData(GridData.FILL_BOTH);
@@ -110,7 +110,7 @@
 		fViewer = new BreakpointsViewer(fTree);
 		BreakpointsLabelProvider labelprovider = new BreakpointsLabelProvider();
 		if(view != null) {
-			//if we have handle to the view try get the current attributes, that way the 
+			//if we have handle to the view try get the current attributes, that way the
 			//presentation of the embedded viewer matches the current view
 			Map<String, Object> map = null;
 			IDebugModelPresentation current = view.getAdapter(IDebugModelPresentation.class);
@@ -138,7 +138,7 @@
 		fProvider.setOrganizers(orgs);
 		initViewerState();
 	}
-	
+
 	/**
 	 * Performs the initialization of the viewer from a selection
 	 */
@@ -161,7 +161,7 @@
 			updateCheckedState(list.get(i), true);
 		}
 	}
-	
+
 	/**
 	 * FInds the breakpoints of a given container
 	 * @param container the container to get breakpoints from
@@ -174,7 +174,7 @@
             list.add(bps[j]);
         }
 	}
-	
+
 	/**
 	 * Returns the selection from the viewer with no duplicates
 	 * @return the selection from the viewer with no duplicates
@@ -189,7 +189,7 @@
 		}
 		return new StructuredSelection(selected);
 	}
-	
+
 	/**
 	 * Allows access to the viewer
 	 * @return the viewer
@@ -197,7 +197,7 @@
 	public BreakpointsViewer getViewer() {
 		return fViewer;
 	}
-   
+
 	/**
 	 * finds all occurrences of a widget to update
 	 * @param element the element to search for when finding occurrences
@@ -211,7 +211,7 @@
         }
         return list.toArray(new Widget[0]);
     }
-    
+
     /**
      * performs the actual search for items in the tree
      * @param list the list to add matches to
@@ -227,10 +227,10 @@
         	findAllOccurrences(items[i], element, list);
         }
     }
-    
+
 	 /**
      * Update the checked state of the given element and all of its children.
-     * 
+     *
      * @param obj the object that has been changed
      * @param enable the checked status of the obj
      */
@@ -282,7 +282,7 @@
     		parent = parent.getParentItem();
     	}
     }
-    
+
     /**
      * Gets the number of grayed children for this parent
      * @param parent the parent to inspect
@@ -298,7 +298,7 @@
     	}
     	return count;
     }
-    
+
     /**
      * Checks to see if all of the children under an given parent are checked or not
      * @param children the children to check
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java
index 90b9db3..f3d9f9c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ExportBreakpoints.java
@@ -27,20 +27,20 @@
  * <p>
  * This class provides the aciton event for both the context menu in breakpoints view
  * and the drop down menu inn the breakpoints view.
- * </p> 
+ * </p>
  * <p>
  *  The action simply calls the wizard to export breakpoints.
  *  </p>
  *  @see WizardExportBreakpoints
  *  @see WizardExportBreakpointsPage
- *  
+ *
  *  @since 3.2
  */
-public class ExportBreakpoints extends AbstractDebugActionDelegate { 
+public class ExportBreakpoints extends AbstractDebugActionDelegate {
 
 	/**
 	 * This method actually performs the execution of the action event
-	 * 
+	 *
 	 * @param action IAction the action
 	 */
 	@Override
@@ -52,7 +52,7 @@
 		wizdialog.setBlockOnOpen(true);
 		wizdialog.open();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#update(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java
index 991dc97..4faf079 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/IImportExportConstants.java
@@ -20,35 +20,35 @@
 	/**
 	 * <p>
 	 * The name for the top level node in the XMLMemento for storing/restoring breakpoint information.</br>
-	 * 
+	 *
 	 * General formulation of the XMLMemento is as follows:</br>
-	 * 
+	 *
 	 * breakpoints := (breakpoint)*</br>
-	 * 
+	 *
 	 * breakpoint := resource</br>
-	 * 
+	 *
 	 * resource := (marker)+</br>
-	 * 
+	 *
 	 * marker := (attribs)+</br>
-	 * </p>	
+	 * </p>
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
-	 * 
+	 *
 	 */
 	public static final String IE_NODE_BREAKPOINTS = "breakpoints"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name of the node type for each of the imported or exported breakpoints
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_BREAKPOINT = "breakpoint"; //$NON-NLS-1$
-	
+
 	/**
 	 * <p>
 	 * The generalized ID for each of the values stored in a markers' attribute map.
-	 * Since a marker can have any number of attributes and or values, we use a 
+	 * Since a marker can have any number of attributes and or values, we use a
 	 * (name, value) paring in the XMLmemento to store them, without having a dependence upon what the attribute
 	 * is or what type it is.
 	 * </p>
@@ -56,93 +56,93 @@
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_VALUE = "value"; //$NON-NLS-1$
-	
+
 	/**
 	 * Each breakpoint has an associated resource, which is described with this element
 	 * name
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_RESOURCE = "resource"; //$NON-NLS-1$
-	
+
 	/**
 	 * To validate the resource when filtering importable breakpoints we need to know its path.
 	 * This is the the name of XMLMemento node that stores that path.
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_PATH = "path"; //$NON-NLS-1$
-	
+
 	/**
-	 * To filter the type of path searched for within the workspace to allow for the filtering of 
+	 * To filter the type of path searched for within the workspace to allow for the filtering of
 	 * breakpoints for import, we need to know the type to filter for.
-	 * 
+	 *
 	 * This is the name of the XMLMemento node that stores the type of the resource
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_TYPE = "type"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name for the marker node in the corresponding XMLMemento
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_MARKER = "marker"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name for a marker attribute node in the corresponding XMLMemento
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_ATTRIB = "attrib"; //$NON-NLS-1$
-	
+
 	/**
 	 * The generalized name for the "name" node used in marker attribute nodes.
 	 * This is the other ID in the (name, value) pairing used to describe attributes
 	 * of markers.
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_NODE_NAME = "name"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name of the enabled attribute, which is part of the breakpoint node information
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_BP_ENABLED = "enabled"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name of the registered attribute, which is part of the breakpoint node information
-	 * 
+	 *
 	 * @see WizardExportBreakpointsPage
 	 * @see WizardImportBreakpointsPage
 	 */
 	public static final String IE_BP_REGISTERED = "registered"; //$NON-NLS-1$
-	
+
 	/**
 	 * The name of the persistent attribute for breakpoint information
 	 */
 	public static final String IE_BP_PERSISTANT = "persistant"; //$NON-NLS-1$
-	
+
 	/**
 	 * The default file extension for breakpoint export files
 	 */
 	public static final String EXTENSION = "bkpt";  //$NON-NLS-1$
-	
+
 	/**
 	 * the charstart attribute from a marker
 	 */
 	public static final String CHARSTART = "charStart"; //$NON-NLS-1$
-	
+
 	/**
 	 * The delimiter for the listing of working sets that a marker belongs to
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java
index 5da660f..a2e1c0e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportBreakpoints.java
@@ -21,21 +21,21 @@
 
 /**
  * This class provides the aciton event for both the context menu in breakpoints view
- * and the drop down menu in the breakpoints view. 
+ * and the drop down menu in the breakpoints view.
  * <p>
  * The action simply calls the wizard to import breakpoints.
  * </p>
- *  
+ *
  *  @see WizardImportBreakpoints
  *  @see WizardImportBreakpointsPage
- *  
+ *
  *  @since 3.2
  */
 public class ImportBreakpoints extends AbstractDebugActionDelegate {
-	
+
 	/**
 	 * Opens import wizard
-	 * 
+	 *
 	 * @param action IAction the action
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java
index acee173..b6171ad 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/ImportExportMessages.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java
index 5deb204..189b57a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpoints.java
@@ -33,9 +33,9 @@
  * WizardDialog wizdialog = new WizardDialog(shell, wiz);
  * wizdialog.open();
  * </pre>
- * 
+ *
  * This class uses <code>WizardExportBreakpointsPage</code>
- * 
+ *
  * @since 3.2
  *
  */
@@ -45,17 +45,17 @@
 	 * The main page
 	 */
 	private WizardExportBreakpointsPage fMainPage = null;
-	
+
 	/**
 	 * The existing selection
 	 */
 	private IStructuredSelection fSelection = null;
-	
+
 	/**
-	 * Identifier for dialog settings section for the export wizard. 
+	 * Identifier for dialog settings section for the export wizard.
 	 */
 	private static final String EXPORT_DIALOG_SETTINGS = "BreakpointExportSettings"; //$NON-NLS-1$
-	
+
 	/**
 	 * This is the default constructor
 	 */
@@ -75,7 +75,7 @@
 	@Override
 	public void addPages() {
 		super.addPages();
-		fMainPage = new WizardExportBreakpointsPage(ImportExportMessages.WizardExportBreakpoints_0, fSelection); 
+		fMainPage = new WizardExportBreakpointsPage(ImportExportMessages.WizardExportBreakpoints_0, fSelection);
 		addPage(fMainPage);
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
index 986d8b6..7044a3c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardExportBreakpointsPage.java
@@ -65,7 +65,7 @@
  * </ul>
  * </p>
  * This class is used by <code>WizardExportBreakpoints</code>
- * 
+ *
  * @since 3.2
  */
 public class WizardExportBreakpointsPage extends WizardPage implements Listener {
@@ -82,18 +82,18 @@
 	//state constants
 	private static final String OVERWRITE_ALL_STATE = "overwrite"; //$NON-NLS-1$
 	private static final String DESTINATION_FILE_NAME = "filename"; //$NON-NLS-1$
-	
+
 	/**
 	 * This is the default constructor. It accepts the name for the tab as a
 	 * parameter and an existing selection
-	 * 
+	 *
 	 * @param pageName the name of the page
 	 */
 	public WizardExportBreakpointsPage(String pageName, IStructuredSelection selection) {
 		super(pageName, ImportExportMessages.WizardExportBreakpoints_0, null);
 		fSelection = selection;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
 	 */
@@ -113,7 +113,7 @@
 			handleDeselectAllPressed();
 		}
 	}
-	
+
 	/**
 	 * Handles the select all button pressed
 	 *
@@ -126,7 +126,7 @@
 		viewer.getTree().deselectAll();
 		setPageComplete(detectPageComplete());
 	}
-	
+
 	/**
 	 * Handles the de-select all button pressed
 	 *
@@ -137,7 +137,7 @@
 		viewer.setGrayedElements(new Object[] {});
 		setPageComplete(detectPageComplete());
 	}
-	
+
 	/**
 	 * This method handles the modified event from the path combo box.
 	 */
@@ -158,16 +158,16 @@
 			if (path != null) {
 				setErrorMessage(null);
 				if(path.getFileExtension() == null) {
-					path = path.addFileExtension(IImportExportConstants.EXTENSION);  
+					path = path.addFileExtension(IImportExportConstants.EXTENSION);
 				}
-				else if(!path.getFileExtension().equals(IImportExportConstants.EXTENSION)) { 
-					path = path.addFileExtension(IImportExportConstants.EXTENSION); 
+				else if(!path.getFileExtension().equals(IImportExportConstants.EXTENSION)) {
+					path = path.addFileExtension(IImportExportConstants.EXTENSION);
 				}
 				fDestinationNameField.setText(path.toString());
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -191,15 +191,15 @@
 		createButtonsGroup(composite);
 		createDestinationGroup(composite);
 		fOverwriteExistingFilesCheckbox = SWTFactory.createCheckButton(composite, ImportExportMessages.WizardBreakpointsPage_6, null, false, 1);
-		setControl(composite); 
+		setControl(composite);
 		setPageComplete(false);
 		setMessage(ImportExportMessages.WizardBreakpointsPage_4);
 		restoreWidgetState();
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.EXPORT_BREAKPOINTS_WIZARD_PAGE);
-		
+
 		Dialog.applyDialogFont(parent);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IDialogPage#getImage()
 	 */
@@ -215,18 +215,18 @@
      */
     private void createButtonsGroup(Composite parent) {
         Composite composite = SWTFactory.createComposite(parent, parent.getFont(), 3, 1, GridData.FILL_HORIZONTAL, 0, 0);
-        fSelectAll = SWTFactory.createPushButton(composite, ImportExportMessages.WizardBreakpointsPage_1, null); 
+        fSelectAll = SWTFactory.createPushButton(composite, ImportExportMessages.WizardBreakpointsPage_1, null);
         fSelectAll.addListener(SWT.Selection, this);
 		fDeselectAll = SWTFactory.createPushButton(composite, ImportExportMessages.WizardBreakpointsPage_2, null);
 		fDeselectAll.addListener(SWT.Selection, this);
     }
-	
+
 	/**
 	 * This method is used to determine if the page can be "finished".
-	 * 
+	 *
 	 * To be determined "finishable" there must be a save path and there must be
 	 * a selection in the tree.
-	 * 
+	 *
 	 * @return if the prerequisites of the wizard are met to allow the wizard to complete.
 	 */
 	private boolean detectPageComplete() {
@@ -252,7 +252,7 @@
 
 	/**
 	 * Create the export destination specification widgets
-	 * 
+	 *
 	 * @param parent org.eclipse.swt.widgets.Composite
 	 */
 	protected void createDestinationGroup(Composite parent) {
@@ -276,7 +276,7 @@
 			settings.put(DESTINATION_FILE_NAME, fDestinationNameField.getText().trim());
 		}
 	}
-	
+
 	/**
 	 * Restores the state of the wizard from previous invocations
 	 */
@@ -290,22 +290,22 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * The Finish button is clicked on the main wizard
 	 * dialog to export the breakpoints, we write them out with all persistent
 	 * information to a simple XML file via the use of XMLMemento.
-	 * 
+	 *
 	 * @return if the save operation was successful or not
 	 */
 	public boolean finish() {
 		try {
 			IPath path = new Path(fDestinationNameField.getText().trim());
 			if(path.getFileExtension() == null) {
-				path = path.addFileExtension(IImportExportConstants.EXTENSION);  
+				path = path.addFileExtension(IImportExportConstants.EXTENSION);
 			}
-			else if(!path.getFileExtension().equals(IImportExportConstants.EXTENSION)) { 
-				path = path.addFileExtension(IImportExportConstants.EXTENSION); 
+			else if(!path.getFileExtension().equals(IImportExportConstants.EXTENSION)) {
+				path = path.addFileExtension(IImportExportConstants.EXTENSION);
 			}
 			saveWidgetState();
 			if(path.toFile().exists() && !fOverwriteExistingFilesCheckbox.getSelection()) {
@@ -322,10 +322,10 @@
 					breakpoints.add((IBreakpoint) object);
 				}
 			}
-			getContainer().run(false, 
-					true, 
+			getContainer().run(false,
+					true,
 					new ExportBreakpointsOperation(
-							breakpoints.toArray(new IBreakpoint[breakpoints.size()]), 
+							breakpoints.toArray(new IBreakpoint[breakpoints.size()]),
 							path.toOSString()));
 		}
 		catch (InterruptedException e) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java
index 3bdcfc2..396027b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpoints.java
@@ -37,10 +37,10 @@
  * WizardDialog wizdialog = new WizardDialog(shell, wiz);
  * wizdialog.open();
  * </pre>
- * 
- * This class uses <code>WizardImportBreakpointsPage</code> and 
+ *
+ * This class uses <code>WizardImportBreakpointsPage</code> and
  * <code>WizardImportBreakpointsSelectionPage</code>.
- * 
+ *
  * @since 3.2
  *
  */
@@ -52,12 +52,12 @@
 	private WizardImportBreakpointsPage fMainPage;
 
 	private WizardImportBreakpointsSelectionPage fSelectionPage;
-	
+
 	/**
-	 * Identifier for dialog settings section for the import wizard. 
+	 * Identifier for dialog settings section for the import wizard.
 	 */
 	private static final String IMPORT_DIALOG_SETTINGS = "BreakpointImportSettings"; //$NON-NLS-1$
-	
+
 	/**
 	 * This is the default constructor
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java
index 651fdcf..9b30047 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/WizardImportBreakpointsPage.java
@@ -47,28 +47,28 @@
 
 /**
  * The import breakpoints wizard page.
- * 
+ *
  * This class is used in <code>WizardImportBreakpoints</code>.
- * 
+ *
  * @since 3.2
  */
 public class WizardImportBreakpointsPage extends WizardPage implements Listener {
-	
+
 	//widgets
 	private Button fAutoRemoveDuplicates = null;
 	private Button fAutoCreateWorkingSets = null;
 	private Text fFileNameField = null;
 	private Button fBrowseForFileButton = null;
-	
+
 //	state constants
 	private static final String REMOVE_DUPS = "overwrite"; //$NON-NLS-1$
 	private static final String CREATE_WORKING_SETS = "createws"; //$NON-NLS-1$
 	private static final String SOURCE_FILE_NAME = "filename"; //$NON-NLS-1$
-	
+
 	/**
 	 * This is the default constructor. It accepts the name for the tab as a
 	 * parameter
-	 * 
+	 *
 	 * @param pageName the name of the page
 	 */
 	public WizardImportBreakpointsPage(String pageName) {
@@ -98,7 +98,7 @@
 			fFileNameField.setText(file);
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -121,11 +121,11 @@
 	public Image getImage() {
 		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_WIZBAN_IMPORT_BREAKPOINTS);
 	}
-	
+
 	/**
 	 * This method is used to determine if the page can be "finished".
 	 * To be determined "finishable" there must be an import path.
-	 * 
+	 *
 	 * @return if the prerequisites of the wizard are met to allow the wizard to complete.
 	 */
 	private boolean detectPageComplete() {
@@ -139,24 +139,24 @@
 			setMessage(MessageFormat.format(ImportExportMessages.WizardImportBreakpointsPage_1, new Object[] { fileName }), ERROR);
 			return false;
 		}
-		
-		setMessage(ImportExportMessages.WizardImportBreakpointsPage_2); 
+
+		setMessage(ImportExportMessages.WizardImportBreakpointsPage_2);
 		return true;
 	}
 
 	/**
 	 * Create the options specification widgets.
-	 * 
+	 *
 	 * @param parent the parent composite to add this one to
 	 */
 	protected void createOptionsGroup(Composite parent) {
 		fAutoRemoveDuplicates = SWTFactory.createCheckButton(parent, ImportExportMessages.WizardImportBreakpointsPage_3, null, false, 1);
 		fAutoCreateWorkingSets = SWTFactory.createCheckButton(parent, ImportExportMessages.WizardImportBreakpointsPage_5, null, false, 1);
 	}
-	
+
 	/**
 	 * Create the export destination specification widgets
-	 * 
+	 *
 	 * @param parent the parent composite to add this one to
 	 */
 	protected void createDestinationGroup(Composite parent) {
@@ -166,12 +166,12 @@
 		// file name entry field
 		fFileNameField = SWTFactory.createText(comp, SWT.BORDER | SWT.SINGLE, 1, GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
 		fFileNameField.addListener(SWT.Modify, this);
-		
+
 		// destination browse button
 		fBrowseForFileButton = SWTFactory.createPushButton(comp, ImportExportMessages.WizardBreakpointsPage_8, null);
 		fBrowseForFileButton.addListener(SWT.Selection, this);
 	}
-	
+
 	/**
 	 * Save the state of the widgets select, for successive invocations of the wizard
 	 */
@@ -183,7 +183,7 @@
 			settings.put(SOURCE_FILE_NAME, fFileNameField.getText().trim());
 		}
 	}
-	
+
 	/**
 	 * Restores the state of the wizard from previous invocations
 	 */
@@ -198,7 +198,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * <p>
 	 * This method is called when the Finish button is click on the main wizard
@@ -207,20 +207,20 @@
 	 * </p>
 	 * @return if the import operation was successful or not
 	 */
-	public boolean finish() {	
+	public boolean finish() {
 		return finish(null);
 	}
 
 	public boolean finish(final List<IMarker> selectedMarkers) {
 		try {
 			saveWidgetState();
-			getContainer().run(false, true, 
+			getContainer().run(false, true,
 					new IRunnableWithProgress() {
 						@Override
 						public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
 							ImportBreakpointsOperation operation = new ImportBreakpointsOperation(
-									fFileNameField.getText().trim(), 
-									fAutoRemoveDuplicates.getSelection(), 
+									fFileNameField.getText().trim(),
+									fAutoRemoveDuplicates.getSelection(),
 									fAutoCreateWorkingSets.getSelection());
 							operation.run(monitor);
 							if(selectedMarkers != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizard.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizard.java
index 8c826ba..55f3b0d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizard.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizard.java
@@ -21,13 +21,13 @@
 /**
  * This class provides a wizard for exporting launch configurations to the local
  * file system
- * 
+ *
  * @since 3.4.0
  */
 public class ExportLaunchConfigurationsWizard extends Wizard implements IExportWizard {
 
 	private String EXPORT_DIALOG_SETTINGS = "ExportLaunchConfigurations"; //$NON-NLS-1$
-	
+
 	/**
 	 * Constructor
 	 */
@@ -49,7 +49,7 @@
 		IWizardPage page = new ExportLaunchConfigurationsWizardPage();
 		addPage(page);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java
index 28f9faf..6af48f7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ExportLaunchConfigurationsWizardPage.java
@@ -67,7 +67,7 @@
 import com.ibm.icu.text.MessageFormat;
 
 /**
- * This calls provides the one and only wizard page to the 
+ * This calls provides the one and only wizard page to the
  * export launch configurations wizard.
  * @since 3.4.0
  */
@@ -80,7 +80,7 @@
 	class ConfigContentProvider implements ITreeContentProvider {
 
 		ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
-		
+
 		@Override
 		public Object[] getChildren(Object parentElement) {
 			if(parentElement instanceof ILaunchConfigurationType) {
@@ -133,7 +133,7 @@
 	@Override
 	public void createControl(Composite parent) {
 		Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
-	  //add the check table 
+	  //add the check table
 		createViewer(comp);
 	  //add the file path and browse button
 		createFilePath(comp);
@@ -141,7 +141,7 @@
 		fOverwrite = SWTFactory.createCheckButton(comp, WizardMessages.ExportLaunchConfigurationsWizardPage_1, null, getDialogSettings().getBoolean(OVERWRITE), 2);
 		setControl(comp);
 		PlatformUI .getWorkbench().getHelpSystem().setHelp(comp, IDebugHelpContextIds.EXPORT_LAUNCH_CONFIGURATIONS_PAGE);
-		setMessage(WizardMessages.ExportLaunchConfigurationsWizardPage_7); 
+		setMessage(WizardMessages.ExportLaunchConfigurationsWizardPage_7);
 		//do not set page complete, Eclipse UI guidelines states wizards cannot start off with an error showing
 		setPageComplete(false);
 	}
@@ -175,7 +175,7 @@
 			}
 		});
 		Composite buttoncomp = SWTFactory.createComposite(parent, parent.getFont(), 2, 2, GridData.FILL_HORIZONTAL, 0, 0);
-		Button button = SWTFactory.createPushButton(buttoncomp, WizardMessages.ExportLaunchConfigurationsWizardPage_8, null); 
+		Button button = SWTFactory.createPushButton(buttoncomp, WizardMessages.ExportLaunchConfigurationsWizardPage_8, null);
 		button.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -186,7 +186,7 @@
 				setPageComplete(isComplete());
 			}
 		});
-		button = SWTFactory.createPushButton(buttoncomp, WizardMessages.ExportLaunchConfigurationsWizardPage_9, null); 
+		button = SWTFactory.createPushButton(buttoncomp, WizardMessages.ExportLaunchConfigurationsWizardPage_9, null);
 		button.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -198,7 +198,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Updates the checked state of child launch configurations if the parent type is checked
 	 * @param item
@@ -229,7 +229,7 @@
 			fViewer.setChecked(parent, checked | onechecked);
 		}
 	}
-	
+
 	/**
 	 * Creates the controls for the file path selection area of the page
 	 * @param parent
@@ -294,7 +294,7 @@
 		setMessage(WizardMessages.ExportLaunchConfigurationsWizardPage_7);
 		return true;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.wizard.WizardPage#getImage()
 	 */
@@ -302,7 +302,7 @@
 	public Image getImage() {
 		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_WIZBAN_EXPORT_CONFIGS);
 	}
-	
+
 	/**
 	 * This method performs the work of the page
 	 * @return if the export job was successful or not
@@ -426,7 +426,7 @@
 		exportjob.schedule();
 		return true;
 	}
-	
+
 	/**
 	 * Copies a file from one location to another
 	 * @param in the file to copy
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizard.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizard.java
index 7d8bc65..60681db 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizard.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizard.java
@@ -20,16 +20,16 @@
 /**
  * This class provides a wizard for importing launch configurations from the local
  * file system into the current workspace.
- * 
- * It allows the suer to specify if the configuration should be shared or local 
+ *
+ * It allows the suer to specify if the configuration should be shared or local
  * once imported
- * 
+ *
  * @since 3.4.0
  */
 public class ImportLaunchConfigurationsWizard extends Wizard implements IImportWizard {
-	
+
 	private String EXPORT_DIALOG_SETTINGS = "ExportLaunchConfigurations"; //$NON-NLS-1$
-	
+
 	/**
 	 * Constructor
 	 */
@@ -59,7 +59,7 @@
 	public void addPages() {
 		addPage(new ImportLaunchConfigurationsWizardPage());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java
index 7d1b4d9..5e4b357 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/launchconfigurations/ImportLaunchConfigurationsWizardPage.java
@@ -61,26 +61,26 @@
 public class ImportLaunchConfigurationsWizardPage extends WizardResourceImportPage {
 
 	/**
-	 * Represents a debug view of the file system, in that we only care about folders and files with the 
+	 * Represents a debug view of the file system, in that we only care about folders and files with the
 	 * extension *.launch
 	 * @since 3.4.0
 	 */
 	class DebugFileSystemElement extends FileSystemElement {
-		
+
 		private boolean populated = false;
-		
+
 		public DebugFileSystemElement(String name, FileSystemElement parent, boolean isDirectory) {
 			super(name, parent, isDirectory);
 		}
-		
+
 		public void setPopulated() {
 			populated = true;
 		}
-		
+
 		public boolean isPopulated() {
 			return populated;
 		}
-		
+
 		@Override
 		public AdaptableList getFiles() {
 			if(!populated) {
@@ -88,7 +88,7 @@
 			}
 			return super.getFiles();
 		}
-		
+
 		@Override
 		public AdaptableList getFolders() {
 			if(!populated) {
@@ -96,7 +96,7 @@
 			}
 			return super.getFolders();
 		}
-		
+
 		/**
 		 * Populates the children of the specified parent <code>FileSystemElement</code>
 		 * @param element
@@ -123,13 +123,13 @@
 			setPopulated();
 		}
 	}
-	
+
 	private String OVERWRITE = "import_config_overwrite"; //$NON-NLS-1$
 	private String OLD_PATH = "import_config_oldpath"; //$NON-NLS-1$
-	
+
 	private Text fFromDirectory = null;
 	private Button fOverwrite = null;
-	
+
 	/**
 	 * Constructor
 	 */
@@ -179,11 +179,11 @@
 			if(newconfig.exists() & !overwrite) {
 				if(nowall) {
 					continue;
-				}								
+				}
 				if(!owall) {
-					dialog = new MessageDialog(DebugUIPlugin.getShell(), 
-							WizardMessages.ExportLaunchConfigurationsWizardPage_11, 
-							null, 
+					dialog = new MessageDialog(DebugUIPlugin.getShell(),
+							WizardMessages.ExportLaunchConfigurationsWizardPage_11,
+							null,
  MessageFormat.format(WizardMessages.ExportLaunchConfigurationsWizardPage_12, new Object[] { config.getName() }),
 							MessageDialog.QUESTION, new String[] {WizardMessages.ExportLaunchConfigurationsWizardPage_13, WizardMessages.ExportLaunchConfigurationsWizardPage_14, WizardMessages.ExportLaunchConfigurationsWizardPage_15, WizardMessages.ExportLaunchConfigurationsWizardPage_16, WizardMessages.ExportLaunchConfigurationsWizardPage_17}, 0);
 					int ret = dialog.open();
@@ -233,7 +233,7 @@
 		return true;
 	}
 
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.wizard.WizardPage#getImage()
 	 */
@@ -249,7 +249,7 @@
 	protected void updateWidgetEnablements() {
 		setPageComplete(determinePageCompletion());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.WizardResourceImportPage#determinePageCompletion()
 	 */
@@ -267,13 +267,13 @@
 		setMessage(WizardMessages.ImportLaunchConfigurationsWizardPage_5);
 		return true;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.WizardResourceImportPage#createSourceGroup(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	protected void createSourceGroup(Composite parent) {}
-	
+
 	/**
      *	Create the group for creating the root directory
      */
@@ -313,8 +313,8 @@
 				File file = new File(path.toOSString());
 				DebugFileSystemElement dummyparent = new DebugFileSystemElement(IInternalDebugCoreConstants.EMPTY_STRING, null, true);
 				dummyparent.setPopulated();
-				DebugFileSystemElement element = new DebugFileSystemElement(FileSystemStructureProvider.INSTANCE.getLabel(file), 
-						dummyparent, 
+				DebugFileSystemElement element = new DebugFileSystemElement(FileSystemStructureProvider.INSTANCE.getLabel(file),
+						dummyparent,
 						file.isDirectory());
 				element.setFileSystemObject(file);
 				element.getFiles();
@@ -322,7 +322,7 @@
 			}
     	});
     }
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.WizardResourceImportPage#getFileProvider()
 	 */
@@ -339,7 +339,7 @@
             }
         };
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.WizardResourceImportPage#getFolderProvider()
 	 */
@@ -369,5 +369,5 @@
             }
         };
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
index 771ca39..1559beb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
@@ -22,12 +22,12 @@
  * Common function/behavior for launch configuration view actions
  */
 public abstract class AbstractLaunchConfigurationAction extends SelectionListenerAction {
-	
-	/** 
+
+	/**
 	 * The mode this action was created in (run, debug, ...)
 	 */
 	private String fMode;
-	
+
 	/**
 	 * Allows a requestor to abort this action.
 	 */
@@ -35,17 +35,17 @@
 		/**
 		 * Returns whether this action should proceed. Confirmation is requested
 		 * when an action is run.
-		 * 
+		 *
 		 * @return whether this action should proceed
 		 */
 		public boolean getConfirmation();
 	}
-	
+
 	/**
 	 * This action's confirmation requestor or <code>null</code> if none
 	 */
 	private IConfirmationRequestor fConfirmationRequestor;
-	
+
 	/**
 	 * The viewer this action is working on
 	 */
@@ -66,28 +66,28 @@
 
 	/**
 	 * Returns the shell this action is contained in.
-	 * 
+	 *
 	 * @return the shell this action is contained in
 	 */
 	protected Shell getShell() {
 		return getViewer().getControl().getShell();
 	}
-	
+
 	/**
 	 * Returns the viewer this action is working on
-	 * 
+	 *
 	 * @return the viewer this action is working on
 	 */
 	protected Viewer getViewer() {
 		return fViewer;
 	}
-	
+
 	/**
 	 * Performs this action once confirmation has been aquired. Subclasses
 	 * should override this method.
 	 */
 	protected abstract void performAction();
-	
+
 	/**
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
@@ -109,26 +109,26 @@
 		};
 		BusyIndicator.showWhile(getShell().getDisplay(), r);
 	}
-	
+
 	/**
 	 * Sets this action's confirmation requestor.
-	 * 
+	 *
 	 * @param confirmationRequestor the new {@link IConfirmationRequestor}
 	 */
 	public void setConfirmationRequestor(IConfirmationRequestor confirmationRequestor) {
 		fConfirmationRequestor = confirmationRequestor;
 	}
-	
+
 	/**
 	 * Disposes this action
 	 */
 	public void dispose() {
 		fViewer.removeSelectionChangedListener(this);
 	}
-	
+
 	/**
 	 * Show an error dialog on the given exception.
-	 * 
+	 *
 	 * @param exception the exception to show in the dialog
 	 */
 	protected void errorDialog(CoreException exception) {
@@ -137,7 +137,7 @@
 
 	/**
 	 * Return this action's mode.
-	 * 
+	 *
 	 * @return launch mode
 	 */
 	protected String getMode() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/ClosedProjectFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/ClosedProjectFilter.java
index 2a4d66c..7b47fbb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/ClosedProjectFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/ClosedProjectFilter.java
@@ -19,11 +19,11 @@
 import org.eclipse.jface.viewers.ViewerFilter;
 
 /**
- * 
+ *
  * This implementation is used to filter closed projects from the launch configuration dialog.
- * It is (de)activated via the <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED</code> preference, and is 
+ * It is (de)activated via the <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED</code> preference, and is
  * provided to fix bug 19521.
- * 
+ *
  * @since 3.2
  *
  */
@@ -60,7 +60,7 @@
 						return true;
 					}
 				}
-			} 
+			}
 			catch (CoreException e) {}
 		}
 		return false;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java
index ad47df4..edaa8ef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CollapseAllLaunchConfigurationAction.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
  *******************************************************************************/
@@ -27,12 +27,12 @@
 	 * Action identifier for IDebugView#getAction(String)
 	 */
 	public static final String ID_COLLAPSEALL_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_COLLAPSEALL_ACTION"; //$NON-NLS-1$
-	
+
 	/**
-	 * the viewer to perform the collapse all on 
+	 * the viewer to perform the collapse all on
 	 */
 	private TreeViewer fViewer = null;
-	
+
 	/**
 	 * Constructor
 	 * @param viewer the viewer to perform the collapse all on
@@ -87,5 +87,5 @@
 	@Override
 	public String getDescription() {
 		return LaunchConfigurationsMessages.CollapseAllLaunchConfigurationAction_2;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
index f8124b2..af014e1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorProjectPromptStatusHandler.java
@@ -54,7 +54,7 @@
 					projects.add(arg);
 				}
 			}
-		}	
+		}
 		Shell shell = DebugUIPlugin.getShell();
 		StringBuffer projectList = new StringBuffer();
 		//we need to limit this
@@ -71,22 +71,22 @@
 		} else{
 			projectMessage = projectList.toString();
 		}
-		String title =  LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_0; 
+		String title =  LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_0;
 		String message = MessageFormat.format(LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_2, new Object[] { projectMessage });
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); 
-		
+		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
+
 		String pref = store.getString(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
 		if (pref != null) {
 			if (pref.equals(MessageDialogWithToggle.ALWAYS)) {
 				return Boolean.TRUE;
 			}
 		}
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(shell, 
-				title, 
-				null, 
-				message, 
+		MessageDialogWithToggle dialog = new MessageDialogWithToggle(shell,
+				title,
+				null,
+				message,
 				MessageDialog.QUESTION,
-				new String[] {IDialogConstants.PROCEED_LABEL, IDialogConstants.CANCEL_LABEL}, 
+				new String[] {IDialogConstants.PROCEED_LABEL, IDialogConstants.CANCEL_LABEL},
 				0,
 				LaunchConfigurationsMessages.CompileErrorProjectPromptStatusHandler_1,
 				false);
@@ -96,7 +96,7 @@
         		store.setValue(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR, MessageDialogWithToggle.ALWAYS);
         	}
             return Boolean.TRUE;
-        } 
+        }
         else {
             return Boolean.FALSE;
         }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java
index 5d41160..6389463 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.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
  *******************************************************************************/
@@ -37,12 +37,12 @@
 				return Boolean.TRUE;
 			}
 		}
-		
+
 		Shell shell = DebugUIPlugin.getShell();
-		String title = LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_0; 
-		String message = LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_1; 
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); 
-		
+		String title = LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_0;
+		String message = LaunchConfigurationsMessages.CompileErrorPromptStatusHandler_1;
+		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
+
 		String pref = store.getString(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
 		if (pref != null) {
 			if (pref.equals(MessageDialogWithToggle.ALWAYS)) {
@@ -50,19 +50,19 @@
 			}
 		}
 		MessageDialogWithToggle dialog = new MessageDialogWithToggle(
-				shell, 
-				title, 
-				null, 
-				message, 
+				shell,
+				title,
+				null,
+				message,
 				MessageDialog.WARNING,
-				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 
-				1, 
-				LaunchConfigurationsMessages.CompileErrorProjectPromptStatusHandler_1, 
+				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
+				1,
+				LaunchConfigurationsMessages.CompileErrorProjectPromptStatusHandler_1,
 				false);
 		dialog.setPrefKey(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
 		dialog.setPrefStore(store);
 		dialog.open();
-		
+
 		int returnValue = dialog.getReturnCode();
 		if (returnValue == IDialogConstants.YES_ID) {
 			return Boolean.TRUE;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
index d49e50f..f836199 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
@@ -35,14 +35,14 @@
 	 * Action identifier for IDebugView#getAction(String)
 	 */
 	public static final String ID_CREATE_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_CREATE_ACTION"; //$NON-NLS-1$
-	
+
 	/**
-	 * Constructs an action to create a launch configuration 
+	 * Constructs an action to create a launch configuration
 	 * @param viewer the viewer
 	 * @param mode the mode the action applies to
 	 */
 	public CreateLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.CreateLaunchConfigurationAction_Ne_w_1, viewer, mode); 
+		super(LaunchConfigurationsMessages.CreateLaunchConfigurationAction_Ne_w_1, viewer, mode);
 	}
 
 	/**
@@ -68,7 +68,7 @@
 				type = (ILaunchConfigurationType) object;
 			}
 			try {
-				ILaunchConfigurationWorkingCopy wc = type.newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateLaunchConfigurationName(LaunchConfigurationsMessages.CreateLaunchConfigurationAction_New_configuration_2)); 
+				ILaunchConfigurationWorkingCopy wc = type.newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateLaunchConfigurationName(LaunchConfigurationsMessages.CreateLaunchConfigurationAction_New_configuration_2));
 				ILaunchConfigurationTabGroup tabGroup = LaunchConfigurationPresentationManager.getDefault().getTabGroup(wc, getMode());
 				// this only works because this action is only present when the dialog is open
 				ILaunchConfigurationDialog dialog = LaunchConfigurationsDialog.getCurrentlyVisibleLaunchConfigurationDialog();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
index c147314..674b961 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.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
  *******************************************************************************/
@@ -25,7 +25,7 @@
 
 
 public class DebugModePromptStatusHandler implements IStatusHandler {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
 	 */
@@ -35,33 +35,33 @@
 			ILaunchConfiguration config = (ILaunchConfiguration)source;
 			if (DebugUITools.isPrivate(config)) {
 				return Boolean.FALSE;
-			}	
+			}
 		}
-		
+
 		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
         ILaunchConfiguration configuration = (ILaunchConfiguration)source;
-        String pref = store.getString(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE); 
+        String pref = store.getString(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE);
         if (pref != null) {
             if (pref.equals(MessageDialogWithToggle.NEVER)) {
                 return Boolean.FALSE;
-            } else if (pref.equals(MessageDialogWithToggle.ALWAYS)) { 
+            } else if (pref.equals(MessageDialogWithToggle.ALWAYS)) {
                 relaunchInDebugMode(configuration);
                 return Boolean.TRUE;
             }
         }
-        
+
 		Shell activeShell = DebugUIPlugin.getShell();
-		String title = LaunchConfigurationsMessages.DebugModePromptStatusHandler_0; 
-		String message = LaunchConfigurationsMessages.DebugModePromptStatusHandler_1; 
-		
-		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(activeShell, title, message, null, false, store, IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE); 
+		String title = LaunchConfigurationsMessages.DebugModePromptStatusHandler_0;
+		String message = LaunchConfigurationsMessages.DebugModePromptStatusHandler_1;
+
+		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(activeShell, title, message, null, false, store, IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE);
 		int buttonId = dialog.getReturnCode();
-		if (buttonId == IDialogConstants.YES_ID) { 
+		if (buttonId == IDialogConstants.YES_ID) {
 			relaunchInDebugMode(configuration);
 			return Boolean.TRUE; // stops launch
 		} else if (buttonId == IDialogConstants.NO_ID) {
 			return Boolean.FALSE; // continue launch
-		} else { //CANCEL 
+		} else { //CANCEL
 			return Boolean.TRUE; // stops the launch
 		}
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
index a9cc4fe..5897781 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
@@ -32,12 +32,12 @@
 	 * Action identifier for IDebugView#getAction(String)
 	 */
 	public static final String ID_DELETE_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_DELETE_ACTION"; //$NON-NLS-1$
-	
+
 	/**
-	 * Constructs an action to delete launch configuration(s) 
+	 * Constructs an action to delete launch configuration(s)
 	 */
 	public DeleteLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.DeleteLaunchConfigurationAction_Dele_te_1, viewer, mode); 
+		super(LaunchConfigurationsMessages.DeleteLaunchConfigurationAction_Dele_te_1, viewer, mode);
 	}
 
 	/**
@@ -48,10 +48,10 @@
 	protected boolean shouldDelete() {
 		IStructuredSelection selection = getStructuredSelection();
 		// Make the user confirm the deletion
-		String dialogMessage = selection.size() > 1 ? LaunchConfigurationsMessages.LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configurations__1 : LaunchConfigurationsMessages.LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configuration__2; // 
-		return MessageDialog.openQuestion(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Confirm_Launch_Configuration_Deletion_3, dialogMessage); 
+		String dialogMessage = selection.size() > 1 ? LaunchConfigurationsMessages.LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configurations__1 : LaunchConfigurationsMessages.LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configuration__2; //
+		return MessageDialog.openQuestion(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Confirm_Launch_Configuration_Deletion_3, dialogMessage);
 	}
-	
+
 	/**
 	 * @see AbstractLaunchConfigurationAction#performAction()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java
index c749628..353eb28 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeletedProjectFilter.java
@@ -19,10 +19,10 @@
 import org.eclipse.jface.viewers.ViewerFilter;
 
 /**
- * 
+ *
  * Provides implementation to filter unavailable projects form the launch configuration dialog.
  * It is (de) activated via the <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED</code> preference.
- * 
+ *
  * @since 3.2
  *
  */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
index 0094754..54f4f9a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
@@ -26,17 +26,17 @@
  * Duplicates the selected launch configuration.
  */
 public class DuplicateLaunchConfigurationAction extends AbstractLaunchConfigurationAction {
-	
+
 	/**
 	 * Action identifier for IDebugView#getAction(String)
 	 */
 	public static final String ID_DUPLICATE_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_DUPLICATE_ACTION"; //$NON-NLS-1$
 
 	/**
-	 * Constructs an action to duplicate a launch configuration 
+	 * Constructs an action to duplicate a launch configuration
 	 */
 	public DuplicateLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.DuplicateLaunchConfigurationAction__Duplicate_1, viewer, mode); 
+		super(LaunchConfigurationsMessages.DuplicateLaunchConfigurationAction__Duplicate_1, viewer, mode);
 	}
 
 	/**
@@ -61,7 +61,7 @@
 	protected boolean updateSelection(IStructuredSelection selection) {
 		return selection.size() == 1 && selection.getFirstElement() instanceof ILaunchConfiguration;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.Action#getDisabledImageDescriptor()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java
index d2c5ec4..d932292 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchDelegatesStatusHandler.java
@@ -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
  *******************************************************************************/
@@ -25,14 +25,14 @@
 /**
  * This class provides a mechanism to prompt users in the UI thread from debug.core in the case where
  * duplicate launch delegates have been detected and a preferred delegate needs to be selected.
- * 
+ *
  * As this handler is used once a launch has been started, and only prompts in the event that the launch <i>can</i>
  * continue with further input, it must be a blocking operation.
- * 
+ *
  * @since 3.3
  */
 public class DuplicateLaunchDelegatesStatusHandler implements IStatusHandler {
-	
+
 	/**
 	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
index 4421aa1..0a6c911 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2005 Keith Seitz and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Keith Seitz (keiths@redhat.com) - initial implementation
  *     IBM Corporation - integration and code cleanup
@@ -18,10 +18,10 @@
 {
 	// The name of the environment variable
 	private String name;
-	
+
 	// The value of the environment variable
 	private String value;
-	
+
 	public EnvironmentVariable(String name, String value)
 	{
 		this.name = name;
@@ -31,24 +31,24 @@
 	/**
 	 * Returns this variable's name, which serves as the key in the key/value
 	 * pair this variable represents
-	 * 
+	 *
 	 * @return this variable's name
 	 */
 	public String getName()
 	{
 		return name;
 	}
-	
+
 	/**
 	 * Returns this variables value.
-	 * 
+	 *
 	 * @return this variable's value
 	 */
 	public String getValue()
 	{
 		return value;
 	}
-		
+
 	/**
 	 * Sets this variable's value
 	 * @param value
@@ -57,7 +57,7 @@
 	{
 		this.value = value;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#toString()
 	 */
@@ -65,8 +65,8 @@
 	public String toString() {
 		return getName();
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#equals(java.lang.Object)
 	 */
@@ -77,7 +77,7 @@
 			EnvironmentVariable var = (EnvironmentVariable)obj;
 			equal = var.getName().equals(name);
 		}
-		return equal;		
+		return equal;
 	}
 	/* (non-Javadoc)
 	 * @see java.lang.Object#hashCode()
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
index 86780ff..5b6487a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
@@ -55,15 +55,15 @@
  * Dialog for organizing favorite launch configurations
  */
 public class FavoritesDialog extends TrayDialog {
-	
+
 	/**
 	 * Table of favorite launch configurations
 	 */
-	private TableViewer fFavoritesTable;	
+	private TableViewer fFavoritesTable;
 
 	// history being organized
 	private LaunchHistory fHistory;
-	
+
 	// favorites collection under edit
 	private List<ILaunchConfiguration> fFavorites;
 
@@ -91,8 +91,8 @@
 				handleMoveDownButtonSelected();
 			}
 		}
-	};	
-	
+	};
+
 	/**
 	 * Listener that delegates when the selection changes in a table
 	 */
@@ -101,8 +101,8 @@
 		public void selectionChanged(SelectionChangedEvent event) {
 			handleFavoriteSelectionChanged();
 		}
-	};	
-	
+	};
+
 	/**
 	 * Listener that delegates when a key is pressed in a table
 	 */
@@ -110,11 +110,11 @@
 		@Override
 		public void keyPressed(KeyEvent event) {
 			if (event.character == SWT.DEL && event.stateMask == 0) {
-				removeSelectedFavorites(); 
+				removeSelectedFavorites();
 			}
 		}
 	};
-	
+
 	/**
 	 * Content provider for favorites table
 	 */
@@ -129,10 +129,10 @@
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
 	}
-	
+
 	/**
 	 * Constructs a favorites dialog.
-	 * 
+	 *
 	 * @param parentShell shell to open the dialog on
 	 * @param history launch history to edit
 	 */
@@ -155,8 +155,8 @@
 			}
 			updateStatus();
 		}
-	}	
-	
+	}
+
 	/**
 	 * The 'remove favorites' button has been pressed
 	 */
@@ -167,16 +167,16 @@
 			Object config = iter.next();
 			getFavorites().remove(config);
 		}
-		getFavoritesTable().refresh();		
-	}	
-	
+		getFavoritesTable().refresh();
+	}
+
 	/**
 	 * The 'move up' button has been pressed
 	 */
 	protected void handleMoveUpButtonSelected() {
 		handleMove(-1);
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#getInitialSize()
 	 */
@@ -184,14 +184,14 @@
 	protected Point getInitialSize() {
 		return new Point(350, 400);
 	}
-	
+
 	/**
 	 * The 'move down' button has been pressed
 	 */
 	protected void handleMoveDownButtonSelected() {
 		handleMove(1);
-	}	
-	
+	}
+
 	/**
 	 * Handles moving a favorite up or down the listing
 	 * @param direction the direction to make the move (up or down)
@@ -206,28 +206,28 @@
 			i= getFavorites().indexOf(config);
 			movedFavs[i + direction]= config;
 		}
-		
+
 		getFavorites().removeAll(selList);
-			
+
 		for (int j = 0; j < movedFavs.length; j++) {
 			Object config = movedFavs[j];
 			if (config != null) {
 				getFavorites().add(j, (ILaunchConfiguration) config);
 			}
 		}
-		getFavoritesTable().refresh();	
-		handleFavoriteSelectionChanged();	
+		getFavoritesTable().refresh();
+		handleFavoriteSelectionChanged();
 	}
-	
+
 	/**
 	 * Returns the table of favorite launch configurations.
-	 * 
+	 *
 	 * @return table viewer
 	 */
 	protected TableViewer getFavoritesTable() {
 		return fFavoritesTable;
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
@@ -253,7 +253,7 @@
 
 	/**
 	 * Returns a label to use for launch mode with accelerators removed.
-	 * 
+	 *
      * @return label to use for launch mode with accelerators removed
      */
     private String getModeLabel() {
@@ -261,15 +261,15 @@
     }
 
     /**
-     * Creates the main area of the dialog 
+     * Creates the main area of the dialog
      * @param parent the parent to add this content to
      */
     protected void createFavoritesArea(Composite parent) {
 		Composite topComp = SWTFactory.createComposite(parent, parent.getFont(), 2, 1, GridData.FILL_BOTH, 0, 0);
-		SWTFactory.createLabel(topComp, LaunchConfigurationsMessages.FavoritesDialog_2, 2); 
+		SWTFactory.createLabel(topComp, LaunchConfigurationsMessages.FavoritesDialog_2, 2);
 		fFavoritesTable = createTable(topComp, new FavoritesContentProvider());
 		Composite buttonComp = SWTFactory.createComposite(topComp, topComp.getFont(), 1, 1, GridData.VERTICAL_ALIGN_BEGINNING, 0, 0);
-		fAddFavoriteButton = SWTFactory.createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_3, null); 
+		fAddFavoriteButton = SWTFactory.createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_3, null);
 		fAddFavoriteButton.addSelectionListener(fButtonListener);
 		fAddFavoriteButton.setEnabled(true);
 		fRemoveFavoritesButton = SWTFactory.createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_4, null);
@@ -279,7 +279,7 @@
 		fMoveDownButton = SWTFactory.createPushButton(buttonComp, LaunchConfigurationsMessages.FavoritesDialog_6, null);
 		fMoveDownButton.addSelectionListener(fButtonListener);
 	}
-	
+
 	/**
 	 * Creates a fully configured table with the given content provider
 	 */
@@ -295,8 +295,8 @@
 		tableViewer.getTable().setFont(parent.getFont());
 		tableViewer.addSelectionChangedListener(fSelectionChangedListener);
 		tableViewer.getControl().addKeyListener(fKeyListener);
-		return tableViewer; 
-	}	
+		return tableViewer;
+	}
 
 	/**
 	 * Returns the current list of favorites.
@@ -308,26 +308,26 @@
 			addAll(favs, fFavorites);
 		}
 		return fFavorites;
-	}	
-	
+	}
+
 	protected LaunchHistory getLaunchHistory() {
 		return fHistory;
-	}	
-	
+	}
+
 	/**
 	 * Returns the initial content for the favorites list
 	 */
 	protected ILaunchConfiguration[] getInitialFavorites() {
 		return getLaunchHistory().getFavorites();
-	}	
-	
+	}
+
 	/**
 	 * Returns the mode of this page - run or debug.
 	 */
 	protected String getMode() {
 		return getLaunchHistory().getLaunchGroup().getMode();
 	}
-			
+
 	/**
 	 * Copies the array into the list
 	 */
@@ -336,14 +336,14 @@
 			list.add(array[i]);
 		}
 	}
-	
+
 	/**
 	 * Refresh all tables and buttons
 	 */
 	protected void updateStatus() {
 		getFavoritesTable().refresh();
-		handleFavoriteSelectionChanged();				
-	}	
+		handleFavoriteSelectionChanged();
+	}
 
 	/**
 	 * The selection in the favorites list has changed
@@ -365,18 +365,18 @@
 				last= true;
 			}
 		}
-		
+
 		fRemoveFavoritesButton.setEnabled(notEmpty);
 		fMoveUpButton.setEnabled(notEmpty && !first);
 		fMoveDownButton.setEnabled(notEmpty && !last);
 	}
-	
+
 	/**
 	 * Method performOK. Uses scheduled Job format.
 	 * @since 3.2
 	 */
 	public void saveFavorites() {
-		
+
 		final Job job = new Job(LaunchConfigurationsMessages.FavoritesDialog_8) {
 			@SuppressWarnings("deprecation")
 			@Override
@@ -384,10 +384,10 @@
 				ILaunchConfiguration[] initial = getInitialFavorites();
 				List<ILaunchConfiguration> current = getFavorites();
 				String groupId = getLaunchHistory().getLaunchGroup().getIdentifier();
-				
+
 				int taskSize = Math.abs(initial.length-current.size());//get task size
 				monitor.beginTask(LaunchConfigurationsMessages.FavoritesDialog_8, taskSize);//and set it
-				
+
 				// removed favorites
 				for (int i = 0; i < initial.length; i++) {
 					ILaunchConfiguration configuration = initial[i];
@@ -401,7 +401,7 @@
 							if (groups != null) {
 								groups.remove(groupId);
 								if (groups.isEmpty()) {
-									groups = null;	
+									groups = null;
 								}
 								workingCopy.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
 							}
@@ -409,11 +409,11 @@
 						} catch (CoreException e) {
 							DebugUIPlugin.log(e);
 							return Status.CANCEL_STATUS;
-						} 
+						}
 					}
 					monitor.worked(1);
 				}
-				
+
 				// update added favorites
 				Iterator<ILaunchConfiguration> favs = current.iterator();
 				while (favs.hasNext()) {
@@ -435,22 +435,22 @@
 					}
 					monitor.worked(1);
 				}
-				 
+
 				fHistory.setFavorites(getArray(current));
 				monitor.done();
 				return Status.OK_STATUS;
-			}			
+			}
 		};
 		job.setPriority(Job.LONG);
 		PlatformUI.getWorkbench().getProgressService().showInDialog(getParentShell(), job);
 		job.schedule();
-			
-	}	
-	
+
+	}
+
 	protected ILaunchConfiguration[] getArray(List<ILaunchConfiguration> list) {
 		return list.toArray(new ILaunchConfiguration[list.size()]);
-	} 
-		
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
@@ -459,7 +459,7 @@
 		saveFavorites();
 		super.okPressed();
 	}
-	
+
 	 /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
      */
@@ -469,13 +469,13 @@
          IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
          if (section == null) {
              section = settings.addNewSection(getDialogSettingsSectionName());
-         } 
+         }
          return section;
     }
-	
+
 	/**
 	 * Returns the name of the section that this dialog stores its settings in
-	 * 
+	 *
 	 * @return String
 	 */
 	private String getDialogSettingsSectionName() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java
index bfaafe5..86cc3a5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterDropDownMenuCreator.java
@@ -34,13 +34,13 @@
 	 * @since 3.2
 	 */
 	class FilterAction extends Action {
-		
+
 		/** The preference store. */
 		private IPreferenceStore fStore = null;
 
 		/** The preference key for the value in the store. */
 		private String fKey = null;
-		
+
 		/**
 		 * Constructor for check style menu items
 		 * @param store the pref store
@@ -54,7 +54,7 @@
 			setChecked(fStore.getBoolean(fKey));
 			fillIntoMenu(menu, this);
 		}
-		
+
 		/**
 		 * Constructor for flyout menu style actions
 		 * @param menu the parent menu
@@ -66,7 +66,7 @@
 			setMenuCreator(creator);
 			fillIntoMenu(menu, this);
 		}
-		
+
 		/**
 		 * fills the new action into the specified menu
 		 * @param menu the parent menu
@@ -76,7 +76,7 @@
 			ActionContributionItem item = new ActionContributionItem(action);
 			item.fill(menu, -1);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.action.Action#run()
 		 */
@@ -87,7 +87,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * the menu created via this class
 	 */
@@ -100,7 +100,7 @@
 	private IPreferenceStore getDebugPrefStore() {
 		return DebugUIPlugin.getDefault().getPreferenceStore();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
 	 */
@@ -123,10 +123,10 @@
 		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_1, IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED);
 		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_2, IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES);
 		new FilterAction(fCreatedMenu, getDebugPrefStore(), LaunchConfigurationsMessages.FilterDropDownMenuCreator_4, IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS);
-		
+
 		//add separator
 		new MenuItem(fCreatedMenu, SWT.SEPARATOR);
-	
+
 		//add pref action
 		IAction action = new Action(LaunchConfigurationsMessages.FilterDropDownMenuCreator_3) {
 			@Override
@@ -137,7 +137,7 @@
 		new ActionContributionItem(action).fill(fCreatedMenu, -1);
 		return fCreatedMenu;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java
index 2dfc444..c94bf10 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FilterLaunchConfigurationAction.java
@@ -20,7 +20,7 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 
 /**
- * provides the implementation of the filtering action for the launch configuration view within the 
+ * provides the implementation of the filtering action for the launch configuration view within the
  * Launch Configuration Dialog
  * @since 3.2
  */
@@ -30,12 +30,12 @@
 	 * Action identifier for IDebugView#getAction(String)
 	 */
 	public static final String ID_FILTER_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_FILTER_ACTION"; //$NON-NLS-1$
-	
+
 	/**
 	 * the menu for this drop down style action
 	 */
 	private FilterDropDownMenuCreator fMenuCreator;
-	
+
 	/**
 	 * Constructor
 	 * @param text the text for the action
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchCategoryFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchCategoryFilter.java
index 3abc9ef..ed97b78 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchCategoryFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchCategoryFilter.java
@@ -24,13 +24,13 @@
  * types from a specific launch category.
  */
 public class LaunchCategoryFilter extends ViewerFilter {
-	
+
 	private String fCategory;
-	
+
 	/**
 	 * Constructs a filter that hides configurations from a specific
 	 * category.
-	 * 
+	 *
 	 * @param groupExtension
 	 */
 	public LaunchCategoryFilter(String category) {
@@ -54,7 +54,7 @@
 				config = (ILaunchConfiguration)element;
 				try {
 					type = config.getType();
-				} 
+				}
 				catch (CoreException e) {}
 			}
 			boolean priv = false;
@@ -71,10 +71,10 @@
 			}
 			return true;
 	}
-	
+
 	/**
 	 * Returns whether the given categories are equal.
-	 * 
+	 *
 	 * @param c1 category identifier or <code>null</code>
 	 * @param c2 category identifier or <code>null</code>
 	 * @return boolean
@@ -84,6 +84,6 @@
 			return c1 == c2;
 		}
 		return c1.equals(c2);
-	} 
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java
index 7a6d99a..3f90d85 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationComparator.java
@@ -26,7 +26,7 @@
 
 /**
  * Groups configurations by type.
- * 
+ *
  * @since 3.3
  */
 public class LaunchConfigurationComparator extends WorkbenchViewerComparator {
@@ -35,7 +35,7 @@
 	 * the map of categories of <code>ILaunchConfigurationType</code>s to <code>Integer</code>s entries
 	 */
 	private static Map<ILaunchConfigurationType, Integer> fgCategories;
-	
+
 	/**
 	 * @see org.eclipse.jface.viewers.ViewerComparator#category(java.lang.Object)
 	 */
@@ -54,7 +54,7 @@
 		}
 		return map.size();
 	}
-	
+
 	/**
 	 * Returns the map of categories
 	 * @return the map of categories
@@ -70,7 +70,7 @@
 					ILaunchConfigurationType t2 = o2;
 					return t1.getName().compareTo(t2.getName());
 				}
-			
+
 			});
 			Iterator<ILaunchConfigurationType> iterator = types.iterator();
 			int i = 0;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
index 170414a..3c640ef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
@@ -24,7 +24,7 @@
 
 	/**
 	 * Constructs a dialog
-	 * 
+	 *
 	 * @param shell
 	 * @param launchConfiguration
 	 * @param group
@@ -32,24 +32,24 @@
 	public LaunchConfigurationDialog(Shell shell, ILaunchConfiguration launchConfiguration, LaunchGroupExtension group) {
 		super(shell, launchConfiguration, group);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	protected void createButtonsForButtonBar(Composite parent) {
 		createButton(parent, ID_LAUNCH_BUTTON, getLaunchButtonText(), true);
-		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.LaunchConfigurationDialog_Close_1, false);  
+		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.LaunchConfigurationDialog_Close_1, false);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#getTitleAreaTitle()
 	 */
 	@Override
 	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.LaunchConfigurationDialog_Modify_attributes_and_launch__1; 
+		return LaunchConfigurationsMessages.LaunchConfigurationDialog_Modify_attributes_and_launch__1;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#getHelpContextId()
 	 */
@@ -57,7 +57,7 @@
 	protected String getHelpContextId() {
 		return IDebugHelpContextIds.SINGLE_LAUNCH_CONFIGURATION_DIALOG;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#updateButtons()
 	 */
@@ -66,9 +66,9 @@
 		// Launch button
 		getTabViewer().refresh();
 		getButton(ID_LAUNCH_BUTTON).setEnabled(getTabViewer().canLaunch() & getTabViewer().canLaunchWithModes() & !getTabViewer().hasDuplicateDelegates());
-		
+
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#getDialogSettingsSectionName()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java
index bda3180..8459b57 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationEditDialog.java
@@ -19,13 +19,13 @@
 /**
  * This class is used to construct a launch configuration dialog used to edit a launch configuration and continue or cancel (optional),
  * not allowing a launch to occur.
- * 
+ *
  * @since 3.3
  */
 public class LaunchConfigurationEditDialog extends LaunchConfigurationDialog {
 
 	private boolean fShowCancel = false;
-	
+
 	/**
 	 * Constructor
 	 * @param shell the shell to create this dialog on
@@ -43,9 +43,9 @@
 	 */
 	@Override
 	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.LaunchConfigurationEditDialog_0; 
+		return LaunchConfigurationsMessages.LaunchConfigurationEditDialog_0;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
@@ -56,7 +56,7 @@
 			createButton(parent, ID_CANCEL_BUTTON, IDialogConstants.CANCEL_LABEL, false);
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#updateButtons()
 	 */
@@ -65,7 +65,7 @@
 		getTabViewer().refresh();
 		getButton(ID_LAUNCH_BUTTON).setEnabled(getTabViewer().canLaunch() & getTabViewer().canLaunchWithModes() & !getTabViewer().hasDuplicateDelegates());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog#getDialogSettingsSectionName()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationFilteredTree.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationFilteredTree.java
index 06f858b..abd3658 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationFilteredTree.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationFilteredTree.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
  *     Eike Stepper    - bug 343228
@@ -38,11 +38,11 @@
 
 /**
  * Overrides the default filtered tree to use our own tree viewer which supports preserving selection after filtering
- * 
+ *
  * @see LaunchConfigurationView
  * @see LaunchConfigurationViewer
- * 
- * @since 3.3 
+ *
+ * @since 3.3
  */
 public final class LaunchConfigurationFilteredTree extends FilteredTree {
 
@@ -50,7 +50,7 @@
 	private ViewerFilter[] fFilters = null;
 	private int fTreeStyle = -1;
 	private PatternFilter fPatternFilter = null;
-	
+
 	/**
 	 * Constructor
 	 * @param parent the parent {@link Composite}
@@ -66,7 +66,7 @@
 		fPatternFilter = filter;
 		fTreeStyle = treeStyle;
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.dialogs.FilteredTree#doCreateTreeViewer(org.eclipse.swt.widgets.Composite, int)
 	 */
@@ -92,7 +92,7 @@
 		});
 		return treeViewer;
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.dialogs.FilteredTree#createControl(org.eclipse.swt.widgets.Composite, int)
 	 */
@@ -115,7 +115,7 @@
 	public void createViewControl() {
 		super.init(fTreeStyle, fPatternFilter);
 	}
-	
+
 	/**
 	 * Handle help events locally rather than deferring to WorkbenchHelp.  This
 	 * allows help specific to the selected config type to be presented.
@@ -132,7 +132,7 @@
 		}
 		PlatformUI.getWorkbench().getHelpSystem().displayHelp(id);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.FilteredTree#textChanged()
 	 */
@@ -182,7 +182,7 @@
 			super.textChanged();
 		}
 	}
-	
+
 	/**
 	 * Computes the context id for this viewer
 	 * @return the context id
@@ -196,7 +196,7 @@
 				ILaunchConfigurationType configType = null;
 				if (firstSelected instanceof ILaunchConfigurationType) {
 					configType = (ILaunchConfigurationType) firstSelected;
-				} 
+				}
 				else if (firstSelected instanceof ILaunchConfiguration) {
 					configType = ((ILaunchConfiguration) firstSelected).getType();
 				}
@@ -207,11 +207,11 @@
 					}
 				}
 			}
-		} 
+		}
 		catch (CoreException ce) {DebugUIPlugin.log(ce);}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the launch configuration viewer for this filtered tree
 	 * @return the tree viewer appropriately cast
@@ -221,10 +221,10 @@
 	}
 
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Called after a re-filter due to user typing text. Update the filter count
 	 * in the LCD
-	 * 
+	 *
 	 * @see org.eclipse.ui.dialogs.FilteredTree#updateToolbar(boolean)
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
index 08f9135..33fd45f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
@@ -81,10 +81,10 @@
 
 /**
  * Manages UI related launch configuration artifacts
- * 
+ *
  * Since 3.3 the Launch Configuration Manager is an <code>ISaveParticipant</code>, allowing it to participate in
  * workspace persistence life-cycles.
- * 
+ *
  * @see ISaveParticipant
  * @see org.eclipse.debug.ui.ILaunchShortcut
  * @see ILaunchGroup
@@ -110,7 +110,7 @@
 			LaunchShortcutExtension shortcutB = b;
 			String labelB = shortcutB.getLabel();
 			String pathB = shortcutB.getMenuPath();
-			
+
 			// group by path, then sort by label
 			// a null path sorts last (i.e. highest)
 			if (nullOrEqual(pathA, pathB)) {
@@ -135,7 +135,7 @@
 			}
 			return pathA.compareToIgnoreCase(pathB);
 		}
-		
+
 		private boolean nullOrEqual(String a, String b) {
 			if (a == null) {
 				return b == null;
@@ -144,17 +144,17 @@
 		}
 
 	}
-	
+
 	/**
 	 * Launch group extensions, keyed by launch group identifier.
 	 */
 	protected Map<String, LaunchGroupExtension> fLaunchGroups;
-	
+
 	/**
 	 * Launch histories keyed by launch group identifier
-	 */	
+	 */
 	protected Map<String, LaunchHistory> fLaunchHistories;
-		
+
 	/**
 	 * The list of registered implementors of <code>ILaunchHistoryChangedListener</code>
 	 */
@@ -164,33 +164,33 @@
 	 * Launch shortcuts
 	 */
 	private List<LaunchShortcutExtension> fLaunchShortcuts = null;
-	
+
 	/**
 	 * Launch shortcuts, cached by perspective ids
 	 */
 	private Map<String, List<LaunchShortcutExtension>> fLaunchShortcutsByPerspective = null;
-		
+
 	/**
 	 * Cache of launch configuration tab images with error overlays
 	 */
 	protected ImageRegistry fErrorImages = null;
-	
+
 	/**
 	 * true when restoring launch history
 	 */
 	protected boolean fRestoring = false;
-		
+
 	/**
 	 * The name of the file used to persist the launch history.
 	 */
 	private static final String LAUNCH_CONFIGURATION_HISTORY_FILENAME = "launchConfigurationHistory.xml"; //$NON-NLS-1$
-	
+
 	/**
-	 * performs initialization of the manager when it is started 
+	 * performs initialization of the manager when it is started
 	 */
-	public void startup() {				
+	public void startup() {
 		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);	
+		launchManager.addLaunchListener(this);
 		DebugUIPlugin.getDefault().addSaveParticipant(this);
 		//update histories for launches already registered
 		ILaunch[] launches = launchManager.getLaunches();
@@ -198,23 +198,23 @@
 			launchAdded(launches[i]);
 		}
 	}
-	
+
 	/**
 	 * Returns whether any launch config supports the given mode.
-	 * 
+	 *
 	 * @param mode launch mode
 	 * @return whether any launch config supports the given mode
 	 */
 	public boolean launchModeAvailable(String mode) {
 		return ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).launchModeAvailable(mode);
 	}
-	
+
 	/**
 	 * Returns whether the given launch configuration should be visible in the
 	 * debug UI. If the config is marked as private, or belongs to a different
 	 * category (i.e. non-null), then this configuration should not be displayed
 	 * in the debug UI.
-	 * 
+	 *
 	 * @param launchConfiguration the configuration to check for the {@link IDebugUIConstants#ATTR_PRIVATE} attribute
 	 * @return boolean
 	 */
@@ -225,11 +225,11 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns a collection of launch configurations that does not contain
 	 * configurations from disabled activities.
-	 * 
+	 *
 	 * @param configurations a collection of configurations
 	 * @return the given collection minus any configurations from disabled activities
 	 */
@@ -250,7 +250,7 @@
 				if (DebugUIPlugin.doLaunchConfigurationFiltering(configuration) & !WorkbenchActivityHelper.filterItem(contribution)) {
 					filteredConfigs.add(configuration);
 				}
-			} 
+			}
 			catch (CoreException e) {DebugUIPlugin.log(e.getStatus());}
 		}
 		return filteredConfigs.toArray(new ILaunchConfiguration[filteredConfigs.size()]);
@@ -279,9 +279,9 @@
 		}
 		return set.toArray(new ILaunchDelegate[set.size()]);
 	}
-	
+
 	/**
-	 * Performs cleanup operations when the manager is being disposed of. 
+	 * Performs cleanup operations when the manager is being disposed of.
 	 */
 	public void shutdown() {
 		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
@@ -293,13 +293,13 @@
 		}
 		DebugUIPlugin.getDefault().removeSaveParticipant(this);
 	}
-	
+
 	/**
 	 * @see ILaunchListener#launchRemoved(ILaunch)
 	 */
 	@Override
 	public void launchRemoved(ILaunch launch) {}
-	
+
 	/**
 	 * @see ILaunchListener#launchChanged(ILaunch)
 	 */
@@ -315,7 +315,7 @@
 	public void launchAdded(final ILaunch launch) {
 		removeTerminatedLaunches(launch);
 	}
-	
+
 	/**
 	 * Removes terminated launches from the launch view, leaving the specified launch in the view
 	 * @param newLaunch the newly added launch to leave in the view
@@ -332,16 +332,16 @@
 	        }
 	    }
 	}
-	
+
 	/**
 	 * Returns the most recent launch for the given group, or <code>null</code>
 	 * if none. This method does not include any filtering for the returned launch configuration.
-	 *	
+	 *
 	 * This method is exposed via DebugTools.getLastLaunch
 	 * @param groupId the identifier of the {@link ILaunchGroup} to get the last launch from
 	 *
 	 * @return the last launch, or <code>null</code> if none
-	 */	
+	 */
 	public ILaunchConfiguration getLastLaunch(String groupId) {
 		LaunchHistory history = getLaunchHistory(groupId);
 		if (history != null) {
@@ -349,11 +349,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the most recent launch for the given group taking launch configuration
 	 * filters into account, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param groupId launch group
 	 * @return the most recent, un-filtered launch
 	 */
@@ -367,7 +367,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Add the specified listener to the list of listeners that will be notified when the
 	 * launch history changes.
@@ -378,7 +378,7 @@
 			fLaunchHistoryChangedListeners.add(listener);
 		}
 	}
-	
+
 	/**
 	 * Remove the specified listener from the list of listeners that will be notified when the
 	 * launch history changes.
@@ -387,7 +387,7 @@
 	public void removeLaunchHistoryListener(ILaunchHistoryChangedListener listener) {
 		fLaunchHistoryChangedListeners.remove(listener);
 	}
-	
+
 	/**
 	 * Notify all launch history listeners that the launch history has changed in some way.
 	 */
@@ -405,7 +405,7 @@
 	 */
 	protected String getHistoryAsXML() throws CoreException, ParserConfigurationException {
 		Document doc = DebugUIPlugin.getDocument();
-		Element historyRootElement = doc.createElement(IConfigurationElementConstants.LAUNCH_HISTORY); 
+		Element historyRootElement = doc.createElement(IConfigurationElementConstants.LAUNCH_HISTORY);
 		doc.appendChild(historyRootElement);
 		for (LaunchHistory history : fLaunchHistories.values()) {
 			Element groupElement = doc.createElement(IConfigurationElementConstants.LAUNCH_GROUP);
@@ -439,13 +439,13 @@
 			}
 		}
 	}
-				
+
 	/**
 	 * Returns the path to the local file for the launch history
 	 * @return the file path for the launch history file
 	 */
 	protected IPath getHistoryFilePath() {
-		return DebugUIPlugin.getDefault().getStateLocation().append(LAUNCH_CONFIGURATION_HISTORY_FILENAME); 
+		return DebugUIPlugin.getDefault().getStateLocation().append(LAUNCH_CONFIGURATION_HISTORY_FILENAME);
 	}
 
 	/**
@@ -459,7 +459,7 @@
 		synchronized (this) {
 			if (fLaunchHistories == null || fRestoring) {
 				return;
-			}			
+			}
 		}
 		boolean shouldsave = false;
 		for (LaunchHistory history : fLaunchHistories.values()) {
@@ -471,13 +471,13 @@
 			String xml = getHistoryAsXML();
 			File file = new File(osHistoryPath);
 			file.createNewFile();
-			
+
 			try (FileOutputStream stream = new FileOutputStream(file)) {
 				stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
 			}
 		}
 	}
-	
+
 	/**
 	 * Find the XML history file and parse it.  Place the corresponding configurations
 	 * in the appropriate history, and set the most recent launch.
@@ -509,9 +509,9 @@
 		} catch (IOException exception) {
 			DebugUIPlugin.log(exception);
 			return;
-		}	
+		}
 		// If root node isn't what we expect, return
-		if (!rootHistoryElement.getNodeName().equalsIgnoreCase(IConfigurationElementConstants.LAUNCH_HISTORY)) { 
+		if (!rootHistoryElement.getNodeName().equalsIgnoreCase(IConfigurationElementConstants.LAUNCH_HISTORY)) {
 			return;
 		}
 		// For each child of the root node, construct a launch config handle and add it to
@@ -526,7 +526,7 @@
 			short type = node.getNodeType();
 			if (type == Node.ELEMENT_NODE) {
 				entry = (Element) node;
-				if (entry.getNodeName().equalsIgnoreCase(IConfigurationElementConstants.LAUNCH)) { 
+				if (entry.getNodeName().equalsIgnoreCase(IConfigurationElementConstants.LAUNCH)) {
 					createHistoryElement(entry, histories, false);
 				} else if (entry.getNodeName().equalsIgnoreCase(IConfigurationElementConstants.LAST_LAUNCH)) {
 					createHistoryElement(entry, histories, true);
@@ -534,7 +534,7 @@
 					String id = entry.getAttribute(IConfigurationElementConstants.ID);
 					if (id != null) {
 						LaunchHistory history = getLaunchHistory(id);
-						if (history != null) { 
+						if (history != null) {
 							restoreHistory(entry, history);
 						}
 					}
@@ -542,10 +542,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Restores the given launch history.
-	 * 
+	 *
 	 * @param groupElement launch group history
 	 * @param history associated history cache
 	 */
@@ -574,8 +574,8 @@
 			}
 		}
 	}
-	
-	/** 
+
+	/**
 	 * Restores a list of configurations.
 	 * @param root element
 	 * @return list of configurations under the element
@@ -589,7 +589,7 @@
 			if (node.getNodeType() == Node.ELEMENT_NODE) {
 				Element element = (Element) node;
 				if (element.getNodeName().equals(IConfigurationElementConstants.LAUNCH)) {
-					String memento = element.getAttribute(IConfigurationElementConstants.MEMENTO); 
+					String memento = element.getAttribute(IConfigurationElementConstants.MEMENTO);
 					if (memento != null) {
 						try {
 							ILaunchConfiguration configuration = DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(memento);
@@ -607,7 +607,7 @@
 		}
 		return configs.toArray(new ILaunchConfiguration[configs.size()]);
 	}
-	
+
 	/**
 	 * Construct a launch configuration corresponding to the specified XML
 	 * element, and place it in the appropriate history.
@@ -616,8 +616,8 @@
 	 * @param prepend if any restored items should be added to to top of the launch history
 	 */
 	private void createHistoryElement(Element entry, LaunchHistory[] histories, boolean prepend) {
-		String memento = entry.getAttribute(IConfigurationElementConstants.MEMENTO); 
-		String mode = entry.getAttribute(IConfigurationElementConstants.MODE);     
+		String memento = entry.getAttribute(IConfigurationElementConstants.MEMENTO);
+		String mode = entry.getAttribute(IConfigurationElementConstants.MODE);
 		try {
 			ILaunchConfiguration launchConfig = DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(memento);
 			//touch the type to see if its type exists
@@ -633,9 +633,9 @@
 			}
 		} catch (CoreException e) {
 			//do nothing, as we want to throw away invalid launch history entries silently
-		}	
+		}
 	}
-	
+
 	/**
 	 * Load all registered extensions of the 'launch shortcut' extension point.
 	 */
@@ -644,8 +644,8 @@
 			// Get the configuration elements
 			IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_SHORTCUTS);
 			IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
-	
-			// Load the configuration elements into a Map 
+
+			// Load the configuration elements into a Map
 			fLaunchShortcuts = new ArrayList<LaunchShortcutExtension>(infos.length);
 			for (int i = 0; i < infos.length; i++) {
 				fLaunchShortcuts.add(new LaunchShortcutExtension(infos[i]));
@@ -653,7 +653,7 @@
 			Collections.sort(fLaunchShortcuts, new ShortcutComparator());
 		}
 	}
-	
+
 	/**
 	 * Load all registered extensions of the 'launch groups' extension point.
 	 */
@@ -662,8 +662,8 @@
 			// Get the configuration elements
 			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_GROUPS);
 			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-	
-			// Load the configuration elements into a Map 
+
+			// Load the configuration elements into a Map
 			fLaunchGroups = new HashMap<String, LaunchGroupExtension>(infos.length);
 			LaunchGroupExtension ext = null;
 			for (int i = 0; i < infos.length; i++) {
@@ -671,11 +671,11 @@
 				fLaunchGroups.put(ext.getIdentifier(), ext);
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Returns all launch shortcuts
-	 * 
+	 *
 	 * @return all launch shortcuts
 	 */
 	public List<LaunchShortcutExtension> getLaunchShortcuts() {
@@ -712,11 +712,11 @@
 		}
 		return list;
 	}
-	
+
 	/**
 	 * Returns an array of all of the ids of the <code>ILaunchConfigurationType</code>s that apply to the currently
 	 * specified <code>IResource</code>.
-	 * 
+	 *
 	 * @param resource the resource context
 	 * @return an array of applicable <code>ILaunchConfigurationType</code>  ids, or an empty array, never <code>null</code>
 	 * @since 3.3
@@ -747,7 +747,7 @@
 		ILaunchConfigurationType type = null;
 		for (String id : set) {
 			type = lm.getLaunchConfigurationType(id);
-			if(type != null) { 
+			if(type != null) {
 				if(!types.contains(type) && type.isPublic() && !"org.eclipse.ui.externaltools.builder".equals(type.getCategory())) { //$NON-NLS-1$
 					types.add(type.getIdentifier());
 				}
@@ -755,12 +755,12 @@
 		}
 		return types.toArray(new String[types.size()]);
 	}
-	
+
 	/**
 	 * Returns an array of the <code>ILaunchConfiguration</code>s that apply to the specified <code>IResource</code>
 	 * @param types the array of launch configuration type identifiers
 	 * @param resource the resource
-	 * @return an array of applicable <code>ILaunchConfiguration</code>s for the specified <code>IResource</code> or an empty 
+	 * @return an array of applicable <code>ILaunchConfiguration</code>s for the specified <code>IResource</code> or an empty
 	 * array if none, never <code>null</code>
 	 * @since 3.3
 	 */
@@ -805,7 +805,7 @@
 		}
 		return list.toArray(new ILaunchConfiguration[list.size()]);
 	}
-	
+
 	/**
 	 * Returns if the specified configuration should be considered as a potential candidate
 	 * @param config to configuration
@@ -826,7 +826,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns all launch shortcuts for the given category
 	 * @param category the identifier of the category
@@ -835,11 +835,11 @@
 	 */
 	public List<LaunchShortcutExtension> getLaunchShortcuts(String category) {
 		return filterShortcuts(getLaunchShortcuts(), category);
-	}	
-	
+	}
+
 	/**
 	 * Return a list of filtered launch shortcuts, based on the given category.
-	 *  
+	 *
 	 * @param unfiltered the raw list of shortcuts to filter
 	 * @param category the category to filter by
 	 * @return List
@@ -855,18 +855,18 @@
 				filtered.add(extension);
 			}
 		}
-		return filtered;		
+		return filtered;
 	}
-	
+
 	/**
 	 * Returns all launch shortcuts defined for the given perspective,
 	 * empty list if none.
-	 * 
+	 *
 	 * @param perpsective perspective identifier
 	 * @param category the category for the shortcut
 	 * @return all launch shortcuts defined for the given perspective,
 	 * empty list if none.
-	 * @deprecated the use of perspectives for launch shortcuts has been 
+	 * @deprecated the use of perspectives for launch shortcuts has been
 	 * deprecated since 3.1, use a contextualLaunch element instead
 	 */
 	@Deprecated
@@ -887,10 +887,10 @@
 		List<LaunchShortcutExtension> list = fLaunchShortcutsByPerspective.get(perpsective);
 		if (list == null) {
 			return Collections.EMPTY_LIST;
-		} 
+		}
 		return filterShortcuts(list, category);
 	}
-	
+
 	/**
 	 * Returns the first occurrence of any one of the configurations in the provided list, if they are found in the launch history
 	 * for the corresponding launch group
@@ -942,7 +942,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the shared config from the selected resource or <code>null</code> if the selected resources is not a shared config
 	 * @param receiver the object to test if it is a shared launch configuration
@@ -978,7 +978,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the image used to display an error in the given tab
 	 * @param tab the tab to get the error image for
@@ -1003,11 +1003,11 @@
 		}
 		return image;
 	}
-	
+
 	/**
 	 * Return the launch group with the given id, or <code>null</code>
 	 * @param id the identifier of the {@link LaunchGroupExtension}
-	 * 
+	 *
 	 * @return the launch group with the given id, or <code>null</code>
 	 */
 	public LaunchGroupExtension getLaunchGroup(String id) {
@@ -1016,10 +1016,10 @@
 		}
 		return fLaunchGroups.get(id);
 	}
-	
+
 	/**
 	 * Return all defined launch groups
-	 * 
+	 *
 	 * @return all defined launch groups
 	 */
 	public ILaunchGroup[] getLaunchGroups() {
@@ -1027,18 +1027,18 @@
 			loadLaunchGroups();
 		}
 		return fLaunchGroups.values().toArray(new ILaunchGroup[fLaunchGroups.size()]);
-	}	
-	
+	}
+
 	/**
 	 * Return the launch history with the given group id, or <code>null</code>
-	 * @param id the identifier of the launch history 
+	 * @param id the identifier of the launch history
 	 * @return the launch history with the given group id, or <code>null</code>
 	 */
 	public LaunchHistory getLaunchHistory(String id) {
 		loadLaunchHistories();
 		return fLaunchHistories.get(id);
-	}	
-	
+	}
+
 	/**
 	 * Returns the singleton instance of the launch manager
 	 * @return the singleton instance of the launch manager
@@ -1047,7 +1047,7 @@
 	private LaunchManager getLaunchManager() {
 		return (LaunchManager) DebugPlugin.getDefault().getLaunchManager();
 	}
-	
+
 	/**
 	 * Restore launch history
 	 */
@@ -1067,10 +1067,10 @@
 			fRestoring = false;
 		}
 	}
-	
+
 	/**
 	 * Returns the default launch group for the given mode.
-	 * 
+	 *
 	 * @param mode the mode identifier
 	 * @return launch group
 	 */
@@ -1080,11 +1080,11 @@
 		}
 		return getLaunchGroup(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
 	}
-	
+
 	/**
 	 * Returns the launch group the given launch configuration type belongs to, in
 	 * the specified mode, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param type the type
 	 * @param mode the mode
 	 * @return the launch group the given launch configuration belongs to, in
@@ -1113,12 +1113,12 @@
 	}
 
 	/**
-	 * Returns the {@link ILaunchGroup} for the given mode set and 
+	 * Returns the {@link ILaunchGroup} for the given mode set and
 	 * {@link ILaunchConfigurationType}.
 	 * @param type the type
 	 * @param modeset the set of modes, which are combined to one mode string
 	 * @return the associated {@link ILaunchGroup} or <code>null</code>
-	 * 
+	 *
 	 * @since 3.4.0
 	 */
 	public ILaunchGroup getLaunchGroup(ILaunchConfigurationType type, Set<String> modeset) {
@@ -1131,11 +1131,11 @@
 		}
 		return getLaunchGroup(type, buff.toString());
 	}
-	
+
 	/**
 	 * Returns the private launch configuration used as a place-holder to represent/store
 	 * the information associated with a launch configuration type.
-	 * 
+	 *
 	 * @param type launch configuration type
 	 * @return launch configuration
 	 * @throws CoreException if an excpetion occurs
@@ -1154,7 +1154,7 @@
 				break;
 			}
 		}
-		
+
 		if (shared == null) {
 			// create a new shared config
 			ILaunchConfigurationWorkingCopy workingCopy;
@@ -1197,14 +1197,14 @@
 			throw new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "Internal error saving launch history", e)); //$NON-NLS-1$
 		} catch (ParserConfigurationException e) {
 			throw new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "Internal error saving launch history", e)); //$NON-NLS-1$
-		} 
+		}
 	}
-	
+
 	/**
 	 * Sets the given launch to be the most recent launch in the launch
 	 * history (for applicable histories).
 	 * <p>
-	 * @param launch the launch to prepend to its associated histories 
+	 * @param launch the launch to prepend to its associated histories
 	 * @since 3.3
 	 */
 	public void setRecentLaunch(ILaunch launch) {
@@ -1217,6 +1217,6 @@
 				history.launchAdded(launch);
 			}
 		}
-	}	
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
index 8116486..5741f17 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.launchConfigurations;
 
- 
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
@@ -43,18 +43,18 @@
 
 /**
  * Manages contributed launch configuration tabs
- * 
+ *
  * @see LaunchConfigurationTabGroupWrapper
  * @see LaunchConfigurationTabExtension
  * @see LaunchConfigurationTabGroupExtension
- */ 
+ */
 public class LaunchConfigurationPresentationManager {
-	
+
 	/**
 	 * The singleton launch configuration presentation manager
 	 */
 	private static LaunchConfigurationPresentationManager fgDefault;
-			
+
 	/**
 	 * Collection of launch configuration tab group extensions
 	 * defined in plug-in xml. Entries are keyed by launch
@@ -64,17 +64,17 @@
 	 * used to represent the default tab group (i.e. unspecified mode).
 	 */
 	private Hashtable<String, Map<Set<String>, LaunchConfigurationTabGroupExtension>> fTabGroupExtensions;
-	
+
 	/**
 	 * contributed tabs are stored by the tab group id that they contribute to.
 	 * each entry is a <code>Hashtable</code> consisting of the corresponding
-	 * <code>LaunchConfigurationTabExtension</code> objects for each contributed tab stored by their 
+	 * <code>LaunchConfigurationTabExtension</code> objects for each contributed tab stored by their
 	 * id
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private Hashtable<String, Hashtable<String, LaunchConfigurationTabExtension>> fContributedTabs;
-			
+
 	private static Set<String> ALL_MODES = new HashSet<String>(1);
 
 	static {
@@ -98,7 +98,7 @@
 		}
 		return fgDefault;
 	}
-		
+
 	/**
 	 * Creates launch configuration tab group extensions for each extension
 	 * defined in XML, and adds them to the table of tab group extensions.
@@ -129,26 +129,26 @@
 				}
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Reports if a tab group extension has been replaced by another contribution
 	 * @param oldext the old tab group extension from the cache
 	 * @param newext the new one being cached
 	 * @param mode the mode(s) the group applies to
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	void reportReplacement(LaunchConfigurationTabGroupExtension oldext, LaunchConfigurationTabGroupExtension newext, Object mode) {
 		if(oldext != null) {
-			Status status = new Status(IStatus.ERROR, 
-					DebugUIPlugin.getUniqueIdentifier(), 
-					NLS.bind(LaunchConfigurationsMessages.LaunchConfigurationPresentationManager_0, 
+			Status status = new Status(IStatus.ERROR,
+					DebugUIPlugin.getUniqueIdentifier(),
+					NLS.bind(LaunchConfigurationsMessages.LaunchConfigurationPresentationManager_0,
 							new String[]{oldext.getIdentifier(), oldext.getTypeIdentifier(), mode.toString(), newext.getIdentifier()}));
 			DebugUIPlugin.log(status);
 		}
 	}
-	
+
 	/**
 	 * This method is used to collect all of the contributed tabs defined by the <code>launchConfigurationTabs</code>
 	 * extension point
@@ -172,10 +172,10 @@
 			element.put(tab.getIdentifier(), tab);
 		}
 	}
-	
+
 	/**
 	 * Returns the tab group for the given launch configuration type and mode.
-	 * 
+	 *
 	 * @param type launch configuration type
 	 * @param mode launch mode
 	 * @return the tab group for the given type of launch configuration, or <code>null</code> if none
@@ -188,10 +188,10 @@
 		if (ext == null) {
 			IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "No tab group defined for launch configuration type " + type.getIdentifier(), null);   //$NON-NLS-1$
 			 throw new CoreException(status);
-		} 
-		return new LaunchConfigurationTabGroupWrapper(ext.newTabGroup(), ext.getIdentifier(), null);		
+		}
+		return new LaunchConfigurationTabGroupWrapper(ext.newTabGroup(), ext.getIdentifier(), null);
 	}
-	
+
 	/**
 	 * Returns the tab group for the given launch configuration and the mode the dialog opened in
 	 * @param type the type of the configuration
@@ -207,17 +207,17 @@
 		if (ext == null) {
 			IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "No tab group defined for launch configuration type " + config.getType().getIdentifier(), null);   //$NON-NLS-1$
 			 throw new CoreException(status);
-		} 
+		}
 		return new LaunchConfigurationTabGroupWrapper(ext.newTabGroup(), ext.getIdentifier(), config);
 	}
-	
+
 	/**
 	 * Returns the proxy elements for all contributed tabs for the specified tab group id
 	 * @param groupid the id of the tab group
 	 * @param config the config the tab group is opened on
 	 * @param mode the mode the associated launch dialog is opened on
 	 * @return the listing of all of the tab extensions or an empty array, never <code>null</code>
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	protected LaunchConfigurationTabExtension[] getTabExtensions(String groupid, ILaunchConfiguration config, String mode) throws CoreException {
@@ -228,7 +228,7 @@
 		}
 		return new LaunchConfigurationTabExtension[0];
 	}
-	
+
 	/**
 	 * Returns a listing of <code>LaunchConfiguraitonTabExtension</code>s that does not contain any tabs
 	 * from disabled activities
@@ -242,7 +242,7 @@
 	 * </p>
 	 * @param tabs the raw listing of tabs to filter
 	 * @return the listing of filtered <code>LaunchConfigurationTabExtension</code>s or an empty array, never <code>null</code>
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	protected LaunchConfigurationTabExtension[] filterLaunchTabExtensions(LaunchConfigurationTabExtension[] tabs, ILaunchConfiguration config, String mode) throws CoreException {
@@ -281,11 +281,11 @@
 		}
 		return set.toArray(new LaunchConfigurationTabExtension[set.size()]);
 	}
-	
+
 	/**
 	 * Returns the launch tab group extension for the given type and mode, or
 	 * <code>null</code> if none
-	 * 
+	 *
 	 * @param type launch configuration type identifier
 	 * @param mode launch mode identifier
 	 * @return launch tab group extension or <code>null</code>
@@ -303,11 +303,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the identifier of the help context that is associated with the
 	 * specified launch configuration type and mode, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param type launch config type
 	 * @param mode launch mode
 	 * @return the identifier for the help context associated with the given
@@ -322,14 +322,14 @@
 		if (ext == null) {
 			IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "No tab group defined for launch configuration type " + type.getIdentifier(), null);  //$NON-NLS-1$
 			 throw new CoreException(status);
-		} 
-		return ext.getHelpContextId();		
+		}
+		return ext.getHelpContextId();
 	}
-	
+
 	/**
 	 * Returns the description of the given configuration type
 	 * in the specified mode or <code>null</code> if none.
-	 * 
+	 *
 	 * @param configType the config type
 	 * @param mode the launch mode
 	 * @return the description of the given configuration type, possible <code>null</code>
@@ -339,11 +339,11 @@
 		modes.add(mode);
 		LaunchConfigurationTabGroupExtension extension = getExtension(configType.getAttribute(IConfigurationElementConstants.ID), modes);
 		return (extension != null ? extension.getDescription(modes) : null);
-	}	
-	
+	}
+
 	/**
 	 * Returns a sorted list of launch mode names corresponding to the given identifiers.
-	 * 
+	 *
 	 * @param modes set of launch mode identifiers
 	 * @return sorted list of launch mode names
 	 */
@@ -361,7 +361,7 @@
 		Collections.sort(names);
 		return names;
 	}
-	
+
 	/**
 	 * Returns the label of the mode id with all accelerators removed
 	 * @param modeid the id of the mode i.e. 'run'
@@ -377,6 +377,6 @@
 		}
 		return mode;
 	}
-	
+
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
index 8fcf468..f458a24 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
@@ -28,13 +28,13 @@
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
- 
+
 
 /**
  * A dialog used to edit a single launch configuration.
  */
 public class LaunchConfigurationPropertiesDialog extends LaunchConfigurationsDialog implements ILaunchConfigurationListener {
-	
+
 	/**
 	 * The launch configuration to display
 	 */
@@ -43,9 +43,9 @@
 	/**
 	 * Constructs a new launch configuration dialog on the given
 	 * parent shell.
-	 * 
+	 *
 	 * @param shell the parent shell
-	 * @param selection the selection used to initialize this dialog, typically the 
+	 * @param selection the selection used to initialize this dialog, typically the
 	 *  current workbench selection
 	 * @param group launch group
 	 */
@@ -54,15 +54,15 @@
 		fLaunchConfiguration = launchConfiguration;
 		DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(this);
 	}
-	
+
 	/**
 	 * Constructs a new launch configuration dialog on the given
 	 * parent shell.
-	 * 
+	 *
 	 * @param shell the parent shell
-	 * @param selection the selection used to initialize this dialog, typically the 
+	 * @param selection the selection used to initialize this dialog, typically the
 	 *  current workbench selection
-	 * @param reservednames a set of names of virtual launch configurations that need to be considered 
+	 * @param reservednames a set of names of virtual launch configurations that need to be considered
 	 *  when configuration names are generated
 	 * @param group launch group
 	 */
@@ -72,10 +72,10 @@
 		DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(this);
 		fReservedNames = reservednames;
 	}
-	
+
 	/**
 	 * Returns the launch configuration being displayed.
-	 * 
+	 *
 	 * @return ILaunchConfiguration
 	 */
 	protected ILaunchConfiguration getLaunchConfiguration() {
@@ -105,9 +105,9 @@
 		IStatus status = getInitialStatus();
 		if (status != null) {
 			handleStatus(status);
-		}		
+		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#close()
 	 */
@@ -119,7 +119,7 @@
 		DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(this);
 		return super.close();
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#addContent(org.eclipse.swt.widgets.Composite)
 	 */
@@ -135,30 +135,30 @@
 		topLayout.marginWidth = 5;
 		topComp.setLayout(topLayout);
 		topComp.setFont(dialogComp.getFont());
-	
-		// Set the things that TitleAreaDialog takes care of 
+
+		// Set the things that TitleAreaDialog takes care of
 		setTitle(getTitleAreaTitle());
 		setMessage(IInternalDebugCoreConstants.EMPTY_STRING);
 		setModeLabelState();
-	
+
 		// Build the launch configuration edit area and put it into the composite.
 		Composite editAreaComp = createLaunchConfigurationEditArea(topComp);
 		gd = new GridData(GridData.FILL_BOTH);
 		editAreaComp.setLayoutData(gd);
 		editAreaComp.setFont(dialogComp.getFont());
-		
+
 		dialogComp.layout(true);
 		applyDialogFont(dialogComp);
 	}
-	
+
 	/**
 	 * returns the title area title of the dialog
 	 * @return the title area title
 	 */
 	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.LaunchConfigurationPropertiesDialog_Edit_launch_configuration_properties_1; 
+		return LaunchConfigurationsMessages.LaunchConfigurationPropertiesDialog_Edit_launch_configuration_properties_1;
 	}
-			
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
@@ -168,7 +168,7 @@
 		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
 		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
 	}
-					
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#getShellTitle()
 	 */
@@ -176,7 +176,7 @@
 	protected String getShellTitle() {
 		return LaunchConfigurationsMessages.LaunchConfigurationPropertiesDialog_Properties_for__0__2;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#getHelpContextId()
 	 */
@@ -184,7 +184,7 @@
 	protected String getHelpContextId() {
 		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_PROPERTIES_DIALOG;
 	}
-  	 	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog#updateButtons()
 	 */
@@ -192,9 +192,9 @@
 	public void updateButtons() {
 		getTabViewer().refresh();
 		getButton(IDialogConstants.OK_ID).setEnabled(getTabViewer().canSave());
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationSelectionDialog.java
index 9496386..a063216 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationSelectionDialog.java
@@ -18,7 +18,7 @@
 
 /**
  * This class provides a dialog for selecting a given launch configuration from a listing
- * 
+ *
  * @since 3.3.0
  * CONTEXTLAUNCHING
  */
@@ -26,7 +26,7 @@
 
 	private static final String DIALOG_SETTINGS = IDebugUIConstants.PLUGIN_ID + ".SELECT_LAUNCH_CONFIGURATION_DIALOG"; //$NON-NLS-1$;
 	private Object fInput;
-	
+
 	/**
 	 * Constructor
 	 * @param parent
@@ -68,5 +68,5 @@
 	protected String getViewerLabel() {
 		return LaunchConfigurationsMessages.LaunchConfigurationSelectionDialog_1;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
index dae26a1..e761b30 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.launchConfigurations;
 
- 
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -30,33 +30,33 @@
  * Proxy to a launch configuration tab group element
  */
 public class LaunchConfigurationTabGroupExtension {
-	
+
 	/**
 	 * The configuration element defining this tab group.
 	 */
 	private IConfigurationElement fConfig = null;
-	
+
 	/**
 	 * A list of sets of modes that this tab group supports
 	 * @since 3.3
 	 */
 	private List<Set<String>> fModes = null;
-	
+
 	/**
 	 * A map of mode sets to descriptions
 	 * @since 3.3
 	 */
 	private Map<Set<String>, String> fDescriptions = null;
-	
+
 	/**
 	 * Perspectives for each mode
 	 */
 	private Map<Set<String>, String> fPerspectives = null;
-		
+
 	/**
 	 * Constructs a launch configuration tab extension based
 	 * on the given configuration element
-	 * 
+	 *
 	 * @param element the configuration element defining the
 	 *  attributes of this launch configuration tab extension
 	 * @return a new launch configuration tab extension
@@ -64,32 +64,32 @@
 	public LaunchConfigurationTabGroupExtension(IConfigurationElement element) {
 		setConfigurationElement(element);
 	}
-	
+
 	/**
 	 * Sets the configuration element that defines the attributes
 	 * for this launch configuration tab group extension.
-	 * 
+	 *
 	 * @param element configuration element
 	 */
 	private void setConfigurationElement(IConfigurationElement element) {
 		fConfig = element;
 	}
-	
+
 	/**
 	 * Returns the configuration element that defines the attributes
 	 * for this launch configuration tab group extension.
-	 * 
+	 *
 	 * @param configuration element that defines the attributes
 	 *  for this launch configuration tab extension
 	 */
 	protected IConfigurationElement getConfigurationElement() {
 		return fConfig;
 	}
-	
+
 	/**
 	 * Returns the set of modes specified in the configuration data, or <code>null</code>
 	 * if none (i.e. default tab group)
-	 * 
+	 *
 	 * @return the set of modes specified in the configuration data, or
 	 *  <code>null</code>
 	 */
@@ -117,11 +117,11 @@
 		}
 		return fModes;
 	}
-	
+
 	/**
 	 * Returns the perspective associated with the given launch
 	 * mode, as specified in plug-in XML, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param modes the set of launch modes
 	 * @return perspective identifier, or <code>null</code>
 	 */
@@ -129,49 +129,49 @@
 		getModes();
 		return fPerspectives.get(modes);
 	}
-	
+
 	/**
 	 * Returns the identifier of the type of launch configuration this
 	 * tab group is associated with
-	 * 
+	 *
 	 * @return the identifier of the type of launch configuration this
 	 *  tab group is associated with
-	 */	
+	 */
 	protected String getTypeIdentifier() {
 		return getConfigurationElement().getAttribute(IConfigurationElementConstants.TYPE);
 	}
-	
+
 	/**
 	 * Returns the identifier of the help context associated with this tab
 	 * group, or <code>null</code> if one was not specified.
-	 * 
+	 *
 	 * @return the identifier of this tab group's help context or
 	 * <code>null</code>
 	 * @since 2.1
-	 */	
+	 */
 	protected String getHelpContextId() {
-		return getConfigurationElement().getAttribute(IConfigurationElementConstants.HELP_CONTEXT_ID);		
+		return getConfigurationElement().getAttribute(IConfigurationElementConstants.HELP_CONTEXT_ID);
 	}
-	
+
 	/**
 	 * Returns the identifier of the tab group
 	 * @return the id of the tab group
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	protected String getIdentifier() {
-		return getConfigurationElement().getAttribute(IConfigurationElementConstants.ID); 
+		return getConfigurationElement().getAttribute(IConfigurationElementConstants.ID);
 	}
-	
+
 	/**
 	 * Returns a new tab group defined by this extension
-	 * 
+	 *
 	 * @return a new tab group defined by this extension
 	 * @exception CoreException if an exception occurs instantiating
 	 * 	the tab group
 	 */
 	public ILaunchConfigurationTabGroup newTabGroup() throws CoreException {
-		return (ILaunchConfigurationTabGroup)getConfigurationElement().createExecutableExtension(IConfigurationElementConstants.CLASS); 
+		return (ILaunchConfigurationTabGroup)getConfigurationElement().createExecutableExtension(IConfigurationElementConstants.CLASS);
 	}
 
 	/**
@@ -201,15 +201,15 @@
 					fDescriptions.put(set, description);
 				}
 			}
-			
-		} 
+
+		}
 		description = fDescriptions.get(modes);
 		if(description == null) {
 			description = fConfig.getAttribute(IConfigurationElementConstants.DESCRIPTION);
-			
+
 		}
 		return (description == null ? IInternalDebugCoreConstants.EMPTY_STRING : description);
 	}
-	
+
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
index f4f60ce..dc91023 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
@@ -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
  *     Mohamed Hussein (Mentor Graphics) - Added getWarningMessage (Bug 386673)
@@ -83,58 +83,58 @@
  * buttons.
  */
 public class LaunchConfigurationTabGroupViewer {
-	
+
 	/**
 	 * Containing launch dialog
 	 */
 	private ILaunchConfigurationDialog fDialog;
-	
+
 	/**
 	 * The launch configuration (original) being edited
 	 */
 	private ILaunchConfiguration fOriginal;
-	
+
 	/**
 	 * The working copy of the original
 	 */
 	private ILaunchConfigurationWorkingCopy fWorkingCopy;
-	
+
 	/**
 	 * This view's control, which contains a composite area of controls
 	 */
 	private Composite fViewerControl;
-	
+
 	/**
 	 * Name text widget
 	 */
 	private Text fNameWidget;
-	
+
 	/**
 	 * Composite containing the launch config tab widgets
 	 */
 	private Composite fGroupComposite;
-	
+
 	/**
 	 * Tab folder
 	 */
 	private CTabFolder fTabFolder;
-	
+
 	/**
 	 * The current tab group being displayed
 	 */
 	private ILaunchConfigurationTabGroup fTabGroup;
-	
+
 	/**
 	 * Index of the active tab
 	 */
 	private int fCurrentTabIndex = -1;
-	
+
 	/**
 	 * Apply & Revert buttons
 	 */
 	private Button fApplyButton;
 	private Button fRevertButton;
-	
+
 	/**
 	 * Whether tabs are currently being disposed or initialized
 	 */
@@ -146,13 +146,13 @@
 	 * launch configuration type or <code>null</code> if none.
 	 */
 	private String fDescription = null;
-	
+
 	/**
 	 * A place holder for switching between the tabs for a config and the getting started tab
 	 * @since 3.2
 	 */
 	private Composite fTabPlaceHolder = null;
-	
+
 	/**
 	 * A link to allow users to select a valid set of launch options for the specified mode
 	 * @since 3.3
@@ -164,7 +164,7 @@
      * @since 3.5
      */
     private Label fOptionsErrorLabel = null;
-    
+
 	/**
 	 * A new composite replacing the perspectives tab
 	 * @since 3.2
@@ -172,16 +172,16 @@
 	private Composite fGettingStarted = null;
 
 	private ViewForm fViewform;
-	
+
 	/**
 	 * Job to update the dialog after a delay.
 	 */
 	private Job fRefreshJob;
-	
+
 	/**
 	 * Constructs a viewer in the given composite, contained by the given
 	 * launch configuration dialog.
-	 * 
+	 *
 	 * @param parent composite containing this viewer
 	 * @param dialog containing launch configuration dialog
 	 */
@@ -190,7 +190,7 @@
 		fDialog = dialog;
 		createControl(parent);
 	}
-	
+
 	/**
 	 * Cleanup
 	 */
@@ -206,8 +206,8 @@
 			fTabGroup.dispose();
 			fTabGroup = null;
 		}
-	}	
-	
+	}
+
 	/**
 	 * Creates this viewer's control This area displays the name of the launch
 	 * configuration currently being edited, as well as a tab folder of tabs
@@ -225,19 +225,19 @@
 		GridData gd = new GridData(GridData.FILL_BOTH);
 		fViewform.setLayoutData(gd);
         fViewform.setTopLeft(null);
-        
+
         Composite mainComp = SWTFactory.createComposite(fViewform, fViewform.getFont(), 1, 1, 1, 0, 0);
         fViewform.setContent(mainComp);
 
 		fTabPlaceHolder = SWTFactory.createComposite(mainComp, 1, 1, GridData.FILL_BOTH);
 		fTabPlaceHolder.setLayout(new StackLayout());
 		fGettingStarted = SWTFactory.createComposite(fTabPlaceHolder, 1, 1, GridData.FILL_BOTH);
-		
+
 		createGettingStarted(fGettingStarted);
-		
+
 		fGroupComposite = SWTFactory.createComposite(fTabPlaceHolder, fTabPlaceHolder.getFont(), 2, 2, GridData.FILL_BOTH, 5, 5);
 		SWTFactory.createLabel(fGroupComposite, LaunchConfigurationsMessages.LaunchConfigurationDialog__Name__16, 1);
-       
+
 		fNameWidget = new Text(fGroupComposite, SWT.SINGLE | SWT.BORDER);
         fNameWidget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
         fNameWidget.addModifyListener(new ModifyListener() {
@@ -249,9 +249,9 @@
     				}
     			}
     		);
-    		
+
 		createTabFolder(fGroupComposite);
-		
+
 		Composite blComp = SWTFactory.createComposite(mainComp, mainComp.getFont(), 2, 1, GridData.FILL_HORIZONTAL);
 		Composite linkComp = SWTFactory.createComposite(blComp, blComp.getFont(), 2, 1, GridData.FILL_HORIZONTAL);
 
@@ -259,7 +259,7 @@
 		fOptionsErrorLabel = new Label(linkComp, SWT.NONE);
         gd = new GridData();
         fOptionsErrorLabel.setLayoutData(gd);
-        
+
 		fOptionsLink = new Link(linkComp, SWT.WRAP);
 		fOptionsLink.setFont(linkComp.getFont());
 		gd = new GridData(SWT.LEFT);
@@ -271,7 +271,7 @@
 				//collect the options available
 				try {
 					if(!canLaunchWithModes()) {
-						SelectLaunchModesDialog sld = new SelectLaunchModesDialog(getShell(), 
+						SelectLaunchModesDialog sld = new SelectLaunchModesDialog(getShell(),
 								getLaunchConfigurationDialog().getMode(), getWorkingCopy());
 						if(sld.open() == IDialogConstants.OK_ID) {
 							//set the options to the config
@@ -287,9 +287,9 @@
 						}
 					}
 					else if(hasMultipleDelegates()) {
-						SelectLaunchersDialog sldd = new SelectLaunchersDialog(getShell(), 
-								getWorkingCopy().getType().getDelegates(getCurrentModeSet()), 
-								getWorkingCopy(), 
+						SelectLaunchersDialog sldd = new SelectLaunchersDialog(getShell(),
+								getWorkingCopy().getType().getDelegates(getCurrentModeSet()),
+								getWorkingCopy(),
 								getLaunchConfigurationDialog().getMode());
 						if(sldd.open() == IDialogConstants.OK_ID) {
 							displayInstanceTabs(true);
@@ -300,7 +300,7 @@
 			}
 		});
 		fOptionsLink.setVisible(false);
-		
+
 		Composite buttonComp = SWTFactory.createComposite(blComp, 2, 1, GridData.HORIZONTAL_ALIGN_END);
 
 		fRevertButton = SWTFactory.createPushButton(buttonComp, LaunchConfigurationsMessages.LaunchConfigurationDialog_Revert_2, null, GridData.HORIZONTAL_ALIGN_END);
@@ -320,7 +320,7 @@
 		});
         Dialog.applyDialogFont(parent);
 	}
-	
+
 	/**
 	 * Creates some help text for the tab group launch types
 	 * @param parent the parent composite
@@ -336,7 +336,7 @@
 		SWTFactory.createWrapCLabel(parent, LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_4, DebugUITools.getImage(IInternalDebugUIConstants.IMG_ELCL_DELETE_CONFIG), 1, width);
         SWTFactory.createWrapCLabel(parent, LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_8, DebugUITools.getImage(IInternalDebugUIConstants.IMG_ELCL_FILTER_CONFIGS), 1, width);
         SWTFactory.createWrapCLabel(parent, LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_3, DebugUITools.getImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT), 1, width);
-        
+
 		SWTFactory.createHorizontalSpacer(parent, 2);
 		Link link = new Link(parent, SWT.LEFT | SWT.WRAP);
 		link.setText(LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_5);
@@ -351,7 +351,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the tab folder for displaying config instances
 	 * @param parent the parent {@link Composite}
@@ -378,17 +378,17 @@
 						refresh();
 					}
 				}
-			});	
+			});
 		}
 	}
-	
+
 	/**
 	 * Returns the apply button
 	 * @return the 'Apply' button
 	 */
 	protected Button getApplyButton() {
 		return fApplyButton;
-	}	
+	}
 
 	/**
 	 * Returns the revert button
@@ -396,7 +396,7 @@
 	 */
 	protected Button getRevertButton() {
 		return fRevertButton;
-	}	
+	}
 
 	/**
 	 * Sets the current name
@@ -412,7 +412,7 @@
 			}
 			refreshStatus();
 		}
-	}	
+	}
 
 	/**
 	 * @return the backing viewer control
@@ -420,7 +420,7 @@
 	public Control getControl() {
 		return fViewerControl;
 	}
-	
+
 	/**
 	 * Returns the shell this viewer is contained in.
 	 * @return the current dialog shell
@@ -430,10 +430,10 @@
 	}
 
 	/**
-	 * Returns the current input to the viewer. Input will 
+	 * Returns the current input to the viewer. Input will
 	 * be one of {@link ILaunchConfiguration} or {@link ILaunchConfigurationType}
-	 * 
-	 * @return returns the current input 
+	 *
+	 * @return returns the current input
 	 */
 	public Object getInput() {
 		return getConfiguration();
@@ -460,7 +460,7 @@
 					if(copy != null) {
 						copy.doSave();
 					}
-				} 
+				}
 				catch (CoreException e) {DebugUIPlugin.log(e);}
 			}
 			updateButtons();
@@ -483,10 +483,10 @@
 			getLaunchConfigurationDialog().updateMessage();
 		}
 	}
-	
+
 	/**
 	 * Shows the link for either multiple launch delegates or bad launch mode combinations
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private void showLink() {
@@ -520,11 +520,11 @@
 		}
 		fViewform.layout(true, true);
 	}
-	
+
 	/**
 	 * Returns the preferred launch delegate for the current launch configuration and mode set
 	 * @return the preferred launch delegate
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	protected ILaunchDelegate getPreferredDelegate() {
@@ -542,7 +542,7 @@
 		}
 		return preferred;
 	}
-	
+
 	/**
 	 * Returns the listing of modes for the current config
 	 * @return the listing of modes for the current config
@@ -560,10 +560,10 @@
 		}
 		return set;
 	}
-	
+
 	/**
 	 * @return returns the configuration input
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	ILaunchConfiguration getConfiguration() {
@@ -572,7 +572,7 @@
 		}
 		return fOriginal;
 	}
-	
+
 	/**
 	 * updates the button states
 	 */
@@ -597,7 +597,7 @@
 				}
 			});
 		}
-		
+
 	}
 	/**
 	 * Sets the input to the tab group viewer
@@ -616,10 +616,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * The input has changed to the given object, possibly <code>null</code>.
-	 * 
+	 *
 	 * @param input the new input, possibly <code>null</code>
 	 */
 	protected void inputChanged(Object input) {
@@ -653,16 +653,16 @@
 		};
 		BusyIndicator.showWhile(getShell().getDisplay(), r);
 	}
-	
+
 	/**
 	 * Sets the tab group viewer to have no input, this is the case when null is passed as an input type
 	 * Setting no input is equivalent to resetting all items, clearing any messages and showing the 'getting started' pane
-	 * @since 3.2 
+	 * @since 3.2
 	 */
 	private void setNoInput() {
 		fOriginal = null;
 		fWorkingCopy = null;
-		disposeExistingTabs();	
+		disposeExistingTabs();
 		updateButtons();
 		updateVisibleControls(false);
 		ILaunchConfigurationDialog lcd = getLaunchConfigurationDialog();
@@ -672,7 +672,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns if the two configurations are using the same <code>ILaunchDelegate</code> or not
 	 * @param config1 the config to compare to
@@ -705,9 +705,9 @@
 		catch(CoreException ce) {DebugUIPlugin.log(ce);}
 		return false;
 	}
-	
+
 	/**
-	 * Updates the visibility of controls based on the status provided 
+	 * Updates the visibility of controls based on the status provided
 	 * @param visible the visibility status to be applied to the controls
 	 */
 	private void updateVisibleControls(boolean visible) {
@@ -722,14 +722,14 @@
 		}
 		fTabPlaceHolder.layout(true, true);
 	}
-	
+
     /**
      * sets the current widget focus to the 'Name' widget
      */
     protected void setFocusOnName() {
         fNameWidget.setFocus();
     }
-    
+
 	/**
 	 * Displays tabs for the current working copy
 	 * @param redrawTabs if the tabs should be redrawn
@@ -740,7 +740,7 @@
 		ILaunchConfigurationType type = null;
 		try {
 			type = getWorkingCopy().getType();
-		} 
+		}
 		catch (CoreException e) {
 			errorDialog(e);
 			fInitializingTabs = false;
@@ -767,17 +767,17 @@
 
 		// Update the name field
 		fNameWidget.setText(getWorkingCopy().getName());
-		
+
 		fCurrentTabIndex = fTabFolder.getSelectionIndex();
 
 		// Turn off initializing flag to update message
 		fInitializingTabs = false;
-		
+
 		if (!fViewform.isVisible()) {
 			fViewform.setVisible(true);
-		}	
+		}
 	}
-	
+
 	/**
 	 * Populate the tabs in the configuration edit area to be appropriate to the current
 	 * launch configuration type.
@@ -794,7 +794,7 @@
 		try {
 			group = createGroup();
 		} catch (CoreException ce) {
-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_Exception_occurred_creating_launch_configuration_tabs_27,ce); // 
+			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_Exception_occurred_creating_launch_configuration_tabs_27,ce); //
 			return;
 		}
 		disposeExistingTabs();
@@ -807,7 +807,7 @@
 			tab = new CTabItem(fTabFolder, SWT.BORDER);
 			name = tabs[i].getName();
 			if (name == null) {
-				name = LaunchConfigurationsMessages.LaunchConfigurationDialog_unspecified_28; 
+				name = LaunchConfigurationsMessages.LaunchConfigurationDialog_unspecified_28;
 			}
 			tab.setText(name);
 			tab.setImage(tabs[i].getImage());
@@ -836,12 +836,12 @@
 			}
 		}
 		fDescription = getDescription(configType);
-	}	
+	}
 
 	/**
 	 * Returns the description of the given configuration type
 	 * in the current mode or <code>null</code> if none.
-	 * 
+	 *
 	 * @param configType the config type
 	 * @return the description of the given configuration type or <code>null</code>
 	 */
@@ -850,13 +850,13 @@
 		if(configType != null) {
 			String mode = fDialog.getMode();
 			description = LaunchConfigurationPresentationManager.getDefault().getDescription(configType, mode);
-		}	
+		}
 		if (description == null) {
 			description = IInternalDebugCoreConstants.EMPTY_STRING;
 		}
 		return description;
 	}
-	
+
 	/**
 	 * Returns tab group for the given type of launch configuration.
 	 * Tabs are initialized to be contained in this dialog.
@@ -897,8 +897,8 @@
 
 		// Otherwise return the tab group
 		return (ILaunchConfigurationTabGroup)finalArray[0];
-	}	
-	
+	}
+
 	/**
 	 * Returns the tabs currently being displayed, or
 	 * <code>null</code> if none.
@@ -928,11 +928,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns whether the launch configuration being edited is dirty (i.e.
 	 * needs saving)
-	 * 
+	 *
 	 * @return whether the launch configuration being edited needs saving
 	 */
 	public boolean isDirty() {
@@ -949,10 +949,10 @@
 		}
 		return fOriginal != null && !fOriginal.contentsEqual(workingCopy);
 	}
-	
+
 	/**
 	 * Returns the job to update the launch configuration dialog.
-	 * 
+	 *
 	 * @return update job
 	 */
 	private Job getUpdateJob() {
@@ -962,10 +962,10 @@
 		}
 		return fRefreshJob;
 	}
-	
+
 	/**
 	 * Schedules the update job to run for this tab based on this tab's delay.
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	protected void scheduleUpdateJob() {
@@ -973,22 +973,22 @@
 		job.cancel(); // cancel existing job
 		job.schedule(getUpdateJobDelay());
 	}
-	
+
 	/**
 	 * Return the time delay that should be used when scheduling the
 	 * update job. Subclasses may override.
-	 * 
+	 *
 	 * @return a time delay in milliseconds before the job should run
 	 * @since 3.6
 	 */
 	protected long getUpdateJobDelay() {
 		return 200;
-	}		
-	
+	}
+
 	/**
 	 * Creates and returns a job used to update the launch configuration dialog
 	 * for this tab. Subclasses may override.
-	 * 
+	 *
 	 * @return job to update the launch dialog for this tab
 	 * @since 3.6
 	 */
@@ -1006,8 +1006,8 @@
 				return !getControl().isDisposed();
 			}
 		};
-	}	
-	
+	}
+
 	/**
 	 * Update apply & revert buttons, as well as buttons and message on the
 	 * launch config dialog.
@@ -1017,8 +1017,8 @@
 			LaunchConfigurationsDialog lcd = (LaunchConfigurationsDialog) getLaunchConfigurationDialog();
 			lcd.refreshStatus();
 		}
-	}	
-	
+	}
+
 	/**
 	 * Returns the containing launch dialog
 	 * @return the current {@link ILaunchConfigurationDialog}
@@ -1030,13 +1030,13 @@
 	/**
 	 * Returns the original launch configuration being edited, possibly
 	 * <code>null</code>.
-	 * 
+	 *
 	 * @return ILaunchConfiguration
 	 */
 	protected ILaunchConfiguration getOriginal() {
 		return fOriginal;
 	}
-	
+
 	/**
 	 * Returns the working copy used to edit the original, possibly
 	 * <code>null</code>.
@@ -1045,7 +1045,7 @@
 	protected ILaunchConfigurationWorkingCopy getWorkingCopy() {
 		return fWorkingCopy;
 	}
-	
+
 	/**
 	 * Return whether the current configuration can be saved.
 	 * <p>
@@ -1079,8 +1079,8 @@
 			}
 		}
 		return true;
-	}	
-	
+	}
+
 	/**
 	 * @return if the dialog can launch in its current state
 	 */
@@ -1107,14 +1107,14 @@
 			}
 		}
 		return true;
-	}	
-	
+	}
+
 	/**
 	 * Determines if the tab groups that is currently visible can launch with the currently selected
 	 * set of options.
-	 * 
+	 *
 	 * @return true if the dialog can launch with the given set of modes, false otherwise
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public boolean canLaunchWithModes() {
@@ -1131,14 +1131,14 @@
 		}
 		return true;
 	}
-	
+
 	/**
 	 * Returns if the type currently showing in the tab group viewer has duplicate launch delegates for the given set of modes.
-	 * 
+	 *
 	 * The given set of modes comprises the current mode that the launch dialog was opened in as well as any modes that have been set on the launch
 	 * configuration.
 	 * @return the true if there are duplicates, false otherwise
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public boolean hasDuplicateDelegates() {
@@ -1153,7 +1153,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Determines if the currently showing launch configuration has multiple launch delegates for the same mode set, but does not care
 	 * if there has been a default selected yet or not
@@ -1171,7 +1171,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns the current error message or <code>null</code> if none.
 	 * @return the error message for the tab
@@ -1180,7 +1180,7 @@
 		if (fInitializingTabs) {
 			return null;
 		}
-		
+
 		if (getWorkingCopy() == null) {
 			return null;
 		}
@@ -1198,12 +1198,12 @@
 		ILaunchConfigurationTab activeTab = getActiveTab();
 		if (activeTab == null) {
 			return null;
-		} 
+		}
 		message = activeTab.getErrorMessage();
 		if (message != null) {
 			return message;
 		}
-		
+
 		ILaunchConfigurationTab[] allTabs = getTabs();
 		for (int i = 0; i < allTabs.length; i++) {
 			ILaunchConfigurationTab tab = allTabs[i];
@@ -1226,23 +1226,23 @@
 			return MessageFormat.format(LaunchConfigurationsMessages.LaunchConfigurationTabGroupViewer_14, new Object[] { names.toString() });
 		}
 		return null;
-	}	
-	
+	}
+
 	/**
 	 * Returns the current message or <code>null</code> if none.
 	 * @return Returns an appropriate message for display to user. The message returned will be:
 	 * The message defined by the visible tab,
 	 * or The tab group description for the particular launch mode,
 	 * or The generic tab group description,
-	 * or <code>null</code> if no message is defined 
+	 * or <code>null</code> if no message is defined
 	 */
 	public String getMessage() {
 		if (fInitializingTabs) {
 			return null;
 		}
-		
+
 		String message = fDescription;
-		
+
 		ILaunchConfigurationTab tab = getActiveTab();
 		if (tab != null) {
 			String tabMessage = tab.getMessage();
@@ -1250,23 +1250,23 @@
 				message = tabMessage;
 			}
 		}
-		
+
 		return message;
-	}	
-		
+	}
+
 	/**
 	 * Returns the current warning message or <code>null</code> if none.
 	 * @return Returns an appropriate warning message for display to user. The message returned will be:
 	 * The warning message defined by the visible tab
-	 * or <code>null</code> if no message is defined 
+	 * or <code>null</code> if no message is defined
 	 */
 	public String getWarningMessage() {
 		if (fInitializingTabs) {
 			return null;
 		}
-		
+
 		String message = null;
-		
+
 		ILaunchConfigurationTab tab = getActiveTab();
 		if (tab instanceof ILaunchConfigurationTab2) {
 			String tabMessage = ((ILaunchConfigurationTab2)tab).getWarningMessage();
@@ -1274,10 +1274,10 @@
 				message = tabMessage;
 			}
 		}
-		
+
 		return message;
-	}	
-		
+	}
+
 	/**
 	 * Verify that the launch configuration name is valid.
 	 * @throws CoreException if a name conflict occurs
@@ -1286,13 +1286,13 @@
 		if (fNameWidget.isVisible()) {
 			ILaunchManager mgr = DebugPlugin.getDefault().getLaunchManager();
 			String currentName = fNameWidget.getText().trim();
-	
+
 			// If there is no name, complain
 			if (currentName.length() < 1) {
 				throw new CoreException(new Status(IStatus.ERROR,
 													 DebugUIPlugin.getUniqueIdentifier(),
 													 0,
-													 LaunchConfigurationsMessages.LaunchConfigurationDialog_Name_required_for_launch_configuration_11, 
+													 LaunchConfigurationsMessages.LaunchConfigurationDialog_Name_required_for_launch_configuration_11,
 													 null));
 			}
 			try {
@@ -1316,15 +1316,15 @@
 					throw new CoreException(new Status(IStatus.ERROR,
 														 DebugUIPlugin.getUniqueIdentifier(),
 														 0,
-							NLS.bind(LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_configuration_already_exists_with_this_name_12, configTypeName), 
+							NLS.bind(LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_configuration_already_exists_with_this_name_12, configTypeName),
 														 null));
 				}
 			}
 		}
-	}		
-	
+	}
+
 	/**
-	 * Remove the existing tabs that are showing 
+	 * Remove the existing tabs that are showing
 	 */
 	private void disposeExistingTabs() {
 		fDisposingTabs = true;
@@ -1333,7 +1333,7 @@
 		createTabFolder(fGroupComposite);
 		disposeTabGroup();
 		fDisposingTabs = false;
-	}	
+	}
 
 	/**
 	 * Returns the current tab group
@@ -1343,7 +1343,7 @@
 	public ILaunchConfigurationTabGroup getTabGroup() {
 		return fTabGroup;
 	}
-	
+
 	/**
 	 * Notification that a tab has been selected
 	 *
@@ -1369,18 +1369,18 @@
 		}
 		fCurrentTabIndex = fTabFolder.getSelectionIndex();
 	}
-	
+
 	/**
 	 * Notification the name field has been modified
 	 */
 	protected void handleNameModified() {
 		getWorkingCopy().rename(fNameWidget.getText().trim());
 		scheduleUpdateJob();
-	}		
-	
+	}
+
 	/**
 	 * Notification that the 'Apply' button has been pressed.
-	 * 
+	 *
 	 * @return the saved launch configuration or <code>null</code> if not saved
 	 */
 	protected ILaunchConfiguration handleApplyPressed() {
@@ -1410,7 +1410,7 @@
 						public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
 							try {
 								saved[0] = ((LaunchConfigurationWorkingCopy)fWorkingCopy).doSave(monitor);
-							} 
+							}
 							catch (CoreException e) {DebugUIPlugin.log(e);}
 						}
 					};
@@ -1422,12 +1422,12 @@
 			}
 			updateButtons();
 			fInitializingTabs = false;
-		} 
-		catch (CoreException e) {exception = e;} 
-		catch (InvocationTargetException e) {exception = e;} 
-		catch (InterruptedException e) {exception = e;} 
+		}
+		catch (CoreException e) {exception = e;}
+		catch (InvocationTargetException e) {exception = e;}
+		catch (InterruptedException e) {exception = e;}
 		if(exception != null) {
-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_Configuration_Error_46, LaunchConfigurationsMessages.LaunchConfigurationDialog_Exception_occurred_while_saving_launch_configuration_47, exception); // 
+			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Launch_Configuration_Error_46, LaunchConfigurationsMessages.LaunchConfigurationDialog_Exception_occurred_while_saving_launch_configuration_47, exception); //
 			return null;
 		} else {
 			return saved[0];
@@ -1445,10 +1445,10 @@
 				fWorkingCopy = fOriginal.getWorkingCopy();
 				refreshStatus();
 			}
-		} 
+		}
 		catch (CoreException e) {DebugUIPlugin.log(e);}
-	}	
-	
+	}
+
 	/**
 	 * Show an error dialog on the given exception.
 	 *
@@ -1456,12 +1456,12 @@
 	 */
 	protected void errorDialog(CoreException exception) {
 		ErrorDialog.openError(getShell(), null, null, exception.getStatus());
-	}	
+	}
 
 	/**
 	 * Sets the displayed tab to the given tab. Has no effect if the specified
 	 * tab is not one of the tabs being displayed in the dialog currently.
-	 * 
+	 *
 	 * @param tab the tab to display/activate
 	 */
 	public void setActiveTab(ILaunchConfigurationTab tab) {
@@ -1475,12 +1475,12 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Sets the displayed tab to the tab with the given index. Has no effect if
 	 * the specified index is not within the limits of the tabs returned by
 	 * <code>getTabs()</code>.
-	 * 
+	 *
 	 * @param index the index of the tab to display
 	 */
 	public void setActiveTab(int index) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java
index 1d65b3e..3691783 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupWrapper.java
@@ -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
  *     Doug <doug.satchwell@btinternet.com> - Bug 243053
@@ -31,14 +31,14 @@
 /**
  * This class is used to wrap a contributed <code>ILaunchConfigurationTabGroup</code> with any contributed tabs
  * for that group (from a <code>launchConfigurationTabs</code> extension point).
- * 
+ *
  * @since 3.3
  */
 public class LaunchConfigurationTabGroupWrapper implements ILaunchConfigurationTabGroup {
-	
+
 	/**
 	 * Collects all tabs and contributed tabs in the correct ordering
-	 * 
+	 *
 	 * @since 3.5
 	 */
 	class TabCollector implements Iterator<ILaunchConfigurationTab> {
@@ -46,16 +46,16 @@
 		private HashSet<String> idSet = null;
 		private ArrayList<ILaunchConfigurationTab> tabList = null;
 		private ArrayList<LaunchConfigurationTabExtension> extList = null;
-		
+
 		public TabCollector(List<ILaunchConfigurationTab> tabs, List<LaunchConfigurationTabExtension> exts) {
 			tabList = new ArrayList<ILaunchConfigurationTab>(tabs);
 			extList = new ArrayList<LaunchConfigurationTabExtension>(exts);
 			idSet = new HashSet<String>(tabList.size() + extList.size());
 		}
-		
+
 		/**
 		 * Get the tab for any extension that is 'relative' to any of the previously returned tabs
-		 * 
+		 *
 		 * @return the next tab extension tab
 		 */
 		private ILaunchConfigurationTab nextExtensionTab() {
@@ -69,7 +69,7 @@
 			}
 			return null;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see java.util.Iterator#hasNext()
 		 */
@@ -85,7 +85,7 @@
 		public ILaunchConfigurationTab next() {
 			ILaunchConfigurationTab nextTab = nextExtensionTab();
 			if (nextTab == null) {
-				if (tabList.size() > 0) { 
+				if (tabList.size() > 0) {
 					nextTab = tabList.remove(0);
 				}
 				else {
@@ -110,7 +110,7 @@
 			throw new UnsupportedOperationException();
 		}
 	}
-	
+
 	private ILaunchConfigurationTabGroup fGroup = null;
 	private String fGroupId = null;
 	/**
@@ -119,7 +119,7 @@
 	private List<ILaunchConfigurationTab> fTabs = null;
 	private String fMode = null;
 	private ILaunchConfiguration fConfig = null;
-	
+
 	/**
 	 * Constructor
 	 * @param group the existing group to wrapper
@@ -161,7 +161,7 @@
 			fTabs.clear();
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#getTabs()
 	 */
@@ -192,7 +192,7 @@
 		}
 		return fTabs.toArray(new ILaunchConfigurationTab[fTabs.size()]);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
index 77baf43..765c496 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.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
  *******************************************************************************/
@@ -23,26 +23,26 @@
  * are computed according to flags set on creation of the descriptor.
  */
 public class LaunchConfigurationTabImageDescriptor extends CompositeImageDescriptor {
-	
+
 	/** Flag to render the error adornment */
 	public final static int ERROR= 		0x001;
 
 	private Image fBaseImage;
 	private int fFlags;
 	private Point fSize;
-	
+
 	/**
 	 * Create a new JDIImageDescriptor.
-	 * 
+	 *
 	 * @param baseImage an image descriptor used as the base image
 	 * @param flags flags indicating which adornments are to be rendered
-	 * 
+	 *
 	 */
 	public LaunchConfigurationTabImageDescriptor(Image baseImage, int flags) {
 		setBaseImage(baseImage);
 		setFlags(flags);
 	}
-	
+
 	/**
 	 * @see CompositeImageDescriptor#getSize()
 	 */
@@ -54,7 +54,7 @@
 		}
 		return fSize;
 	}
-	
+
 	/**
 	 * @see Object#equals(java.lang.Object)
 	 */
@@ -63,11 +63,11 @@
 		if (!(object instanceof LaunchConfigurationTabImageDescriptor)){
 			return false;
 		}
-			
+
 		LaunchConfigurationTabImageDescriptor other= (LaunchConfigurationTabImageDescriptor)object;
 		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
 	}
-	
+
 	/**
 	 * @see Object#hashCode()
 	 */
@@ -75,7 +75,7 @@
 	public int hashCode() {
 		return getBaseImage().hashCode() | getFlags();
 	}
-	
+
 	/**
 	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
 	 */
@@ -100,7 +100,7 @@
 			drawImage(data, 0, 0);
 		}
 	}
-	
+
 	protected Image getBaseImage() {
 		return fBaseImage;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
index 3eb95a8..9285425 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
@@ -11,7 +11,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.launchConfigurations;
 
- 
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -28,7 +28,7 @@
 
 /**
  * Content provider for representing launch configuration types & launch configurations in a tree.
- * 
+ *
  * @since 2.1
  */
 public class LaunchConfigurationTreeContentProvider implements ITreeContentProvider {
@@ -36,20 +36,20 @@
 	/**
 	 * Empty Object array
 	 */
-	private static final Object[] EMPTY_ARRAY = new Object[0];	
-	
+	private static final Object[] EMPTY_ARRAY = new Object[0];
+
 	/**
-	 * The mode in which the tree is being shown, one of <code>RUN_MODE</code> 
+	 * The mode in which the tree is being shown, one of <code>RUN_MODE</code>
 	 * or <code>DEBUG_MODE</code> defined in <code>ILaunchManager</code>.
 	 * If this is <code>null</code>, then it means both modes are being shown.
 	 */
 	private String fMode;
-	
+
 	/**
 	 * The Shell context
 	 */
 	private Shell fShell;
-	
+
 	/**
 	 * Constructor
 	 * @param mode the mode
@@ -62,14 +62,14 @@
 
 	/**
 	 * Actual launch configurations have no children.  Launch configuration types have
-	 * all configurations of that type as children, minus any configurations that are 
+	 * all configurations of that type as children, minus any configurations that are
 	 * marked as private.
 	 * <p>
 	 * In 2.1, the <code>category</code> attribute was added to launch config
 	 * types. The debug UI only displays those configs that do not specify a
 	 * category.
 	 * </p>
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
 	 */
 	@Override
@@ -81,7 +81,7 @@
 				ILaunchConfigurationType type = (ILaunchConfigurationType)parentElement;
 				return getLaunchManager().getLaunchConfigurations(type);
 			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20, e); // 
+				DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20, e); //
 			}
 		} else {
 			return getLaunchManager().getLaunchConfigurationTypes();
@@ -101,7 +101,7 @@
 			try {
 				return ((ILaunchConfiguration)element).getType();
 			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20, e); // 
+				DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.LaunchConfigurationDialog_Error_19, LaunchConfigurationsMessages.LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20, e); //
 			}
 		} else if (element instanceof ILaunchConfigurationType) {
 			return ResourcesPlugin.getWorkspace().getRoot();
@@ -116,14 +116,14 @@
 	public boolean hasChildren(Object element) {
 		if (element instanceof ILaunchConfiguration) {
 			return false;
-		} 
+		}
 		return getChildren(element).length > 0;
 	}
 
 	/**
 	 * Return only the launch configuration types that support the current mode AND
 	 * are marked as 'public'.
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
 	 */
 	@Override
@@ -136,7 +136,7 @@
 	 * Returns a list containing the given types minus any types that
 	 * should not be visible. A type should not be visible if it doesn't match
 	 * the current mode or if it matches a disabled activity.
-	 * 
+	 *
 	 * @param allTypes the types
 	 * @return the given types minus any types that should not be visible.
 	 */
@@ -153,7 +153,7 @@
 		}
 		return filteredTypes;
 	}
-	
+
 	/**
 	 * Return <code>true</code> if the specified launch configuration type should
 	 * be visible in the specified mode, <code>false</code> otherwise.
@@ -181,7 +181,7 @@
 	private void setMode(String mode) {
 		fMode = mode;
 	}
-	
+
 	/**
 	 * Read accessor for the mode value
 	 */
@@ -195,7 +195,7 @@
 	private void setShell(Shell shell) {
 		fShell = shell;
 	}
-	
+
 	/**
 	 * Read accessor for the shell value
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java
index 155d92e..b9a3467 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.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
  *******************************************************************************/
@@ -19,18 +19,18 @@
  * activity support to filter elements from the UI.
  */
 class LaunchConfigurationTypeContribution implements IPluginContribution {
-	
+
 	protected ILaunchConfigurationType type;
-	
+
 	/**
 	 * Creates a new plug-in contribution for the given type
-	 * 
+	 *
 	 * @param type the launch configuration type
 	 */
 	public LaunchConfigurationTypeContribution(ILaunchConfigurationType type) {
 		this.type= type;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPluginContribution#getLocalId()
 	 */
@@ -46,5 +46,5 @@
 	public String getPluginId() {
 		return type.getPluginIdentifier();
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeFilter.java
index 0d804e5..1025014 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeFilter.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
  *******************************************************************************/
@@ -20,8 +20,8 @@
 
 /**
  * Provides the implementation of the filter for filtering the launch configuration viewer based on the preference
- * <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES</code> 
- * 
+ * <code>IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES</code>
+ *
  * @since 3.2
  */
 public class LaunchConfigurationTypeFilter extends ViewerFilter {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
index ea15433..808033f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
@@ -51,26 +51,26 @@
  * A tree view of launch configurations
  */
 public class LaunchConfigurationView extends AbstractDebugView implements ILaunchConfigurationListener {
-	
+
 	/**
 	 * the filtering tree viewer
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private LaunchConfigurationFilteredTree fTree;
-	
+
 	/**
 	 * a handle to the launch manager
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private ILaunchManager fLaunchManager = DebugPlugin.getDefault().getLaunchManager();
-	
+
 	/**
 	 * The launch group to display
 	 */
 	private LaunchGroupExtension fLaunchGroup;
-	
+
 	/**
 	 * Actions
 	 */
@@ -78,31 +78,31 @@
 	private DeleteLaunchConfigurationAction fDeleteAction;
 	private DuplicateLaunchConfigurationAction fDuplicateAction;
 	private CollapseAllLaunchConfigurationAction fCollapseAllAction;
-	
+
 	/**
 	 * Action for providing filtering to the Launch Configuration Dialog
 	 * @since 3.2
 	 */
 	private FilterLaunchConfigurationAction fFilterAction;
-	
+
 	/**
-	 * This label is used to notify users that items (possibly) have been filtered from the 
+	 * This label is used to notify users that items (possibly) have been filtered from the
 	 * launch configuration view
 	 * @since 3.3
 	 */
 	private Label fFilteredNotice = null;
-	
+
 	/**
 	 * Whether to automatically select configs that are added
 	 */
 	private boolean fAutoSelect = true;
-	
+
 	/**
 	 * the group of additional filters to be added to the viewer
 	 * @since 3.2
 	 */
 	private ViewerFilter[] fFilters = null;
-	
+
 	/**
 	 * Constructs a launch configuration view for the given launch group
 	 */
@@ -110,7 +110,7 @@
 		super();
 		fLaunchGroup = launchGroup;
 	}
-	
+
 	/**
 	 * Constructor
 	 * @param launchGroup
@@ -121,10 +121,10 @@
 		fLaunchGroup = launchGroup;
 		fFilters = filters;
 	}
-	
+
 	/**
 	 * Returns the launch group this view is displaying.
-	 * 
+	 *
 	 * @return the launch group this view is displaying
 	 */
 	protected LaunchGroupExtension getLaunchGroup() {
@@ -143,7 +143,7 @@
 		viewer.setLaunchConfigurationView(this);
 		return viewer;
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractDebugView#getAdapter(java.lang.Class)
 	 */
@@ -174,11 +174,11 @@
 		}
 		return super.getAdapter(key);
 	}
-	
+
 	/**
 	 * Returns the filtering text control from the viewer or <code>null</code>
 	 * if the text control was not created.
-	 * 
+	 *
 	 * @return the filtering text control or <code>null</code>
 	 * @since 3.2
 	 */
@@ -193,20 +193,20 @@
 	protected void createActions() {
 		fCreateAction = new CreateLaunchConfigurationAction(getViewer(), getLaunchGroup().getMode());
 		setAction(CreateLaunchConfigurationAction.ID_CREATE_ACTION, fCreateAction);
-		
+
 		fDeleteAction = new DeleteLaunchConfigurationAction(getViewer(), getLaunchGroup().getMode());
 		setAction(DeleteLaunchConfigurationAction.ID_DELETE_ACTION, fDeleteAction);
 		setAction(IDebugView.REMOVE_ACTION, fDeleteAction);
-		
+
 		fDuplicateAction = new DuplicateLaunchConfigurationAction(getViewer(), getLaunchGroup().getMode());
 		setAction(DuplicateLaunchConfigurationAction.ID_DUPLICATE_ACTION, fDuplicateAction);
-		
+
 		fCollapseAllAction = new CollapseAllLaunchConfigurationAction((TreeViewer)getViewer());
 		setAction(CollapseAllLaunchConfigurationAction.ID_COLLAPSEALL_ACTION, fCollapseAllAction);
-		
+
 		fFilterAction = new FilterLaunchConfigurationAction();
 		setAction(FilterLaunchConfigurationAction.ID_FILTER_ACTION, fFilterAction);
-		
+
 	}
 
 	/**
@@ -233,11 +233,11 @@
 	 */
 	@Override
 	protected void configureToolBar(IToolBarManager tbm) {}
-	
+
 	/**
 	 * Returns this view's tree viewer
-	 * 
-	 * @return this view's tree viewer 
+	 *
+	 * @return this view's tree viewer
 	 */
 	protected TreeViewer getTreeViewer() {
 		return fTree.getLaunchConfigurationViewer();
@@ -262,7 +262,7 @@
 	@Override
 	public void launchConfigurationAdded(final ILaunchConfiguration configuration) {
 		if(isSupportedConfiguration(configuration)) {
-			//due to notification and async messages we need to collect the moved from config 
+			//due to notification and async messages we need to collect the moved from config
 			//now, else it is null'd out before the following async job runs
 			//@see bug 211235 - making local config shared creates "non-existant dup" in LCD
 			final ILaunchConfiguration from  = getLaunchManager().getMovedFrom(configuration);
@@ -297,7 +297,7 @@
     				viewer.setSelection(new StructuredSelection(configuration), true);
     			}
                 updateFilterLabel();
-			} 
+			}
 			catch (CoreException e) {}
 			finally {
 				viewer.getControl().setRedraw(true);
@@ -315,14 +315,14 @@
      * </ul>
      * @param configuration the configuration
      * @return true if the configuration is supported by this instance of the view, false otherwise
-     * 
+     *
      * @since 3.4
      */
     protected boolean isSupportedConfiguration(ILaunchConfiguration configuration) {
     	try {
     		ILaunchConfigurationType type = configuration.getType();
-    		return !configuration.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false) && 
-    				type.supportsMode(getLaunchGroup().getMode()) && 
+    		return !configuration.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false) &&
+    				type.supportsMode(getLaunchGroup().getMode()) &&
     				equalCategories(type.getCategory(), getLaunchGroup().getCategory());
     	}
     	catch(CoreException ce) {
@@ -330,14 +330,14 @@
     	}
     	return false;
     }
-    
+
     /**
 	 * Returns whether the given categories are equal.
-	 * 
+	 *
 	 * @param c1 category identifier or <code>null</code>
 	 * @param c2 category identifier or <code>null</code>
 	 * @return boolean
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	private boolean equalCategories(String c1, String c2) {
@@ -345,8 +345,8 @@
 			return c1 == c2;
 		}
 		return c1.equals(c2);
-	} 
-    
+	}
+
 	/**
 	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -407,7 +407,7 @@
 		fFilteredNotice = SWTFactory.createLabel(parent, IInternalDebugCoreConstants.EMPTY_STRING, 1);
 		fFilteredNotice.setBackground(parent.getBackground());
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.IDebugView#getViewer()
 	 */
@@ -415,7 +415,7 @@
 	public Viewer getViewer() {
 		return fTree.getLaunchConfigurationViewer();
 	}
-	
+
 	/**
 	 * Updates the filter notification label
 	 * @since 3.3
@@ -426,7 +426,7 @@
 				Integer.toString(viewer.getNonFilteredChildCount()),
 				Integer.toString(viewer.getTotalChildCount()) }));
 	}
-	
+
 	/**
 	 * returns the launch manager
 	 * @return
@@ -434,23 +434,23 @@
 	protected ILaunchManager getLaunchManager() {
 		return fLaunchManager;
 	}
-	
+
 	/**
 	 * Sets whether to automatically select configs that are
 	 * added into the view (newly created).
-	 * 
+	 *
 	 * @param select whether to automatically select configs that are
 	 * added into the view (newly created)
 	 */
 	public void setAutoSelect(boolean select) {
 		fAutoSelect = select;
 	}
-	
+
 	/**
 	 * Returns whether this view is currently configured to
 	 * automatically select newly created configs that are
 	 * added into the view.
-	 * 
+	 *
 	 * @return whether this view is currently configured to
 	 * automatically select newly created configs
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java
index 5b1d6f9..856fd62 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationViewer.java
@@ -24,7 +24,7 @@
 import org.eclipse.swt.widgets.Widget;
 
 /**
- * This class allow the notion of the viewer to be abstracted from the launch configuration view, as well as allowing the over-riding of 
+ * This class allow the notion of the viewer to be abstracted from the launch configuration view, as well as allowing the over-riding of
  * selection preservation when filtering/deletion occurs
  * @since 3.3
  */
@@ -32,7 +32,7 @@
 
 	private int fTotalCount = 0;
 	private LaunchConfigurationView fView = null;
-	
+
 	/**
 	 * Constructor
 	 * @param tree the tree to create the viewer on
@@ -40,7 +40,7 @@
 	public LaunchConfigurationViewer(Tree tree) {
 		super(tree);
 	}
-	
+
 	/**
 	 * Constructor
 	 * @param parent
@@ -124,7 +124,7 @@
 		}
 		getTree().getHorizontalBar().setSelection(0);
 	}
-	
+
 	/**
 	 * Covers the case of an outlier indice
 	 * @param count the count to compare the index to
@@ -143,16 +143,16 @@
 		}
 		return -1;
 	}
-	
+
 	/**
-	 * Returns the total count of all of the children that <i>could</i> be visible at 
+	 * Returns the total count of all of the children that <i>could</i> be visible at
 	 * the time the input was set to the viewer
 	 * @return the total number of elements
 	 */
 	protected int getTotalChildCount() {
 		return fTotalCount;
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#remove(java.lang.Object)
 	 */
@@ -199,7 +199,7 @@
 	 * returns the number of children that are remaining in the view.
 	 * Note that this method will force the loading of all children
 	 * @return the count of all children in the viewer
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	protected int getNonFilteredChildCount() {
@@ -219,7 +219,7 @@
 		getTree().setRedraw(true);
 		return count;
 	}
-	
+
 	/**
 	 * Collects the indices of the child and parent items for the specified element
 	 * @param object the element to collect indices for
@@ -230,7 +230,7 @@
 		if(object != null) {
 			TreeItem item = (TreeItem) findItem(object);
 			if(item != null) {
-				TreePath path = getTreePathFromItem(item); 
+				TreePath path = getTreePathFromItem(item);
 				item = (TreeItem) findItem(path.getFirstSegment());
 				if(item != null) {
 					indices[0] = getTree().indexOf(item);
@@ -242,7 +242,7 @@
 		}
 		return indices;
 	}
-	
+
 	/**
 	 * Finds the index of the specified object in the given array of tree items
 	 * @param items the items to search for the specified object
@@ -267,7 +267,7 @@
 		if (fView != null) {
 			fView.updateFilterLabel();
 		}
-		
+
 	}
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
index 75da0d6..969382d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
@@ -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
  *     Sebastian Davids - Bug 137923
@@ -90,7 +90,7 @@
 import org.eclipse.ui.progress.WorkbenchJob;
 
 import com.ibm.icu.text.MessageFormat;
- 
+
 /**
  * The dialog used to edit and launch launch configurations.
  */
@@ -104,7 +104,7 @@
 	 * Id for 'Launch' button.
 	 */
 	protected static final int ID_LAUNCH_BUTTON = IDialogConstants.CLIENT_ID + 1;
-		
+
 	/**
 	 * Id for 'Close' button.
 	 */
@@ -113,13 +113,13 @@
 	 * Id for 'Cancel' button.
 	 */
 	protected static final int ID_CANCEL_BUTTON = IDialogConstants.CLIENT_ID + 3;
-	
+
 	/**
 	 * The id for the 'No' button on the discard changes message box
 	 * @since 3.3
 	 */
 	protected static final int ID_DISCARD_BUTTON = IDialogConstants.CLIENT_ID + 4;
-	
+
 	/**
 	 * Constant specifying how wide this dialog is allowed to get (as a percentage of
 	 * total available screen width) as a result of tab labels in the edit area.
@@ -164,7 +164,7 @@
 	 * 'LAUNCH_CONFIGURATION_DIALOG' constants defined in this class.
 	 */
 	private int fOpenMode = LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED;
-	
+
 	private boolean fIsShift = false;
 
 	/**
@@ -173,7 +173,7 @@
 	private static final String DIALOG_SASH_WEIGHTS_1 = IDebugUIConstants.PLUGIN_ID + ".DIALOG_SASH_WEIGHTS_1"; //$NON-NLS-1$
 	private static final String DIALOG_SASH_WEIGHTS_2 = IDebugUIConstants.PLUGIN_ID + ".DIALOG_SASH_WEIGHTS_2"; //$NON-NLS-1$
 	private static final String DIALOG_EXPANDED_NODES = IDebugUIConstants.PLUGIN_ID + ".EXPANDED_NODES"; //$NON-NLS-1$
-	
+
 	/**
 	 * Returns the currently visible dialog
 	 * @return the currently visible launch dialog
@@ -188,7 +188,7 @@
 	public static void setCurrentlyVisibleLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
 		fgCurrentlyVisibleLaunchConfigurationDialog = dialog;
 	}
-	
+
 	/**
 	 * widgets
 	 */
@@ -200,18 +200,18 @@
 	private ProgressMonitorPart fProgressMonitorPart;
 	private LaunchGroupExtension fGroup;
 	private Image fBannerImage;
-	
+
 	/**
 	 * When this dialog is opened in <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code>
 	 * mode, this specifies the selection that is initially shown in the dialog.
 	 */
 	private IStructuredSelection fInitialSelection;
-		
+
 	/**
 	 * The status to open the dialog on, or <code>null</code> if none.
 	 */
 	private IStatus fInitialStatus;
-	
+
 	/**
 	 * The number of 'long-running' operations currently taking place in this dialog
 	 */
@@ -221,7 +221,7 @@
 	 * Double-click action
 	 */
 	private IAction fDoubleClickAction;
-	
+
 	/**
 	 * Filters for the LCD
 	 * @since 3.2
@@ -230,27 +230,27 @@
 	private DeletedProjectFilter fDeletedProjectFilter;
 	private LaunchConfigurationTypeFilter fLCTFilter;
 	private WorkingSetsFilter fWorkingSetsFilter;
-	
+
 	/**
 	 * set of reserved names that should not be considered when generating a new name for a launch configuration
 	 */
 	protected Set<String> fReservedNames = null;
-	
+
 	/**
 	 * Whether to set default values when opened
 	 * @since 3.6
 	 */
 	private boolean fSetDefaultOnOpen = false;
-	
+
 	/**
 	 * Whether in the process of setting the input to the tab viewer
 	 */
 	private boolean fSettingInput = false;
-	
+
 	/**
 	 * Constructs a new launch configuration dialog on the given
 	 * parent shell.
-	 * 
+	 *
 	 * @param shell the parent shell
 	 * @param group the group of launch configuration to display
 	 */
@@ -259,10 +259,10 @@
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 		setLaunchGroup(group);
 	}
-	
+
 	/**
 	 * Adds content to the dialog area
-	 * 
+	 *
 	 * @param dialogComp
 	 */
 	protected void addContent(Composite dialogComp) {
@@ -274,12 +274,12 @@
 		topLayout.marginHeight = 5;
 		topLayout.marginWidth = 5;
 		topComp.setLayout(topLayout);
-		
+
 		// Set the things that TitleAreaDialog takes care of
 		setTitle(LaunchConfigurationsMessages.LaunchConfigurationDialog_Create__manage__and_run_launch_configurations_8);
 		setMessage(LaunchConfigurationsMessages.LaunchConfigurationDialog_Ready_to_launch_2);
 		setModeLabelState();
-		
+
 		// Create the SashForm that contains the selection area on the left,
 		// and the edit area on the right
 		gd = new GridData(GridData.FILL_BOTH);
@@ -290,25 +290,25 @@
 		sash.setFont(dialogComp.getFont());
 		sash.setVisible(true);
 		fSashForm = sash;
-		
+
 		// Build the launch configuration selection area and put it into the composite.
 		Control launchConfigSelectionArea = createLaunchConfigurationSelectionArea(fSashForm);
 		gd = new GridData(GridData.FILL_VERTICAL);
 		launchConfigSelectionArea.setLayoutData(gd);
-		
+
 		// Build the launch configuration edit area and put it into the composite.
 		Composite editAreaComp = createLaunchConfigurationEditArea(fSashForm);
 		gd = new GridData(GridData.FILL_BOTH);
 		editAreaComp.setLayoutData(gd);
-		
+
 		dialogComp.layout(true);
 		applyDialogFont(dialogComp);
 	}
-	
+
 	/**
 	 * Handle the 'close' & 'launch' buttons here, all others are handled
 	 * in <code>Dialog</code>
-	 * 
+	 *
 	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
 	 */
 	@Override
@@ -327,7 +327,7 @@
 	/**
 	 * Return whether the current configuration should be saved or discarded.  This involves determining
 	 * if it is dirty, and if it is, asking the user what to do.
-	 * 
+	 *
 	 * @return if we can discard the current config or not
 	 */
 	protected int shouldSaveCurrentConfig() {
@@ -339,7 +339,7 @@
 		}
 		return IDialogConstants.NO_ID;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#close()
 	 */
@@ -360,10 +360,10 @@
 		getBannerImage().dispose();
 		return result;
 	}
-	
+
 	/**
 	 * Sets the title for the dialog, and establishes the help context.
-	 * 
+	 *
 	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell);
 	 */
 	@Override
@@ -371,7 +371,7 @@
 		super.configureShell(shell);
 		shell.setText(getShellTitle());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#create()
 	 */
@@ -382,7 +382,7 @@
 			fTabViewer.inputChanged(null);
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
@@ -427,7 +427,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * @param buttonId
 	 */
 	protected void launchButtonPressed(int buttonId) {
@@ -440,13 +440,13 @@
 		}
 	}
 
-	
+
 	/**
 	 * A launch configuration dialog overrides this method
 	 * to create a custom set of buttons in the button bar.
 	 * This dialog has 'Launch' and 'Cancel'
 	 * buttons.
-	 * 
+	 *
 	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
@@ -471,7 +471,7 @@
 		});
 		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.LaunchConfigurationDialog_Close_1, false);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
 	 */
@@ -482,7 +482,7 @@
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), getHelpContextId());
 		return contents;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
@@ -495,20 +495,20 @@
 		}
 		return dialogComp;
 	}
-			
+
 	/**
 	 * Creates the launch configuration edit area of the dialog.
 	 * This area displays the name of the launch configuration
 	 * currently being edited, as well as a tab folder of tabs
 	 * that are applicable to the launch configuration.
-	 * 
+	 *
 	 * @return the composite used for launch configuration editing
 	 */
 	protected Composite createLaunchConfigurationEditArea(Composite parent) {
 		setTabViewer(new LaunchConfigurationTabGroupViewer(parent, this));
 		return (Composite)fTabViewer.getControl();
 	}
-    
+
 	/**
 	 * Creates all of the actions for the toolbar
 	 * @param toolbar
@@ -524,7 +524,7 @@
 		tmanager.update(true);
 		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
 	}
-    
+
 	protected void setShift(boolean isShift) {
 		fIsShift = isShift;
 	}
@@ -533,7 +533,7 @@
 	 * This area displays a tree of launch configurations that the user
 	 * may select, and allows users to create new configurations, and
 	 * delete and duplicate existing configurations.
-	 * 
+	 *
 	 * @return the composite used for launch configuration selection area
 	 */
 	protected Control createLaunchConfigurationSelectionArea(Composite parent) {
@@ -543,14 +543,14 @@
         gridLayout.marginWidth = 0;
         comp.setLayout(gridLayout);
         comp.setLayoutData(new GridData(GridData.FILL_BOTH));
-        
+
         ViewForm viewForm = new ViewForm(comp, SWT.FLAT | SWT.BORDER);
         ToolBarManager toolBarManager= new ToolBarManager(SWT.FLAT);
         ToolBar toolBar = toolBarManager.createControl(viewForm);
         toolBar.setBackground(parent.getBackground());
         viewForm.setTopLeft(toolBar);
         viewForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-        
+
         Composite viewFormContents = new Composite(viewForm, SWT.FLAT);
         gridLayout = new GridLayout();
         gridLayout.marginHeight = 5;
@@ -563,7 +563,7 @@
 		if (filterText != null){
 			filterText.setFocus();
 		}
-		
+
 	//create toolbar actions, we reuse the actions from the view so we wait until after
 	//the view is created to add them to the toolbar
 		createToolbarActions(toolBarManager);
@@ -593,7 +593,7 @@
 		};
 		fLaunchConfigurationView.setAction(IDebugView.DOUBLE_CLICK_ACTION, fDoubleClickAction);
 		Viewer viewer = fLaunchConfigurationView.getViewer();
-		
+
 		Control control = viewer.getControl();
 		GridData gd = new GridData(GridData.FILL_BOTH);
 		control.setLayoutData(gd);
@@ -653,14 +653,14 @@
 		}
 		return filters.toArray(new ViewerFilter[filters.size()]);
 	}
-	
+
 	/**
 	 * Set the initial selection in the tree.
 	 */
 	public void doInitialTreeSelection() {
 		fLaunchConfigurationView.getViewer().setSelection(fInitialSelection);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#generateName(java.lang.String)
 	 */
@@ -671,7 +671,7 @@
 		}
 		return getLaunchManager().generateLaunchConfigurationName(name);
 	}
-	
+
 	/**
 	 * Generates and returns a unique name using the specified name as a prefix in the event
 	 * the specified name already exists or is contained in the set of reserved names.
@@ -679,7 +679,7 @@
 	 * @param reservednames a listing of names that should be considered as 'taken' and cannot be generated
 	 * by this method
 	 * @return a new name based on the specified name.
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public String generateName(String name, Set<String> reservednames) {
@@ -688,7 +688,7 @@
 		}
 		return ((LaunchManager)getLaunchManager()).generateUniqueLaunchConfigurationNameFrom(name, reservednames);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getActiveTab()
 	 */
@@ -696,7 +696,7 @@
 	public ILaunchConfigurationTab getActiveTab() {
 		return fTabViewer.getActiveTab();
 	}
-	
+
 	/**
 	 * Returns the banner image to display in the title area
 	 */
@@ -709,10 +709,10 @@
 		}
 		return fBannerImage;
 	}
-	
+
 	/**
 	 * Gets the delete menu action
-	 * 
+	 *
 	 * @return the delete menu action
 	 */
 	protected AbstractLaunchConfigurationAction getDeleteAction() {
@@ -727,7 +727,7 @@
 	protected IAction getFilterAction() {
 		return fLaunchConfigurationView.getAction(FilterLaunchConfigurationAction.ID_FILTER_ACTION);
 	}
-	
+
 	/**
 	 * Gets the collapse all action
 	 * @return the collapse all action
@@ -736,7 +736,7 @@
 	protected IAction getCollapseAllAction() {
 		return fLaunchConfigurationView.getAction(CollapseAllLaunchConfigurationAction.ID_COLLAPSEALL_ACTION);
 	}
-	
+
 	 /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
      * @since 3.2
@@ -745,7 +745,7 @@
 	protected IDialogSettings getDialogBoundsSettings() {
     	return getDialogSettings();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsStrategy()
      */
@@ -753,11 +753,11 @@
 	protected int getDialogBoundsStrategy() {
     	return DIALOG_PERSISTSIZE;
     }
-    
+
 	/**
 	 * Returns the dialog settings for this dialog. Subclasses should override
 	 * <code>getDialogSettingsSectionName()</code>.
-	 * 
+	 *
 	 * @return IDialogSettings
 	 */
 	protected IDialogSettings getDialogSettings() {
@@ -771,16 +771,16 @@
 
 	/**
 	 * Returns the name of the section that this dialog stores its settings in
-	 * 
+	 *
 	 * @return String
 	 */
 	protected String getDialogSettingsSectionName() {
 		return IDebugUIConstants.PLUGIN_ID + ".LAUNCH_CONFIGURATIONS_DIALOG_SECTION"; //$NON-NLS-1$
 	}
-		
+
 	/**
 	 * Gets the current display
-	 * 
+	 *
 	 * @return the display
 	 */
 	protected Display getDisplay() {
@@ -790,37 +790,37 @@
 		}
 		return DebugUIPlugin.getStandardDisplay();
 	}
-  	
+
   	/**
   	 * Gets the duplicate menu action
-  	 * 
+  	 *
   	 * @return the duplicate menu action
   	 */
   	protected AbstractLaunchConfigurationAction getDuplicateAction() {
 		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(DuplicateLaunchConfigurationAction.ID_DUPLICATE_ACTION);
 	}
-  	
+
 	/**
 	 * Gets the help context id
-	 * 
+	 *
 	 * @return the help context id
 	 */
 	protected String getHelpContextId() {
 		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG;
 	}
- 
+
  	/**
 	 * Returns the status the dialog was opened on or <code>null</code> if none.
-	 * 
+	 *
 	 * @return IStatus
 	 */
 	protected IStatus getInitialStatus() {
 		return fInitialStatus;
 	}
- 	 	 	
+
  	/**
 	 * Return the last launched configuration in the workspace.
-	 * 
+	 *
 	 * @return the last launched configuration
 	 */
 	protected ILaunchConfiguration getLastLaunchedWorkbenchConfiguration() {
@@ -829,22 +829,22 @@
 
  	/**
 	 * Returns the appropriate text for the launch button - run or debug.
-	 * 
+	 *
 	 * @return the launch button text
 	 */
 	protected String getLaunchButtonText() {
 		return DebugPlugin.getDefault().getLaunchManager().getLaunchMode(getMode()).getLabel();
 	}
- 	 
+
  	/**
 	 * Returns the launch group being displayed.
-	 * 
+	 *
 	 * @return launch group
 	 */
 	public LaunchGroupExtension getLaunchGroup() {
 		return fGroup;
 	}
- 	 	 	
+
  	/* (non-Javadoc)
  	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getMode()
  	 */
@@ -852,42 +852,42 @@
 	public String getMode() {
  		return getLaunchGroup().getMode();
  	}
- 	
+
 	/**
 	 * Gets the new menu action
-	 * 
+	 *
 	 * @return the new menu action
 	 */
 	protected AbstractLaunchConfigurationAction getNewAction() {
 		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(CreateLaunchConfigurationAction.ID_CREATE_ACTION);
 	}
-	
+
 	/**
 	 * Returns the reserved name set (if there is one), <code>null</code> otherwise
 	 * @return the reserved name set or <code>null</code>
 	 * @since 3.3
-	 * 
+	 *
 	 */
 	public Set<String> getReservedNameSet() {
 		return fReservedNames;
 	}
-	
+
 	/**
 	 * returns the open mode
-	 * 
+	 *
 	 * @return the open mode
 	 */
 	protected int getOpenMode() {
 		return fOpenMode;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IPageChangeProvider#getSelectedPage()
 	 */
 	public Object getSelectedPage() {
 		return getActiveTab();
 	}
-	
+
 	/**
 	 * Returns the title of the shell
 	 * @return the shell title
@@ -905,7 +905,7 @@
 
 	/**
  	 * Returns the current tab group
- 	 * 
+ 	 *
  	 * @return the current tab group, or <code>null</code> if none
  	 */
  	public ILaunchConfigurationTabGroup getTabGroup() {
@@ -928,7 +928,7 @@
 
 	/**
 	 * Returns the viewer used to display the tabs for a launch configuration.
-	 * 
+	 *
 	 * @return LaunchConfigurationTabGroupViewer
 	 */
 	protected LaunchConfigurationTabGroupViewer getTabViewer() {
@@ -954,14 +954,14 @@
 			cancelPressed();
 		}
 	}
-	
+
 	/**
 	 * Notification that selection has changed in the launch configuration tree.
 	 * <p>
 	 * If the currently displayed configuration is not saved,
 	 * prompt for saving before moving on to the new selection.
 	 * </p>
-	 * 
+	 *
 	 * @param event selection changed event
 	 */
  	protected void handleLaunchConfigurationSelectionChanged(SelectionChangedEvent event) {
@@ -1020,10 +1020,10 @@
  			}
  		}
   	}
- 	
+
 	/**
 	 * Notification the 'launch' button has been pressed. Save and launch.
-	 * 
+	 *
 	 */
 	protected void handleLaunchPressed() {
 		ILaunchConfiguration config = fTabViewer.getOriginal();
@@ -1040,7 +1040,7 @@
 	/**
 	 * Consult a status handler for the given status, if any. The status handler
 	 * is passed this launch config dialog as an argument.
-	 * 
+	 *
 	 * @param status the status to be handled
 	 */
 	public void handleStatus(IStatus status) {
@@ -1094,7 +1094,7 @@
 		}
 		super.initializeBounds();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
 	 */
@@ -1130,7 +1130,7 @@
 			DebugUIPlugin.log(e.getStatus());
 		}
 	}
-	
+
 	/**
 	 * Performs initialization of the content by setting the initial tree selection
 	 */
@@ -1148,17 +1148,17 @@
 			}
 		}
 		doInitialTreeSelection();
-		
+
 		IStatus status = getInitialStatus();
 		if (status != null) {
 			handleStatus(status);
 		}
 		restoreExpansion();
 	}
-	
+
 	/**
 	 * Compares two objects to determine their equality
-	 * 
+	 *
 	 * @param o1 the first object
 	 * @param o2 the object to compare to object one
 	 * @return true if they are equal, false if object 1 is null, the result of o1.equals(o2) otherwise
@@ -1175,18 +1175,18 @@
 
 	/**
 	 * Returns whether the dialog can be closed
-	 * 
+	 *
 	 * @return whether the dialog can be closed
 	 */
 	protected boolean isSafeToClose() {
 	    return fActiveRunningOperations == 0;
 	}
-	
+
 	/**
 	 * Determine the initial configuration for this dialog.
 	 * Open the dialog in the mode set using #setOpenMode(int) and return one of
 	 * <code>Window. OK</code> or <code>Window.CANCEL</code>.
-	 * 
+	 *
 	 * @see org.eclipse.jface.window.Window#open()
 	 * @return the int status of opening the dialog
 	 */
@@ -1202,7 +1202,7 @@
 		}
 		return super.open();
 	}
-	
+
 	/**
 	 * saves which of the nodes are expanded at the time the dialog is closed
 	 * @since 3.2
@@ -1240,7 +1240,7 @@
 			settings.put(DIALOG_EXPANDED_NODES, value);
 		}
 	}
-	
+
 	/**
 	 * Restore the original expansion state of the nodes in the viewer
 	 * @since 3.2
@@ -1278,7 +1278,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Save the current sash weights
 	 */
@@ -1290,7 +1290,7 @@
 			settings.put(DIALOG_SASH_WEIGHTS_2, (sashWeights[1] < 10 ? DEFAULT_SASH_WEIGHTS[1] : sashWeights[1]));
 		}
 	}
-	
+
 	/**
 	 * Update buttons and message.
 	 */
@@ -1332,7 +1332,7 @@
 			fProgressMonitorPart.attachToCancelComponent(null);
 			fProgressMonitorPart.getParent().setVisible(true);
 			fActiveRunningOperations++;
-			
+
 		//do work here collecting enabled states, otherwise to get these states we would need to
 		//perform the validation of the dialog again, which is expensive and would cause flashing of widgets.
 			Control[] children = ((Composite)fButtonComp.getChildren()[0]).getChildren();
@@ -1362,7 +1362,7 @@
 			PlatformUI.getWorkbench().getProgressService().run(fork, cancelable, runnable);
 		}
 	}
-	
+
 	/**
 	 * Updates the enablement of the runnable controls to appear disabled as a job is running
 	 * @param enabled the desired enable status of the dialog area, revert//apply buttons, and
@@ -1380,7 +1380,7 @@
 		}
 		getDialogArea().setEnabled(enabled);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setActiveTab(org.eclipse.debug.ui.ILaunchConfigurationTab)
 	 */
@@ -1388,7 +1388,7 @@
 	public void setActiveTab(ILaunchConfigurationTab tab) {
 		fTabViewer.setActiveTab(tab);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setActiveTab(int)
 	 */
@@ -1396,7 +1396,7 @@
 	public void setActiveTab(int index) {
 		fTabViewer.setActiveTab(index);
 	}
-	
+
 	/**
 	 * Sets the initial selection for the dialog when opened in
 	 * <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code> mode.
@@ -1404,48 +1404,48 @@
 	public void setInitialSelection(IStructuredSelection selection) {
 		fInitialSelection = selection;
 	}
-	
+
 	/**
 	 * Sets the status to open the dialog on.
-	 * 
+	 *
 	 * @param status the initial status for the dialog
 	 */
 	public void setInitialStatus(IStatus status) {
 		fInitialStatus = status;
 	}
-	
+
 	/**
 	 * Sets whether the tab group should set default values in the launch configuration
 	 * when the dialog is opened. If this method is not called, default values are not
 	 * set.
-	 * 
+	 *
 	 * @param setDefaults whether to set default values
 	 * @since 3.6
 	 */
 	public void setDefaultsOnOpen(boolean setDefaults) {
 		fSetDefaultOnOpen = setDefaults;
 	}
-	
+
 	/**
 	 * Returns if the dialog is supposed to be setting the default values for
 	 * the initial configuration when it opens
-	 * 
+	 *
 	 * @return <code>true</code> if the defaults should be set on open, <code>false</code> otherwise
 	 * @since 3.6
 	 */
 	public boolean shouldSetDefaultsOnOpen() {
 		return fSetDefaultOnOpen;
 	}
-	
+
 	/**
 	 * Sets the launch group to display.
-	 * 
+	 *
 	 * @param group launch group
 	 */
 	protected void setLaunchGroup(LaunchGroupExtension group) {
 		fGroup = group;
 	}
-	
+
 	/**
 	 * Set the title area image based on the mode this dialog was initialized with
 	 */
@@ -1460,7 +1460,7 @@
 	public void setName(String name) {
 		fTabViewer.setName(name);
 	}
-	
+
 	/**
 	 * Returns the current launch manager
 	 * @return the current launch manager
@@ -1468,7 +1468,7 @@
 	protected ILaunchManager getLaunchManager() {
 		return DebugPlugin.getDefault().getLaunchManager();
 	}
-	
+
 	/**
 	 * Set the flag indicating how this dialog behaves when the <code>open()</code> method is called.
 	 * Valid values are defined by the LAUNCH_CONFIGURATION_DIALOG... constants in this class.
@@ -1476,7 +1476,7 @@
 	public void setOpenMode(int mode) {
 		fOpenMode = mode;
 	}
-	
+
 	/**
  	 * Increase the size of this dialog's <code>Shell</code> by the specified amounts.
  	 * Do not increase the size of the Shell beyond the bounds of the Display.
@@ -1488,7 +1488,7 @@
 
 	/**
 	 * Sets the viewer used to display the tabs for a launch configuration.
-	 * 
+	 *
 	 * @param viewer the new view to set
 	 */
 	protected void setTabViewer(LaunchConfigurationTabGroupViewer viewer) {
@@ -1498,7 +1498,7 @@
 	/**
 	 * Create and return a dialog that asks the user whether they want to discard
 	 * unsaved changes.
-	 * 
+	 *
 	 * @return the return code based on the button selected.
 	 * The value will be one of <code>YES_ID</code> or <code>NO_ID</code> from
 	 * <code>IDialogConstants</code>.
@@ -1535,7 +1535,7 @@
 	/**
 	 * Create and return a dialog that asks the user whether they want to save
 	 * unsaved changes.
-	 * 
+	 *
 	 * @return the return code based on the button selected.
 	 * The value will be one of <code>YES_ID</code>, <code>NO_ID</code>, or <code>CANCEL_ID</code>, from
 	 * <code>IDialogConstants</code>.
@@ -1569,7 +1569,7 @@
 	 * can be saved or not.  Return <code>true</code> if the user indicated that they wish to replace
 	 * the current config, either by saving changes or by discarding the, return <code>false</code>
 	 * otherwise.
-	 * 
+	 *
 	 * @return returns the <code>showSaveChangesDialog</code> return value
 	 */
 	private int showUnsavedChangesDialog() {
@@ -1610,7 +1610,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns if there is a selection in the tree viewer or not
 	 * @return true if something in the tree is selected, false otherwise
@@ -1619,7 +1619,7 @@
 	public boolean isTreeSelectionEmpty() {
 		return fLaunchConfigurationView.getTreeViewer().getSelection().isEmpty();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 	 */
@@ -1648,7 +1648,7 @@
 						fLaunchConfigurationView.updateFilterLabel();
 					}
 				}
-				
+
 				return Status.OK_STATUS;
 			}
 		};
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
index 2cee563..e0fef6c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.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 - Initial API and implementation
  *******************************************************************************/
@@ -196,7 +196,7 @@
 	public static String LaunchConfigurationsDialog_4;
 	public static String LaunchConfigurationsDialog_5;
 	public static String FilterLaunchConfigurationAction_0;
-	
+
 
 	public static String LaunchConfigurationTabGroupViewer_8;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateContribution.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateContribution.java
index 9e95ce1..a784278 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateContribution.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateContribution.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
  *******************************************************************************/
@@ -20,7 +20,7 @@
 public class LaunchDelegateContribution implements IPluginContribution {
 
 	private ILaunchDelegate fDelegate = null;
-	
+
 	/**
 	 * Constructor
 	 * @param delegate
@@ -28,7 +28,7 @@
 	public LaunchDelegateContribution(ILaunchDelegate delegate) {
 		fDelegate = delegate;
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.IPluginContribution#getLocalId()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateNotAvailableHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateNotAvailableHandler.java
index 40beef2..a8dc148 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateNotAvailableHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchDelegateNotAvailableHandler.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
  *******************************************************************************/
@@ -23,7 +23,7 @@
 /**
  * This class provides a mechanism to prompt users in the UI thread from debug.core in the case where
  * a launch delegate has gone missing and a new choice needs to be made in the launch dialog.
- * 
+ *
  * @since 3.3
  */
 public class LaunchDelegateNotAvailableHandler implements IStatusHandler {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
index 74431b0..504c589 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.launchConfigurations;
 
- 
+
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 import org.eclipse.debug.ui.ILaunchGroup;
@@ -21,26 +21,26 @@
  * Proxy to a launch group extension
  */
 public class LaunchGroupExtension implements ILaunchGroup {
-	
+
 	/**
 	 * The configuration element defining this launch group.
 	 */
 	private IConfigurationElement fConfig;
-	
+
 	/**
 	 * The image for this group
 	 */
 	private ImageDescriptor fImageDescriptor;
-	
+
 	/**
 	 * The banner image for this group
 	 */
 	private ImageDescriptor fBannerImageDescriptor;
-	
+
 	/**
 	 * Constructs a launch group extension based on the given configuration
 	 * element
-	 * 
+	 *
 	 * @param element the configuration element defining the
 	 *  attributes of this launch group extension
 	 * @return a new launch group extension
@@ -48,31 +48,31 @@
 	public LaunchGroupExtension(IConfigurationElement element) {
 		setConfigurationElement(element);
 	}
-	
+
 	/**
 	 * Sets the configuration element that defines the attributes
 	 * for this launch group extension.
-	 * 
+	 *
 	 * @param element configuration element
 	 */
 	private void setConfigurationElement(IConfigurationElement element) {
 		fConfig = element;
 	}
-	
+
 	/**
 	 * Returns the configuration element that defines the attributes
 	 * for this launch group extension.
-	 * 
+	 *
 	 * @param configuration element that defines the attributes
 	 *  for this launch group extension
 	 */
 	protected IConfigurationElement getConfigurationElement() {
 		return fConfig;
 	}
-	
+
 	/**
 	 * Returns the image for this launch group, or <code>null</code> if none
-	 * 
+	 *
 	 * @return the image for this launch group, or <code>null</code> if none
 	 */
 	@Override
@@ -82,11 +82,11 @@
 		}
 		return fImageDescriptor;
 	}
-	
+
 	/**
 	 * Returns the banner image for this launch group, or <code>null</code> if
 	 * none
-	 * 
+	 *
 	 * @return the banner image for this launch group, or <code>null</code> if
 	 * none
 	 */
@@ -96,61 +96,61 @@
 			fBannerImageDescriptor = createImageDescriptor("bannerImage"); //$NON-NLS-1$
 		}
 		return fBannerImageDescriptor;
-	}	
-	
+	}
+
 	/**
 	 * Returns the label for this launch group
-	 * 
+	 *
 	 * @return the label for this launch group
 	 */
 	@Override
 	public String getLabel() {
 		return getConfigurationElement().getAttribute("label"); //$NON-NLS-1$
-	}	
-		
+	}
+
 	/**
 	 * Returns the id for this launch group
-	 * 
+	 *
 	 * @return the id for this launch group
 	 */
 	@Override
 	public String getIdentifier() {
 		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}	
-	
+	}
+
 	/**
 	 * Returns the category for this launch group, possibly <code>null</code>
-	 * 
+	 *
 	 * @return the category for this launch group, possibly <code>null</code>
 	 */
 	@Override
 	public String getCategory() {
 		return getConfigurationElement().getAttribute("category"); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Returns the mode for this launch group
-	 * 
+	 *
 	 * @return the mode for this launch group
 	 */
 	@Override
 	public String getMode() {
 		return getConfigurationElement().getAttribute("mode"); //$NON-NLS-1$
-	}					
-	
+	}
+
 	/**
 	 * Creates an image descriptor based on the given attribute name
-	 * 
+	 *
 	 * @param attribute
 	 * @return ImageDescriptor
 	 */
 	protected ImageDescriptor createImageDescriptor(String attribute) {
 		return DebugUIPlugin.getImageDescriptor(getConfigurationElement(), attribute);
 	}
-	
+
 	/**
 	 * Returns whether this launch group is public
-	 *  
+	 *
 	 * @return boolean
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
index 0ca7348..e25634d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
@@ -24,9 +24,9 @@
  * Displays launch configurations for a specific launch group
  */
 public class LaunchGroupFilter extends ViewerFilter {
-	
+
 	private ILaunchGroup fGroup;
-	
+
 	/**
 	 * Constructor
 	 * @param groupExtension
@@ -53,7 +53,7 @@
 				config = (ILaunchConfiguration)element;
 				try {
 					type = config.getType();
-				} 
+				}
 				catch (CoreException e) {}
 			}
 			boolean priv = false;
@@ -68,10 +68,10 @@
 			}
 			return false;
 	}
-	
+
 	/**
 	 * Returns whether the given categories are equal.
-	 * 
+	 *
 	 * @param c1 category identifier or <code>null</code>
 	 * @param c2 category identifier or <code>null</code>
 	 * @return boolean
@@ -81,6 +81,6 @@
 			return c1 == c2;
 		}
 		return c1.equals(c2);
-	} 
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
index 7ffb4b4..cd3978f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
@@ -39,39 +39,39 @@
 	 * Listing of the complete launch history, which includes favorites in the launched ordering
 	 */
 	private Vector<ILaunchConfiguration> fCompleteHistory = new Vector<ILaunchConfiguration>();
-	
+
 	/**
 	 * The launch group this history is provided for
 	 */
 	private ILaunchGroup fGroup;
-	
+
 	/**
 	 * Ordered listing of the favorites of this history
 	 */
 	private Vector<ILaunchConfiguration> fFavorites = new Vector<ILaunchConfiguration>();
-	
+
 	/**
 	 * A new saved flag to prevent save participants from serializing unchanged launch histories.
 	 * @since 3.3.1
 	 */
 	private boolean fSaved = true;
-	
+
 	/**
-	 * List of instances of this launch history 
+	 * List of instances of this launch history
 	 */
 	private static List<LaunchHistory> fgLaunchHistoryInstances = new ArrayList<LaunchHistory>();
-	
+
 	/**
 	 * Creates a new launch history for the given launch group
 	 */
 	public LaunchHistory(ILaunchGroup group) {
 		fGroup = group;
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); 
+		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
 		manager.addLaunchListener(this);
 		manager.addLaunchConfigurationListener(this);
 		fgLaunchHistoryInstances.add(this);
 	}
-	
+
 	/**
 	 * Disposes this history
 	 */
@@ -92,7 +92,7 @@
 			addHistory(configuration, true);
 		}
 	}
-	
+
 	/**
 	 * Returns if the current history contains the specified <code>ILaunchConfiguration</code>
 	 * @param config the configuration to look for
@@ -102,10 +102,10 @@
 	public synchronized boolean contains(ILaunchConfiguration configuration) {
 		return fCompleteHistory.contains(configuration);
 	}
-	
+
 	/**
 	 * Adds the given configuration to this history
-	 * 
+	 *
 	 * @param configuration
 	 * @param prepend whether the configuration should be added to the beginning of
 	 * the history list
@@ -138,14 +138,14 @@
 
 	/**
 	 * Notifies all <code>ILaunchHistoryChangedListener</code>s that the launch history has been modified
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private void fireLaunchHistoryChanged() {
 		DebugUIPlugin.getDefault().getLaunchConfigurationManager().fireLaunchHistoryChanged();
 		setSaved(false);
 	}
-	
+
 	/**
 	 * Returns if the launch history requires saving or not
 	 * @return true if the history needs to be saved, false otherwise
@@ -154,7 +154,7 @@
 	public boolean needsSaving() {
 		return !fSaved;
 	}
-	
+
 	/**
 	 * Allows the dirty flag for this launch history to be set.
 	 * It is the clients of this class that must set the saved flag to true
@@ -165,7 +165,7 @@
 	public void setSaved(boolean saved) {
 		fSaved = saved;
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
 	 */
@@ -181,9 +181,9 @@
 	/**
 	 * Returns the most recently launched configuration in this history, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @return the most recently launched configuration in this history, or
-	 * <code>null</code> if none 
+	 * <code>null</code> if none
 	 */
 	public synchronized ILaunchConfiguration getRecentLaunch() {
 		ILaunchConfiguration[] history = getCompleteLaunchHistory();
@@ -192,19 +192,19 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the launch configurations in this history, in most recently
 	 * launched order, not including any entries from the favorites listing.
-	 * 
+	 *
 	 * @return launch history
 	 */
 	public synchronized ILaunchConfiguration[] getHistory() {
 		Vector<ILaunchConfiguration> history = new Vector<ILaunchConfiguration>();
 		try {
 			for (ILaunchConfiguration config : fCompleteHistory) {
-				if(config.exists() && !fFavorites.contains(config) && 
-						DebugUIPlugin.doLaunchConfigurationFiltering(config) && 
+				if(config.exists() && !fFavorites.contains(config) &&
+						DebugUIPlugin.doLaunchConfigurationFiltering(config) &&
 						!WorkbenchActivityHelper.filterItem(new LaunchConfigurationTypeContribution(config.getType()))) {
 					history.add(config);
 				}
@@ -217,20 +217,20 @@
 		catch(CoreException ce) {DebugUIPlugin.log(ce);}
 		return history.toArray(new ILaunchConfiguration[history.size()]);
 	}
-	
+
 	/**
 	 * Returns the complete launch history in the order they were last launched, this listing includes all
 	 * entries including those from the favorites listing, but not those that have been filtered via
 	 * launch configuration filtering or capabilities filtering
 	 * @return the list of last launched <code>ILaunchConfiguration</code>s
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public synchronized ILaunchConfiguration[] getCompleteLaunchHistory() {
 		Vector<ILaunchConfiguration> history = new Vector<ILaunchConfiguration>();
 		try {
 			for (ILaunchConfiguration config : fCompleteHistory) {
-				if(config.exists() && DebugUIPlugin.doLaunchConfigurationFiltering(config) && 
+				if(config.exists() && DebugUIPlugin.doLaunchConfigurationFiltering(config) &&
 				!WorkbenchActivityHelper.filterItem(new LaunchConfigurationTypeContribution(config.getType()))) {
 					history.add(config);
 				}
@@ -239,31 +239,31 @@
 		catch (CoreException ce) {DebugUIPlugin.log(ce);}
 		return history.toArray(new ILaunchConfiguration[history.size()]);
 	}
-	
+
 	/**
 	 * Returns the favorite launch configurations in this history, in the order
 	 * they were created.
-	 * 
+	 *
 	 * @return launch favorites
 	 */
 	public synchronized ILaunchConfiguration[] getFavorites() {
 		return fFavorites.toArray(new ILaunchConfiguration[fFavorites.size()]);
 	}
-	
+
 	/**
 	 * Sets this container's favorites.
-	 * 
+	 *
 	 * @param favorites
 	 */
 	public synchronized void setFavorites(ILaunchConfiguration[] favorites) {
 		fFavorites = new Vector<ILaunchConfiguration>(Arrays.asList(favorites));
 		setSaved(false);
 		fireLaunchHistoryChanged();
-	}	
-	
+	}
+
 	/**
 	 * Adds the given configuration to the favorites list.
-	 * 
+	 *
 	 * @param configuration
 	 */
 	public synchronized void addFavorite(ILaunchConfiguration configuration) {
@@ -273,20 +273,20 @@
 			fireLaunchHistoryChanged();
 		}
 	}
-	
+
 	/**
 	 * Returns the launch group associated with this history
-	 * 
+	 *
 	 * @return group
 	 */
 	public ILaunchGroup getLaunchGroup() {
 		return fGroup;
 	}
-	
+
 	/**
 	 * Returns whether the given configuration is included in the group
 	 * associated with this launch history.
-	 * 
+	 *
 	 * @param launch
 	 * @return boolean
 	 */
@@ -308,8 +308,8 @@
 			DebugUIPlugin.log(e);
 		}
 		return false;
-	}	
-	
+	}
+
 	/**
 	 * Notifies all launch histories that the launch history size has changed.
 	 */
@@ -318,7 +318,7 @@
 			history.resizeHistory();
 		}
 	}
-	
+
 	/**
 	 * The max history size has changed - remove any histories if current
 	 * collection is too long.
@@ -332,13 +332,13 @@
 
 	/**
 	 * Returns the maximum number of entries allowed in this history
-	 * 
+	 *
 	 * @return the maximum number of entries allowed in this history
 	 */
 	protected int getMaxHistorySize() {
 		return DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugUIConstants.PREF_MAX_HISTORY_SIZE);
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -350,15 +350,15 @@
 			checkFavorites(configuration);
 		}
 	}
-	
+
 	/**
 	 * This method checks if the specified <code>ILaunchConfiguration</code> is a favorite in this
 	 * history's launch group.
-	 * 
+	 *
 	 * @param configuration
 	 * @return true if the configuration is a favorite in this history's launch group, false otherwise
 	 * @throws CoreException
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	protected boolean isFavorite(ILaunchConfiguration configuration) throws CoreException {
@@ -370,18 +370,18 @@
 				return configuration.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);
 			} else if (groupId.equals(IDebugUIConstants.ID_RUN_LAUNCH_GROUP)) {
 				return configuration.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
-			} 
-		} 
+			}
+		}
 		else if (favoriteGroups.contains(getLaunchGroup().getIdentifier())) {
 			return true;
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Adds the given config to the favorites list if it is a favorite, and
 	 * returns whether the config was added to the favorites list.
-	 * 
+	 *
 	 * @param configuration
 	 * @return whether added to the favorites list
 	 */
@@ -398,17 +398,17 @@
 				removeFavorite(configuration);
 				return false;
 			}
-		} 
+		}
 		catch (CoreException e) {
 		//in the event touching the config  throws an error, remove it
 			removeFavorite(configuration);
-		}		
+		}
 		return false;
 	}
-	
+
 	/**
 	 * Removes the given config from the favorites list, if needed.
-	 * 
+	 *
 	 * @param configuration
 	 */
 	protected synchronized void removeFavorite(ILaunchConfiguration configuration) {
@@ -419,10 +419,10 @@
 
 	/**
 	 * This method removes the specified <code>ILaunchConfiguration</code> from this launch history (if present)
-	 * If the launch configuration does not exist in the history nothing is changed. If the configuration does exist 
+	 * If the launch configuration does not exist in the history nothing is changed. If the configuration does exist
 	 * in the history and was removed all history listeners are notified.
 	 * @param configuration the configuration to remove
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public synchronized void removeFromHistory(ILaunchConfiguration configuration) {
@@ -438,7 +438,7 @@
 		}
 		catch(CoreException ce) {}
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -452,7 +452,7 @@
 	 */
 	@Override
 	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		synchronized (this) {	
+		synchronized (this) {
 			ILaunchConfiguration newConfig = DebugPlugin.getDefault().getLaunchManager().getMovedTo(configuration);
 			if (newConfig == null) {
 				//deleted
@@ -464,7 +464,7 @@
 				if (index >= 0) {
 					fCompleteHistory.remove(index);
 					fCompleteHistory.add(index, newConfig);
-				} 
+				}
 				index = fFavorites.indexOf(configuration);
 				if (index >= 0) {
 					fFavorites.remove(index);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
index c342dcb..011adc0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
@@ -9,7 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.launchConfigurations;
- 
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -50,7 +50,7 @@
  * Proxy to a launch shortcut extension
  */
 public class LaunchShortcutExtension implements ILaunchShortcut2, IPluginContribution {
-	
+
 	private ImageDescriptor fImageDescriptor = null;
 	private List<String> fPerspectives = null;
 	private ILaunchShortcut fDelegate = null;
@@ -60,7 +60,7 @@
 	private IConfigurationElement fContextualLaunchConfigurationElement = null;
 	private Expression fContextualLaunchExpr = null;
 	private Expression fStandardLaunchExpr = null;
-	
+
 	/**
 	 * Command handler for launch shortcut key binding.
 	 */
@@ -68,10 +68,10 @@
 	    // the shortcut to invoke
 	    private LaunchShortcutExtension fShortcut;
 	    private String fMode;
-	    
+
 	    /**
 	     * Constructs a new command handler for the given shortcut
-	     * 
+	     *
 	     * @param shortcut
 	     */
 	    public LaunchCommandHandler(LaunchShortcutExtension shortcut, String mode) {
@@ -93,17 +93,17 @@
             return null;
 		}
 	}
-	
+
 	/**
 	 * The configuration element defining this tab.
 	 */
 	private IConfigurationElement fConfig;
 	private/* <Pair> */List<Pair> fContextLabels;
-	
+
 	/**
 	 * Constructs a launch configuration tab extension based
 	 * on the given configuration element
-	 * 
+	 *
 	 * @param element the configuration element defining the
 	 *  attributes of this launch configuration tab extension
 	 * @return a new launch configuration tab extension
@@ -112,7 +112,7 @@
 		setConfigurationElement(element);
 		registerLaunchCommandHandlers();
 	}
-	
+
 	/**
 	 * Registers command handlers for launch shortcut key bindings
 	 */
@@ -125,39 +125,39 @@
 		        handlerService.activateHandler(id, handler);
 	        }
         }
-    }	
-	
+    }
+
 	/**
 	 * Sets the configuration element that defines the attributes
 	 * for this extension.
-	 * 
+	 *
 	 * @param element configuration element
 	 */
 	private void setConfigurationElement(IConfigurationElement element) {
 		fConfig = element;
 	}
-	
+
 	/**
 	 * Returns the configuration element that defines the attributes
 	 * for this extension.
-	 * 
+	 *
 	 * @param configuration element that defines the attributes
 	 *  for this launch configuration tab extension
 	 */
 	public IConfigurationElement getConfigurationElement() {
 		return fConfig;
 	}
-	
+
 	/**
 	 * Returns the label of this shortcut
-	 * 
+	 *
 	 * @return the label of this shortcut, or <code>null</code> if not
 	 *  specified
 	 */
 	public String getLabel() {
 		return getConfigurationElement().getAttribute(IConfigurationElementConstants.LABEL);
 	}
-	
+
 	/**
 	 * Returns the configuration element for the optional Contextual Launch
 	 * element of this Launch Configuration description.
@@ -173,7 +173,7 @@
 		}
 		return fContextualLaunchConfigurationElement;
 	}
-	
+
 	/**
 	 * Returns the contextual launch label of this shortcut for the named mode.
 	 * <pre>
@@ -185,7 +185,7 @@
 	 *   &lt;/contextualLaunch&gt;
 	 * &lt;/launchShortcut&gt;
 	 * </pre>
-	 * 
+	 *
 	 * @return the contextual label of this shortcut, or <code>null</code> if
 	 *         not specified
 	 */
@@ -211,10 +211,10 @@
 		}
 		return getLabel();
 	}
-	
+
 	/**
 	 * Returns the set of associated launch configuration type ids.
-	 * 
+	 *
 	 * @return the set of associated launch configuration type ids
 	 * @since 3.3
 	 */
@@ -232,13 +232,13 @@
 		}
 		return fAssociatedTypes;
 	}
-	
+
 	/**
 	 * Returns the contributed description of the launch delegate or <code>null</code>
 	 * if one has not been provided
 	 * @param mode the mode to get the description for
 	 * @return the description of the shortcut for that specific mode or <code>null</code> if one was not provided
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public String getShortcutDescription(String mode) {
@@ -264,13 +264,13 @@
 		}
 		return fDescriptions.get(mode);
 	}
-	
+
 	/**
 	 * Evaluate the given expression within the given context and return
 	 * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED.
 	 * This allows optimistic inclusion of shortcuts before plugins are loaded.
 	 * Returns <code>false</code> if exp is <code>null</code>.
-	 * 
+	 *
 	 * @param exp the enablement expression to evaluate or <code>null</code>
 	 * @param context the context of the evaluation. Usually, the
 	 *  user's selection.
@@ -280,7 +280,7 @@
 	public boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException {
 		return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : false;
 	}
-	
+
 	/**
 	 * Returns an expression that represents the enablement logic for the
 	 * contextual launch element of this launch shortcut description or
@@ -300,7 +300,7 @@
 				return null;
 			}
 			IConfigurationElement[] elements = contextualLaunchElement.getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
+			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
 
 			if (enablement != null) {
 				fContextualLaunchExpr= ExpressionConverter.getDefault().perform(enablement);
@@ -308,7 +308,7 @@
 		}
 		return fContextualLaunchExpr;
 	}
-	
+
 	/**
 	 * Returns an expression that represents the enablement logic for the
 	 * launch shortcut description or <code>null</code> if none.
@@ -322,35 +322,35 @@
 		// all of this stuff is optional, so...tedious testing is required
 		if (fStandardLaunchExpr == null) {
 			IConfigurationElement[] elements = getConfigurationElement().getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
+			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
 			if (enablement != null) {
 				fStandardLaunchExpr= ExpressionConverter.getDefault().perform(enablement);
 			}
 		}
 		return fStandardLaunchExpr;
-	}	
-	
+	}
+
 	/**
 	 * Returns the id of this shortcut
-	 * 
+	 *
 	 * @return the id of this shortcut, or <code>null</code> if not specified
 	 */
 	public String getId() {
 		return getConfigurationElement().getAttribute(IConfigurationElementConstants.ID);
 	}
-	
+
 	/**
 	 * Returns the identifier of the help context associated with this launch
 	 * shortcut, or <code>null</code> if one was not specified.
-	 * 
+	 *
 	 * @return the identifier of this launch shortcut's help context or
 	 * <code>null</code>
 	 * @since 2.1
-	 */	
+	 */
 	public String getHelpContextId() {
-		return getConfigurationElement().getAttribute(IConfigurationElementConstants.HELP_CONTEXT_ID);		
+		return getConfigurationElement().getAttribute(IConfigurationElementConstants.HELP_CONTEXT_ID);
 	}
-	
+
 	/**
 	 * Returns the category of this shortcut
 	 *
@@ -359,11 +359,11 @@
 	 */
 	public String getCategory() {
 		return getConfigurationElement().getAttribute(IConfigurationElementConstants.CATEGORY);
-	}	
-	
+	}
+
 	/**
 	 * Returns the image for this shortcut, or <code>null</code> if none
-	 * 
+	 *
 	 * @return the image for this shortcut, or <code>null</code> if none
 	 */
 	public ImageDescriptor getImageDescriptor() {
@@ -375,11 +375,11 @@
 		}
 		return fImageDescriptor;
 	}
-	
+
 	/**
 	 * Returns the perspectives this shortcut is registered for.
-	 * 
-	 * @return list of Strings representing perspective identifiers 
+	 *
+	 * @return list of Strings representing perspective identifiers
 	 * @deprecated The use of the perspectives element has been deprecated since 3.1.
 	 */
 	@Deprecated
@@ -388,15 +388,15 @@
 			IConfigurationElement[] perspectives = getConfigurationElement().getChildren(IConfigurationElementConstants.PERSPECTIVE);
 			fPerspectives = new ArrayList<String>(perspectives.length);
 			for (int i = 0; i < perspectives.length; i++) {
-				fPerspectives.add(perspectives[i].getAttribute(IConfigurationElementConstants.ID)); 
+				fPerspectives.add(perspectives[i].getAttribute(IConfigurationElementConstants.ID));
 			}
 		}
 		return fPerspectives;
 	}
-	
+
 	/**
 	 * Returns this shortcut's delegate, or <code>null</code> if none
-	 * 
+	 *
 	 * @return this shortcut's delegate, or <code>null</code> if none
 	 */
 	protected ILaunchShortcut getDelegate() {
@@ -404,12 +404,12 @@
 			try {
 				fDelegate = (ILaunchShortcut)fConfig.createExecutableExtension(IConfigurationElementConstants.CLASS);
 			} catch (CoreException e) {
-				DebugUIPlugin.log(e); 
+				DebugUIPlugin.log(e);
 			}
 		}
 		return fDelegate;
 	}
-	
+
 	/**
 	 * @see ILaunchShortcut#launch(IEditorPart, String)
 	 */
@@ -435,7 +435,7 @@
 
 	/**
 	 * Returns the set of modes this shortcut supports.
-	 * 
+	 *
 	 * @return the set of modes this shortcut supports
 	 */
 	public Set<String> getModes() {
@@ -452,17 +452,17 @@
 		}
 		return fModes;
 	}
-	
+
 	/**
 	 * Returns the menu path attribute this shortcut, or <code>null</code> if none
-	 * 
+	 *
 	 * @return the menu path attribute this shortcut, or <code>null</code> if none
 	 * @since 3.0.1
 	 */
 	public String getMenuPath() {
 		return getConfigurationElement().getAttribute(IConfigurationElementConstants.PATH);
-	}	
-	
+	}
+
 	/*
 	 * Only for debugging
 	 * @see java.lang.Object#toString()
@@ -535,11 +535,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns if the underlying delegate is a <code>ILaunchShortcut2</code>
 	 * @return if the underlying delegate is a <code>ILaunchShortcut2</code>
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	public boolean isParticipant() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutSelectionDialog.java
index 47f78e2..d528a2d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutSelectionDialog.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
  *******************************************************************************/
@@ -37,15 +37,15 @@
 /**
  * Specialized dialog for showing/selecting a specific launch shortcut extension, and allowing it
  * to be marked to be set as the default
- * 
+ *
  * @see {@link org.eclipse.debug.internal.ui.actions.ContextLaunchingAction}
- * 
+ *
  * @since 3.3
  */
 public class LaunchShortcutSelectionDialog extends AbstractDebugListSelectionDialog {
 
 	private static final String DIALOG_SETTINGS = IDebugUIConstants.PLUGIN_ID + ".SELECT_LAUNCH_SHORTCUT_DIALOG"; //$NON-NLS-1$;
-	
+
 	/**
 	 * The list of input for the dialog
 	 */
@@ -54,7 +54,7 @@
 	private IResource fResource = null;
 	private List<LaunchShortcutExtension> fShortcuts = null;
 	private Text fDescriptionText = null;
-	
+
 	/**
 	 * Constructor
 	 * @param input
@@ -74,7 +74,7 @@
 		}
 		setTitle(MessageFormat.format(LaunchConfigurationsMessages.LaunchShortcutSelectionDialog_0, new Object[] { fModeName }));
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getHelpContextId()
 	 */
@@ -82,7 +82,7 @@
 	protected String getHelpContextId() {
 		return IDebugHelpContextIds.SELECT_LAUNCH_METHOD_DIALOG;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 	 */
@@ -90,7 +90,7 @@
 	protected String getDialogSettingsId() {
 		return DIALOG_SETTINGS;
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugListSelectionDialog#addViewerListeners(org.eclipse.jface.viewers.StructuredViewer)
 	 */
@@ -104,12 +104,12 @@
 				if (!selection.isEmpty()) {
 					LaunchShortcutExtension shortcutSource = (LaunchShortcutExtension) ((IStructuredSelection)selection).getFirstElement();
 					String description = shortcutSource.getShortcutDescription(fMode);
-					fDescriptionText.setText((description == null ? LaunchConfigurationsMessages.LaunchShortcutSelectionDialog_3 : description)); 
+					fDescriptionText.setText((description == null ? LaunchConfigurationsMessages.LaunchShortcutSelectionDialog_3 : description));
 				}
 			}
 		});
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#addCustomFooterControls(org.eclipse.swt.widgets.Composite)
 	 */
@@ -144,7 +144,7 @@
 					fModeName.toLowerCase(), fResource.getName() });
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugListSelectionDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
 	 */
@@ -153,5 +153,5 @@
 		super.createButtonsForButtonBar(parent);
 		getButton(IDialogConstants.OK_ID).setEnabled(!getViewer().getSelection().isEmpty());
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchTabContribution.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchTabContribution.java
index 9104e38..a0cb4d3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchTabContribution.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchTabContribution.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
  *******************************************************************************/
@@ -14,15 +14,15 @@
 import org.eclipse.ui.IPluginContribution;
 
 /**
- * This class provides a wrapper for a launch tab contribution so that it can be filtered from the UI 
+ * This class provides a wrapper for a launch tab contribution so that it can be filtered from the UI
  * via the use of capabilities
- * 
+ *
  * @since 3.3
  */
 public class LaunchTabContribution implements IPluginContribution {
 
 	LaunchConfigurationTabExtension fTab = null;
-	
+
 	public LaunchTabContribution(LaunchConfigurationTabExtension tab) {
 		fTab = tab;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java
index 1a15ac1..4d949ca 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.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
  *******************************************************************************/
@@ -17,15 +17,15 @@
  * OrganizeFavoritesAction
  */
 public class OrganizeFavoritesAction extends Action {
-	
+
 	// launch group identifier
-	private String fGroupId; 
-	
+	private String fGroupId;
+
 	/**
 	 * @param text
 	 */
 	public OrganizeFavoritesAction(String launchGroupId) {
-		super(LaunchConfigurationsMessages.OrganizeFavoritesAction_0); 
+		super(LaunchConfigurationsMessages.OrganizeFavoritesAction_0);
 		fGroupId = launchGroupId;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
index a73e12a..320225b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
@@ -69,15 +69,15 @@
 
 /**
  * The perspective manager manages the 'perspective' settings
- * defined by launch configurations. Specifically it: 
+ * defined by launch configurations. Specifically it:
  * <ul>
  * <li>changes perspectives as launches are registered</li>
  * <li>change perspective when a thread suspends</li>
  * </ul>
- * 
+ *
  * Since 3.3 the Perspectives Manager is an <code>ISaveParticipant</code>, allowing it to participate in
  * workspace persistence life-cycles.
- * 
+ *
  * @see IDebugUIContants.ATTR_RUN_PERSPECTIVE
  * @see IDebugUIContants.ATTR_DEBUG_PERSPECTIVE
  * @see ISaveParticipant
@@ -91,15 +91,15 @@
 	/**
 	 * Describes exactly one perspective context, which is composed of an <code>ILaunchCOnfigurationType</code>, and set of modes
 	 * and an <code>ILaunchDelegate</code>. Perspective ids are then cached for a context based on mode set.
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	class PerspectiveContext {
-		
+
 		private ILaunchConfigurationType fType = null;
 		private ILaunchDelegate fDelegate = null;
 		private Map<Set<String>, String> fPerspectives = null;
-		
+
 		/**
 		 * Constructor
 		 * @param type
@@ -112,7 +112,7 @@
 			fPerspectives = new HashMap<Set<String>, String>();
 			fPerspectives.put(modes, null);
 		}
-		
+
 		/**
 		 * We can specially compare two cases:
 		 * <ol>
@@ -130,7 +130,7 @@
 					ILaunch launch = (ILaunch) object;
 					type = launch.getLaunchConfiguration().getType();
 					delegate = resolveLaunchDelegate(launch);
-				} 
+				}
 				catch (CoreException e) {return false;}
 			}
 			else if(object instanceof PerspectiveContext) {
@@ -148,7 +148,7 @@
 			}
 			return super.equals(object);
 		}
-		
+
 		@Override
 		public int hashCode() {
 			if (fType != null) {
@@ -167,11 +167,11 @@
 		public Map<Set<String>, String> getPersepctiveMap() {
 			return fPerspectives;
 		}
-		
+
 		/**
 		 * Creates a new mapping of the specified perspective id to the specified mode set.
 		 * If a mapping for the modeset already exists it is over-written.
-		 * @param modes the set of modes 
+		 * @param modes the set of modes
 		 * @param pid the id of the perspective
 		 */
 		public void setPerspective(Set<String> modes, String pid) {
@@ -180,7 +180,7 @@
 			}
 			fPerspectives.put(modes, pid);
 		}
-		
+
 		/**
 		 * Returns the perspective id associated with the given mode set
 		 * @param modes the set of mode
@@ -196,9 +196,9 @@
 	}
 
 	/**
-	 * Use a customized UI job so that nested jobs with a scheduling rule are 
+	 * Use a customized UI job so that nested jobs with a scheduling rule are
 	 * not prevented from running.
-	 * See bug 377593 
+	 * See bug 377593
 	 */
 	private abstract class MyUIJob extends Job {
 		public MyUIJob(String name) {
@@ -207,7 +207,7 @@
 			setPriority(Job.INTERACTIVE);
 			setRule(AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(this));
 		}
-		
+
 		@Override
 		protected IStatus run(final IProgressMonitor monitor) {
 	        if (monitor.isCanceled()) {
@@ -244,21 +244,21 @@
 	        });
 	        return Job.ASYNC_FINISH;
 		}
-		
+
 	    public abstract IStatus runInUIThread(IProgressMonitor monitor);
 
 	}
-	
+
 	/**
 	 * A listing of <code>PerspectiveContext</code>s
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private Set<PerspectiveContext> fPerspectiveContexts = null;
-	
+
 	/**
 	 * id for the 'delegate' attribute
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static final String ATTR_DELEGATE_ID = "delegate"; //$NON-NLS-1$
@@ -269,7 +269,7 @@
 	 * prompts at the same time.
 	 */
 	private boolean fPrompting;
-	
+
     /**
      * Maps each launch to its perspective context activation. These
      * are disabled when a launch terminates.
@@ -289,17 +289,17 @@
 
 	/**
 	 * Called by the debug ui plug-in on shutdown.
-	 * The perspective manager de-registers as a 
+	 * The perspective manager de-registers as a
 	 * launch listener.
 	 */
 	public void shutdown() {
 		DebugUIPlugin.getDefault().removeSaveParticipant(this);
 		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
 	}
-	
+
 	/**
 	 * If there are no launches, remove the Suspend Trigger Listener
-	 * 
+	 *
 	 * @see ILaunchListener#launchRemoved(ILaunch)
 	 */
 	@Override
@@ -322,19 +322,19 @@
 		};
 		async(r);
 	}
-	
+
 	/**
 	 * Do nothing.
-	 * 
+	 *
 	 * @see ILaunchListener#launchChanged(ILaunch)
 	 */
 	@Override
-	public void launchChanged(ILaunch launch) {}	
+	public void launchChanged(ILaunch launch) {}
 
-	/** 
+	/**
 	 * Switch to the perspective specified by the
 	 * launch configuration.
-	 * 
+	 *
 	 * @see ILaunchListener#launchAdded(ILaunch)
 	 */
 	@Override
@@ -347,7 +347,7 @@
 		// check event filters
 		try {
 			perspectiveId = getPerspectiveId(launch);
-		} 
+		}
 		catch (CoreException e) {
 			String name = DebugUIPlugin.getModelPresentation().getText(launch);
 			switchFailed(e, name);
@@ -380,7 +380,7 @@
 
 	/**
 	 * Switches to the specified perspective
-	 * 
+	 *
 	 * @param id perspective identifier
 	 */
 	protected void switchToPerspective(IWorkbenchWindow window, String id) {
@@ -393,12 +393,12 @@
 			}
 		} catch (WorkbenchException e) {
 			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(),
-			LaunchConfigurationsMessages.PerspectiveManager_Error_1,  
+			LaunchConfigurationsMessages.PerspectiveManager_Error_1,
  MessageFormat.format(LaunchConfigurationsMessages.PerspectiveManager_Unable_to_switch_to_perspective___0__2, new Object[] { id }),
 			e);
 		}
 	}
-	
+
 	/**
 	 * Utility method to submit an asynchronous runnable to the UI
 	 */
@@ -408,7 +408,7 @@
 			d.asyncExec(r);
 		}
 	}
-	
+
 	/**
 	 * Utility method to submit a synchronous runnable to the UI
 	 */
@@ -417,11 +417,11 @@
 		if (d != null && !d.isDisposed()) {
 			d.syncExec(r);
 		}
-	}	
+	}
 
 	/**
 	 * Reports failure to switch perspectives to the user
-	 * 
+	 *
 	 * @param status exception status describing failure
 	 * @param launchName the name of the launch that the
 	 *  failure is associated with
@@ -430,27 +430,27 @@
 		sync(new Runnable() {
 			@Override
 			public void run() {
-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.PerspectiveManager_Error_1,  
+				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.PerspectiveManager_Error_1,
  MessageFormat.format(LaunchConfigurationsMessages.PerspectiveManager_Unable_to_switch_perpsectives_as_specified_by_launch___0__4, new Object[] { launchName }),
 				 t);
 			}});
 	}
-	
+
 	/**
 	 * A breakpoint has been hit. Carry out perspective switching
-	 * as appropriate for the given debug event. 
-	 * 
+	 * as appropriate for the given debug event.
+	 *
 	 * @param event the suspend event
 	 */
 	private void handleBreakpointHit(final ILaunch launch) {
-		
+
 		String perspectiveId = null;
 		try {
 			perspectiveId = getPerspectiveId(launch);
-		} 
+		}
 		catch (CoreException e) {DebugUIPlugin.log(e);}
 		// if no perspective specified, always switch to debug
-		// perspective 
+		// perspective
 
 		// this has to be done in an async, such that the workbench
 		// window can be accessed
@@ -465,7 +465,7 @@
 					if (window == null) {
 						return Status.OK_STATUS;
 					}
-					
+
 					// switch the perspective if user preference is set
 					if (shouldSwitchPerspective(window, targetId, IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND)) {
 						switchToPerspective(window, targetId);
@@ -474,7 +474,7 @@
 							return Status.OK_STATUS;
 						}
 					}
-					
+
 					// make sure the shell is active
 					Shell shell= window.getShell();
 					if (shell != null) {
@@ -530,16 +530,16 @@
 				return Status.OK_STATUS;
 			}
 		};
-		
+
 		switchJob.setSystem(true);
 		switchJob.setPriority(Job.INTERACTIVE);
 		switchJob.setRule(AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(this));
 		switchJob.schedule();
 	}
-	
+
 	/**
 	 * Returns a modal dialog currently open on the given shell or <code>null</code> if none.
-	 * 
+	 *
 	 * @param shell shell to check
 	 * @return a modal dialog currently open on the given shell or <code>null</code> if none
 	 */
@@ -550,15 +550,15 @@
 			if ((dialog.getStyle() & (SWT.APPLICATION_MODAL | SWT.PRIMARY_MODAL | SWT.SYSTEM_MODAL)) > 0) {
 				return dialog;
 			}
-		}	
+		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the workbench window in which the given perspective
 	 * should be shown. First, check the current window to see if it
 	 * is already showing the perspective. Then check any other windows.
-	 * 
+	 *
 	 * @param perspectiveId the perspective identifier
 	 * @return which window the given perspective should be shown in
 	 *  or <code>null</code> if there are no windows available
@@ -584,7 +584,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns if the specified window is showing the perspective denoted by the specified id
 	 * @param window the window to query
@@ -603,11 +603,11 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns whether or not the user wishes to switch to the specified
 	 * perspective when a launch occurs.
-	 * 
+	 *
 	 * @param perspectiveName the name of the perspective that will be presented
 	 *  to the user for confirmation if they've asked to be prompted about
 	 *  perspective switching
@@ -630,7 +630,7 @@
 		if (perspectiveDesc != null) {
 			args = new String[] { perspectiveName , perspectiveDesc };
 		}
-		else { 
+		else {
 			args = new String[] { perspectiveName };
 		}
 		String switchPerspective = DebugUIPlugin.getDefault().getPreferenceStore().getString(preferenceKey);
@@ -639,7 +639,7 @@
 		} else if (MessageDialogWithToggle.NEVER.equals(switchPerspective)) {
 			return false;
 		}
-		
+
 		Shell shell= window.getShell();
 		if (shell == null || fPrompting) {
 			return false;
@@ -675,7 +675,7 @@
 				message = LaunchConfigurationsMessages.PerspectiveManager_15;
 			}
 		}
-		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(shell, LaunchConfigurationsMessages.PerspectiveManager_12, MessageFormat.format(message, args), null, false, DebugUIPlugin.getDefault().getPreferenceStore(), preferenceKey); 
+		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(shell, LaunchConfigurationsMessages.PerspectiveManager_12, MessageFormat.format(message, args), null, false, DebugUIPlugin.getDefault().getPreferenceStore(), preferenceKey);
 		boolean answer = (dialog.getReturnCode() == IDialogConstants.YES_ID);
 		synchronized (this) {
 			fPrompting= false;
@@ -686,11 +686,11 @@
 		}
 		return answer;
 	}
-	
+
 	/**
 	 * Returns whether the given perspective identifier matches the
 	 * identifier of the current perspective.
-	 * 
+	 *
 	 * @param perspectiveId the identifier
 	 * @return whether the given perspective identifier matches the
 	 *  identifier of the current perspective
@@ -708,14 +708,14 @@
 		}
 		return isCurrent;
 	}
-	
+
 	/**
 	 * Returns the label of the perspective with the given identifier or
 	 * <code>null</code> if no such perspective exists.
-	 * 
+	 *
 	 * @param perspectiveId the identifier
 	 * @return the label of the perspective with the given identifier or
-	 *  <code>null</code> if no such perspective exists 
+	 *  <code>null</code> if no such perspective exists
 	 */
 	protected String getPerspectiveLabel(String perspectiveId) {
 		IPerspectiveDescriptor newPerspective = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
@@ -725,14 +725,14 @@
 		return newPerspective.getLabel();
 	}
 
-	
+
 	/**
 	 * Returns the label of the perspective with the given identifier or
 	 * <code>null</code> if no such perspective exists.
-	 * 
+	 *
 	 * @param perspectiveId the identifier
 	 * @return the label of the perspective with the given identifier or
-	 *  <code>null</code> if no such perspective exists 
+	 *  <code>null</code> if no such perspective exists
 	 */
 	protected String getPerspectiveDescription(String perspectiveId) {
 		IPerspectiveDescriptor newPerspective = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
@@ -741,11 +741,11 @@
 		}
 		return newPerspective.getDescription();
 	}
-	
-	/** 
+
+	/**
 	 * Returns the perspective associated with the
 	 * given launch, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param launch a launch
 	 * @return the perspective associated with the launch,
 	 * 	or <code>null</code>
@@ -768,15 +768,15 @@
 		}
 		return perspectiveId;
 	}
-	
+
 	/**
-	 * Returns the id of the perspective associated with the given type and set of modes. Passing <code>null</code> for 
+	 * Returns the id of the perspective associated with the given type and set of modes. Passing <code>null</code> for
 	 * the launch delegate results in the default perspective id being returned (if there is one).
 	 * @param type the type we are launching
 	 * @param modes the set of modes the type was launched with
 	 * @param delegate the delegate performing the launch for this type and modeset
 	 * @return the id of the perspective for the given launch configuration type, modeset and launch delegate
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public String getLaunchPerspective(ILaunchConfigurationType type, Set<String> modes, ILaunchDelegate delegate) {
@@ -795,7 +795,7 @@
 		}
 		return id;
 	}
-	
+
 	/**
 	 * Returns the perspective to switch to when a configuration of the given type
 	 * is launched in the given mode, or <code>null</code> if no switch should take
@@ -814,7 +814,7 @@
 		modes.add(mode);
 		return getLaunchPerspective(type, modes, null);
 	}
-	
+
 	/**
 	 * Sets the perspective to switch to when a configuration of the given type
 	 * is launched in the given mode. <code>PERSPECTIVE_NONE</code> indicates no
@@ -822,7 +822,7 @@
 	 * a default perspective switch should take place, as defined by the associated
 	 * launch tab group extension.
 	 * <p>
-	 * Calling this method is equivalent to calling <code>setLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate, String perspectiveid)</code>, 
+	 * Calling this method is equivalent to calling <code>setLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate, String perspectiveid)</code>,
 	 * with the parameter 'mode' used in the set modes, and null passed as the delegate
 	 * </p>
 	 * @param type launch configuration type
@@ -836,18 +836,18 @@
 		modes.add(mode);
 		setLaunchPerspective(type, modes, null, perspective);
 	}
-	
+
 	/**
-	 * Sets the perspective that should be switched to when a configuration of the given type is launched with the 
+	 * Sets the perspective that should be switched to when a configuration of the given type is launched with the
 	 * specified modes set by the given launch delegate.
 	 * <p>
 	 * Passing <code>null</code> as a launch delegate will set the default perspective switch for that type and modeset, where
 	 * <code>PERSPECTIVE_NONE</code> indicates no perspective switch should take place.
 	 * </p>
 	 * @param type the type to set a perspective context for
-	 * @param modes the set of modes 
+	 * @param modes the set of modes
 	 * @param delegate the delegate, or <code>null</code> if the default perspective should be used
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public void setLaunchPerspective(ILaunchConfigurationType type, Set<String> modes, ILaunchDelegate delegate, String perspectiveid) {
@@ -871,12 +871,12 @@
 		}
 		fPerspectiveContexts.add(item);
 	}
-	
+
 	/**
 	 * Searches the listing of perspective contexts to see if the specified one already exists
 	 * @param context the context to compare
 	 * @return the matching <code>PerspectiveContext</code> or <code>null</code> if none
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private PerspectiveContext findContext(PerspectiveContext context) {
@@ -887,10 +887,10 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Generates XML for the user specified perspective settings.
-	 *  
+	 *
 	 * @return XML
 	 * @exception IOException if unable to generate the XML
      * @exception TransformerException if unable to generate the XML
@@ -927,9 +927,9 @@
 					root.appendChild(element);
 				}
 			}
-			
+
 		}
-		return DebugPlugin.serializeDocument(doc);		
+		return DebugPlugin.serializeDocument(doc);
 	}
 
 	/**
@@ -939,7 +939,7 @@
 	 * @param delegate the associated delegate, or <code>null</code> to specify that the default perspective id for that given type and mode set should be returned
 	 * @param modes the set of modes this applies to
 	 * @return the default perspective id for the given type, delegate and mode set combination, or <code>null</code> if none
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public String getDefaultLaunchPerspective(ILaunchConfigurationType type, ILaunchDelegate delegate, Set<String> modes) {
@@ -954,13 +954,13 @@
 				if (id == null) {
 					if (modes.contains(ILaunchManager.DEBUG_MODE)) {
 						id = IDebugUIConstants.ID_DEBUG_PERSPECTIVE;
-					}	
-				} 
+					}
+				}
 			}
 		}
 		return id;
 	}
-	
+
 	/**
 	 * Resolves the <code>ILaunchDelegate</code> from the given <code>ILaunch</code>
 	 * @param launch the launch
@@ -984,7 +984,7 @@
 		}
 		return delegate;
 	}
-	
+
 	/**
 	 * Initialize the preference set with settings from user preferences
 	 */
@@ -1020,18 +1020,18 @@
 								}
 							}
 						}
-					}				
-				} 
-				catch (CoreException e) {DebugUIPlugin.log(e);} 
+					}
+				}
+				catch (CoreException e) {DebugUIPlugin.log(e);}
 			}
 		}
 	}
-	
+
 	/**
 	 * Parses a string argument into a set of modes
 	 * @param modes the string to parse
 	 * @return a set of modes parsed from the specified string of the empty set, never null
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private Set<String> parseModes(String modes) {
@@ -1042,11 +1042,11 @@
 		}
 		return modeset;
 	}
-	
+
 	/**
 	 * Creates a standard comma separated list of the modes from the specified
 	 * set
-	 * 
+	 *
 	 * @param modes the set to write to string
 	 * @return the mode set as a string
 	 */
@@ -1062,11 +1062,11 @@
 		}
 		return str;
 	}
-	
+
 	/**
 	 * Schedules the given job after perspective switching is complete, or
 	 * immediately if a perspective switch is not in progress.
-	 * 
+	 *
 	 * @param job job to run after perspective switching
 	 */
 	public void schedulePostSwitch(Job job) {
@@ -1106,9 +1106,9 @@
 	@Override
 	public void saving(ISaveContext context) throws CoreException {
 		try {
-			DebugUIPlugin.getDefault().getPreferenceStore().putValue(IInternalDebugUIConstants.PREF_LAUNCH_PERSPECTIVES, generatePerspectiveXML());			
+			DebugUIPlugin.getDefault().getPreferenceStore().putValue(IInternalDebugUIConstants.PREF_LAUNCH_PERSPECTIVES, generatePerspectiveXML());
 		}   catch (ParserConfigurationException e) {
 			throw new CoreException(DebugUIPlugin.newErrorStatus("Exception occurred while generating launch perspectives preference XML", e)); //$NON-NLS-1$
-		} 
+		}
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
index f323854..6a46443 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SaveScopeResourcesHandler.java
@@ -56,7 +56,7 @@
  * </p>
  * <p>
  * The 'breaking' occurs as the saving is moved from <code>DebugUIPlugin</code> to the launch configuration delegate, which will require
- * implementors of <code>LaunchConfigurationDelegate</code> to incorporate the use of this status handler to perform any pre-launch saving. 
+ * implementors of <code>LaunchConfigurationDelegate</code> to incorporate the use of this status handler to perform any pre-launch saving.
  * </p>
  * @since 3.2
  */
@@ -73,7 +73,7 @@
 		Object fInput;
 		IStructuredContentProvider fContentProvider;
 		ILabelProvider fLabelProvider;
-		
+
 		public ScopedResourcesSelectionDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
 			super(parentShell);
 			fInput = input;
@@ -82,7 +82,7 @@
 			setShellStyle(getShellStyle() | SWT.RESIZE);
 			setShowSelectAllButtons(true);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getContentProvider()
 		 */
@@ -90,7 +90,7 @@
 		protected IContentProvider getContentProvider() {
 			return fContentProvider;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getLabelProvider()
 		 */
@@ -98,7 +98,7 @@
 		protected IBaseLabelProvider getLabelProvider() {
 			return fLabelProvider;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 		 */
@@ -130,7 +130,7 @@
 		protected String getViewerLabel() {
 			return LaunchConfigurationsMessages.SaveScopeResourcesHandler_2;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugCheckboxSelectionDialog#addCustomFooterControls(org.eclipse.swt.widgets.Composite)
 		 */
@@ -146,7 +146,7 @@
 				}
 			});
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugCheckboxSelectionDialog#okPressed()
 		 */
@@ -157,7 +157,7 @@
 			store.setValue(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, val);
 			super.okPressed();
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugCheckboxSelectionDialog#addViewerListeners(org.eclipse.jface.viewers.StructuredViewer)
 		 */
@@ -165,7 +165,7 @@
 		protected void addViewerListeners(StructuredViewer viewer) {
 			// Override to remove listener that affects the ok button
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.AbstractDebugCheckboxSelectionDialog#isValid()
 		 */
@@ -174,16 +174,16 @@
 			return true;
 		}
 	}
-	
+
 	/**
 	 * The objects to save (if any)
 	 */
 	IResource[] fSaves = null;
-	
+
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Source object is an array - a launch configuration and an array of projects to save resources for.
-	 * 
+	 *
 	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
 	 */
 	@Override
@@ -202,7 +202,7 @@
             if (DebugUITools.isPrivate(config)) {
                 return Boolean.TRUE;
             }
-        } 
+        }
         if (projects != null && projects.length > 0) {
             IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
             String save = store.getString(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
@@ -212,18 +212,18 @@
             	return Boolean.TRUE;
             }
             return Boolean.FALSE;
-        } 
+        }
         else {
 			@SuppressWarnings("deprecation")
 			boolean cancel = DebugUIPlugin.preLaunchSave();
             return Boolean.valueOf(cancel);
         }
     }
-	
+
 	/**
-	 * 
+	 *
 	 * Builds the list of editors that apply to this build that need to be saved
-	 * 
+	 *
 	 * @param projects the projects involved in this build, used to scope the searching process
 	 * @return the list of dirty editors for this launch to save, never null
 	 */
@@ -248,7 +248,7 @@
 		}
 		return dirtyres.toArray(new IResource[dirtyres.size()]);
 	}
-	
+
 	/**
 	 * Performs the save of the editor parts returned by getScopedResources
 	 */
@@ -256,8 +256,8 @@
 		if(fSaves != null) {
 			IDE.saveAllEditors(fSaves, false);
 		}
-	} 
-	
+	}
+
 	/**
 	 * show the save dialog with a list of editors to save (if any)
 	 * The dialog is also not shown if the the preference for automatically saving dirty before launch is set to always
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java
index b7e23a1..91f5917 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectFavoritesDialog.java
@@ -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
  *******************************************************************************/
@@ -31,14 +31,14 @@
 
 /**
  * This dialog is used to select one or more launch configurations to add to your favorites
- * 
+ *
  * @since 3.3.0
  */
 public class SelectFavoritesDialog extends AbstractDebugCheckboxSelectionDialog {
 
 	/**
 	 * Content provider for table
-	 */	
+	 */
 	protected class LaunchConfigurationContentProvider implements IStructuredContentProvider {
 		@Override
 		public Object[] getElements(Object inputElement) {
@@ -66,11 +66,11 @@
 		public void dispose() {}
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-	}	
-	
+	}
+
 	private LaunchHistory fHistory;
 	private List<ILaunchConfiguration> fCurrentFavoriteSet;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell
@@ -87,13 +87,13 @@
 
 	/**
 	 * Returns a label to use for launch mode with accelerators removed.
-	 * 
+	 *
      * @return label to use for launch mode with accelerators removed
      */
     private String getModeLabel() {
         return DebugUIPlugin.removeAccelerators(fHistory.getLaunchGroup().getLabel());
     }
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 	 */
@@ -125,7 +125,7 @@
 	protected String getHelpContextId() {
 		return IDebugHelpContextIds.SELECT_FAVORITES_DIALOG;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getViewerLabel()
 	 */
@@ -133,5 +133,5 @@
 	protected String getViewerLabel() {
 		return LaunchConfigurationsMessages.FavoritesDialog_7;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java
index 6b26abb..446120a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchModesDialog.java
@@ -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
  *******************************************************************************/
@@ -28,11 +28,11 @@
 import org.eclipse.swt.widgets.Shell;
 
 /**
- * This class provides a dialog to present the user with a list of of viable launch options in the event 
+ * This class provides a dialog to present the user with a list of of viable launch options in the event
  * the plug-in that provides either a launch option or a contributed launch delegate is no longer available.
- * The user can select one of the launch mode/option configuration from this dialog and repair the option 
+ * The user can select one of the launch mode/option configuration from this dialog and repair the option
  * configuration state of the the current launch configuration
- * 
+ *
  *  @since 3.3
  */
 public class SelectLaunchModesDialog extends AbstractDebugListSelectionDialog{
@@ -62,15 +62,15 @@
 		@Override
 		public void removeListener(ILabelProviderListener listener) {}
 	}
-	
+
 	private List<Set<String>> fValidModes = null;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell the parent shell
 	 * @param mode the current mode context
 	 * @param configuration the current launch configuration context
-	 * 
+	 *
 	 * @throws CoreException
 	 */
 	public SelectLaunchModesDialog(Shell parentShell, String mode, ILaunchConfiguration configuration) throws CoreException {
@@ -85,7 +85,7 @@
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 	 */
@@ -101,7 +101,7 @@
 	protected IBaseLabelProvider getLabelProvider() {
 		return new OptionsLabelProvider();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getViewerInput()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java
index 8d4826c..1b2fc49 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/SelectLaunchersDialog.java
@@ -47,9 +47,9 @@
 import org.eclipse.swt.widgets.Text;
 
 /**
- * This dialog is used to select a preferred launcher, and also provides access to the 
+ * This dialog is used to select a preferred launcher, and also provides access to the
  * workspace defaults for preferred launchers
- * 
+ *
  *  @since 3.3
  */
 public class SelectLaunchersDialog extends AbstractDebugListSelectionDialog {
@@ -81,13 +81,13 @@
 		@Override
 		public void removeListener(ILabelProviderListener listener) {}
 	}
-	
+
 	Text description = null;
 	Button configspecific = null;
 	private ILaunchDelegate[] fDelegates = null;
 	private ILaunchConfigurationWorkingCopy fConfiguration = null;
 	private String fLaunchMode = null;
-	
+
 	/**
 	 * Constructor
 	 * @param parentShell
@@ -121,7 +121,7 @@
 		}
 		return new Point(450, 450);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 	 */
@@ -153,7 +153,7 @@
 	protected Object getViewerInput() {
 		return fDelegates;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#addCustomHeaderControls(org.eclipse.swt.widgets.Composite)
 	 */
@@ -161,9 +161,9 @@
 	protected void addCustomHeaderControls(Composite parent) {
 		Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 2, 1, GridData.FILL_HORIZONTAL, 0, 0);
 		SWTFactory.createWrapLabel(comp, LaunchConfigurationsMessages.SelectLaunchersDialog_2, 2);
-		
+
 		SWTFactory.createVerticalSpacer(comp, 1);
-		
+
 		this.configspecific = SWTFactory.createCheckButton(comp, LaunchConfigurationsMessages.SelectLaunchersDialog_1, null, true, 1);
 		this.configspecific.setSelection(false);
 		GridData gd = (GridData) this.configspecific.getLayoutData();
@@ -176,7 +176,7 @@
 				resetDelegate();
 			}
 		});
-		
+
 		Link link = new Link(comp, SWT.WRAP);
 		link.setText(LaunchConfigurationsMessages.SelectLaunchersDialog_4);
 		link.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
@@ -190,7 +190,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Returns the currently checked launch delegate
 	 * @return the currently selected launch delegate or <code>null</code> if none are checked
@@ -199,7 +199,7 @@
 		IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
 		return (ILaunchDelegate) selection.getFirstElement();
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
@@ -208,7 +208,7 @@
 		ILaunchDelegate delegate = null;
 		Set<String> modes = getCurrentModeSet();
 		if(configspecific.getSelection()) {
-			delegate = getSelectedDelegate();	
+			delegate = getSelectedDelegate();
 			if(delegate != null) {
 				fConfiguration.setPreferredLaunchDelegate(modes, delegate.getId());
 			}
@@ -219,7 +219,7 @@
 		if(fConfiguration.isDirty()) {
 			try {
 				fConfiguration.doSave();
-			} 
+			}
 			catch (CoreException e) {DebugUIPlugin.log(e);}
 		}
 		super.okPressed();
@@ -242,7 +242,7 @@
 		}
 		catch (CoreException ce) {DebugUIPlugin.log(ce);}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#addCustomFooterControls(org.eclipse.swt.widgets.Composite)
 	 */
@@ -265,7 +265,7 @@
 		catch (CoreException ce) {DebugUIPlugin.log(ce);}
 		return modes;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.AbstractDebugCheckboxSelectionDialog#addViewerListeners(org.eclipse.jface.viewers.StructuredViewer)
 	 */
@@ -286,7 +286,7 @@
 		});
 		super.addViewerListeners(viewer);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#initializeControls()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
index 2de39f6..4175898 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.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
  *******************************************************************************/
@@ -47,7 +47,7 @@
 				return 0;
 			}
 			return -1;
-		} 
+		}
 		return one.compareTo(two);
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
index c63c28f..1daa57c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetsFilter.java
@@ -28,11 +28,11 @@
 /**
  * creates a filter for the current working sets in use on the workbench to be applied in the launch configuration
  * dialog and the launch history/last launched
- * 
+ *
  * @since 3.2
  */
 public class WorkingSetsFilter extends ViewerFilter {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 	 */
@@ -75,7 +75,7 @@
 						return true;
 					}
 				}
-			} 
+			}
 			catch (CoreException e) {}
 		}
 		return false;
@@ -98,7 +98,7 @@
 			}
 		}
 		IResource lres = null;
-		for(int i = 0; i < wsets.length; i++) {	
+		for(int i = 0; i < wsets.length; i++) {
 			IAdaptable[] elements = wsets[i].getElements();
 			for(int j = 0; j < elements.length; j++) {
 				lres = elements[j].getAdapter(IResource.class);
@@ -111,5 +111,5 @@
 		}
 		return false;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java
index 2a30b8d..9f45eec 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryBlockConnection.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
  *******************************************************************************/
@@ -14,12 +14,12 @@
  * Represents a connection to a memory block.  An IMemoryRenderingUpdater can call
  * a connection to update instead of relying on a rendering to listen
  * for CHANGE / SUSPEND debug event to trigger an update.
- * 
+ *
  * This interface is EXPERIMENTAL.
  *
  */
 public interface IMemoryBlockConnection {
-	
+
 	/**
 	 * Update the content of a memory block in a connection.
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java
index 874a436..f667d5a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IMemoryRenderingUpdater.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
  *******************************************************************************/
@@ -20,18 +20,18 @@
  * based on connections.  If the memory block implements this interface or returns
  * an object of this type when getAdapter(...) is called, a rendering would
  * call #supportsManagedUpdate to determine if it should handle and refresh
- * upon a debug event.  
- * 
+ * upon a debug event.
+ *
  * If the client wants to manage its own update, it would return true when
  * #supportsManagedUpdate is called.  The rendering will not get refreshed
- * upon any debug events.  Instead, the rendering will update when 
+ * upon any debug events.  Instead, the rendering will update when
  * <code>IMemoryBlockConnection.update</code> is called.
- * 
+ *
  * This interface is EXPERIMENTAL.
  *
  */
 public interface IMemoryRenderingUpdater extends IMemoryBlockExtension {
-	
+
 	/**
 	 * @return true if the updater will manage the update of a rendering
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java
index 70bf295..973c977 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/IPersistableDebugElement.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
  *******************************************************************************/
@@ -20,14 +20,14 @@
 public interface IPersistableDebugElement {
 
 	/**
-	 * Return the property with the specified propertyId.  
+	 * Return the property with the specified propertyId.
 	 * @param context is the context who is asking for this property.
 	 * @param propertyId is the property id of the property.
 	 * @return the value of the specified property
 	 * @throws CoreException when an error has occurred getting this property
 	 */
 	public Object getProperty(Object context, String propertyId) throws CoreException;
-	
+
 	/**
 	 * Sets the property with the specified propertyId.  Clients are expected
 	 * to save the properties specified.
@@ -37,7 +37,7 @@
 	 * @throws CoreException when an error has occurred setting this property
 	 */
 	public void setProperty(Object context, String propertyId, Object value) throws CoreException;
-	
+
 	/**
 	 * @param context is the contex who is asking if this property is supported
 	 * @param propertyId
@@ -45,5 +45,5 @@
 	 * the specified property.
 	 */
 	public boolean supportsProperty(Object context, String propertyId);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
index 16eb2d1..a487ca9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingManager.java
@@ -32,7 +32,7 @@
 
 /**
  * The memory rendering manager.
- * 
+ *
  * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
  * @since 3.1
  */
@@ -53,7 +53,7 @@
 
 	/**
 	 * Returns the memory rendering manager.
-	 * 
+	 *
 	 * @return the memory rendering manager
 	 */
 	public static IMemoryRenderingManager getDefault() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java
index 5ab614a..f9cc7a5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/MemoryRenderingType.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
  *******************************************************************************/
@@ -22,21 +22,21 @@
 
 /**
  * A contributed memory rendering type.
- * 
+ *
  * @since 3.1
  */
 class MemoryRenderingType implements IMemoryRenderingType {
-    
+
     private IConfigurationElement fConfigurationElement;
     private IMemoryRenderingTypeDelegate fDelegate;
-    
+
     // attributes for a memoryRenderingType
     static final String ATTR_MEM_RENDERING_TYPE_NAME = "name"; //$NON-NLS-1$
     static final String ATTR_MEM_RENDERING_TYPE_ID = "id"; //$NON-NLS-1$
     static final String ATTR_MEM_RENDERING_TYPE_DELEGATE = "class"; //$NON-NLS-1$
-    
+
     /**
-     * Constructs a rendering type from a contribution. 
+     * Constructs a rendering type from a contribution.
      */
     MemoryRenderingType(IConfigurationElement element) {
         fConfigurationElement = element;
@@ -71,7 +71,7 @@
 
     /**
      * Validates this contribution.
-     * 
+     *
      * @exception CoreException if invalid
      */
     void validate() throws CoreException {
@@ -79,7 +79,7 @@
         verifyPresent(ATTR_MEM_RENDERING_TYPE_NAME);
         verifyPresent(ATTR_MEM_RENDERING_TYPE_DELEGATE);
     }
-    
+
     private void verifyPresent(String attrName) throws CoreException {
         if (fConfigurationElement.getAttribute(attrName) == null) {
             Status status = new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR,
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
index 2d9d4b3..a7adf3f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/RenderingBindings.java
@@ -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
  *******************************************************************************/
@@ -34,7 +34,7 @@
 
 /**
  * Represents a renderingBindings element of a memoryRenderings contribution.
- * 
+ *
  * @since 3.1
  */
 class RenderingBindings extends AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingBindingsProvider {
@@ -64,7 +64,7 @@
 
 	/**
 	 * Constructs a bindings element from the given contribution.
-	 * 
+	 *
 	 * @param element contribution
 	 */
 	RenderingBindings(IConfigurationElement element) {
@@ -73,7 +73,7 @@
 
 	/**
 	 * Returns the non-default bindings specified by this contribution.
-	 * 
+	 *
 	 * @return the non-default bindings specified by this contribution
 	 */
 	private IMemoryRenderingType[] getBindings() {
@@ -103,7 +103,7 @@
 
 	/**
 	 * Returns the default bindings specified by this contribution.
-	 * 
+	 *
 	 * @return the default bindings specified by this contribution
 	 */
 	private IMemoryRenderingType[] getDefaultBindings() {
@@ -136,7 +136,7 @@
 
 	/**
 	 * Returns the primary id, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return the primary id, or <code>null</code> if none
 	 */
 	private String getPrimaryId() {
@@ -145,7 +145,7 @@
 
 	/**
 	 * Returns the provider for this binding or <code>null</code> of none.
-	 * 
+	 *
 	 * @return the provider for this binding or <code>null</code> of none
 	 */
 	protected IMemoryRenderingBindingsProvider getProvider(IMemoryBlock memoryBlock) {
@@ -175,7 +175,7 @@
 
 	/**
 	 * Returns whether this binding is applies to the given memory block.
-	 * 
+	 *
 	 * @param block memory block
 	 * @return whether this binding is applies to the given memory block
 	 */
@@ -195,7 +195,7 @@
 
 	/**
 	 * Validates this contribution.
-	 * 
+	 *
 	 * @exception CoreException if invalid
 	 */
 	void validate() throws CoreException {
@@ -210,7 +210,7 @@
 	/**
 	 * Returns this binding's enablement expression, or <code>null</code> if
 	 * none.
-	 * 
+	 *
 	 * @return enablement expression, or <code>null</code> if none
 	 */
 	private Expression getExpression() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
index fcc44b9..b7bb342 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTableRendering.java
@@ -4,11 +4,11 @@
  *  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
  *     Teodor Madan (Freescale) -  Bug 292360 -  [Memory View] platform renderings do not implement correctly IMemoryRendering#getControl
- *     Teodor Madan (Freescale) -  Bug 292426 -  [Memory View] platform renderings cannot be repositioned from non-UI thread through calls to IRepositionableMemoryRendering#goToAddress 
+ *     Teodor Madan (Freescale) -  Bug 292426 -  [Memory View] platform renderings cannot be repositioned from non-UI thread through calls to IRepositionableMemoryRendering#goToAddress
  *     Teodor Madan (Freescale) & Jeremiah Swan (IBM) - Bug 300036 -  [Memory View] NPE in AbstractAsyncTableRendering#getSelectedAddress on rendering creation
  *******************************************************************************/
 
@@ -155,11 +155,11 @@
  * rendering.
  * </p>
  * <p>
- * 
+ *
  * The label of the rendering is constructed by retrieving the expression from
  * <code>IMemoryBlockExtension</code>. For IMemoryBlock, the label is
  * constructed using the memory block's start address.
- * 
+ *
  * This rendering manages the change states of its memory bytes if the memory
  * block does not opt to manage the change states. For IMemoryBlockExtension, if
  * the memory block returns false when #supportsChangeManagement() is called,
@@ -170,7 +170,7 @@
  * Instead it would rely on the attributes returned in the MemoryByte array to
  * determine if a byte has changed. For IMemoryBlock, this rendering will manage
  * the change states its content.
- * 
+ *
  * When firing change event, be aware of the following: - whenever a change
  * event is fired, the content provider for Memory View view checks to see if
  * memory has actually changed. - If memory has actually changed, a refresh will
@@ -179,12 +179,12 @@
  * However, previous delta information will be erased. The screen will be
  * refreshed to show that no memory has been changed. (All delta icons will be
  * removed.)
- * 
+ *
  * Please note that these APIs will be called multiple times by the Memory View.
  * To improve performance, debug adapters need to cache the content of its
  * memory block and only retrieve updated data when necessary.
  * </p>
- * 
+ *
  * @since 3.2
  */
 public abstract class AbstractAsyncTableRendering extends AbstractBaseTableRendering implements IPropertyChangeListener, IResettableMemoryRendering {
@@ -249,7 +249,7 @@
 		}
 
 		/**
-		 * 
+		 *
 		 */
 		private void updateActionLabel() {
 			if (fIsShowAddressColumn) {
@@ -264,7 +264,7 @@
 		private NextPageAction() {
 			super();
 			setText(DebugUIMessages.AbstractTableRendering_4);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".NextPageAction_context"); //$NON-NLS-1$ 
+			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".NextPageAction_context"); //$NON-NLS-1$
 		}
 
 		@Override
@@ -552,7 +552,7 @@
 
 	/**
 	 * Constructs a new table rendering of the specified type.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 */
 	public AbstractAsyncTableRendering(String renderingId) {
@@ -596,7 +596,7 @@
 
 	/**
 	 * Create the error page of this rendering
-	 * 
+	 *
 	 * @param parent the parent to add the page to
 	 */
 	private void createMessagePage(Composite parent) {
@@ -795,7 +795,7 @@
 
 	/**
 	 * Create popup menu for this rendering
-	 * 
+	 *
 	 * @param control - control to create the popup menu for
 	 * @param menuListener - listener to notify when popup menu is about to show
 	 */
@@ -1359,7 +1359,7 @@
 
 	/**
 	 * Returns the addressable size of this rendering's memory block in bytes.
-	 * 
+	 *
 	 * @return the addressable size of this rendering's memory block in bytes
 	 */
 	@Override
@@ -1440,7 +1440,7 @@
 
 	/**
 	 * Format view tab based on the bytes per line and column.
-	 * 
+	 *
 	 * @param bytesPerLine - number of bytes per line, possible values: (1 / 2 /
 	 *            4 / 8 / 16 / 32 / 64/ 128) * addressableSize
 	 * @param columnSize - number of bytes per column, possible values: (1 / 2 /
@@ -1476,7 +1476,7 @@
 
 	/**
 	 * Returns the number of addressable units per row.
-	 * 
+	 *
 	 * @return number of addressable units per row
 	 */
 	@Override
@@ -1486,7 +1486,7 @@
 
 	/**
 	 * Returns the number of addressable units per column.
-	 * 
+	 *
 	 * @return number of addressable units per column
 	 */
 	@Override
@@ -1496,7 +1496,7 @@
 
 	/**
 	 * This method estimates the number of visible lines in the rendering table.
-	 * 
+	 *
 	 * @return estimated number of visible lines in the table
 	 */
 	private int getNumberOfVisibleLines() {
@@ -1573,7 +1573,7 @@
 
 	/**
 	 * Displays the given message on the error page
-	 * 
+	 *
 	 * @param message - the message to display
 	 */
 	protected void showMessage(final String message) {
@@ -1584,7 +1584,7 @@
 
 	/**
 	 * Returns the number of bytes displayed in a single column cell.
-	 * 
+	 *
 	 * @return the number of bytes displayed in a single column cell
 	 */
 	@Override
@@ -1594,7 +1594,7 @@
 
 	/**
 	 * Returns the number of bytes displayed in a row.
-	 * 
+	 *
 	 * @return the number of bytes displayed in a row
 	 */
 	@Override
@@ -1604,7 +1604,7 @@
 
 	/**
 	 * Returns whether the error page is displayed.
-	 * 
+	 *
 	 * @return whether the error page is displayed
 	 */
 	public boolean isDisplayingError() {
@@ -1781,14 +1781,14 @@
 
 	/**
 	 * Create a cell editor from the specified composite and column.
-	 * 
+	 *
 	 * @param composite parent composite that the cell editor is to be created
 	 *            from.
 	 * @param column the column where the cell editor is required
 	 * @return the cell editor for editing memory
-	 * 
+	 *
 	 * @since 3.3
-	 * 
+	 *
 	 */
 	protected CellEditor createCellEditor(Composite composite, int column) {
 
@@ -1802,12 +1802,12 @@
 	/**
 	 * Create a custom cell modifier for this rendering. Return null if the
 	 * default cell modifier is to be used.
-	 * 
+	 *
 	 * @return the cell modifier for this rendering, or <code>null</code> if the
 	 *         default cell modifier is to be used.
-	 * 
+	 *
 	 * @since 3.3
-	 * 
+	 *
 	 */
 	protected ICellModifier createCellModifier() {
 		return null;
@@ -1866,7 +1866,7 @@
 	/**
 	 * Updates the label of this rendering, optionally displaying the base
 	 * address of this rendering's memory block.
-	 * 
+	 *
 	 * @param showAddress whether to display the base address of this
 	 *            rendering's memory block in this rendering's label
 	 */
@@ -1998,7 +1998,7 @@
 
 	/**
 	 * Returns the number of characters a byte will convert to or -1 if unknown.
-	 * 
+	 *
 	 * @return the number of characters a byte will convert to or -1 if unknown
 	 */
 	@Override
@@ -2032,7 +2032,7 @@
 
 	/**
 	 * Returns the currently selected address in this rendering.
-	 * 
+	 *
 	 * @return the currently selected address in this rendering
 	 */
 	@Override
@@ -2052,7 +2052,7 @@
 
 	/**
 	 * Returns the currently selected content in this rendering as MemoryByte.
-	 * 
+	 *
 	 * @return the currently selected content in array of MemoryByte. Returns an
 	 *         empty array if the selected address is out of buffered range.
 	 */
@@ -2096,7 +2096,7 @@
 
 	/**
 	 * Returns the currently selected content in this rendering as a String.
-	 * 
+	 *
 	 * @return the currently selected content in this rendering
 	 */
 	@Override
@@ -2118,7 +2118,7 @@
 	/**
 	 * Moves the cursor to the specified address. Will load more memory if the
 	 * address is not currently visible.
-	 * 
+	 *
 	 * @param address address to position cursor at
 	 * @throws DebugException if an exception occurs
 	 */
@@ -2253,7 +2253,7 @@
 
 	/**
 	 * Fills the context menu for this rendering
-	 * 
+	 *
 	 * @param menu menu to fill
 	 */
 	protected void fillContextMenu(IMenuManager menu) {
@@ -2557,7 +2557,7 @@
 
 	/**
 	 * Handle column size changed event from synchronizer
-	 * 
+	 *
 	 * @param newColumnSize the new column size
 	 */
 	private void columnSizeChanged(final int newColumnSize) {
@@ -2603,7 +2603,7 @@
 
 	/**
 	 * update selected address in synchronizer if update is true.
-	 * 
+	 *
 	 * @param address the address to update
 	 */
 	private void updateSyncSelectedAddress(BigInteger address) {
@@ -2643,7 +2643,7 @@
 
 	/**
 	 * update top visible address in synchronizer
-	 * 
+	 *
 	 * @param address the address to update
 	 */
 	private void updateSyncTopAddress(BigInteger address) {
@@ -2679,7 +2679,7 @@
 	 * queried for color information, it is provided with a
 	 * {@link MemoryRenderingElement} as an argument.
 	 * </p>
-	 * 
+	 *
 	 * @return the color provider for this rendering's memory block, or
 	 *         <code>null</code>
 	 */
@@ -2696,7 +2696,7 @@
 	 * queried for label information, it is provided with a
 	 * {@link MemoryRenderingElement} as an argument.
 	 * </p>
-	 * 
+	 *
 	 * @return the label provider for this rendering's memory block, or
 	 *         <code>null</code>
 	 */
@@ -2713,7 +2713,7 @@
 	 * queried for font information, it is provided with a
 	 * {@link MemoryRenderingElement} as an argument.
 	 * </p>
-	 * 
+	 *
 	 * @return the font provider for this rendering's memory block, or
 	 *         <code>null</code>
 	 */
@@ -2728,7 +2728,7 @@
 	 * By default a table presentation is obtained by asking this rendering's
 	 * memory block for its {@link IMemoryBlockTablePresentation} adapter.
 	 * </p>
-	 * 
+	 *
 	 * @return the table presentation for this rendering's memory block, or
 	 *         <code>null</code>
 	 */
@@ -2827,7 +2827,7 @@
 	 * Also see the methods <code>getToolTipText(...)</code> and
 	 * <code>toolTipAboutToShow(...)</code>.
 	 * </p>
-	 * 
+	 *
 	 * @param composite parent for the tooltip control
 	 * @return the tooltip control to be displayed
 	 * @since 3.2
@@ -2845,7 +2845,7 @@
 	 * correct table item if SWT.FULL_SELECTION is not on when the table is
 	 * created. Created the following function to work around the problem. We
 	 * can remove this method when the bug is fixed.
-	 * 
+	 *
 	 * @param point the given {@link Point} to find the {@link TableItem} for
 	 * @return the table item where the point is located, return null if the
 	 *         item cannot be located.
@@ -2869,7 +2869,7 @@
 
 	/**
 	 * Method for figuring out which column the point is located.
-	 * 
+	 *
 	 * @param point the {@link Point} the get the column number for
 	 * @return the column index where the point is located, return -1 if column
 	 *         is not found.
@@ -2908,7 +2908,7 @@
 	 * By default a text tooltip is displayed, and the contents for the tooltip
 	 * are generated by the <code>getToolTipText(...)</code> method.
 	 * </p>
-	 * 
+	 *
 	 * @param toolTipControl - the control for displaying the tooltip
 	 * @param item - the table item where the mouse is pointing.
 	 * @param col - the column at which the mouse is pointing.
@@ -2948,7 +2948,7 @@
 	 * Returns the text to display in a tool tip at the specified address for
 	 * the specified bytes. By default the address of the bytes is displayed.
 	 * Subclasses may override.
-	 * 
+	 *
 	 * @param address address of cell that tool tip is displayed for
 	 * @param bytes the bytes in the cell
 	 * @return the tooltip text for the memory bytes located at the specified
@@ -3000,9 +3000,9 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * Return this rendering's viewer
-	 * 
+	 *
 	 * @return this rendering's viewer
 	 */
 	public StructuredViewer getViewer() {
@@ -3066,7 +3066,7 @@
 	/**
 	 * Return the number of lines to be bufferred before the top visible line of
 	 * the memory rendering
-	 * 
+	 *
 	 * @return number of lines to be buffered before the top visible line in the
 	 *         memory rendering
 	 */
@@ -3081,7 +3081,7 @@
 	/**
 	 * Returns the number of lines to be bufferred after the last visible line
 	 * in the memory rendering
-	 * 
+	 *
 	 * @return the number of lines to be bufferred after the last visible line
 	 *         in the memory rendering
 	 */
@@ -3167,7 +3167,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void doGoToAddress() {
 		try {
@@ -3290,7 +3290,7 @@
 	 * Returns text for the given memory bytes at the specified address for the
 	 * specified rendering type. This is called by the label provider for.
 	 * Subclasses must override.
-	 * 
+	 *
 	 * @param renderingTypeId rendering type identifier
 	 * @param address address where the bytes belong to
 	 * @param data the bytes
@@ -3308,7 +3308,7 @@
 	 * the string value to an array of bytes. The bytes will be passed to the
 	 * debug adapter for memory block modification. Returns <code>null</code> if
 	 * the bytes cannot be formatted properly.
-	 * 
+	 *
 	 * @param renderingTypeId rendering type identifier
 	 * @param address address the bytes begin at
 	 * @param currentValues current values of the data in bytes format
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java
index 4d9b480..8853759 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/AbstractAsyncTextRendering.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
  *******************************************************************************/
@@ -25,7 +25,7 @@
  * Clients should subclass from this class if they wish to provide a table text
  * rendering with a specific code page.
  * </p>
- * 
+ *
  * @since 3.2
  */
 abstract public class AbstractAsyncTextRendering extends AbstractAsyncTableRendering {
@@ -34,7 +34,7 @@
 
 	/**
 	 * Constructs a text rendering of the specified type.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 */
 	public AbstractAsyncTextRendering(String renderingId) {
@@ -43,7 +43,7 @@
 
 	/**
 	 * Constructs a text rendering of the specified type on the given code page.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 * @param codePage the name of a supported {@link java.nio.charset.Charset
 	 *            </code>charset<code>}, for example <code>CP1252</code>
@@ -57,7 +57,7 @@
 	 * Sets the code page for this rendering. This does not cause the rendering
 	 * to be updated with the new code page. Clients need to update the
 	 * rendering manually when the code page is changed.
-	 * 
+	 *
 	 * @param codePage the name of a supported {@link java.nio.charset.Charset
 	 *            </code>charset<code>}, for example <code>CP1252</code>
 	 */
@@ -68,7 +68,7 @@
 	/**
 	 * Returns the current code page used by this rendering. Returns null if not
 	 * set.
-	 * 
+	 *
 	 * @return Returns the current code page used by this rendering. Returns
 	 *         null if not set.
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java
index 42dd16e..5b35e5f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/memory/provisional/MemoryViewPresentationContext.java
@@ -18,11 +18,11 @@
 /**
  * Presentation context from the Memory View. This presentation provides
  * additional information regarding the originator of the asynchronous request.
- * 
+ *
  * Clients may reference or subclass from this class.
- * 
+ *
  * @since 3.2
- * 
+ *
  */
 public class MemoryViewPresentationContext extends PresentationContext {
 
@@ -32,7 +32,7 @@
 
 	/**
 	 * Constructs MemoryViewPresentationContext
-	 * 
+	 *
 	 * @param site - the memory rendering site that this presentation context is
 	 *            for
 	 * @param container - the memory rendering container that this presentation
@@ -50,7 +50,7 @@
 
 	/**
 	 * Returns the memory rendering site that this presentation context is for
-	 * 
+	 *
 	 * @return the memory rendering site that this presentation context is for
 	 */
 	public IMemoryRenderingSite getMemoryRenderingSite() {
@@ -60,7 +60,7 @@
 	/**
 	 * Returns the memory rendering container that this presentation context is
 	 * for
-	 * 
+	 *
 	 * @return the memory rendering container that this presentation context is
 	 *         for, <code>null</code> if none.
 	 */
@@ -70,7 +70,7 @@
 
 	/**
 	 * Returns the memory rendering that this presentation context is for
-	 * 
+	 *
 	 * @return the memory rendering that this presentation context is for,
 	 *         <code>null</code> if none.
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerLabelProvider.java
index 87869f7..9288a7b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerLabelProvider.java
@@ -37,17 +37,17 @@
 	 */
 	@Override
 	protected ImageDescriptor getImageDescriptor(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException {
-		ImageDescriptor desc = super.getImageDescriptor(elementPath, presentationContext, columnId);		
+		ImageDescriptor desc = super.getImageDescriptor(elementPath, presentationContext, columnId);
 		int flags = computeAdornmentFlags();
-		
+
         if (flags > 0) {
-        	Image image = DebugUIPlugin.getImageDescriptorRegistry().get(desc);        	
+        	Image image = DebugUIPlugin.getImageDescriptorRegistry().get(desc);
             CompositeDebugImageDescriptor compDesc = new CompositeDebugImageDescriptor(image, flags);
             return compDesc;
         }
         return desc;
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#getChecked(org.eclipse.jface.viewers.TreePath, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext)
@@ -61,13 +61,13 @@
             for (int i = 0; i < breakpoints.length; ++i) {
             	if (breakpoints[i].isEnabled()) return true;
             }
-            
+
             return false;
         }
-        
+
 		return super.getChecked(path, presentationContext);
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#getGrayed(org.eclipse.jface.viewers.TreePath, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext)
@@ -86,11 +86,11 @@
 
 			for (int i = 0; i < breakpoints.length; ++i) {
 				if (breakpoints[i].isEnabled()) {
-					hasEnabled = true;				
+					hasEnabled = true;
 				} else {
 					hasDisabled = true;
 				}
-				
+
 				if (hasEnabled && hasDisabled) {
 					return true;
 				}
@@ -101,14 +101,14 @@
 
 		return super.getGrayed(path, presentationContext);
 	}
-	
+
 	// Forward font data requests to the workbench adapter
 	@Override
 	protected FontData getFontData(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException {
 		Object element = elementPath.getLastSegment();
 		FontData fontData = super.getFontData(elementPath, presentationContext, columnId);
 		if (fontData == null && element instanceof IAdaptable) {
-			
+
             IWorkbenchAdapter2 adapter = ((IAdaptable)element).getAdapter(IWorkbenchAdapter2.class);
             if (adapter != null) {
                 fontData = adapter.getFont(element);
@@ -123,7 +123,7 @@
 		Object element = elementPath.getLastSegment();
 		RGB rgb = super.getForeground(elementPath, presentationContext, columnId);
 		if (rgb == null && element instanceof IAdaptable) {
-			
+
             IWorkbenchAdapter2 adapter = ((IAdaptable)element).getAdapter(IWorkbenchAdapter2.class);
             if (adapter != null) {
             	rgb = adapter.getForeground(element);
@@ -138,7 +138,7 @@
 		Object element = elementPath.getLastSegment();
 		RGB rgb = super.getBackground(elementPath, presentationContext, columnId);
 		if (rgb == null && element instanceof IAdaptable) {
-			
+
             IWorkbenchAdapter2 adapter = ((IAdaptable)element).getAdapter(IWorkbenchAdapter2.class);
             if (adapter != null) {
             	rgb = adapter.getBackground(element);
@@ -149,7 +149,7 @@
 
 	/**
      * Computes and return common adornment flags for the given category.
-     * 
+     *
      * @return adornment flags defined in CompositeDebugImageDescriptor
      */
     private int computeAdornmentFlags() {
@@ -157,5 +157,5 @@
             return CompositeDebugImageDescriptor.SKIP_BREAKPOINT;
         }
         return 0;
-    } 
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerMementoProvider.java
index 2c0ea65..8c169cb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContainerMementoProvider.java
@@ -19,7 +19,7 @@
 

 /**

  * This class provides memento for the breakpoint container.

- * 

+ *

  * @since 3.6

  */

 public class BreakpointContainerMementoProvider extends DebugElementMementoProvider {

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContentProvider.java
index 925489f..8af1cdf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointContentProvider.java
@@ -17,7 +17,7 @@
 

 /**

  *  Breakpoint content provider.

- *  

+ *

  *  @since 3.6

  */

 public class BreakpointContentProvider extends ElementContentProvider {

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointLabelProvider.java
index 59a7c24..e8bb747 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointLabelProvider.java
@@ -20,7 +20,7 @@
 
 /**
  * Breakpoint label provider.
- * 
+ *
  * @since 3.6
  */
 public class BreakpointLabelProvider extends DebugElementLabelProvider {
@@ -33,9 +33,9 @@
 		if (columnIndex == 0)
 			return super.getLabel(elementPath, presentationContext, columnId, columnIndex);
 		else
-			return IInternalDebugCoreConstants.EMPTY_STRING; 
+			return IInternalDebugCoreConstants.EMPTY_STRING;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#getImageDescriptor(org.eclipse.jface.viewers.TreePath, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.String, int)
 	 */
@@ -46,7 +46,7 @@
 		else
 			return null;
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#getChecked(org.eclipse.jface.viewers.TreePath, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext)
@@ -57,7 +57,7 @@
 		if (lastSegment instanceof IBreakpoint) {
 			return ((IBreakpoint) lastSegment).isEnabled();
 		}
-		
+
 		return false;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java
index 2d89a46..c1791ef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerContentProvider.java
@@ -67,15 +67,15 @@
 
 /**
  * This class provides breakpoint content for the breakpoint manager.
- * 
+ *
  * @since 3.6
  */
-public class BreakpointManagerContentProvider extends ElementContentProvider 
+public class BreakpointManagerContentProvider extends ElementContentProvider
         implements IBreakpointsListener {
-    
+
     /**
      * Breakpoint input data. Contains all input specific data.
-     * 
+     *
      * @since 3.6
      */
     private class InputData {
@@ -83,32 +83,32 @@
          * Breakpoint manager input
          */
         final private DefaultBreakpointsViewInput fInput;
-        
+
         /**
          * Model proxy of the input
          */
 		final private List<BreakpointManagerProxy> fProxies = new ArrayList<BreakpointManagerProxy>(1);
-        
+
         /**
          * Element comparator, use to compare the ordering of elements for the model
-         * <br/> Note: We assume that the comparator does not change.  
+         * <br/> Note: We assume that the comparator does not change.
          */
         private ElementComparator fComparator;
-        
+
         /**
          * The breakpoint root container.<br/>
-         * Note: The final qualifier guarantees that fContainer will be 
+         * Note: The final qualifier guarantees that fContainer will be
          * initialized before the class is accessed on other threads.
          */
         final private BreakpointContainer fContainer;
-        
+
         /**
          * Known current breakpoint organizers.
          */
         private IBreakpointOrganizer[] fOrganizers;
-        
-        private IStructuredSelection fDebugContext = StructuredSelection.EMPTY; 
-        
+
+        private IStructuredSelection fDebugContext = StructuredSelection.EMPTY;
+
         private IPropertyChangeListener fOrganizersListener = new IPropertyChangeListener() {
             @Override
 			public void propertyChange(PropertyChangeEvent event) {
@@ -123,7 +123,7 @@
                 presentationPropertyChanged(event);
             }
         };
-        
+
         private IDebugContextListener fDebugContextListener = new IDebugContextListener() {
             @Override
 			public void debugContextChanged(DebugContextEvent event) {
@@ -133,14 +133,14 @@
 
         /**
          * Constructor
-         *  
+         *
          * @param input the breakpoint manager input
          */
         InputData(DefaultBreakpointsViewInput input) {
             fInput = input;
             fComparator = (ElementComparator)
                 input.getContext().getProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_ELEMENT_COMPARATOR);
-            
+
             fOrganizers = (IBreakpointOrganizer[])
                 input.getContext().getProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_ORGANIZERS);
 
@@ -149,10 +149,10 @@
             IBreakpoint[] breakpoints = filterBreakpoints(
                 fInput, getSelectionFilter(fInput, getDebugContext()), fBpManager.getBreakpoints());
             fContainer = createRootContainer(initialDelta, fInput, fOrganizers, breakpoints);
-            
+
             registerOrganizersListener(null, fOrganizers);
             input.getContext().addPropertyChangeListener(fPresentationContextListener);
-            
+
             IWorkbenchWindow window = fInput.getContext().getWindow();
             if (window != null) {
                 IDebugContextService debugContextService = DebugUITools.getDebugContextManager().getContextService(window);
@@ -165,7 +165,7 @@
                 debugContextService.addDebugContextListener(fDebugContextListener);
             }
         }
-        
+
         void dispose() {
             // Unregister listener to breakpoint organizers.
             IBreakpointOrganizer[] organizers;
@@ -174,10 +174,10 @@
                 fOrganizers = null;
             }
             registerOrganizersListener(organizers, null);
-            
+
             // Unregister listener to presentation context.
             fInput.getContext().removePropertyChangeListener(fPresentationContextListener);
-            
+
             // Unregister listener to debug context in window.
             IWorkbenchWindow window = fInput.getContext().getWindow();
             if (window != null) {
@@ -186,14 +186,14 @@
             }
 
         }
-        
+
         void proxyInstalled(BreakpointManagerProxy proxy) {
             ModelDelta rootDelta = null;
             synchronized(this) {
                 fProxies.add(proxy);
-                
+
                 // Generate an install delta
-                
+
                 rootDelta = new ModelDelta(fInput, 0, IModelDelta.NO_CHANGE, -1);
                 buildInstallDelta(rootDelta, fContainer);
 
@@ -215,10 +215,10 @@
         synchronized BreakpointManagerProxy[] getProxies() {
             return fProxies.toArray(new BreakpointManagerProxy[fProxies.size()]);
         }
-        
+
         /**
          * Change the breakpoint organizers for the root container.
-         * 
+         *
          * @param organizers the new organizers.
          */
         void setOrganizers(IBreakpointOrganizer[] organizers) {
@@ -243,27 +243,27 @@
                 }
             }
         }
-        
+
         void updateContainers() {
             IBreakpoint[] breakpoints = filterBreakpoints(
                 fInput, getSelectionFilter(fInput, getDebugContext()), fBpManager.getBreakpoints());
-    
+
             synchronized(this) {
                 ModelDelta delta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
                 // create a reference container, use for deleting elements and adding elements
-                ModelDelta dummyDelta = new ModelDelta(null, IModelDelta.NO_CHANGE);                
+                ModelDelta dummyDelta = new ModelDelta(null, IModelDelta.NO_CHANGE);
                 BreakpointContainer refContainer = createRootContainer(dummyDelta, fInput, fOrganizers, breakpoints);
-    
+
                 // delete the removed elements
                 deleteRemovedElements(fContainer, refContainer, delta);
-                
+
                 // adjust the old organizer with the reference organizer
                 BreakpointContainer.copyOrganizers(fContainer, refContainer);
-                
+
                 // insert the added elements
                 IBreakpoint newBreakpoint = insertAddedElements(fContainer, refContainer, delta);
                 delta.setChildCount(fContainer.getChildren().length);
-                
+
                 // select the new breakpoint
                 if (newBreakpoint != null) {
                     appendModelDeltaToElement(delta, newBreakpoint, IModelDelta.SELECT);
@@ -271,8 +271,8 @@
                 if (DebugUIPlugin.DEBUG_BREAKPOINT_DELTAS) {
                 	DebugUIPlugin.trace("POST BREAKPOINT DELTA (setOrganizers)\n"); //$NON-NLS-1$
                 }
-                postModelChanged(delta, false); 
-            }            
+                postModelChanged(delta, false);
+            }
         }
 
 		void sortContainers() {
@@ -309,11 +309,11 @@
         private synchronized IStructuredSelection getDebugContext() {
             return fDebugContext;
         }
-        
+
         /**
          * Handles the property changed events in presentation contexts.
          * Sub-classes may override to perform additional handling.
-         * @param event the event 
+         * @param event the event
          */
         private void presentationPropertyChanged(PropertyChangeEvent event) {
 			if (IBreakpointUIConstants.PROP_BREAKPOINTS_ELEMENT_COMPARATOR_SORT.equals(event.getProperty())) {
@@ -325,24 +325,24 @@
                 IBreakpointOrganizer[] organizers = (IBreakpointOrganizer[])event.getNewValue();
                 setOrganizers(organizers);
             }
-            else if ( IBreakpointUIConstants.PROP_BREAKPOINTS_FILTER_SELECTION.equals(event.getProperty()) ) 
+            else if ( IBreakpointUIConstants.PROP_BREAKPOINTS_FILTER_SELECTION.equals(event.getProperty()) )
             {
                 IStructuredSelection selection = null;
-                
+
                 if (Boolean.TRUE.equals(event.getNewValue()) ) {
                     selection = getDebugContext();
                 }
                 setFilterSelection(selection);
-            } 
-            else if ( IBreakpointUIConstants.PROP_BREAKPOINTS_TRACK_SELECTION.equals(event.getProperty()) ) 
+            }
+            else if ( IBreakpointUIConstants.PROP_BREAKPOINTS_TRACK_SELECTION.equals(event.getProperty()) )
             {
                 IStructuredSelection selection = null;
-                
+
                 if (Boolean.TRUE.equals(event.getNewValue()) ) {
                     selection = getDebugContext();
                 }
                 trackSelection(selection);
-            } 
+            }
         }
 
         private void debugContextChanged(DebugContextEvent event) {
@@ -360,24 +360,24 @@
             if (Boolean.TRUE.equals(fInput.getContext().getProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_FILTER_SELECTION)) ) {
                 setFilterSelection(newContext);
             }
-            
+
             if (Boolean.TRUE.equals(fInput.getContext().getProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_TRACK_SELECTION)) ) {
                 trackSelection(newContext);
-            }            
+            }
         }
-        
-        
+
+
         private void setFilterSelection(IStructuredSelection ss) {
             ModelDelta delta = new ModelDelta(fInput, IModelDelta.NO_CHANGE);
             boolean changed = false;
-        
+
             // calculate supported breakpoints outside of the synchronized section.
             IBreakpoint[] allBreakpoints = fBpManager.getBreakpoints();
             boolean[] supportedBreakpoints = new boolean[allBreakpoints.length];
             for (int i = 0; i < allBreakpoints.length; ++i) {
                 supportedBreakpoints[i] = supportsBreakpoint(ss, allBreakpoints[i]);
             }
-            
+
             synchronized(this) {
 				Set<IBreakpoint> existingBreakpoints = new HashSet<IBreakpoint>(Arrays.asList(fContainer.getBreakpoints()));
 
@@ -401,12 +401,12 @@
                     if (DebugUIPlugin.DEBUG_BREAKPOINT_DELTAS) {
                     	DebugUIPlugin.trace("POST BREAKPOINT DELTA (setFilterSelection)\n"); //$NON-NLS-1$
                     }
-                    postModelChanged(delta, false); 
+                    postModelChanged(delta, false);
                 }
             }
         }
 
-        
+
         private void trackSelection(IStructuredSelection selection) {
             if (selection == null || selection.size() != 1) {
                 return;
@@ -441,7 +441,7 @@
                     BreakpointManagerProxy[] proxies = getProxies();
                     for (int i = 0; i < proxies.length; i++) {
                         proxies[i].postModelChanged(delta, true);
-                    }       
+                    }
                 }
             }
 
@@ -450,7 +450,7 @@
         /**
          * Recursive function to build the model delta to select a breakpoint
          * corresponding to the active debug context selection.
-         * 
+         *
          * @param delta Delta node to build on
          * @param container Container element to build delta for.
          * @param breakpoints Breakpoint set to be selected.
@@ -467,15 +467,15 @@
                     IBreakpoint[] containerBPs = childContainer.getBreakpoints();
                     for (int j = 0; j < containerBPs.length; j++) {
                         if (breakpoints.contains(containerBPs[j])) {
-                            containsBP = true; 
+                            containsBP = true;
                             break;
                         }
                     }
-                    if (containsBP && buildTrackSelectionDelta(childDelta, childContainer, breakpoints) ) { 
-                        return true; 
+                    if (containsBP && buildTrackSelectionDelta(childDelta, childContainer, breakpoints) ) {
+                        return true;
                     }
                 } else if (children[i] instanceof IBreakpoint &&
-                    breakpoints.contains(children[i])) 
+                    breakpoints.contains(children[i]))
                 {
                     childDelta.setFlags(IModelDelta.SELECT | IModelDelta.EXPAND);
                     return true;
@@ -486,20 +486,20 @@
 
         /**
          * Helper method to add breakpoints to the given input.
-         * 
+         *
          * @param breakpoints the breakpoints
          */
         void breakpointsAdded(IBreakpoint[] breakpoints) {
             IBreakpoint[] filteredBreakpoints = filterBreakpoints(
                 fInput, getSelectionFilter(fInput, getDebugContext()), breakpoints);
-            
+
             if (filteredBreakpoints.length > 0) {
                 synchronized (this) {
                     ModelDelta delta = new ModelDelta(fInput, 0, IModelDelta.NO_CHANGE, -1);
                     for (int i = 0; i < filteredBreakpoints.length; ++i) {
-                        // Avoid adding breakpoints which were already removed.  If breakpoints 
-                        // are added and removed very fast, the Breakpoint manager can issue 
-                        // breakpoint added events after breakpoint removed events!  This means 
+                        // Avoid adding breakpoints which were already removed.  If breakpoints
+                        // are added and removed very fast, the Breakpoint manager can issue
+                        // breakpoint added events after breakpoint removed events!  This means
                         // that such breakpoints would never be removed from the view.
                         // (Bug 289526)
                         if (DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(filteredBreakpoints[i].getMarker()) != null) {
@@ -507,23 +507,23 @@
                         }
                     }
                     delta.setChildCount(fContainer.getChildren().length);
-                    
+
                     // select the breakpoint
                     if (filteredBreakpoints.length > 0) {
                         appendModelDeltaToElement(delta, filteredBreakpoints[0], IModelDelta.SELECT);
                     }
-                
+
                     if (DebugUIPlugin.DEBUG_BREAKPOINT_DELTAS) {
                         DebugUIPlugin.trace("POST BREAKPOINT DELTA (breakpointsAddedInput)\n"); //$NON-NLS-1$
                     }
-                    postModelChanged(delta, false); 
+                    postModelChanged(delta, false);
                 }
             }
         }
 
         /**
          * Helper method to remove breakpoints from a given input.
-         * 
+         *
          * @param breakpoints the breakpoints
          */
         void breakpointsRemoved(IBreakpoint[] breakpoints) {
@@ -533,19 +533,19 @@
                 for (int i = 0; i < breakpoints.length; ++i) {
                     removed = fContainer.removeBreakpoint(breakpoints[i], delta) || removed;
                 }
-                
+
                 if (removed) {
                     if (DebugUIPlugin.DEBUG_BREAKPOINT_DELTAS) {
                     	DebugUIPlugin.trace("POST BREAKPOINT DELTA (breakpointsRemovedInput)\n"); //$NON-NLS-1$
                     }
-                    postModelChanged(delta, false); 
+                    postModelChanged(delta, false);
                 }
             }
         }
-        
+
         void breakpointsChanged(IBreakpoint[] breakpoints) {
-            
-            
+
+
             IBreakpoint[] filteredBreakpoints = filterBreakpoints(
                 fInput, getSelectionFilter(fInput, getDebugContext()), breakpoints);
 
@@ -564,14 +564,14 @@
                         removed.add(bp);
                     } else if (!oldContainedBp && newContained) {
                         added.add(bp);
-                    }                   
+                    }
                 }
                 if (!added.isEmpty()) {
                     breakpointsAdded(added.toArray(new IBreakpoint[added.size()]));
                 }
                 if (!removed.isEmpty()) {
                     breakpointsRemoved(removed.toArray(new IBreakpoint[removed.size()]));
-                }                       
+                }
                 for (int i = 0; i < filteredBreakpoints.length; ++i)
 				 {
 					appendModelDelta(fContainer, delta, IModelDelta.STATE | IModelDelta.CONTENT, filteredBreakpoints[i]); // content flag triggers detail refresh
@@ -580,15 +580,15 @@
                 if (DebugUIPlugin.DEBUG_BREAKPOINT_DELTAS) {
                     DebugUIPlugin.trace("POST BREAKPOINT DELTA (breakpointsChanged)\n"); //$NON-NLS-1$
                 }
-                postModelChanged(delta, false); 
-            }            
+                postModelChanged(delta, false);
+            }
         }
 
-        
+
         /**
          * Recursive function to build the model delta to install breakpoint
          * model proxies for all breakpoints and breakpoint containers.
-         * 
+         *
          * @param delta Delta node to build on
          * @param container Container element to build delta for.
          */
@@ -606,10 +606,10 @@
             }
         }
 
-        
+
         /**
          * Insert elements from the reference container to an existing container.
-         * 
+         *
          * @param container the existing  container to insert the new elements.
          * @param refContainer the reference container to compare elements that are added.
          * @param containerDelta the delta of the existing container.
@@ -617,10 +617,10 @@
          */
         private IBreakpoint insertAddedElements(BreakpointContainer container, BreakpointContainer refContainer, ModelDelta containerDelta) {
             IBreakpoint newBreakpoint = null;
-            
+
             Object[] children = container.getChildren();
             Object[] refChildren = refContainer.getChildren();
-            
+
 
             for (int i = 0; i < refChildren.length; ++i) {
                 Object element = getElement(children, refChildren[i]);
@@ -637,7 +637,7 @@
 							newBreakpoint = (IBreakpoint) refChildren[i];
 						}
                     }
-                    
+
                 // if a child exist in container, than recursively search into container. And also update the organizer of
                 // of container to the one in the refContainer's child.
                 } else if (element instanceof BreakpointContainer) {
@@ -647,15 +647,15 @@
                     childDelta.setChildCount(((BreakpointContainer) element).getChildren().length);
                 }
             }
-            
+
             return newBreakpoint;
         }
-        
+
 
 
         /**
          * Delete elements from existing container that doesn't exist in the reference container.
-         * 
+         *
          * @param container the existing container to delete the removed elements.
          * @param refContainer the reference container to compare elements that are removed.
          * @param containerDelta the delta of the existing container.
@@ -663,11 +663,11 @@
         private void deleteRemovedElements(BreakpointContainer container, BreakpointContainer refContainer, ModelDelta containerDelta) {
             Object[] children = container.getChildren();
             Object[] refChildren = refContainer.getChildren();
-            
+
             // if a child of container doesn't exist in refContainer, than remove it from container
             for (int i = 0; i < children.length; ++i) {
                 Object element = getElement(refChildren, children[i]);
-                
+
                 if (element == null) {
                     if (children[i] instanceof BreakpointContainer) {
                         BreakpointContainer.removeAll((BreakpointContainer) children[i], containerDelta);
@@ -676,12 +676,12 @@
                     }
                 } else if (element instanceof BreakpointContainer){
 
-                    ModelDelta childDelta = containerDelta.addNode(children[i], IModelDelta.STATE);                     
+                    ModelDelta childDelta = containerDelta.addNode(children[i], IModelDelta.STATE);
                     deleteRemovedElements((BreakpointContainer) children[i], (BreakpointContainer) element, childDelta);
                 }
             }
         }
-        
+
 		private void deleteAllElements(BreakpointContainer container, ModelDelta containerDelta) {
 			Object[] children = container.getChildren();
 			// Object[] refChildren = refContainer.getChildren();
@@ -699,7 +699,7 @@
 
         /**
          * Get the element that is in the collection.
-         * 
+         *
          * @param collection the collection of elements.
          * @param element the element to search.
          * @return if element exist in collection, than it is returned, otherwise <code>null</code> is returned.
@@ -708,7 +708,7 @@
          */
         private Object getElement(Object[] collection, Object element) {
             for (int i = 0; i < collection.length; ++i) {
-				if (collection[i] instanceof BreakpointContainer && element instanceof BreakpointContainer) {               
+				if (collection[i] instanceof BreakpointContainer && element instanceof BreakpointContainer) {
                     if (collection[i].equals(element)) {
 						return collection[i];
 					}
@@ -720,53 +720,53 @@
 			}
             return null;
         }
-        
+
         /**
          * Create a root container.
-         * 
+         *
          * @param rootDelta the root delta.
          * @param input the view input.
          * @param organizers the breakpoint organizers.
-         * @param breakpoints the breakpoints to add to the container 
+         * @param breakpoints the breakpoints to add to the container
          * @return the new root container
          */
         private BreakpointContainer createRootContainer(
-            ModelDelta rootDelta, DefaultBreakpointsViewInput input, 
-            IBreakpointOrganizer[] organizers, IBreakpoint[] breakpoints) 
+            ModelDelta rootDelta, DefaultBreakpointsViewInput input,
+            IBreakpointOrganizer[] organizers, IBreakpoint[] breakpoints)
         {
-            
+
             BreakpointContainer container = new BreakpointContainer(organizers, fComparator);
             container.initDefaultContainers(rootDelta);
-            
+
             for (int i = 0; i < breakpoints.length; ++i) {
-                container.addBreakpoint(breakpoints[i], rootDelta);             
+                container.addBreakpoint(breakpoints[i], rootDelta);
             }
-            
+
             return container;
-        }       
-        
+        }
+
         /**
          * Fire model change event for the input.
-         * 
+         *
          * @param delta the model delta.
          * @param select if the viewer selection should change
          */
         synchronized private void postModelChanged(final IModelDelta delta, boolean select) {
             for (int i = 0; fProxies != null && i < fProxies.size(); i++) {
                 fProxies.get(i).postModelChanged(delta, select);
-            }       
+            }
         }
 
 
     }
-    
+
 	private class InputDataMap<K, V> extends LinkedHashMap<K, V> {
         private static final long serialVersionUID = 1L;
 
         public InputDataMap() {
             super(1, (float)0.75, true);
         }
-        
+
         @Override
 		protected boolean removeEldestEntry(java.util.Map.Entry<K, V> arg0) {
             InputData data = (InputData)arg0.getValue();
@@ -777,48 +777,48 @@
             return false;
         }
     }
-    
+
     /**
      * Scheduling rule to make sure that breakpoint manager listener updates
      * are process serially.
      */
     private ISchedulingRule fBreakpointsListenerSchedulingRule = new ISchedulingRule() {
-        
+
         @Override
 		public boolean isConflicting(ISchedulingRule rule) {
             return rule == this;
         }
-        
+
         @Override
 		public boolean contains(ISchedulingRule rule) {
             return rule == this;
         }
     };
-    
+
     /**
      * A map of input to info data cache
      */
 	final private Map<DefaultBreakpointsViewInput, InputData> fInputToData = Collections.synchronizedMap(new InputDataMap<DefaultBreakpointsViewInput, InputData>());
-    
+
     /**
      * Flag indicating whether the content provider is currently a breakpoints listener.
      */
     private boolean fIsBreakpointListener = false;
-    
+
     /**
      * The breakpoint manager.
      */
     final private IBreakpointManager fBpManager = DebugPlugin.getDefault().getBreakpointManager();
-    
+
     /**
      * Sub-classes may override this method to filter the breakpoints.
-     * 
+     *
      * @param input the breakpoint manager input.
-     * @param selectionFilter the selection to use as filter 
+     * @param selectionFilter the selection to use as filter
      * @param breakpoints the list of breakpoint to filter.
      * @return the filtered list of breakpoint based on the input.
      */
-    protected IBreakpoint[] filterBreakpoints(DefaultBreakpointsViewInput input, IStructuredSelection selectionFilter, IBreakpoint[] breakpoints) {      
+    protected IBreakpoint[] filterBreakpoints(DefaultBreakpointsViewInput input, IStructuredSelection selectionFilter, IBreakpoint[] breakpoints) {
         if (selectionFilter != null && !selectionFilter.isEmpty()) {
 			List<IDebugTarget> targets = getDebugTargets(selectionFilter);
 			ArrayList<IBreakpoint> retVal = new ArrayList<IBreakpoint>();
@@ -834,10 +834,10 @@
             return breakpoints;
         }
     }
-    
+
     /**
      * Sub-classes may override this to determine whether the breakpoint is supported by the selection.
-     * 
+     *
      * @param ss the selection of the debug elements.
      * @param breakpoint the breakpoint.
      * @return true if supported.
@@ -845,10 +845,10 @@
     protected boolean supportsBreakpoint(IStructuredSelection ss, IBreakpoint breakpoint) {
         return supportsBreakpoint(getDebugTargets(ss), breakpoint);
     }
-    
+
     /**
      * Returns true if the breakpoint contains in one of the targets.
-     * 
+     *
      * @param targets a list of <code>IDebugTarget</code> objects.
      * @param breakpoint the breakpoint.
      * @return true if breakpoint contains in the list of targets.
@@ -861,10 +861,10 @@
         }
         return exist;
     }
-    
+
     /**
      * Returns the list of IDebugTarget for the selection.
-     * 
+     *
      * @param ss the selection.
      * @return list of IDebugTarget object.
      */
@@ -901,21 +901,21 @@
     }
 
     /**
-     * Maximum number of breakpoint manager input objects that this provider 
-     * will cache data for.  This method is called once upon class creation 
+     * Maximum number of breakpoint manager input objects that this provider
+     * will cache data for.  This method is called once upon class creation
      * when setting up the data cache.  Sub-classes may override to provide
      * a custom setting.
-     * 
+     *
      * @return Maximum data cache size
      */
     protected int getMaxInputsCache() {
         return 2;
     }
-    
+
     /**
      * Handles the event when a presentation context is disposed.
      * Sub-classes may override to perform additional cleanup.
-     * 
+     *
      * @param context Presentation context that was disposed.
      */
     protected void contextDisposed(IPresentationContext context) {
@@ -936,10 +936,10 @@
             removed.get(i).dispose();
         }
     }
-    
+
     /**
      * Register the breakpoint manager input with this content provider.
-     * 
+     *
      * @param input the breakpoint manager input to register.
      * @param proxy the model proxy of the input.
      */
@@ -955,10 +955,10 @@
             inputData.proxyInstalled(proxy);
         }
     }
-    
+
     /**
      * Unregister the breakpoint manager input with this content provider.
-     * 
+     *
      * @param input the breakpoint manager input to unregister.
      * @param proxy the manager proxy
      */
@@ -966,7 +966,7 @@
         InputData inputData = fInputToData.get(input);
         if (inputData != null) {
             inputData.proxyDisposed(proxy);
-            
+
             if (fInputToData.isEmpty()) {
                 synchronized(this) {
                     if (fIsBreakpointListener) {
@@ -976,16 +976,16 @@
                 }
             }
         }
-    }   
-    
+    }
+
     private InputData getInputData(DefaultBreakpointsViewInput input) {
         if (Boolean.TRUE.equals(input.getContext().getProperty(IPresentationContext.PROPERTY_DISPOSED)) ) {
             return null;
         }
-        
+
         InputData data = null;
         synchronized (fInputToData) {
-            data = fInputToData.get(input); 
+            data = fInputToData.get(input);
             if (data == null) {
                 data = new InputData(input);
                 fInputToData.put(input, data);
@@ -993,10 +993,10 @@
         }
         return data;
     }
-    
+
     /**
      * Returns the selection filter for the input.
-     * 
+     *
      * @param input the selection.
      * @param debugContext the current context
      * @return the filtered selection or <code>null</code>
@@ -1010,7 +1010,7 @@
         }
         return null;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#supportsContextId(java.lang.String)
      */
@@ -1018,7 +1018,7 @@
 	protected boolean supportsContextId(String id) {
         return id.equals(IDebugUIConstants.ID_BREAKPOINT_VIEW);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#getChildCount(java.lang.Object, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate)
      */
@@ -1031,9 +1031,9 @@
             if (inputData != null) {
                 return inputData.fContainer.getChildren().length;
             }
-        }       
-        return 0;       
-    }   
+        }
+        return 0;
+    }
 
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#getChildren(java.lang.Object, int, int, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate)
@@ -1048,10 +1048,10 @@
                 Object[] children =  inputData.fContainer.getChildren();
                 return getElements(children, index, length);
             }
-        }       
-                
+        }
+
         return EMPTY;
-    }   
+    }
 
     /*
      * (non-Javadoc)
@@ -1064,7 +1064,7 @@
                 setSystem(true);
                 setRule(fBreakpointsListenerSchedulingRule);
             }
-            
+
             @Override
 			protected IStatus run(IProgressMonitor monitor) {
                 InputData[] datas = fInputToData.values().toArray(new InputData[0]);
@@ -1073,9 +1073,9 @@
                 }
                 return Status.OK_STATUS;
             }
-        }.schedule();               
+        }.schedule();
     }
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsRemoved(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.resources.IMarkerDelta[])
@@ -1087,18 +1087,18 @@
                 setSystem(true);
                 setRule(fBreakpointsListenerSchedulingRule);
             }
-            
+
             @Override
 			protected IStatus run(IProgressMonitor monitor) {
                 InputData[] datas = fInputToData.values().toArray(new InputData[0]);
                 for (int i = 0; i < datas.length; i++) {
                     datas[i].breakpointsRemoved(breakpoints);
-                }               
+                }
                 return Status.OK_STATUS;
             }
         }.schedule();
     }
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsChanged(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.resources.IMarkerDelta[])
@@ -1110,20 +1110,20 @@
                 setSystem(true);
                 setRule(fBreakpointsListenerSchedulingRule);
             }
-            
+
             @Override
 			protected IStatus run(IProgressMonitor monitor) {
                 InputData[] datas = fInputToData.values().toArray(new InputData[0]);
                 for (int i = 0; i < datas.length; i++) {
                     datas[i].breakpointsChanged(breakpoints);
-                }               
+                }
                 return Status.OK_STATUS;
             }
         }.schedule();
-    }   
+    }
     /**
      * Appends the model delta flags to child containers that contains the breakpoint.
-     * 
+     *
      * @param parent the parent container.
      * @param parentDelta the parent model delta.
      * @param flags the model delta flags.
@@ -1131,22 +1131,22 @@
      */
     private void appendModelDelta(BreakpointContainer parent, ModelDelta parentDelta, int flags, IBreakpoint breakpoint) {
         BreakpointContainer[] containers = parent.getContainers();
-        
+
         if (parent.contains(breakpoint)) {
             if ((containers.length != 0)) {
                 for (int i = 0; i < containers.length; ++i) {
                     ModelDelta nodeDelta = parentDelta.addNode(containers[i], IModelDelta.STATE);
                     appendModelDelta(containers[i], nodeDelta, flags, breakpoint);
-                }           
+                }
             } else {
                 parentDelta.addNode(breakpoint, flags);
             }
-        }           
+        }
     }
-    
+
     /**
      * Appends the model delta to the first found element in the model delta tree.
-     * 
+     *
      * @param parentDelta the parent delta
      * @param element the element to search
      * @param flags the delta flags
@@ -1156,14 +1156,14 @@
             ((ModelDelta) parentDelta).setFlags(parentDelta.getFlags() | flags);
             return;
         }
-        
+
         IModelDelta[] childDeltas = parentDelta.getChildDeltas();
         for (int i = 0; i < childDeltas.length; ++i) {
             if (element.equals(childDeltas[i].getElement())) {
                 ((ModelDelta) childDeltas[i]).setFlags(childDeltas[i].getFlags() | flags);
                 return;
             }
-            
+
             appendModelDeltaToElement(childDeltas[i], element, flags);
         }
     }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerInputMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerInputMementoProvider.java
index ad707d6..1edef9a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerInputMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointManagerInputMementoProvider.java
@@ -16,7 +16,7 @@
 

 /**

  * Breakpoint manager input memento provider.

- * 

+ *

  * @since 3.6

  */

 public class BreakpointManagerInputMementoProvider extends DebugElementMementoProvider {

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointMementoProvider.java
index 1b40c72..1a2f160 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/BreakpointMementoProvider.java
@@ -20,7 +20,7 @@
 

 /**

  * Memento provider for breakpoints

- * 

+ *

  * @since 3.6

  */

 public class BreakpointMementoProvider extends ElementMementoProvider {

@@ -29,14 +29,14 @@
 	 * Marker ID. Stored as string in order to support the full range of the long type.

 	 */

 	private static final String MARKER_ID = "MARKER_ID"; 	//$NON-NLS-1$

-	

+

 	/**

 	 * Full path from the workspace to the resource referred to by the breakpoint marker.

-	 * 

-	 * Stored as String. 

+	 *

+	 * Stored as String.

 	 */

-	private static final String RESOURCE_PATH = "RESOURCE_PATH"; 	//$NON-NLS-1$	

-	

+	private static final String RESOURCE_PATH = "RESOURCE_PATH"; 	//$NON-NLS-1$

+

 	/* (non-Javadoc)

 	 * @see org.eclipse.debug.internal.ui.model.elements.DebugElementMementoProvider#supportsContextId(java.lang.String)

 	 */

@@ -50,7 +50,7 @@
 	@Override

 	protected boolean encodeElement(Object element, IMemento memento, IPresentationContext context) throws CoreException {

 		if (element instanceof IBreakpoint) {

-			

+

 			IMarker marker = ((IBreakpoint)element).getMarker();

 			if (marker != null) {

 

@@ -73,15 +73,15 @@
 	@Override

 	protected boolean isEqual(Object element, IMemento memento, IPresentationContext context) throws CoreException {

 		if (element instanceof IBreakpoint) {

-			IBreakpoint breakpoint =(IBreakpoint)element; 

+			IBreakpoint breakpoint =(IBreakpoint)element;

 			IMarker marker = breakpoint.getMarker();

-			

+

 			long markerId = marker.getId();

 			String mementoMarkerId = memento.getString(MARKER_ID);

 			if (!Long.toString(markerId).equals(mementoMarkerId)) {

 				return false;

 			}

-			

+

 			IPath fullPath = marker.getResource().getFullPath();

 			String path = fullPath.toString();

 			String mementoPath = memento.getString(RESOURCE_PATH);

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementLabelProvider.java
index a34f815..495d18b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementLabelProvider.java
@@ -54,7 +54,7 @@
 		if (presentationContext instanceof DebugModelPresentationContext) {
 			DebugModelPresentationContext debugContext = (DebugModelPresentationContext) presentationContext;
 			return DebugElementHelper.getFont(element, debugContext.getModelPresentation());
-			
+
 		}
 		return DebugElementHelper.getFont(element);
 	}
@@ -64,7 +64,7 @@
 		Object element = elementPath.getLastSegment();
 		if (presentationContext instanceof DebugModelPresentationContext) {
 			DebugModelPresentationContext debugContext = (DebugModelPresentationContext) presentationContext;
-			return DebugElementHelper.getForeground(element, debugContext.getModelPresentation());	
+			return DebugElementHelper.getForeground(element, debugContext.getModelPresentation());
 		}
 		return DebugElementHelper.getForeground(element);
 	}
@@ -74,17 +74,17 @@
 		Object element = elementPath.getLastSegment();
 		if (presentationContext instanceof DebugModelPresentationContext) {
 			DebugModelPresentationContext debugContext = (DebugModelPresentationContext) presentationContext;
-			return DebugElementHelper.getImageDescriptor(element, debugContext.getModelPresentation());	
+			return DebugElementHelper.getImageDescriptor(element, debugContext.getModelPresentation());
 		}
 		return DebugElementHelper.getImageDescriptor(element);
 	}
-	
+
 	/**
 	 * Returns the model presentation for the specified model, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param context presentation context
 	 * @param modelId debug model identifier
-	 * @return debug model presentation or <code>null</code> 
+	 * @return debug model presentation or <code>null</code>
 	 */
 	protected IDebugModelPresentation getModelPresentation(IPresentationContext context, String modelId) {
 		if (context instanceof DebugModelPresentationContext) {
@@ -96,7 +96,7 @@
 		}
 		return null;
 	}
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#requiresUIJob(org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate[])
      */
@@ -119,6 +119,6 @@
 			}
     	}
 		return false;
-    }	
+    }
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementMementoProvider.java
index 5f2529c..ad80257 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugElementMementoProvider.java
@@ -16,11 +16,11 @@
 
 /**
  * Abstract memento provider debug elements.
- * 
+ *
  * @since 3.4
  */
 public abstract class DebugElementMementoProvider extends ElementMementoProvider {
-	
+
 	protected static final String ELEMENT_NAME = "ELEMENT_NAME"; //$NON-NLS-1$
 
 	@Override
@@ -47,28 +47,28 @@
 
     /**
      * Returns whether this adapter supports the given context.
-     * 
+     *
      * @param context
      * @return whether this adapter supports the given context
      */
     protected boolean supportsContext(IPresentationContext context) {
 		return supportsContextId(context.getId());
     }
-    
+
     /**
      * Returns whether this adapter provides content in the specified context id.
-     * 
+     *
      * @param id part id
      * @return whether this adapter provides content in the specified context id
      */
     protected boolean supportsContextId(String id) {
     	return true;
     }
-    
+
     /**
      * Returns the name of the given element to use in a memento in the given context,
      * or <code>null</code> if unsupported.
-     * 
+     *
      * @param element model element
      * @param context presentation context
      * @return element name or <code>null</code> if none
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugTargetContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugTargetContentProvider.java
index 9ba0d1c..14a8e1c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugTargetContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/DebugTargetContentProvider.java
@@ -72,8 +72,8 @@
 
 	/**
 	 * Returns all children of the given parent object.
-	 * 
-	 * @param parent 
+	 *
+	 * @param parent
 	 * @param context
 	 * @param monitor
 	 * @return all children
@@ -95,6 +95,6 @@
         }
         return EMPTY;
 	}
-	
-	
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementContentProvider.java
index 1158887..2ffe8c6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementContentProvider.java
@@ -27,7 +27,7 @@
  * @since 3.3
  */
 public abstract class ElementContentProvider implements IElementContentProvider {
-	
+
 	protected static final Object[] EMPTY = new Object[0];
 
 	/* (non-Javadoc)
@@ -43,7 +43,7 @@
 					if (!update.isCanceled()) {
 						retrieveChildren(update);
 					}
-					update.done();					
+					update.done();
 				}
 				return Status.OK_STATUS;
 			}
@@ -75,10 +75,10 @@
 		job.setRule(getRule(updates));
 		job.schedule();
 	}
-	    
+
     /**
      * Computes the children for the given parent in the specified context.
-     * 
+     *
      * @param update update request
      */
     protected void retrieveChildren(IChildrenUpdate update) {
@@ -99,12 +99,12 @@
 				status = e.getStatus();
 			}
 			update.setStatus(status);
-		}    	
+		}
     }
-    
+
     /**
      * Computes whether the given element is a container.
-     * 
+     *
      * @param parent potential parent
      * @param context presentation context
      * @param monitor result to report to
@@ -126,13 +126,13 @@
 				status = e.getStatus();
 			}
 			update.setStatus(status);
-		}    	
-    }    
-        
+		}
+    }
+
     /**
      * Returns the children for the given parent at the specified index in the specified context
      * or <code>null</code> if none.
-     * 
+     *
      * @param parent element to retrieve children for
      * @param index child index
      * @param length number of children to retrieve
@@ -141,41 +141,41 @@
      * @throws CoreException if an exception occurs retrieving child
      */
     protected abstract Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException;
-    
+
     /**
      * Returns the number of children for the given element.
-     * 
+     *
      * @param elementPath element that may have children
      * @param context context element will be presented in
      * @return number of children
      * @throws CoreException if an exception occurs determining child count
      */
-    protected abstract int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException;    
+    protected abstract int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException;
 
     /**
      * Returns whether this adapter supports the given context.
-     * 
+     *
      * @param context
      * @return whether this adapter supports the given context
      */
     protected boolean supportsContext(IPresentationContext context) {
 		return supportsContextId(context.getId());
     }
-    
+
     /**
      * Returns whether this adapter provides content in the specified context id.
-     * 
+     *
      * @param id part id
      * @return whether this adapter provides content in the specified context id
      */
-    protected abstract boolean supportsContextId(String id);	
+    protected abstract boolean supportsContextId(String id);
 
     /**
-     * Returns the range of elements from <code>index</code> to <code>index + length</code> 
+     * Returns the range of elements from <code>index</code> to <code>index + length</code>
      * or <code>null</code> if the index and range is outside the bounds of the original element array.
-     * 
+     *
      * @param elements the original element array
-     * @param index the initial index to start copying from 
+     * @param index the initial index to start copying from
      * @param length the number of elements we want to copy into the returned array
      * @return element or <code>null</code>
      */
@@ -205,19 +205,19 @@
 					if (!update.isCanceled()) {
 						updateHasChildren(update);
 					}
-					update.done();					
+					update.done();
 				}
 				return Status.OK_STATUS;
 			}
 		};
 		job.setSystem(true);
 		job.setRule(getRule(updates));
-		job.schedule();	
+		job.schedule();
 	}
 
 	/**
 	 * Updates whether the given elements have children.
-	 * 
+	 *
 	 * @param update specifies element and progress monitor
 	 */
 	protected void updateHasChildren(IHasChildrenUpdate update) {
@@ -237,14 +237,14 @@
 				status = e.getStatus();
 			}
 			update.setStatus(status);
-		}    	
-		
+		}
+
 	}
 
 	/**
 	 * Returns whether the given element has children in the specified context.
 	 * Subclasses can override to be more efficient.
-	 * 
+	 *
 	 * @param element
 	 * @param context
 	 * @param monitor
@@ -253,38 +253,38 @@
 	protected boolean hasChildren(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return getChildCount(element, context, monitor) > 0;
 	}
-	
+
 	/**
 	 * Returns a scheduling rule to use when performing the given updates or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param updates
 	 * @return scheduling rule or <code>null</code> if none
 	 */
 	protected ISchedulingRule getRule(IChildrenCountUpdate[] updates) {
 		return null;
 	}
-	
+
 	/**
 	 * Returns a scheduling rule to use when performing the given updates or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param updates
 	 * @return scheduling rule or <code>null</code> if none
 	 */
 	protected ISchedulingRule getRule(IChildrenUpdate[] updates) {
 		return null;
-	}	
-	
+	}
+
 	/**
 	 * Returns a scheduling rule to use when performing the given updates or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param updates
 	 * @return scheduling rule or <code>null</code> if none
 	 */
 	protected ISchedulingRule getRule(IHasChildrenUpdate[] updates) {
 		return null;
-	}	
-    
+	}
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java
index 93e62b8..938267d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementLabelProvider.java
@@ -32,40 +32,40 @@
 
 /**
  * Implementation of a context sensitive label provider, which provides
- * base functionality for subclasses such as label jobs and a basic label updater. 
- * 
+ * base functionality for subclasses such as label jobs and a basic label updater.
+ *
  * @since 3.3.0.qualifier
  */
 public abstract class ElementLabelProvider implements IElementLabelProvider {
 
 	private Job fLabelJob = null;
-	
+
 	/**
 	 * Describes a label job
 	 */
 	interface ILabelJob {
 		/**
 		 * Returns whether the updates were queued.
-		 * 
+		 *
 		 * @param updates updates
 		 * @return whether the updates were queued
 		 */
 		public boolean queue(ILabelUpdate[] updates);
 	}
-	
+
 	/**
 	 * A <code>Job</code> to update labels. This <code>Job</code> can run
 	 * in a non-UI thread.
 	 */
 	class LabelJob extends Job implements ILabelJob {
-		
+
 		private LabelUpdater fUpdater = new LabelUpdater();
 
 		public LabelJob() {
 			super("Label Job"); //$NON-NLS-1$
 			setSystem(true);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
 		 */
@@ -90,22 +90,22 @@
 		public boolean shouldRun() {
 			return fUpdater.shouldRun();
 		}
-		
+
 	}
-	
+
 	/**
 	 * A <code>Job</code> to update labels. This <code>Job</code> runs
 	 * only in the UI thread.
 	 */
 	class UILabelJob extends UIJob implements ILabelJob {
-		
+
 		private LabelUpdater fUpdater = new LabelUpdater();
 
 		public UILabelJob() {
 			super("Label Job"); //$NON-NLS-1$
 			setSystem(true);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
 		 */
@@ -114,7 +114,7 @@
 			fUpdater.run();
 			return Status.OK_STATUS;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider.ILabelJob#queue(org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate)
 		 */
@@ -122,16 +122,16 @@
 		public boolean queue(ILabelUpdate[] updates) {
 			return fUpdater.queue(updates);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
 		 */
 		@Override
 		public boolean shouldRun() {
 			return fUpdater.shouldRun();
-		}		
+		}
 	}
-	
+
 	/**
 	 * Queue of label updates
 	 */
@@ -175,9 +175,9 @@
 				update = getNextUpdate();
 			}
 		}
-		
+
 		/**
-		 * Returns the next update to process, if there is one in the 
+		 * Returns the next update to process, if there is one in the
 		 * queue. If there are no queued items <code>null</code> is returned
 		 * @return the next queued item or <code>null</code> if the queue is empty.
 		 */
@@ -191,15 +191,15 @@
 			}
 			return fQueue.removeFirst();
 		}
-		
+
 		public boolean shouldRun() {
 			return fQueue != null;
 		}
 	}
-	
+
 	/**
 	 * Retrieves label attributes for the specified update.
-	 * 
+	 *
 	 * @param update
 	 */
 	protected void retrieveLabel(ILabelUpdate update) throws CoreException {
@@ -220,8 +220,8 @@
 			update.setBackground(getBackground(elementPath, presentationContext, columnId), i);
 			update.setForeground(getForeground(elementPath, presentationContext, columnId), i);
 			update.setFontData(getFontData(elementPath, presentationContext, columnId), i);
-			if (update instanceof ICheckUpdate && 
-			    Boolean.TRUE.equals(presentationContext.getProperty(ICheckUpdate.PROP_CHECK))) 
+			if (update instanceof ICheckUpdate &&
+			    Boolean.TRUE.equals(presentationContext.getProperty(ICheckUpdate.PROP_CHECK)))
 			{
 				((ICheckUpdate) update).setChecked(
 				    getChecked(elementPath, presentationContext), getGrayed(elementPath, presentationContext));
@@ -235,7 +235,7 @@
 	 * @param presentationContext
 	 * @param columnId
 	 * @return font information or <code>null</code>
-	 * @throws CoreException 
+	 * @throws CoreException
 	 */
 	protected FontData getFontData(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException {
 		return null;
@@ -247,7 +247,7 @@
 	 * @param presentationContext
 	 * @param columnId
 	 * @return color or <code>null</code>
-	 * @throws CoreException 
+	 * @throws CoreException
 	 */
 	protected RGB getForeground(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException {
 		return null;
@@ -259,7 +259,7 @@
 	 * @param presentationContext
 	 * @param columnId
 	 * @return color or <code>null</code>
-	 * @throws CoreException 
+	 * @throws CoreException
 	 */
 	protected RGB getBackground(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException {
 		return null;
@@ -271,12 +271,12 @@
 	 * @param presentationContext
 	 * @param columnId
 	 * @return image descriptor or <code>null</code>
-	 * @throws CoreException 
+	 * @throws CoreException
 	 */
 	protected ImageDescriptor getImageDescriptor(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException {
 		return null;
 	}
-	
+
 	/**
 	 * Returns the <code>ImageDescriptor</code> for the path in the given column with the current presentation
 	 * @param elementPath
@@ -285,7 +285,7 @@
 	 * @param columnIndex
 	 * @return image descriptor or <code>null</code>
 	 * @throws CoreException
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	protected ImageDescriptor getImageDescriptor(TreePath elementPath, IPresentationContext presentationContext, String columnId, int columnIndex) throws CoreException {
@@ -299,7 +299,7 @@
 	 * @param columnId
 	 * @return label
 	 */
-	protected abstract String getLabel(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException;	
+	protected abstract String getLabel(TreePath elementPath, IPresentationContext presentationContext, String columnId) throws CoreException;
 
 	/**
 	 * Returns the label for the path in the given column with the current presentation.
@@ -308,43 +308,43 @@
 	 * @param columnId
 	 * @param columnIndex
 	 * @return label
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	protected String getLabel(TreePath elementPath, IPresentationContext presentationContext, String columnId, int columnIndex) throws CoreException {
 		return getLabel(elementPath, presentationContext, columnId);
 	}
-	
+
 	/**
 	 * Returns the checked state for the given path.
-	 * 
+	 *
      * @param path Path of the element to retrieve the grayed state for.
-     * @param presentationContext Presentation context where the element is 
+     * @param presentationContext Presentation context where the element is
      * displayed.
      * @return <code>true<code> if the element check box should be checked
-     * @throws CoreException 
-	 * 
+     * @throws CoreException
+	 *
 	 * @since 3.6
 	 */
 	protected boolean getChecked(TreePath path, IPresentationContext presentationContext) throws CoreException {
 		return false;
 	}
-	
+
 	/**
 	 * Returns the grayed state for the given path.
-	 * 
+	 *
 	 * @param path Path of the element to retrieve the grayed state for.
-     * @param presentationContext Presentation context where the element is 
+     * @param presentationContext Presentation context where the element is
      * displayed.
 	 * @return <code>true<code> if the element check box should be grayed
-	 * @throws CoreException 
-     * 
+	 * @throws CoreException
+     *
      * @since 3.6
 	 */
 	protected boolean getGrayed(TreePath path, IPresentationContext presentationContext) throws CoreException {
 		return false;
 	}
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider#update(org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate[])
      */
@@ -360,7 +360,7 @@
 		// TODO: rule
 		fLabelJob.schedule();
 	}
-    
+
     /**
      * Returns a new <code>Job</code> to update the specified labels. This method
      * is used to determine if a UI job is needed or not, in the event the request for an update
@@ -375,8 +375,8 @@
 			return new LabelJob();
 		}
     }
-    
-    /** 
+
+    /**
      * Returns whether a UI job should be used for updates versus a non-UI job.
      * @param updates
      * @return true if the array of updates requires a UI job to update the labels, false otherwise
@@ -384,16 +384,16 @@
     protected boolean requiresUIJob(ILabelUpdate[] updates) {
     	return false;
     }
-    
+
     /**
      * Returns the scheduling rule for the given update or <code>null</code>
      * it none.
-     * 
+     *
      * @param update label update
      * @return associated scheduling rule, or <code>null</code>
      */
     protected ISchedulingRule getRule(ILabelUpdate update) {
     	return null;
     }
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementMementoProvider.java
index 5923844..0cfeb18 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ElementMementoProvider.java
@@ -54,7 +54,7 @@
 
 	/**
 	 * Returns whether the memento represents the given element.
-	 * 
+	 *
 	 * @param element the element to compare to the memento
 	 * @param memento memento
 	 * @param context the context the compare is in
@@ -88,13 +88,13 @@
 		// TODO: rule
 		job.schedule();
 	}
-	
+
 	/**
 	 * Encodes the specified element into the given memento.
 	 * Returns whether the element could be encoded
-	 * 
+	 *
 	 * @param element the element to encode
-	 * @param memento the memento to write to 
+	 * @param memento the memento to write to
 	 * @param context presentation context
 	 * @return false if cancelled/not supported
 	 * @throws CoreException
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
index 6b57302..946ce92 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionContentProvider.java
@@ -44,7 +44,7 @@
 
     /**
      * @since 3.6
-     * Element object used to wrap the expression error message.  It displays 
+     * Element object used to wrap the expression error message.  It displays
      * the error message only in the first column if columns are visible.
      */
     private static class ErrorMessageElement implements IElementLabelProvider {
@@ -52,9 +52,9 @@
         public ErrorMessageElement(String message) {
             fMessage = message;
         }
-        
+
         private final String fMessage;
-        
+
         @Override
 		public void update(ILabelUpdate[] updates) {
             for (int i = 0; i < updates.length; i++) {
@@ -70,7 +70,7 @@
                         }
                     }
                 }
-                    
+
                 updates[i].done();
             }
         }
@@ -78,11 +78,11 @@
         private void updateLabel(ILabelUpdate update, int columnIndex) {
             update.setLabel(fMessage, columnIndex);
             FontData fontData = JFaceResources.getFontDescriptor(IDebugUIConstants.PREF_VARIABLE_TEXT_FONT).getFontData()[0];
-            fontData.setStyle(SWT.ITALIC);                
-            
+            fontData.setStyle(SWT.ITALIC);
+
         }
     }
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#update(org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate[])
 	 */
@@ -92,7 +92,7 @@
 		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<IElementContentProvider, List<IViewerUpdate>>();
 		List<IViewerUpdate> notDelegated = new ArrayList<IViewerUpdate>();
 		findDelegates(delegateMap, notDelegated, updates);
-		
+
 		// Batch the updates and send them to the delegates
 		for (IElementContentProvider delegate : delegateMap.keySet()) {
 			List<IViewerUpdate> updateList = delegateMap.get(delegate);
@@ -102,7 +102,7 @@
 			super.update(notDelegated.toArray(new IChildrenCountUpdate[notDelegated.size()]));
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#update(org.eclipse.debug.internal.ui.viewers.model.provisional.IHasChildrenUpdate[])
 	 */
@@ -112,7 +112,7 @@
 		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<IElementContentProvider, List<IViewerUpdate>>();
 		List<IViewerUpdate> notDelegated = new ArrayList<IViewerUpdate>();
 		findDelegates(delegateMap, notDelegated, updates);
-		
+
 		// Batch the updates and send them to the delegates
 		for (IElementContentProvider delegate : delegateMap.keySet()) {
 			List<IViewerUpdate> updateList = delegateMap.get(delegate);
@@ -132,7 +132,7 @@
 		Map<IElementContentProvider, List<IViewerUpdate>> delegateMap = new HashMap<IElementContentProvider, List<IViewerUpdate>>();
 		List<IViewerUpdate> notDelegated = new ArrayList<IViewerUpdate>();
 		findDelegates(delegateMap, notDelegated, updates);
-		
+
 		// Batch the updates and send them to the delegates
 		for (IElementContentProvider delegate : delegateMap.keySet()) {
 			List<IViewerUpdate> updateList = delegateMap.get(delegate);
@@ -142,12 +142,12 @@
 			super.update(notDelegated.toArray(new IChildrenUpdate[notDelegated.size()]));
 		}
 	}
-	
+
 	/**
 	 * Finds all possibly delegate content providers for the given set of updates.  Found delegates are added
 	 * to the given map as the key while the list of updates to be sent to that delegate are set as the value.
 	 * Any updates that are not to be delegated are put in the notDelegated list.
-	 * 
+	 *
 	 * @param delegateMap map to add delegates to
 	 * @param notDelegated list of updates that should not be delegated
 	 * @param updates array of updates that can be handled by delegates
@@ -193,9 +193,9 @@
                 return getValueChildren(expression, value, context);
             }
         }
-        return EMPTY;	
+        return EMPTY;
 	}
-	
+
 	@Override
 	protected boolean hasChildren(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		if (element instanceof IErrorReportingExpression) {
@@ -212,5 +212,5 @@
 			return value.hasVariables();
 		}
 		return false;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionLabelProvider.java
index 4ee6816..2bfe0eb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionLabelProvider.java
@@ -41,31 +41,31 @@
                     return new RGB(255, 0, 0);
                 }
             }
-        }		
+        }
 		return super.getForeground(elementPath, presentationContext, columnId);
 	}
-	
+
    @Override
 protected String getLabel(TreePath elementPath, IPresentationContext context, String columnId) throws CoreException {
        if (columnId == null) {
            return super.getLabel(elementPath, context, columnId);
        } else {
            IExpression expression = (IExpression) elementPath.getLastSegment();
-           IValue value = expression.getValue();     
+           IValue value = expression.getValue();
            return getColumnText(expression, value, context, columnId);
        }
     }
-    
+
     /**
      * Returns text for a specific columns for the expression/value.
-     * 
+     *
      * @param expression expression to retrieve text for
      * @param value the value associated with the variable
      * @param context presentation context specifying how to display the text
      * @param columnId the column to get the text for
      * @return the label text
      * @throws CoreException Error while retrieving data from model.
-     * 
+     *
      * @since 3.6
      */
     private String getColumnText(IExpression expression, IValue value, IPresentationContext context, String columnId) throws CoreException {
@@ -74,18 +74,18 @@
         } else if (IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE.equals(columnId)) {
             return getExpressionValueText(expression, value, context);
         } else if (IDebugUIConstants.COLUMN_ID_VARIABLE_TYPE.equals(columnId) ||
-        		IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE_TYPE.equals(columnId)) 
+        		IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE_TYPE.equals(columnId))
         {
             if (value != null) {
                 return getValueTypeName(null, value, context);
             }
-        }   
+        }
         return null;
     }
-    
+
     /**
      * Returns the expression's text to show in the view's name column.
-     * 
+     *
      * @param expression expression to retrieve text for
      * @param context presentation context specifying how to display the text
      * @return Returns the expression's text to show in the view's name column.
@@ -96,12 +96,12 @@
         if (expression instanceof IWatchExpression) {
             return getWatchExpressionName((IWatchExpression) expression, context);
         }
-        return expression.getExpressionText();            
+        return expression.getExpressionText();
     }
-    
+
     /**
      * Returns the watch expression's text to show in the view's name column.
-     * 
+     *
      * @param expression the expression
      * @param context associated presentation context
      * @return Returns the watch expression's text to show in the view's name column.
@@ -109,7 +109,7 @@
      */
     private String getWatchExpressionName(IWatchExpression expression, IPresentationContext context) {
         StringBuffer result= new StringBuffer();
-        
+
         String snippet = expression.getExpressionText().trim();
         StringBuffer snippetBuffer = new StringBuffer();
 		if (snippet.length() > 254) {
@@ -120,24 +120,24 @@
             snippetBuffer.append(snippet);
         }
         snippet = snippetBuffer.toString().replaceAll("[\n\r\t]+", " ");  //$NON-NLS-1$//$NON-NLS-2$
-        
+
         result.append('"');
         result.append(snippet);
         result.append('"');
-        
+
         return result.toString();
     }
 
     /**
-     * Returns the expression's value, or a message to show in the value column, 
+     * Returns the expression's value, or a message to show in the value column,
      * if the value is not available.
-     * 
+     *
      * @param expression expression to retrieve text for
      * @param value the value associated with the variable
      * @param context presentation context specifying how to display the text
-     * @return string representing the expression's value 
+     * @return string representing the expression's value
      * @throws CoreException Error while retrieving data from model.
-     * 
+     *
      * @since 3.6
      */
     protected String getExpressionValueText(IExpression expression, IValue value, IPresentationContext context) throws CoreException {
@@ -146,23 +146,23 @@
             StringBuffer result = new StringBuffer();
 
 			if (watchExpression.isPending() && value == null) {
-                result.append(DebugUIMessages.DefaultLabelProvider_12); 
+                result.append(DebugUIMessages.DefaultLabelProvider_12);
             } else if (watchExpression.hasErrors()) {
-                result.append(DebugUIMessages.DefaultLabelProvider_13); 
+                result.append(DebugUIMessages.DefaultLabelProvider_13);
             } else if (value != null) {
                 result.append( getValueText(null, value, context) );
             }
             if (!watchExpression.isEnabled()) {
-                result.append(DebugUIMessages.DefaultLabelProvider_15); 
+                result.append(DebugUIMessages.DefaultLabelProvider_15);
             }
 
             return result.toString();
         }
-        
+
         if (value != null) {
             return getValueText(null, value, context);
         }
         return null;
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java
index 08ad0d3..666f2c9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerContentProvider.java
@@ -43,13 +43,13 @@
 public class ExpressionManagerContentProvider extends ElementContentProvider {
 
     /**
-     * An element representing the "Add new expression" entry in the 
+     * An element representing the "Add new expression" entry in the
      * expressions view.
-     * 
+     *
      * @since 3.6
      */
     private static class AddNewExpressionElement implements IElementLabelProvider, IElementEditor, ICellModifier {
-        
+
         @Override
 		public void update(ILabelUpdate[] updates) {
             for (int i = 0; i < updates.length; i++) {
@@ -65,58 +65,58 @@
                         }
                     }
                 }
-                    
+
                 updates[i].done();
             }
         }
-        
+
 		@SuppressWarnings("deprecation")
 		private void updateLabel(ILabelUpdate update, int columnIndex) {
             update.setLabel(DebugUIMessages.ExpressionManagerContentProvider_1, columnIndex);
             update.setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_MONITOR_EXPRESSION), columnIndex);
-            
-            // Display the "Add new expression" element in italic to 
+
+            // Display the "Add new expression" element in italic to
             // distinguish it from user elements in view.
             FontData fontData = JFaceResources.getFontDescriptor(IDebugUIConstants.PREF_VARIABLE_TEXT_FONT).getFontData()[0];
-            fontData.setStyle(SWT.ITALIC);            
+            fontData.setStyle(SWT.ITALIC);
             update.setFontData(fontData, columnIndex);
         }
-        
+
         @Override
 		public CellEditor getCellEditor(IPresentationContext context, String columnId, Object element, Composite parent) {
             return new TextCellEditor(parent);
         }
-        
+
         @Override
 		public ICellModifier getCellModifier(IPresentationContext context, Object element) {
             return this;
         }
-        
+
         @Override
 		public boolean canModify(Object element, String property) {
             return (IDebugUIConstants.COLUMN_ID_VARIABLE_NAME.equals(property));
         }
-        
+
         @Override
 		public Object getValue(Object element, String property) {
             return IInternalDebugCoreConstants.EMPTY_STRING;
         }
-        
+
         @Override
 		public void modify(Object element, String property, Object value) {
-            // If an expression is entered, add a new watch expression to the 
-            // manager. 
-            if (value instanceof String && 
-                !IInternalDebugCoreConstants.EMPTY_STRING.equals( ((String)value).trim()) ) 
+            // If an expression is entered, add a new watch expression to the
+            // manager.
+            if (value instanceof String &&
+                !IInternalDebugCoreConstants.EMPTY_STRING.equals( ((String)value).trim()) )
             {
                 String expressionText = DefaultLabelProvider.encodeEsacpedChars((String)value);
-                IWatchExpression newExpression= 
+                IWatchExpression newExpression=
                     DebugPlugin.getDefault().getExpressionManager().newWatchExpression(expressionText);
                 DebugPlugin.getDefault().getExpressionManager().addExpression(newExpression);
                 newExpression.setExpressionContext(getContext());
             }
         }
-        
+
         private IDebugElement getContext() {
             IAdaptable object = DebugUITools.getDebugContext();
             IDebugElement context = null;
@@ -129,7 +129,7 @@
         }
 
     }
-    
+
     private static final AddNewExpressionElement ADD_NEW_EXPRESSION_ELEMENT = new AddNewExpressionElement();
 
 	/* (non-Javadoc)
@@ -138,8 +138,8 @@
 	@Override
 	protected int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 	    // Add the "Add new expression" element only if columns are displayed.
-		return ((IExpressionManager) element).getExpressions().length + 
-		    (context.getColumns() != null ? 1 : 0); 
+		return ((IExpressionManager) element).getExpressions().length +
+		    (context.getColumns() != null ? 1 : 0);
 	}
 
 	/* (non-Javadoc)
@@ -156,9 +156,9 @@
 
 	/**
 	 * Returns a subrange of elements from the given elements array plus the last element.
-	 * 
+	 *
 	 * @see ElementContentProvider#getElements(Object[], int, int)
-	 * 
+	 *
 	 * @since 3.6
 	 */
     private Object[] getElements(Object[] elements, Object lastElement, int index, int length) {
@@ -178,7 +178,7 @@
         return null;
     }
 
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#supportsContextId(java.lang.String)
 	 */
@@ -194,5 +194,5 @@
 	protected boolean hasChildren(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 	    return true;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerMementoProvider.java
index 3130cd8..ff0db45 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionManagerMementoProvider.java
@@ -16,7 +16,7 @@
 
 /**
  * Memento provider for expression manager.
- * 
+ *
  * @since 3.4
  */
 public class ExpressionManagerMementoProvider extends DebugElementMementoProvider {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionMementoProvider.java
index edb1233..03376a9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ExpressionMementoProvider.java
@@ -16,7 +16,7 @@
 
 /**
  * Memento provider for expressions.
- * 
+ *
  * @since 3.4
  */
 public class ExpressionMementoProvider extends DebugElementMementoProvider {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/LaunchContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/LaunchContentProvider.java
index 98caaa2..0c4e57b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/LaunchContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/LaunchContentProvider.java
@@ -50,5 +50,5 @@
 		return ((ILaunch)element).hasChildren();
 	}
 
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockContentProvider.java
index 7c30ea7..e9e67db 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockContentProvider.java
@@ -16,13 +16,13 @@
 import org.eclipse.debug.ui.IDebugUIConstants;
 
 /**
- * This content provider is required in order to have selection maintained properly 
+ * This content provider is required in order to have selection maintained properly
  * when swtiching between session.  The problem is, when swtich debug session, the memory view reset the input
  * to the viewer.
- * 
+ *
  * After the input is set, viewer's doInitialRestore is called.  At this time, the elemtns
  * are not mapped in the viewer yet, as a result, the selection cannot be maintained.
- * 
+ *
  * The viewer tries to restore selection again after elements are added to the view.  This is done
  * in the HasChildrenJob.  However, this job will not get scheduled unless the element provides a content
  * provider adapter.  As a result, the job is never scheduled and the selection cannot be maintained.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockLabelProvider.java
index bd80f6d..26f0dbb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryBlockLabelProvider.java
@@ -20,38 +20,38 @@
 import org.eclipse.jface.viewers.TreePath;
 
 public class MemoryBlockLabelProvider extends DebugElementLabelProvider {
-	
+
 	@Override
 	protected String getLabel(TreePath elementPath,
 			IPresentationContext presentationContext, String columnId)
 			throws CoreException {
 		Object element = elementPath.getLastSegment();
-		
+
 		if (element instanceof IMemoryBlock)
 			return getLabel((IMemoryBlock)element);
-		
+
 		return super.getLabel(elementPath, presentationContext, columnId);
 	}
-	
+
 	@Override
 	protected ImageDescriptor getImageDescriptor(TreePath elementPath,
 			IPresentationContext presentationContext, String columnId)
 			throws CoreException {
-		
+
 		Object element = elementPath.getLastSegment();
-		
+
 		if (element instanceof IMemoryBlock)
 			return DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_VARIABLE);
-		
+
 		return super.getImageDescriptor(elementPath, presentationContext, columnId);
 	}
-	
+
 	/**
 	 * @param memoryBlockLabel
 	 * @return
 	 */
 	private String getLabel(IMemoryBlock memoryBlock) {
-		
+
 		String memoryBlockLabel = " "; //$NON-NLS-1$
 		if (memoryBlock instanceof IMemoryBlockExtension)
 		{
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryRetrievalContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryRetrievalContentProvider.java
index ab0c12b..79851c1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryRetrievalContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryRetrievalContentProvider.java
@@ -29,14 +29,14 @@
 	protected Object[] getChildren(Object parent, int index, int length,
 			IPresentationContext context, IViewerUpdate monitor)
 			throws CoreException {
-		
+
 		return getElements(getAllChildren(parent, context, monitor), index, length);
-		
+
 	}
-	
+
 	/**
 	 * Returns all children of the given parent in the given context.
-	 * 
+	 *
 	 * @param parent
 	 * @param context
 	 * @param monitor
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryViewElementMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryViewElementMementoProvider.java
index a71f468..eb5509d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryViewElementMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/MemoryViewElementMementoProvider.java
@@ -18,7 +18,7 @@
 import org.eclipse.ui.IMemento;
 
 public class MemoryViewElementMementoProvider extends ElementMementoProvider {
-	
+
 	private static final String OBJECT_ID = "OBJECT_ID"; //$NON-NLS-1$
 
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ProcessContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ProcessContentProvider.java
index d8b62d6..58c6b7e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ProcessContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ProcessContentProvider.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:

  *     Wind River Systems - initial API and implementation

  *******************************************************************************/

@@ -18,7 +18,7 @@
  * Default content provider for process objects. Even though process objects

  * have no children by default, they still need a content provider to ensure

  * proper display (see bug

- * 

+ *

  * @since 3.6

  */

 public class ProcessContentProvider extends ElementContentProvider {

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupContentProvider.java
index ede5a6c..78ce07e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupContentProvider.java
@@ -18,8 +18,8 @@
 
 /**
  * Register group content provider.
- * 
- * @since 3.3 
+ *
+ * @since 3.3
  */
 public class RegisterGroupContentProvider extends ElementContentProvider {
 
@@ -32,7 +32,7 @@
 	protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return getElements(((IRegisterGroup)parent).getRegisters(), index, length);
 	}
-	
+
 	@Override
 	protected boolean hasChildren(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return ((IRegisterGroup)element).hasRegisters();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupLabelProvider.java
index 79ffd45..a8bed9d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupLabelProvider.java
@@ -44,5 +44,5 @@
 			return IInternalDebugCoreConstants.EMPTY_STRING;
 		}
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupMementoProvider.java
index 31a5bf5..fe5dd49 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/RegisterGroupMementoProvider.java
@@ -16,7 +16,7 @@
 
 /**
  * Memento provider for register groups.
- * 
+ *
  * @since 3.4
  */
 public class RegisterGroupMementoProvider extends DebugElementMementoProvider {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameContentProvider.java
index d47b283..0d46ec6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameContentProvider.java
@@ -36,7 +36,7 @@
 	protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return getElements(getAllChildren(parent, context, monitor), index, length);
 	}
-	
+
 	/**
 	 * This method retrieves all of the children for the specified parent given the current context
 	 * @param parent the parent ot get the children for
@@ -82,5 +82,5 @@
         }
         return false;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameMementoProvider.java
index 0f3c9ef..3d2bbdb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/StackFrameMementoProvider.java
@@ -17,7 +17,7 @@
 
 /**
  * Memento provider for stack frames.
- * 
+ *
  * @since 3.4
  */
 public class StackFrameMementoProvider extends DebugElementMementoProvider {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java
index 6266782..6a9acf3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java
@@ -40,7 +40,7 @@
 	 * subranges.
 	 */
 	private static LogicalStructureCache fgLogicalCache;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#getChildCount(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
 	 */
@@ -56,7 +56,7 @@
 	protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return getElements(getAllChildren(parent, context), index, length);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#hasChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate)
 	 */
@@ -64,7 +64,7 @@
 	protected boolean hasChildren(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return ((IVariable)element).getValue().hasVariables();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#supportsContextId(java.lang.String)
 	 */
@@ -72,7 +72,7 @@
 	protected boolean supportsContextId(String id) {
 		 return id.equals(IDebugUIConstants.ID_EXPRESSION_VIEW) || id.equals(IDebugUIConstants.ID_VARIABLE_VIEW) || id.equals(IDebugUIConstants.ID_REGISTER_VIEW);
 	}
-	
+
 	/**
 	 * Gets all the children variables for the parent
 	 * @param parent the parent IVariable
@@ -86,13 +86,13 @@
         if (value != null) {
             return getValueChildren(variable, value, context);
         }
-        return EMPTY;		
+        return EMPTY;
 	}
 
     /**
      * Return whether to show compute a logical structure or a raw structure
      * in the specified context
-     * 
+     *
      * @return whether to show compute a logical structure or a raw structure
      * in the specified context
      */
@@ -104,18 +104,18 @@
     /**
      * Returns the number of entries that should be displayed in each partition
      * of an indexed collection.
-     * 
+     *
      * @return the number of entries that should be displayed in each partition
      *         of an indexed collection
      */
     protected int getArrayPartitionSize() {
         // TODO: should fix this with a user preference
         return 100;
-    }	
-    
+    }
+
     /**
      * Returns any logical value for the raw value in the specified context
-     * 
+     *
      * @param value
      * @param context
      * @return logical value for the raw value
@@ -123,11 +123,11 @@
     protected IValue getLogicalValue(IValue value, IPresentationContext context) throws CoreException {
 		return getLogicalValue(value, new ArrayList<String>(), context);
     }
-    
+
     /**
      * Returns children for the given value, creating array partitions if
      * required
-     * 
+     *
      * @param parent expression or variable containing the given value
      * @param value the value to retrieve children for
      * @param context the context in which children have been requested
@@ -175,7 +175,7 @@
      * partition size is computed by determining the number of levels that an
      * indexed collection must be nested in order to partition the collection
      * sub-collections of the preferred partition size.
-     * 
+     *
      * @param value
      *            indexed value
      * @return size of partitions the value should be subdivided into
@@ -202,13 +202,13 @@
         } catch (DebugException e) {
         }
         return partitionSize;
-    }    
-    
+    }
+
     /**
      * Returns any logical value for the raw value. This method will recurse
      * over the returned value until the same structure is encountered again (to
      * avoid infinite recursion).
-     * 
+     *
      * @param value raw value to possibly be replaced by a logical value
      * @param previousStructureIds
      *            the list of logical structures that have already been applied
@@ -230,12 +230,12 @@
         }
         return value;
     }
-    
+
     /**
      * Returns the logical structure cache to use to store calculated structures.  If the cache does not
      * exist yet, one is created and a debug event listener is added to clear the cache on RESUME and
      * TERMINATE events.
-     * 
+     *
      * @return the logical structure cache to use
      */
     protected synchronized LogicalStructureCache getLogicalStructureCache(){
@@ -254,7 +254,7 @@
 							break;
 						} else if (events[i].getKind() == DebugEvent.SUSPEND && events[i].getDetail() != DebugEvent.EVALUATION_IMPLICIT){
 								fgLogicalCache.clear();
-								break;							
+								break;
 						} else if (events[i].getKind() == DebugEvent.CHANGE && events[i].getDetail() == DebugEvent.CONTENT){
 							fgLogicalCache.clear();
 							break;
@@ -265,5 +265,5 @@
     	}
     	return fgLogicalCache;
     }
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableLabelProvider.java
index 3e425b4..9348916 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableLabelProvider.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
  *******************************************************************************/
@@ -25,7 +25,7 @@
 
 /**
  * Provides context sensitive labels for debug variables.
- * 
+ *
  * @since 3.3
  */
 public class VariableLabelProvider extends DebugElementLabelProvider {
@@ -82,7 +82,7 @@
 	protected FontData getFontData(TreePath elementPath, IPresentationContext presentationContext, String columnId)	throws CoreException {
 		return JFaceResources.getFontDescriptor(IDebugUIConstants.PREF_VARIABLE_TEXT_FONT).getFontData()[0];
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.DebugElementLabelProvider#getLabel(org.eclipse.jface.viewers.TreePath, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.String)
 	 */
@@ -92,14 +92,14 @@
 			return super.getLabel(elementPath, context, columnId);
 		} else {
 			IVariable variable = (IVariable) elementPath.getLastSegment();
-			IValue value = variable.getValue();		
+			IValue value = variable.getValue();
 			return getColumnText(variable, value, context, columnId);
 		}
 	}
-	
+
 	/**
 	 * Returns text for a specific columns for the variable/value.
-	 * 
+	 *
 	 * @param variable variable to retrieve text for
 	 * @param value the value associated with the variable
 	 * @param context presentation context specifying how to display the text
@@ -116,13 +116,13 @@
 			return getValueText(variable, value, context);
 		} else if (IDebugUIConstants.COLUMN_ID_VARIABLE_VALUE_TYPE.equals(columnId)) {
 			return getValueTypeName(variable, value, context);
-		}	
+		}
 		return null;
 	}
 
 	/**
 	 * Returns the name of the given variable to display in <code>COLUMN_VARIABLE_NAME</code>.
-	 * 
+	 *
 	 * @param variable Variable to get the name for.
 	 * @param context View context.
 	 * @return variable name
@@ -131,10 +131,10 @@
 	protected String getVariableName(IVariable variable, IPresentationContext context) throws CoreException {
 		return variable.getName();
 	}
-	
+
 	/**
 	 * Returns the type name of the given variable to display in <code>COLUMN_VARIABLE_TYPE</code>.
-	 * 
+	 *
 	 * @param variable Variable to get the type for.
 	 * @param context View context.
 	 * @return variable type name
@@ -143,10 +143,10 @@
 	protected String getVariableTypeName(IVariable variable, IPresentationContext context) throws CoreException {
 		return variable.getReferenceTypeName();
 	}
-	
+
 	/**
 	 * Returns the label for the given value's type to display in <code>COLUMN_VARIABLE_VALUE</code>
-	 * 
+	 *
 	 * @param variable Variable to get the value type for.
 	 * @param value Variable value to get type label for.
 	 * @param context View context.
@@ -156,10 +156,10 @@
 	protected String getValueTypeName(IVariable variable, IValue value, IPresentationContext context) throws CoreException {
 		return value.getReferenceTypeName();
 	}
-	
+
 	/**
 	 * Returns the label for the given value to display in <code>COLUMN_VALUE_TYPE</code>
-	 * 
+	 *
 	 * @param variable Variable to get the value for.
 	 * @param value Variable value to get value label for.
 	 * @param context View context.
@@ -169,14 +169,14 @@
 	protected String getValueText(IVariable variable, IValue value, IPresentationContext context) throws CoreException {
 		return escapeSpecialChars(value.getValueString());
 	}
-	
+
 	/**
 	 * Escapes special characters using the default label provider
-	 * 
+	 *
 	 * @param label the text to escape
 	 * @return the string with special characters escaped
 	 */
 	protected String escapeSpecialChars(String label) {
 		return DefaultLabelProvider.escapeSpecialChars(label);
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableMementoProvider.java
index 42a1b9c..4dd50bb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableMementoProvider.java
@@ -16,7 +16,7 @@
 
 /**
  * Memento provider for variables and registers.
- * 
+ *
  * @since 3.4
  */
 public class VariableMementoProvider extends DebugElementMementoProvider {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ViewerInputProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ViewerInputProvider.java
index 92ce722..d36467b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ViewerInputProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/ViewerInputProvider.java
@@ -27,7 +27,7 @@
  * @since 3.4
  */
 public abstract class ViewerInputProvider implements IViewerInputProvider {
-	
+
 	protected static final Object[] EMPTY = new Object[0];
 
 	/* (non-Javadoc)
@@ -41,7 +41,7 @@
 				if (!update.isCanceled()) {
 					retrieveInput(update);
 				}
-				update.done();					
+				update.done();
 				return Status.OK_STATUS;
 			}
 		};
@@ -49,10 +49,10 @@
 		job.setRule(getRule(update));
 		job.schedule();
 	}
-	    
+
     /**
      * Computes the viewer input for the specified context.
-     * 
+     *
      * @param update update request
      */
     protected void retrieveInput(IViewerInputUpdate update) {
@@ -69,49 +69,49 @@
 				status = e.getStatus();
 			}
 			update.setStatus(status);
-		}    	
+		}
     }
-    
-        
+
+
     /**
      * Returns the viewer input derived from the given source object in the specified
      * context, possibly <code>null</code>.
-     * 
+     *
      * @param source element to derive a viewer input from
      * @param context context for which an input is requested
      * @param update viewer update request
      * @throws CoreException if an exception occurs retrieving child
      */
     protected abstract Object getViewerInput(Object source, IPresentationContext context, IViewerUpdate update) throws CoreException;
-    
+
 
     /**
      * Returns whether this adapter supports the given context.
-     * 
+     *
      * @param context
      * @return whether this adapter supports the given context
      */
     protected boolean supportsContext(IPresentationContext context) {
 		return supportsContextId(context.getId());
     }
-    
+
     /**
      * Returns whether this adapter provides content in the specified context id.
-     * 
+     *
      * @param id part id
      * @return whether this adapter provides content in the specified context id
      */
-    protected abstract boolean supportsContextId(String id);	
-	
+    protected abstract boolean supportsContextId(String id);
+
 	/**
 	 * Returns a scheduling rule to use when performing the given updates or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param update
 	 * @return scheduling rule or <code>null</code> if none
 	 */
 	protected ISchedulingRule getRule(IViewerInputUpdate update) {
 		return null;
 	}
-	    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
index 3e95df0..db5d9c1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
@@ -4,13 +4,13 @@
  * 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
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.preferences;
 
- 
+
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
@@ -20,7 +20,7 @@
  * button.
  */
 public class BooleanFieldEditor2 extends BooleanFieldEditor {
-	
+
 	private  Button fChangeControl;
 
 	/**
@@ -41,7 +41,7 @@
 	public Button getChangeControl(Composite parent) {
 		if (fChangeControl == null) {
 			fChangeControl = super.getChangeControl(parent);
-		} 
+		}
 		return fChangeControl;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
index be18c62..9c67df1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
@@ -35,18 +35,18 @@
  * A page to set the preferences for the console
  */
 public class ConsolePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-	
+
 	/**
 	 * This class exists to provide visibility to the
 	 * <code>refreshValidState</code> method and to perform more intelligent
 	 * clearing of the error message.
 	 */
-	protected class ConsoleIntegerFieldEditor extends IntegerFieldEditor {						
-		
+	protected class ConsoleIntegerFieldEditor extends IntegerFieldEditor {
+
 		public ConsoleIntegerFieldEditor(String name, String labelText, Composite parent) {
 			super(name, labelText, parent);
 		}
-		
+
 		/**
 		 * @see org.eclipse.jface.preference.FieldEditor#refreshValidState()
 		 */
@@ -54,7 +54,7 @@
 		protected void refreshValidState() {
 			super.refreshValidState();
 		}
-		
+
 		/**
 		 * Clears the error message from the message line if the error
 		 * message is the error message from this field editor.
@@ -66,21 +66,21 @@
 			}
 		}
 	}
-	
+
 	private BooleanFieldEditor2 fWrapEditor = null;
 	private ConsoleIntegerFieldEditor fWidthEditor = null;
-	
+
 	private BooleanFieldEditor2 fUseBufferSize = null;
 	private ConsoleIntegerFieldEditor fBufferSizeEditor = null;
-	
+
 	private ConsoleIntegerFieldEditor fTabSizeEditor = null;
-	
+
 	/**
 	 * Create the console page.
 	 */
 	public ConsolePreferencePage() {
 		super(GRID);
-		setDescription(DebugPreferencesMessages.ConsolePreferencePage_Console_settings); 
+		setDescription(DebugPreferencesMessages.ConsolePreferencePage_Console_settings);
 		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
 	}
 
@@ -94,21 +94,21 @@
 			getControl(),
 			IDebugHelpContextIds.CONSOLE_PREFERENCE_PAGE );
 	}
-	
+
 	/**
 	 * Create all field editors for this page
 	 */
 	@Override
 	public void createFieldEditors() {
-		
-		fWrapEditor = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_WRAP, DebugPreferencesMessages.ConsolePreferencePage_Wrap_text_1, SWT.NONE, getFieldEditorParent()); 
+
+		fWrapEditor = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_WRAP, DebugPreferencesMessages.ConsolePreferencePage_Wrap_text_1, SWT.NONE, getFieldEditorParent());
 		addField(fWrapEditor);
-		
-		fWidthEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_WIDTH, DebugPreferencesMessages.ConsolePreferencePage_Console_width, getFieldEditorParent()); 
+
+		fWidthEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_WIDTH, DebugPreferencesMessages.ConsolePreferencePage_Console_width, getFieldEditorParent());
 		addField(fWidthEditor);
 		fWidthEditor.setValidRange(80, 1000);
-		fWidthEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_console_width); 
-		
+		fWidthEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_console_width);
+
 		fWrapEditor.getChangeControl(getFieldEditorParent()).addSelectionListener(
 			new SelectionAdapter() {
 				@Override
@@ -117,15 +117,15 @@
 				}
 			}
 		);
-		
-		fUseBufferSize = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT, DebugPreferencesMessages.ConsolePreferencePage_Limit_console_output_1, SWT.NONE, getFieldEditorParent()); 
+
+		fUseBufferSize = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT, DebugPreferencesMessages.ConsolePreferencePage_Limit_console_output_1, SWT.NONE, getFieldEditorParent());
 		addField(fUseBufferSize);
-		
-		fBufferSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK, DebugPreferencesMessages.ConsolePreferencePage_Console_buffer_size__characters___2, getFieldEditorParent()); 
+
+		fBufferSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK, DebugPreferencesMessages.ConsolePreferencePage_Console_buffer_size__characters___2, getFieldEditorParent());
 		addField(fBufferSizeEditor);
 		fBufferSizeEditor.setValidRange(1000, Integer.MAX_VALUE - 100000);
 		fBufferSizeEditor.setErrorMessage(MessageFormat.format(DebugPreferencesMessages.ConsolePreferencePage_The_console_buffer_size_must_be_at_least_1000_characters__1, Integer.valueOf(Integer.MAX_VALUE - 100000)));
-		
+
 		fUseBufferSize.getChangeControl(getFieldEditorParent()).addSelectionListener(
 			new SelectionAdapter() {
 				@Override
@@ -134,33 +134,33 @@
 				}
 			}
 		);
-		
-		fTabSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH, DebugPreferencesMessages.ConsolePreferencePage_12, getFieldEditorParent()); 
+
+		fTabSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH, DebugPreferencesMessages.ConsolePreferencePage_12, getFieldEditorParent());
 		addField(fTabSizeEditor);
 		fTabSizeEditor.setValidRange(1,100);
-		fTabSizeEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_13); 
-		
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, DebugPreferencesMessages.ConsolePreferencePage_Show__Console_View_when_there_is_program_output_3, SWT.NONE, getFieldEditorParent())); 
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, DebugPreferencesMessages.ConsolePreferencePage_Show__Console_View_when_there_is_program_error_3, SWT.NONE, getFieldEditorParent())); 
+		fTabSizeEditor.setErrorMessage(DebugPreferencesMessages.ConsolePreferencePage_13);
 
-		ColorFieldEditor sysout= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_Out__2, getFieldEditorParent()); 
-		ColorFieldEditor syserr= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_Error__3, getFieldEditorParent()); 
+		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, DebugPreferencesMessages.ConsolePreferencePage_Show__Console_View_when_there_is_program_output_3, SWT.NONE, getFieldEditorParent()));
+		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, DebugPreferencesMessages.ConsolePreferencePage_Show__Console_View_when_there_is_program_error_3, SWT.NONE, getFieldEditorParent()));
+
+		ColorFieldEditor sysout= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_Out__2, getFieldEditorParent());
+		ColorFieldEditor syserr= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_Error__3, getFieldEditorParent());
 		ColorFieldEditor sysin= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR, DebugPreferencesMessages.ConsolePreferencePage_Standard_In__4, getFieldEditorParent());
 		ColorFieldEditor background= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR, DebugPreferencesMessages.ConsolePreferencePage_11, getFieldEditorParent());
-		
+
 		addField(sysout);
 		addField(syserr);
 		addField(sysin);
 		addField(background);
 	}
-	
+
 	/**
 	 * @see IWorkbenchPreferencePage#init(IWorkbench)
 	 */
 	@Override
 	public void init(IWorkbench workbench) {
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
 	 */
@@ -184,14 +184,14 @@
 		updateWidthEditor();
 		updateBufferSizeEditor();
 	}
-	
+
 	/**
 	 * Update enablement of width editor based on enablement of 'fixed width' editor.
 	 */
 	protected void updateWidthEditor() {
 		Button b = fWrapEditor.getChangeControl(getFieldEditorParent());
 		fWidthEditor.getTextControl(getFieldEditorParent()).setEnabled(b.getSelection());
-		fWidthEditor.getLabelControl(getFieldEditorParent()).setEnabled(b.getSelection());				
+		fWidthEditor.getLabelControl(getFieldEditorParent()).setEnabled(b.getSelection());
 	}
 
 	/**
@@ -203,7 +203,7 @@
 		fBufferSizeEditor.getTextControl(getFieldEditorParent()).setEnabled(b.getSelection());
 		fBufferSizeEditor.getLabelControl(getFieldEditorParent()).setEnabled(b.getSelection());
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
 	 */
@@ -213,14 +213,14 @@
 		updateWidthEditor();
 		updateBufferSizeEditor();
 	}
-	
+
 	protected boolean canClearErrorMessage() {
 		if (fWidthEditor.isValid() && fBufferSizeEditor.isValid()) {
 			return true;
 		}
 		return false;
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 	 */
@@ -234,7 +234,7 @@
 			if (newValue) {
 				if (fWidthEditor != null && event.getSource() != fWidthEditor) {
 					fWidthEditor.refreshValidState();
-				} 
+				}
 				if (fBufferSizeEditor != null && event.getSource() != fBufferSizeEditor) {
 					fBufferSizeEditor.refreshValidState();
 				}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
index a4289d4..7e09d68 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.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
  *******************************************************************************/
@@ -29,13 +29,13 @@
  * The page for setting debugger preferences.  Built on the 'field editor' infrastructure.
  */
 public class DebugPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IDebugPreferenceConstants {
-	
+
 	public DebugPreferencePage() {
 		super(GRID);
 
 		IPreferenceStore store= DebugUIPlugin.getDefault().getPreferenceStore();
 		setPreferenceStore(store);
-		setDescription(DebugPreferencesMessages.DebugPreferencePage_1); 
+		setDescription(DebugPreferencesMessages.DebugPreferencePage_1);
 	}
 
 	/* (non-Javadoc)
@@ -46,35 +46,35 @@
 		super.createControl(parent);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.DEBUG_PREFERENCE_PAGE);
 	}
-	
+
 	/**
 	 * @see FieldEditorPreferencePage#createFieldEditors
 	 */
 	@Override
 	protected void createFieldEditors() {
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_REUSE_EDITOR, DebugPreferencesMessages.DebugPreferencePage_2, SWT.NONE, getFieldEditorParent())); 
-		
-		SWTFactory.createHorizontalSpacer(getFieldEditorParent(), 2);
-		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH, DebugPreferencesMessages.DebugPreferencePage_3, SWT.NONE, getFieldEditorParent())); 
-		addField(new BooleanFieldEditor(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW, DebugPreferencesMessages.DebugPreferencePage_26, SWT.NONE, getFieldEditorParent())); 
+		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_REUSE_EDITOR, DebugPreferencesMessages.DebugPreferencePage_2, SWT.NONE, getFieldEditorParent()));
 
 		SWTFactory.createHorizontalSpacer(getFieldEditorParent(), 2);
-		
+
+		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH, DebugPreferencesMessages.DebugPreferencePage_3, SWT.NONE, getFieldEditorParent()));
+		addField(new BooleanFieldEditor(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW, DebugPreferencesMessages.DebugPreferencePage_26, SWT.NONE, getFieldEditorParent()));
+
+		SWTFactory.createHorizontalSpacer(getFieldEditorParent(), 2);
+
 		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE, DebugPreferencesMessages.DebugPreferencePage_25, SWT.NONE, getFieldEditorParent()));
 		addField(new BooleanFieldEditor(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_BREAKPOINTS, DebugPreferencesMessages.DebugPreferencePage_29, SWT.NONE, getFieldEditorParent()));
 		addField(new BooleanFieldEditor(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_BREAKPOINTS_FROM_CONTAINER, DebugPreferencesMessages.DebugPreferencePage_30, SWT.NONE, getFieldEditorParent()));
 		addField(new BooleanFieldEditor(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_EXPRESSIONS, DebugPreferencesMessages.DebugPreferencePage_5, SWT.NONE, getFieldEditorParent()));
 		addField(new BooleanFieldEditor(IDebugPreferenceConstants.PREF_PROMPT_REMOVE_ALL_TRIGGER_BREAKPOINTS, DebugPreferencesMessages.DebugPreferencePage_31, SWT.NONE, getFieldEditorParent()));
-		
+
 		SWTFactory.createHorizontalSpacer(getFieldEditorParent(), 2);
-		ColorFieldEditor mem= new ColorFieldEditor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR, DebugPreferencesMessages.DebugPreferencePage_4, getFieldEditorParent()); 
+		ColorFieldEditor mem= new ColorFieldEditor(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR, DebugPreferencesMessages.DebugPreferencePage_4, getFieldEditorParent());
 		addField(mem);
 		mem = new ColorFieldEditor(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND, DebugPreferencesMessages.DebugPreferencePage_28, getFieldEditorParent());
 		addField(mem);
-		mem= new ColorFieldEditor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR, DebugPreferencesMessages.DebugPreferencePage_0, getFieldEditorParent()); 
+		mem= new ColorFieldEditor(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR, DebugPreferencesMessages.DebugPreferencePage_0, getFieldEditorParent());
 		addField(mem);
-		mem= new ColorFieldEditor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR, DebugPreferencesMessages.DebugPreferencePage_27, getFieldEditorParent()); 
+		mem= new ColorFieldEditor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR, DebugPreferencesMessages.DebugPreferencePage_27, getFieldEditorParent());
 		addField(mem);
 	}
 
@@ -83,5 +83,5 @@
 	 */
 	@Override
 	public void init(IWorkbench workbench) {}
-				
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
index 97e7cac..80e32a2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.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 - Initial API and implementation
  *******************************************************************************/
@@ -122,16 +122,16 @@
 	public static String LaunchPerspectivePreferencePage_0;
 
 	public static String LaunchPerspectivePreferencePage_1;
-	
+
 	public static String PerspectivePreferencePage_0;
 	public static String PerspectivePreferencePage_1;
 	public static String PerspectivePreferencePage_2;
 	public static String PerspectivePreferencePage_4;
 	public static String PerspectivePreferencePage_5;
-	
+
 	public static String LaunchConfigurationsPreferencePage_1;
 	public static String LaunchConfigurationsPreferencePage_0;
-	
+
 	public static String ProcessPropertyPage_Command_Line__1;
 
 	public static String SimpleVariablePreferencePage_3;
@@ -160,7 +160,7 @@
 	public static String StringVariablePreferencePage_25;
 	public static String StringVariablePreferencePage_26;
 	public static String StringVariablePreferencePage_27;
-	
+
 	public static String ViewManagementPreferencePage_0;
 	public static String ViewManagementPreferencePage_1;
 	public static String ViewManagementPreferencePage_2;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
index c6061e5..7188985 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
@@ -15,12 +15,12 @@
 
 
 import org.eclipse.debug.ui.IDebugUIConstants;
- 
+
 /**
  * Constants defining the keys to be used for accessing preferences
  * inside the debug ui plugin's preference bundle.
  *
- * In descriptions (of the keys) below describe the preference 
+ * In descriptions (of the keys) below describe the preference
  * stored at the given key. The type indicates type of the stored preferences
  *
  * The preference store is loaded by the plugin (DebugUIPlugin).
@@ -36,57 +36,57 @@
 	public static final String CONSOLE_SYS_OUT_COLOR= "org.eclipse.debug.ui.outColor"; //$NON-NLS-1$
 	public static final String CONSOLE_SYS_IN_COLOR= "org.eclipse.debug.ui.inColor"; //$NON-NLS-1$
 	public static final String CONSOLE_BAKGROUND_COLOR= "org.eclipse.debug.ui.consoleBackground"; //$NON-NLS-1$
-	
+
 	/**
 	 * @deprecated use IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR instead
 	 */
 	@Deprecated
 	public static final String MEMORY_VIEW_UNBUFFERED_LINE_COLOR = IDebugUIConstants.PLUGIN_ID + ".MemoryViewLineColor"; //$NON-NLS-1$
-	
+
 	/**
 	 * @deprecated use IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR instead
 	 */
 	@Deprecated
 	public static final String MEMORY_VIEW_BUFFERED_LINE_COLOR = IDebugUIConstants.PLUGIN_ID + ".MemoryViewBufferedLineColor"; //$NON-NLS-1$
-	
+
 	/**
 	 * (boolean) Whether or not the text in the console will wrap
 	 */
 	public static final String CONSOLE_WRAP= "Console.wrap"; //$NON-NLS-1$
-	
+
 	/**
-	 * (int) The maximum console character width, if wrapping. 
-	 */ 
+	 * (int) The maximum console character width, if wrapping.
+	 */
 	public static final String CONSOLE_WIDTH = "Console.width"; //$NON-NLS-1$
-	
+
 	/**
-	 * (boolean) Whether or not the console view is shown 
+	 * (boolean) Whether or not the console view is shown
 	 * when there is program output.
   	 */
 	public static final String CONSOLE_OPEN_ON_OUT= "DEBUG.consoleOpenOnOut"; //$NON-NLS-1$
 	/**
-	 * (boolean) Whether or not the console view is shown 
+	 * (boolean) Whether or not the console view is shown
 	 * when there is program error.
   	 */
 	public static final String CONSOLE_OPEN_ON_ERR= "DEBUG.consoleOpenOnErr"; //$NON-NLS-1$
-	
+
 	/**
 	 * Console buffer high and low water marks
 	 */
 	public static final String CONSOLE_LIMIT_CONSOLE_OUTPUT = "Console.limitConsoleOutput"; //$NON-NLS-1$
-	public static final String CONSOLE_LOW_WATER_MARK = "Console.lowWaterMark"; //$NON-NLS-1$ 
+	public static final String CONSOLE_LOW_WATER_MARK = "Console.lowWaterMark"; //$NON-NLS-1$
 	public static final String CONSOLE_HIGH_WATER_MARK = "Console.highWaterMark"; //$NON-NLS-1$
-	
+
 	/**
 	 * Integer preference specifying the number of spaces composing a
 	 * tab in the console.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String CONSOLE_TAB_WIDTH= "Console.console_tab_width"; //$NON-NLS-1$
-	
-	
-	
+
+
+
 	/**
 	 * The orientation of the detail view in the VariablesView
 	 */
@@ -99,16 +99,16 @@
 	public static final String VARIABLES_DETAIL_PANE_UNDERNEATH = "Variables.detail.orientation.underneath"; //$NON-NLS-1$
 	public static final String VARIABLES_DETAIL_PANE_HIDDEN = "Variables.detail.orientation.hidden"; //$NON-NLS-1$
 	public static final String VARIABLES_DETAIL_PANE_AUTO = "Variables.detail.orientation.auto"; //$NON-NLS-1$
-	
+
 	/**
 	 * Memento for the last selected launch config in the
 	 * launch config dialog.
-	 * 
+	 *
 	 * @deprecated no longer supported
 	 */
 	@Deprecated
 	public static final String PREF_LAST_LAUNCH_CONFIGURATION_SELECTION = IDebugUIConstants.PLUGIN_ID + ".lastLaunchConfigSelection"; //$NON-NLS-1$
-		
+
 	/**
 	 * The maximum size of the launch history list
 	 */
@@ -122,36 +122,36 @@
 	 * @since 2.1
 	 */
 	public static final String PREF_DETAIL_PANE_WORD_WRAP = IDebugUIConstants.PLUGIN_ID + ".detail_pane_word_wrap"; //$NON-NLS-1$
-	
+
 	/**
 	 * Column size preference for the Memory View
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String PREF_COLUMN_SIZE = "org.eclipse.debug.ui.memory.columnSize"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default column size for the Memory View
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final int PREF_COLUMN_SIZE_DEFAULT = 4;
-	
-	
+
+
 	/**
 	 * Row size preference for Memory View
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_ROW_SIZE = "org.eclipse.debug.ui.memory.rowSize"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default row size for the Memory View
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final int PREF_ROW_SIZE_DEFAULT = 16;
-	
+
 	/**
 	 * Stores the boolean preference of whether to prompt when removing all breakpoints.
 	 * @since 3.3
@@ -161,64 +161,64 @@
 	/**
 	 * Stores the boolean preference of whether to prompt when removing all
 	 * breakpoints.
-	 * 
+	 *
 	 * @since 3.11
 	 */
 	public static final String PREF_PROMPT_REMOVE_ALL_TRIGGER_BREAKPOINTS = IDebugUIConstants.PLUGIN_ID + ".remove_all_trigger_breakpoints_prompt"; //$NON-NLS-1$
-		
+
 	/**
-	 * stores the boolean preference of whether or not to prompt when removing all of the breakpoints 
+	 * stores the boolean preference of whether or not to prompt when removing all of the breakpoints
 	 * from a breakpoints container.
-	 * @since 3.3 
+	 * @since 3.3
 	 */
 	public static final String PREF_PROMPT_REMOVE_BREAKPOINTS_FROM_CONTAINER = IDebugUIConstants.PLUGIN_ID + ".remove_breakpoints_from_container_prompt"; //$NON-NLS-1$
-	
+
 	/**
 	 * Stores the boolean preference of whether to prompt when removing all expressions.
 	 * @since 3.5
 	 */
 	public static final String PREF_PROMPT_REMOVE_ALL_EXPRESSIONS = IDebugUIConstants.PLUGIN_ID + ".remove_all_expressions_prompt"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default padded string for renderings
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String PREF_PADDED_STR_DEFAULT = "??"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default ASCII code page if ASCII code page preference is not set.
 	 * @since 3.1
 	 */
 	public static final String DEFAULT_ASCII_CP = "CP1252"; //$NON-NLS-1$
-	
-	
+
+
 	/**
 	 * Default EBCDIC code page if EBCDIC code page preference is not set.
 	 * @since 3.1
 	 */
 	public static final String DEFAULT_EBCDIC_CP = "CP037"; //$NON-NLS-1$
-	
+
 	/**
 	 * Preference to determine if table rendering should dynamically load
 	 * memory as the user scrolls
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String PREF_DYNAMIC_LOAD_MEM = "org.eclpise.debug.ui.memory.dynamicLoad"; //$NON-NLS-1$
-	
-	
+
+
 	/**
 	 * Size of buffer in a table rendering when dynamic loading mode is off.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String PREF_TABLE_RENDERING_PAGE_SIZE = "org.eclispe.debug.ui.memory.pageSize"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default page size when dynamic loading mode is off.  This preference is stored
 	 * in number of lines.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final int DEFAULT_PAGE_SIZE = 20;
@@ -227,89 +227,89 @@
 	 * Possible values:
 	 * - RESET_AL - reset all renderings regardless if they are visible or not
 	 * - RESET_VISIBLE - reset visible renderings
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_RESET_MEMORY_BLOCK = IDebugUIConstants.PLUGIN_ID + ".reset_memory_block"; //$NON-NLS-1$
-	
+
 	/**
 	 * Constant to indicate that the memory view will reset all memory renderings when the reset
 	 * memory monitor action is invoked.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String RESET_ALL = IDebugUIConstants.PLUGIN_ID + "resetMemoryBlock.all"; //$NON-NLS-1$
-	
-	
+
+
 	/**
 	 * Constant to indicate that the memory view will reset visible memory renderings when
 	 * the reset memory monitor action is invoked
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String RESET_VISIBLE = IDebugUIConstants.PLUGIN_ID + "resetMemoryBlock.visible"; //$NON-NLS-1$
-	
+
 	/**
 	 * Preference identifier for the row size in a table rendering.
-	 * This preference is expected to be saved by an </code>IPersistableDebugElement</code>.  
+	 * This preference is expected to be saved by an </code>IPersistableDebugElement</code>.
 	 * Memory Blocks can optionally provide and save this preference to customize
 	 * the initial format of a table rendering.
-	 * 
+	 *
 	 * The value of this property is an Integer.  The value can be one of the
-	 * following values:  1, 2, 4, 8, 16.  This value must be greater than 
+	 * following values:  1, 2, 4, 8, 16.  This value must be greater than
 	 * <code>PREF_COL_SIZE_BY_MODEL</code> and must also be divisible by <code>PREF_COL_SIZE_BY_MODEL</code>.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_ROW_SIZE_BY_MODEL = "org.eclipse.debug.ui.AbstractTableRendering.rowSize"; //$NON-NLS-1$
 	/**
 	 * Preference identifier for the column size in a table rendering.
-	 * This preference is expected to be saved by an <code>IPersistableDebugElement</code>.  
+	 * This preference is expected to be saved by an <code>IPersistableDebugElement</code>.
 	 * Memory Blocks can optionally provide and save this preference to customize
 	 * the initial format of a table rendering.
-	 * 
+	 *
 	 * The value of this property is an Integer.  The value can be one of the
 	 * following values:  1, 2, 4, 8, 16.  This value must be smaller than
 	 * <code>PREF_ROW_SIZE_BY_MODEL</code>.  <code>PREF_ROW_SIZE_BY_MODEL</code> must be divisible by <code>PREF_COL_SIZE_BY_MODEL</code>.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_COL_SIZE_BY_MODEL = "org.eclipse.debug.ui.AbstractTableRendering.colSize"; //$NON-NLS-1$
-	
+
 	/**
 	 * Number of lines to preload before the visible region in the table rendering
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static final String PREF_TABLE_RENDERING_PRE_BUFFER_SIZE = "org.eclispe.debug.ui.memory.preBufferSize"; //$NON-NLS-1$
-	
+
 	/**
 	 * Number of lines to preload after the visible region in the table rendering
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static final String PREF_TABLE_RENDERING_POST_BUFFER_SIZE = "org.eclispe.debug.ui.memory.postBufferSize"; //$NON-NLS-1$
 
     /**
      * The layout mode in Debug view.
-     * 
+     *
      * @since 3.5
      */
     public static final String DEBUG_VIEW_MODE = "org.eclispe.debug.ui.Debug_view.mode"; //$NON-NLS-1$
     public static final String DEBUG_VIEW_MODE_AUTO = "Debug_view.mode.auto"; //$NON-NLS-1$
     public static final String DEBUG_VIEW_MODE_COMPACT = "Debug_view.mode.compact"; //$NON-NLS-1$
     public static final String DEBUG_VIEW_MODE_FULL = "Debug_view.mode.full"; //$NON-NLS-1$
-    
+
     /**
-     * Preference whether to auto-expand in the breadcrumb drop-down viewers. 
-     * 
+     * Preference whether to auto-expand in the breadcrumb drop-down viewers.
+     *
      * @since 3.5
      */
     public static final String DEBUG_VIEW_BREADCRUMB_AUTO_EXPAND_DROP_DOWN = "org.eclispe.debug.ui.Debug_view.Breadcrumb.dropDownAutoexpand"; //$NON-NLS-1$
-    
+
     /**
      * Perspectives in which the debug toolbar is hidden.
-     * 
+     *
      * @since 3.8
      */
     public static final String DEBUG_VIEW_TOOLBAR_HIDDEN_PERSPECTIVES = "org.eclispe.debug.ui.Debug_view.debug_toolbar_hidden_perspectives"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
index 7010228..3cd8291 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
@@ -64,9 +64,9 @@
 
 /**
  * Provides the Launch Configuration preference page to the Run/Debug preferences
- * 
+ *
  * This page allows users to set filtering options as well as perform migration tasks.
- * This class is not intended to be sub-classed 
+ * This class is not intended to be sub-classed
  * @since 3.2
  */
 public class LaunchConfigurationsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
@@ -76,9 +76,9 @@
 	 * @since 3.2
 	 */
 	class LaunchConfigurationMigrationSelectionDialog extends AbstractDebugCheckboxSelectionDialog {
-		
+
 		private Object fInput;
-		
+
 		public LaunchConfigurationMigrationSelectionDialog(Shell parentShell, Object input) {
 			super(parentShell);
 			fInput = input;
@@ -116,15 +116,15 @@
 		protected String getViewerLabel() {
 			return DebugPreferencesMessages.LaunchingPreferencePage_0;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getContentProvider()
 		 */
 		@Override
 		protected IContentProvider getContentProvider() {
-			return new WorkbenchContentProvider();	
+			return new WorkbenchContentProvider();
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getLabelProvider()
 		 */
@@ -133,7 +133,7 @@
 			return DebugUITools.newDebugModelPresentation();
 		}
 	}
-	
+
 	/**
 	 * Content provider for the launch configuration type table
 	 */
@@ -150,32 +150,32 @@
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
 	}
-		
+
 	/**
 	 * to monitor the progress of the migration process
 	 */
 	private ProgressMonitorPart fMonitor;
-	
+
 	/**
 	 * the migrate now button
 	 */
 	private Button fMigrateNow;
-	
+
 	/**
 	 * a list of the field editors
 	 */
 	private List<FieldEditor> fFieldEditors;
-	
+
 	/**
 	 * Boolean editor for debug core plug-in preference
 	 */
 	private Button fDeleteConfigs;
-	
+
 	/**
 	 * The table for the launch configuration types
 	 */
 	private Table fTable;
-	
+
 	/**
 	 * Constructor
 	 */
@@ -184,7 +184,7 @@
 		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
 		setTitle(DebugPreferencesMessages.LaunchConfigurationsPreferencePage_1);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -211,10 +211,10 @@
 		edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_3, SWT.NONE, spacer);
 		fFieldEditors.add(edit);
 		fDeleteConfigs = SWTFactory.createCheckButton(comp, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_2, null, false, 3);
-		
+
 		//add table options
 		createTypeFiltering(group);
-		
+
 		//migration
 		group = SWTFactory.createGroup(comp, DebugPreferencesMessages.LaunchingPreferencePage_35, 1, 1, GridData.FILL_HORIZONTAL);
 		Label label = new Label(group, SWT.LEFT | SWT.WRAP);
@@ -233,15 +233,15 @@
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				handleMigrateNowSelected();
-			}			
+			}
 		});
-	
+
 		//init field editors
 		initFieldEditors();
 		fTable.setEnabled(getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES));
 		return comp;
 	}
-	
+
 	/**
 	 * @param parent the parent to add this composite to
 	 * @return the new composite with the type selection table in it
@@ -265,7 +265,7 @@
 				else {
 					fTable.setEnabled(false);
 				}
-			}	
+			}
 		});
 		fFieldEditors.add(editor);
 		fTable = new Table(comp, SWT.CHECK | SWT.BORDER);
@@ -282,7 +282,7 @@
 		fTable.setFont(parent.getFont());
 		return comp;
 	}
-	
+
 	/**
 	 * returns the launch configuration types
 	 * @return the launch configuration types
@@ -290,7 +290,7 @@
 	private ILaunchConfigurationType[] getLaunchConfigurationTypes() {
 		return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
 	}
-	
+
 	/**
 	 * handles the Migrate button being clicked
 	 *
@@ -300,7 +300,7 @@
 		try {
 			ILaunchManager lmanager = DebugPlugin.getDefault().getLaunchManager();
 			ILaunchConfiguration[] configurations = lmanager.getMigrationCandidates();
-			//separate the private from the public 
+			//separate the private from the public
 			List<ILaunchConfiguration> pub = new ArrayList<ILaunchConfiguration>();
 			for(int i = 0; i < configurations.length; i++) {
 				if(DebugUITools.isPrivate(configurations[i])) {
@@ -334,7 +334,7 @@
 		}
 		catch (CoreException e) {DebugUIPlugin.log(e);}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
 	 */
@@ -368,7 +368,7 @@
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
 	 */
@@ -383,9 +383,9 @@
 				fTable.setEnabled(((BooleanFieldEditor2)editor).getBooleanValue());
 			}
 		}
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java
index 4c6f215..dc38f56 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchPerspectivePreferencePage.java
@@ -69,7 +69,7 @@
 
 /**
  * The preference page for selecting and changing launch perspectives
- * 
+ *
  * @since 3.3
  */
 public class LaunchPerspectivePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IActivityManagerListener {
@@ -82,14 +82,14 @@
 		private ILaunchDelegate fDelegate = null;
 		private Set<String> fModes = null;
 		private String fPid = null;
-		
+
 		public PerspectiveChange(ILaunchConfigurationType type, ILaunchDelegate delegate, Set<String> modes, String perspectiveid) {
 			fType = type;
 			fDelegate = delegate;
 			fModes = modes;
 			fPid = perspectiveid;
 		}
-		
+
 		public ILaunchConfigurationType getType() {return fType;}
 		public ILaunchDelegate getDelegate() {return fDelegate;}
 		public String getPerspectiveId() {return fPid;}
@@ -113,7 +113,7 @@
 			return (fDelegate != null ? fDelegate.hashCode() : 0) + fType.hashCode() + fModes.hashCode();
 		}
 	}
-	
+
 	/**
 	 * Implementation to expose use of getFilteredChildren method
 	 */
@@ -124,7 +124,7 @@
 		@Override
 		public Object[] getFilteredChildren(Object o) {return super.getFilteredChildren(o);}
 	}
-	
+
 	/**
 	 * Provides content for the configuration tree viewer
 	 */
@@ -146,29 +146,29 @@
 		@Override
 		public Object getParent(Object element) {return null;}
 	}
-	
+
 	/**
 	 * Panel container that is reused to present series of combo boxes to users for perspective selections
 	 */
 	class PerspectivesPanel {
-		
+
 		private Composite fMainComposite = null;
 		private Label fMessage = null;
-		
+
 		public PerspectivesPanel(Composite parent, String heading) {
 			createPanel(parent, heading);
 		}
-		
+
 		protected void createPanel(Composite parent, String heading) {
 			fMainComposite = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
 			SWTFactory.createWrapLabel(fMainComposite, heading, 2);
 			fMessage = SWTFactory.createWrapLabel(fMainComposite, IInternalDebugCoreConstants.EMPTY_STRING, 2, 250);
 		}
-		
+
 		public void setMessage(String msg) {
 			fMessage.setText((msg == null ? IInternalDebugCoreConstants.EMPTY_STRING : msg));
 		}
-		
+
 		public void refreshPanel(IStructuredSelection selection) {
 			//get rid of any existing children, but leave the first two (the label for the control, and the message area)
 			Control[] children = fMainComposite.getChildren();
@@ -189,7 +189,7 @@
 			fMainComposite.layout();
 		}
 	}
-	
+
 	/**
 	 * Widgets
 	 */
@@ -198,7 +198,7 @@
 	private Tree fTree = null;
 	private PerspectivesTreeViewer fTreeViewer = null;
 	private PerspectivesPanel fPerspectivesPanel = null;
-	
+
 	/**
 	 * Caches
 	 */
@@ -206,7 +206,7 @@
 	private static Map<String, String> fgPerspectiveIdMap = null;
 	private static HashSet<PerspectiveChange> fgChangeSet = null;
 	private static HashSet<Object> fgCurrentWorkingContext = null;
-	
+
 	/**
 	 * A default selection listener to be reused by all combo boxes presenting perspective data
 	 */
@@ -246,12 +246,12 @@
 			}
 		}
 	};
-	
+
 	/**
 	 * Constructor
 	 */
 	public LaunchPerspectivePreferencePage() {}
-	
+
 	/**
 	 * @see org.eclipse.jface.dialogs.DialogPage#dispose()
 	 */
@@ -278,23 +278,23 @@
 		super.createControl(parent);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.PERSPECTIVE_PREFERENCE_PAGE);
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	protected Control createContents(Composite parent) {
-		
+
 		SWTFactory.createWrapLabel(parent, DebugPreferencesMessages.PerspectivePreferencePage_0, 2, 300);
-		
+
 		SWTFactory.createVerticalSpacer(parent, 1);
-		
+
 		fSwitchLaunch = new RadioGroupFieldEditor(
 				IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE,
 				DebugPreferencesMessages.LaunchingPreferencePage_11, 3,
 				new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_12, MessageDialogWithToggle.ALWAYS },
 							{ DebugPreferencesMessages.LaunchingPreferencePage_13, MessageDialogWithToggle.NEVER },
-							{ DebugPreferencesMessages.LaunchingPreferencePage_14, MessageDialogWithToggle.PROMPT } }, 
+							{ DebugPreferencesMessages.LaunchingPreferencePage_14, MessageDialogWithToggle.PROMPT } },
 							SWTFactory.createComposite(parent, 1, 2, GridData.FILL_HORIZONTAL),
 							true);
 		fSwitchLaunch.setPreferenceName(IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE);
@@ -304,12 +304,12 @@
 				DebugPreferencesMessages.DebugPreferencePage_21, 3,
 				new String[][] {{ DebugPreferencesMessages.DebugPreferencePage_22, MessageDialogWithToggle.ALWAYS },
 								{ DebugPreferencesMessages.DebugPreferencePage_23, MessageDialogWithToggle.NEVER },
-								{ DebugPreferencesMessages.DebugPreferencePage_24, MessageDialogWithToggle.PROMPT } }, 
+								{ DebugPreferencesMessages.DebugPreferencePage_24, MessageDialogWithToggle.PROMPT } },
 								SWTFactory.createComposite(parent, 1, 2, GridData.FILL_HORIZONTAL),
 								true);
 		fSwitchSuspend.setPreferenceName(IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND);
 		fSwitchSuspend.setPreferenceStore(getPreferenceStore());
-		
+
 		SWTFactory.createVerticalSpacer(parent, 1);
 		SWTFactory.createWrapLabel(parent, DebugPreferencesMessages.PerspectivePreferencePage_5, 2, 300);
 		Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 2, 1, GridData.FILL_BOTH, 0, 0);
@@ -320,7 +320,7 @@
 		Dialog.applyDialogFont(parent);
 		return parent;
 	}
-	
+
 	/**
 	 * Creates the <code>Tree</code> and <code>TreeViewer</code> widgets
 	 * @param parent the parent to add these components to
@@ -357,7 +357,7 @@
 		fTreeViewer.addFilter(new LaunchCategoryFilter(IInternalDebugUIConstants.ID_EXTERNAL_TOOL_BUILDER_LAUNCH_CATEGORY));
 		fTreeViewer.setInput(DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes());
 	}
-	
+
 	/**
 	 * Creates a set of combo boxes on a per-selection basis that display a listing of available perspectives to switch to
 	 * @param parent the parent to add the created combo boxes to
@@ -393,11 +393,11 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns the text item to select for the current combo context given the current working set context
-	 * @param modes the set of modes 
-	 * @return the text to select in the current combo / current working set context, or "None" 
+	 * @param modes the set of modes
+	 * @return the text to select in the current combo / current working set context, or "None"
 	 */
 	private String getComboSelection(Set<String> modes) {
 		String text = DebugPreferencesMessages.PerspectivePreferencePage_4;
@@ -441,12 +441,12 @@
 				}
 			}
 		}
-			
+
 		return text;
 	}
-	
+
 	/**
-	 * Traverses the current change set to find a matching change. Matching in this context considers only the 
+	 * Traverses the current change set to find a matching change. Matching in this context considers only the
 	 * type, delegate and mode set, we do not compare perspective ids, as they can change many times.
 	 * @param type the type
 	 * @param delegate the delegate, possibly <code>null</code>
@@ -462,11 +462,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Collects a list of mode sets that are common to the current selection
 	 * context. It is possible that there are no mode sets in common.
-	 * 
+	 *
 	 * @param selection the current selection context
 	 * @return a list of mode sets or an empty list, never <code>null</code>
 	 */
@@ -503,9 +503,9 @@
 		}
 		return common;
 	}
-	
+
 	/**
-	 * Returns if the specified mode set is common to the listing of delegates, at the same time adding any not common 
+	 * Returns if the specified mode set is common to the listing of delegates, at the same time adding any not common
 	 * mode sets to a listing used to prune the search as we go along
 	 * @param modeset the set to test for commonality
 	 * @param delegates the listing to test against
@@ -527,7 +527,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Restores the widget state from the preference store, called after all of the widgets have been created and triggers
 	 * a selection changed event from the tree viewer
@@ -542,7 +542,7 @@
 		fSwitchLaunch.load();
 		fSwitchSuspend.load();
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
 	 */
@@ -551,7 +551,7 @@
 		fgChangeSet.clear();
 		fSwitchLaunch.loadDefault();
 		fSwitchSuspend.loadDefault();
-		
+
 		PerspectiveManager pm = DebugUIPlugin.getDefault().getPerspectiveManager();
 		TreeItem[] items = fTree.getItems();
 		ILaunchConfigurationType type = null;
@@ -613,7 +613,7 @@
 			fTreeViewer.refresh();
 		}
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java
index cd0e146..58f741a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchersPreferencePage.java
@@ -55,10 +55,10 @@
 /**
  * This class provides a preference page for selecting and changing preferred launch delegates for those of them
  * that have conflicting delegates.
- * 
- * Delegates are considered to be conflicting if they are for the same launch configuration type, and apply to the same 
+ *
+ * Delegates are considered to be conflicting if they are for the same launch configuration type, and apply to the same
  * mode sets.
- * 
+ *
  * @since 3.3
  */
 public class LaunchersPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
@@ -70,13 +70,13 @@
 		private ILaunchConfigurationType fType = null;
 		private ILaunchDelegate[] fDelegates = null;
 		private Set<String> fModes = null;
-		
+
 		public DuplicateDelegate(ILaunchConfigurationType type, ILaunchDelegate[] delegates, Set<String> modes) {
 			fModes = modes;
 			fType = type;
 			fDelegates = delegates;
 		}
-		
+
 		public ILaunchConfigurationType getType() {
 			return fType;
 		}
@@ -88,7 +88,7 @@
 			return fModes;
 		}
 	}
-	
+
 	/**
 	 * label provider to extend the default one, provides labels to both the tree and table of this page
 	 */
@@ -108,7 +108,7 @@
 			return element.toString();
 		}
 	}
-	
+
 	/**
 	 * This class is used to provide content to the tree
 	 */
@@ -139,14 +139,14 @@
 		@Override
 		public Object getParent(Object element) {return null;}
 	}
-	
+
 	private TreeViewer fTreeViewer = null;
 	private CheckboxTableViewer fTableViewer = null;
 	private Map<ILaunchConfigurationType, Set<DuplicateDelegate>> fDuplicates = null;
 	private Map<DuplicateDelegate, ILaunchDelegate> fDupeSelections = null;
 	private boolean fDirty = false;
 	private Text fDescription = null;
-	
+
 	/**
 	 * Constructor
 	 */
@@ -170,13 +170,13 @@
 	protected Control createContents(Composite parent) {
 		Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
 		SWTFactory.createWrapLabel(comp, DebugPreferencesMessages.LaunchDelegatesPreferencePage_1, 2, 300);
-		
+
 		boolean enabled = fDuplicates.size() > 0;
 		if(!enabled) {
 			SWTFactory.createVerticalSpacer(comp, 1);
 			SWTFactory.createWrapLabel(comp, DebugPreferencesMessages.LaunchersPreferencePage_0, 2, 300);
 		}
-		
+
 		SWTFactory.createVerticalSpacer(comp, 1);
 	//tree
 		Composite comp1 = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_VERTICAL);
@@ -213,7 +213,7 @@
 				}
 			}
 		});
-		
+
 	//table
 		Composite comp2 = SWTFactory.createComposite(comp, comp.getFont(), 1, 1, GridData.FILL_BOTH);
 		SWTFactory.createLabel(comp2, DebugPreferencesMessages.LaunchDelegatesPreferencePage_3, 1);
@@ -245,7 +245,7 @@
 				Object element = event.getElement();
 				boolean checked = event.getChecked();
 				//always set checked, this way users cannot 'undo' a change to selecting a preferred delegate
-				//The story for this is that on startup if there are dupes, the user is prompted to pick a delegate, after that they cannot 
+				//The story for this is that on startup if there are dupes, the user is prompted to pick a delegate, after that they cannot
 				//return to a state of not being able to launch something, but can pick a different delegate
 				fTableViewer.setCheckedElements(new Object[] {element});
 				//set the selection to be the checked element
@@ -282,7 +282,7 @@
 				delegate = fDupeSelections.get(dd);
 				try {
 					dd.getType().setPreferredDelegate(dd.getModeSet(), delegate);
-				} 
+				}
 				catch (CoreException e) {DebugUIPlugin.log(e);}
 			}
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
index e708888..c1af367 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
@@ -39,17 +39,17 @@
 
 /**
  * A preference page for configuring launching preferences.
- * 
+ *
  * @since 3.0.0
  */
 public class LaunchingPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-	
+
 	private Button fUseContextLaunching;
 	private Button fUseOldLaunching;
 	private Button fLaunchLastIfNotLaunchable;
 	private Button fCheckParent;
 	private Button fTerminatAndRelaunch;
-	
+
 	/**
 	 * The default constructor
 	 */
@@ -57,7 +57,7 @@
 		super();
 		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -74,43 +74,43 @@
 	protected Control createContents(Composite parent) {
 		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);
 		//save dirty editors
-		FieldEditor edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, DebugPreferencesMessages.LaunchingPreferencePage_2, 3,  
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_3, MessageDialogWithToggle.ALWAYS}, 
+		FieldEditor edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, DebugPreferencesMessages.LaunchingPreferencePage_2, 3,
+				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_3, MessageDialogWithToggle.ALWAYS},
 				 {DebugPreferencesMessages.LaunchingPreferencePage_4, MessageDialogWithToggle.NEVER},
-				 {DebugPreferencesMessages.LaunchingPreferencePage_5, MessageDialogWithToggle.PROMPT}}, 
-				 comp,
-				 true);	
-		addField(edit);
-		
-		//wait for build
-		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD, 
-				 DebugPreferencesMessages.LaunchingPreferencePage_6, 3,
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_7, MessageDialogWithToggle.ALWAYS}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_8, MessageDialogWithToggle.NEVER}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_9, MessageDialogWithToggle.PROMPT}}, 
+				 {DebugPreferencesMessages.LaunchingPreferencePage_5, MessageDialogWithToggle.PROMPT}},
 				 comp,
 				 true);
 		addField(edit);
-		
+
+		//wait for build
+		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD,
+				 DebugPreferencesMessages.LaunchingPreferencePage_6, 3,
+				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_7, MessageDialogWithToggle.ALWAYS},
+				 {DebugPreferencesMessages.LaunchingPreferencePage_8, MessageDialogWithToggle.NEVER},
+				 {DebugPreferencesMessages.LaunchingPreferencePage_9, MessageDialogWithToggle.PROMPT}},
+				 comp,
+				 true);
+		addField(edit);
+
 		//re-launch in debug mode
 		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE,
-				 DebugPreferencesMessages.LaunchingPreferencePage_15, 3, 
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_16, MessageDialogWithToggle.ALWAYS}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_17, MessageDialogWithToggle.NEVER}, 
-				 {DebugPreferencesMessages.LaunchingPreferencePage_18, MessageDialogWithToggle.PROMPT}}, 
+				 DebugPreferencesMessages.LaunchingPreferencePage_15, 3,
+				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_16, MessageDialogWithToggle.ALWAYS},
+				 {DebugPreferencesMessages.LaunchingPreferencePage_17, MessageDialogWithToggle.NEVER},
+				 {DebugPreferencesMessages.LaunchingPreferencePage_18, MessageDialogWithToggle.PROMPT}},
 				 comp,
 				 true);
 		addField(edit);
-		
+
 		//continue with compile errors
 		edit = new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR,
-				 DebugPreferencesMessages.LaunchingPreferencePage_21, 2, 
-				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_22, MessageDialogWithToggle.ALWAYS},  
-				 {DebugPreferencesMessages.LaunchingPreferencePage_23, MessageDialogWithToggle.PROMPT}},  
+				 DebugPreferencesMessages.LaunchingPreferencePage_21, 2,
+				 new String[][] {{DebugPreferencesMessages.LaunchingPreferencePage_22, MessageDialogWithToggle.ALWAYS},
+				 {DebugPreferencesMessages.LaunchingPreferencePage_23, MessageDialogWithToggle.PROMPT}},
 				 comp,
 				 true);
 		addField(edit);
-		
+
 		//filtering options
 		Group group = SWTFactory.createGroup(comp, DebugPreferencesMessages.LaunchingPreferencePage_36, 1, 1, GridData.FILL_HORIZONTAL);
 		Composite spacer = SWTFactory.createComposite(group, 1, 1, GridData.FILL_HORIZONTAL);
@@ -120,11 +120,11 @@
 		edit = new BooleanFieldEditor(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, DebugPreferencesMessages.LaunchingPreferencePage_10, SWT.NONE, spacer);
 		edit.fillIntoGrid(spacer, 2);
 		addField(edit);
-		
+
 		edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_REMOVE_FROM_LAUNCH_HISTORY, DebugPreferencesMessages.LaunchingPreferencePage_confirm_0, spacer);
 		edit.fillIntoGrid(spacer, 2);
 		addField(edit);
-		
+
 		//history list size preference
 		IntegerFieldEditor editor = new IntegerFieldEditor(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, DebugPreferencesMessages.DebugPreferencePage_10, spacer);
 		editor.fillIntoGrid(spacer, 2);
@@ -135,7 +135,7 @@
 		editor.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
 		editor.setValidRange(1, historyMax);
 		editor.setEmptyStringAllowed(false);
-		
+
 		//CONTEXTLAUNCHING
 		createContextLaunchingControls(comp);
 		initialize();
@@ -144,10 +144,10 @@
 	}
 
 	/**
-	 * Creates the context launching portion of the page, which includes two radio buttons and 
+	 * Creates the context launching portion of the page, which includes two radio buttons and
 	 * a nested check box
 	 * @param parent the parent to add this control to
-	 * 
+	 *
 	 * @since 3.3.0
 	 * CONTEXTLAUNCHING
 	 */
@@ -172,7 +172,7 @@
 		layout.marginHeight = 0;
 		fCheckParent = SWTFactory.createRadioButton(space, DebugPreferencesMessages.LaunchingPreferencePage_39);
 		fLaunchLastIfNotLaunchable = SWTFactory.createRadioButton(space, DebugPreferencesMessages.LaunchingPreferencePage_41);
-		
+
 		fTerminatAndRelaunch = SWTFactory.createCheckButton(group, DebugPreferencesMessages.LaunchingPreferencePage_42, null, false, 1);
 
 		// initialize the buttons
@@ -188,13 +188,13 @@
 		value = getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TERMINATE_AND_RELAUNCH_LAUNCH_ACTION);
 		fTerminatAndRelaunch.setSelection(value);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
 	 */
 	@Override
 	public void init(IWorkbench workbench) {}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
 	 */
@@ -212,7 +212,7 @@
 		fTerminatAndRelaunch.setSelection(value);
 		super.performDefaults();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
index ba34509..048427d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
@@ -40,7 +40,7 @@
 public class ProcessPropertyPage extends PropertyPage {
 
 	private static Font fHeadingFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT);
-	
+
 	/**
 	 * Constructor for ProcessPropertyPage
 	 */
@@ -55,9 +55,9 @@
 	protected Control createContents(Composite ancestor) {
 		noDefaultAndApplyButton();
 		Composite parent = SWTFactory.createComposite(ancestor, ancestor.getFont(), 1, 1, GridData.FILL_BOTH);
-		
+
 		IProcess proc = getProcess();
-		
+
 	//create the process time section
 		SWTFactory.createLabel(parent, DebugPreferencesMessages.ProcessPropertyPage_0, fHeadingFont, 1);
 		Text text = SWTFactory.createText(parent, SWT.READ_ONLY, 1);
@@ -66,9 +66,9 @@
 		text.setText(getTimeText(proc));
 		text.setBackground(parent.getBackground());
 		SWTFactory.createVerticalSpacer(parent, 2);
-		
+
 	//create the path name section
-		SWTFactory.createLabel(parent, DebugPreferencesMessages.ProcessPropertyPage_1, fHeadingFont, 1);		
+		SWTFactory.createLabel(parent, DebugPreferencesMessages.ProcessPropertyPage_1, fHeadingFont, 1);
 		text = SWTFactory.createText(parent, SWT.WRAP | SWT.READ_ONLY, 1);
 		((GridData)text.getLayoutData()).horizontalIndent = 10;
 		text.setText(getPathText(proc));
@@ -82,12 +82,12 @@
 		text.setText(getWorkingDirectory(proc));
 		text.setBackground(parent.getBackground());
 		SWTFactory.createVerticalSpacer(parent, 2);
-		
+
 	//create command line section
 		SWTFactory.createLabel(parent, DebugPreferencesMessages.ProcessPropertyPage_Command_Line__1, fHeadingFont, 1);
-		StyledText styledText = SWTFactory.createStyledText(parent, 
-				SWT.WRAP | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL, 
-				1, 
+		StyledText styledText = SWTFactory.createStyledText(parent,
+				SWT.WRAP | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL,
+				1,
 				convertWidthInCharsToPixels(13),
 				convertHeightInCharsToPixels(10),
 				GridData.FILL_BOTH);
@@ -102,13 +102,13 @@
 				// render as one argument per line, but don't copy line delimiters to clipboard:
 				final int[] segments = new int[count - 1];
 				commandLineText = DebugPlugin.renderArguments(arguments, segments);
-				
+
 				styledText.addBidiSegmentListener(new BidiSegmentListener() {
 					@Override
 					public void lineGetSegments(BidiSegmentEvent event) {
 						int offset = event.lineOffset;
 						int end = offset + event.lineText.length();
-						
+
 						// extract segments for the current line:
 						int iStart = Arrays.binarySearch(segments, offset);
 						if (iStart < 0) {
@@ -138,27 +138,27 @@
 		if(commandLineText != null) {
 			styledText.setText(commandLineText);
 		}
-		
+
 	//create environment section
 		SWTFactory.createLabel(parent, DebugPreferencesMessages.ProcessPropertyPage_7, fHeadingFont, 1);
-		text = SWTFactory.createText(parent, 
-				SWT.H_SCROLL | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL, 
-				1, 
+		text = SWTFactory.createText(parent,
+				SWT.H_SCROLL | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL,
+				1,
 				convertWidthInCharsToPixels(13),
 				convertHeightInCharsToPixels(8),
 				GridData.FILL_BOTH);
 		text.setBackground(parent.getBackground());
 		((GridData)text.getLayoutData()).horizontalIndent = 10;
 		text.setText(getEnvironment(proc));
-		
+
 		setTitle(DebugPreferencesMessages.ProcessPropertyPage_2);
 		return parent;
 	}
-	
+
 	/**
 	 * Gets the process from the selected element
 	 * @return the process or null if the element is not a process
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private IProcess getProcess() {
@@ -172,12 +172,12 @@
 		}
 		return proc;
 	}
-	
+
 	/**
 	 * returns the path text
 	 * @param proc the process to extract the path text from
 	 * @return the path text or a message indicating no path text available
-	 * 
+	 *
 	 * @see DebugPlugin#ATTR_PATH
 	 * @since 3.2
 	 */
@@ -197,14 +197,14 @@
 		}
 		return text;
 	}
-	
+
 	/**
 	 * gets the pattern of text from the process label specified by RegEx
 	 * @param proc the process to compile the RegEx against
 	 * @param deftext the default text to return if the process is null
 	 * @param regex the RegEx to match in the process label
 	 * @return the RegEx matched text or the default supplied text if the process is null
-	 * 
+	 *
 	 * @see DebugPlugin#ATTR_RUN_AT_TIME
 	 * @since 3.2
 	 */
@@ -238,12 +238,12 @@
 		}
 		return text;
 	}
-	
+
 	/**
 	 * Initializes the text to be displayed in the environment text widget
 	 * @param proc
 	 * @return the environment path or a default string never <code>null</code>
-	 * 
+	 *
 	 * @see DebugPlugin#ATTR_ENVIRONMENT
 	 * @since 3.8
 	 */
@@ -257,13 +257,13 @@
 		}
 		return env;
 	}
-	
+
 	/**
 	 * Initializes the text to be displayed in the working directory text widget
-	 * 
+	 *
 	 * @param proc
 	 * @return the text to display or a default {@link String} never <code>null</code>
-	 * 
+	 *
 	 * @see DebugPlugin#ATTR_WORKING_DIRECTORY
 	 * @since 3.8
 	 */
@@ -277,7 +277,7 @@
 		}
 		return wd;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java
index 02e0309..1293d66 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/RunDebugPropertiesPage.java
@@ -64,13 +64,13 @@
 
 /**
  * Displays default launch configuration settings for a selected resource - associated launch configurations.
- * 
+ *
  * @see PropertyPage
  * @see ILaunchConfiguration
  * @see LaunchConfigurationsDialog
- * 
+ *
  * CONTEXTLAUNCHING
- * 
+ *
  * @since 3.3.0
  */
 public class RunDebugPropertiesPage extends PropertyPage {
@@ -78,29 +78,29 @@
 	 * Set of configurations to be deleted
 	 */
 	private Set<ILaunchConfigurationWorkingCopy> fDeletedConfigurations = new HashSet<ILaunchConfigurationWorkingCopy>();
-	
+
 	/**
 	 * Set of original default candidates for the resource
 	 */
 	private Set<ILaunchConfiguration> fOriginalCandidates;
-	
+
 	/**
 	 * Holds configurations that need to be saved when the page closes
 	 */
 	private Set<ILaunchConfigurationWorkingCopy> fChangedConfigurations = new HashSet<ILaunchConfigurationWorkingCopy>();
-	
+
 	/**
 	 * List of the applicable launch config types for the backing resource
 	 */
 	private List<ILaunchConfigurationType> fTypeCandidates = null;
-	
+
 	//widgets
 	private TableViewer fViewer;
 	private Button fNewButton = null;
 	private Button fEditButton = null;
 	private Button fDuplicateButton = null;
 	private Button fDeleteButton = null;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
 	 */
@@ -109,12 +109,12 @@
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugHelpContextIds.RUN_DEBUG_RESOURCE_PROPERTY_PAGE);
 		collectConfigCandidates(getResource());
 		Composite topComposite = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
-		
+
 		SWTFactory.createWrapLabel(topComposite, DebugPreferencesMessages.DefaultLaunchConfigurationsPropertiesPage_0, 2, 300);
 		SWTFactory.createVerticalSpacer(topComposite, 2);
 		SWTFactory.createWrapLabel(topComposite, MessageFormat.format(DebugPreferencesMessages.DefaultLaunchConfigurationsPropertiesPage_1, new Object[] { getResource().getName() }), 2, 300);
 		fViewer = createViewer(topComposite);
-		
+
 		Composite buttonComp = SWTFactory.createComposite(topComposite, 1, 1, GridData.FILL_VERTICAL);
 		GridLayout layout = (GridLayout) buttonComp.getLayout();
 		layout.marginHeight = 0;
@@ -129,7 +129,7 @@
 				handleNew();
 			}
 		});
-		
+
 		fDuplicateButton = SWTFactory.createPushButton(buttonComp, DebugPreferencesMessages.DefaultLaunchConfigurationsPropertiesPage_4, null);
 		fDuplicateButton.setToolTipText(DebugPreferencesMessages.DefaultLaunchConfigurationsPropertiesPage_5);
 		fDuplicateButton.setEnabled(false);
@@ -163,7 +163,7 @@
 				handleDelete();
 			}
 		});
-		
+
 		fViewer.setSelection(new StructuredSelection());
 		applyDialogFont(topComposite);
 		return topComposite;
@@ -171,7 +171,7 @@
 
 	/**
 	 * Creates and returns the viewer that will display the possible default configurations.
-	 * 
+	 *
 	 * @param parent parent composite to create the viewer in
 	 * @return viewer viewer that will display possible default configurations
 	 */
@@ -229,13 +229,13 @@
 
 	/**
 	 * Returns the viewer displaying possible default configurations.
-	 * 
+	 *
 	 * @return viewer
 	 */
 	protected TableViewer getViewer() {
 		return fViewer;
 	}
-		
+
 	/**
 	 * Returns the launch manager
 	 * @return the launch manager
@@ -243,10 +243,10 @@
 	protected LaunchManager getLaunchManager() {
 		return (LaunchManager) DebugPlugin.getDefault().getLaunchManager();
 	}
-	
+
 	/**
 	 * Collects the applicable launch configuration types for the backing resource.
-	 * Default implementation uses the launch shortcut evaluation expressions and leverages the 
+	 * Default implementation uses the launch shortcut evaluation expressions and leverages the
 	 * mapping of launch shortcut to config type id to derive the applicable types.
 	 * @return the listing of applicable launch configuration types for the backing resource
 	 */
@@ -257,7 +257,7 @@
 			for(int i = 0; i < types.length; i++) {
 				fTypeCandidates.add(DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(types[i]));
 			}
-			 
+
 			Collections.sort(fTypeCandidates, new Comparator<ILaunchConfigurationType>() {
 				@Override
 				public int compare(ILaunchConfigurationType o1, ILaunchConfigurationType o2) {
@@ -269,11 +269,11 @@
 		}
 		return fTypeCandidates.toArray(new ILaunchConfigurationType[fTypeCandidates.size()]);
 	}
-	
+
 	/**
 	 * Returns a set of potential default configurations candidates for the given
 	 * resource. The configurations are working copies.
-	 *  
+	 *
 	 * @param resource resource
 	 * @return list of default candidates
 	 */
@@ -290,12 +290,12 @@
 		}
 		return fOriginalCandidates;
 	}
-	
-	
-	
+
+
+
 	/**
 	 * Returns the resource this property page is open on.
-	 * 
+	 *
 	 * @return resource
 	 */
 	protected IResource getResource() {
@@ -314,9 +314,9 @@
 	 */
 	@Override
 	public boolean performOk() {
-	//delete 
+	//delete
 		for (ILaunchConfigurationWorkingCopy currentConfig : fDeletedConfigurations) {
-			try{			
+			try{
 				if (currentConfig.getOriginal() != null){
 					currentConfig.getOriginal().delete();
 				}
@@ -332,7 +332,7 @@
 				DebugPlugin.logMessage("Problem saving changes to configuration " + currentConfig.getName(), e); //$NON-NLS-1$
 			}
 		}
-		
+
 		return super.performOk();
 	}
 
@@ -351,7 +351,7 @@
 		fViewer.refresh(true, true);
 		super.performDefaults();
 	}
-	
+
 	/**
 	 * Returns the names of the launch configurations passed in as original input to the tree viewer
 	 * @return the names of the original launch configurations
@@ -361,16 +361,16 @@
 		for(ILaunchConfiguration config : fOriginalCandidates) {
 			names.add(config.getName());
 		}
-		
+
 		for(ILaunchConfigurationWorkingCopy config : fChangedConfigurations) {
 			names.add(config.getName());
 		}
 		return names;
 	}
-	
+
 	/**
 	 * Returns selected configurations.
-	 * 
+	 *
 	 * @return selected configurations
 	 */
 	private ILaunchConfigurationWorkingCopy[] getSelectedConfigurations() {
@@ -419,8 +419,8 @@
 	 * Edit the selection
 	 */
 	private void handleEdit() {
-		ILaunchConfigurationWorkingCopy config = getSelectedConfigurations()[0]; 
-		int ret = edit(config, false); 
+		ILaunchConfigurationWorkingCopy config = getSelectedConfigurations()[0];
+		int ret = edit(config, false);
 		if(ret == IDialogConstants.OK_ID) {
 			fChangedConfigurations.add(config);
 			fViewer.refresh(config, true, true);
@@ -433,7 +433,7 @@
 	/**
 	 * Edits the given configuration as a nested working copy.
 	 * Returns the code from the dialog used to edit the configuration.
-	 * 
+	 *
 	 * @param configuration the configuration working copy to editor
 	 * @param setDefaults whether to set default values in the config
 	 * @return dialog return code - OK or CANCEL
@@ -473,9 +473,9 @@
 	 * Create a new configuration
 	 */
 	private void handleNew() {
-		
+
 		final ILaunchConfigurationType[] typeCandidates = collectTypeCandidates();
-		
+
 		SelectionDialog dialog = new AbstractDebugListSelectionDialog(getShell()){
 
 			/* (non-Javadoc)
@@ -493,7 +493,7 @@
 			protected Object getViewerInput() {
 				return typeCandidates;
 			}
-			
+
 			/* (non-Javadoc)
 			 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getHelpContextId()
 			 */
@@ -509,7 +509,7 @@
 			protected String getViewerLabel() {
 				return DebugPreferencesMessages.DefaultLaunchConfigurationsPropertiesPage_12;
 			}
-				
+
 		};
 		dialog.setTitle(DebugPreferencesMessages.DefaultLaunchConfigurationsPropertiesPage_11);
 
@@ -518,7 +518,7 @@
 			if (result.length == 1) {
 				ILaunchConfigurationType type = (ILaunchConfigurationType) result[0];
 				try {
-					ILaunchConfigurationWorkingCopy wc = type.newInstance(null, 
+					ILaunchConfigurationWorkingCopy wc = type.newInstance(null,
 							((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).
 							generateUniqueLaunchConfigurationNameFrom("New_configuration", getConfigurationNames())); //$NON-NLS-1$
 					int ret = edit(wc, true);
@@ -535,5 +535,5 @@
 				}
 			}
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
index b12cfba..4669c79 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
@@ -68,33 +68,33 @@
 /**
  * Preference page for creating and configuring simple
  * launch variables.
- * 
+ *
  * @see org.eclipse.debug.core.variables.IValueVariable
  * @see org.eclipse.debug.core.variables.ISimpleVariableRegistry
  */
 public class StringVariablePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
+
 	private TableViewer variableTable;
 	protected Button envAddButton;
 	protected Button envEditButton;
 	protected Button envRemoveButton;
-	
+
 	protected SimpleVariableContentProvider variableContentProvider= new SimpleVariableContentProvider();
-	
-	protected static final String NAME_LABEL= DebugPreferencesMessages.SimpleVariablePreferencePage_10; 
-	protected static final String VALUE_LABEL = DebugPreferencesMessages.SimpleVariablePreferencePage_11; 
-	protected static final String DESCRIPTION_LABEL = DebugPreferencesMessages.SimpleVariablePreferencePage_12; 
-	
+
+	protected static final String NAME_LABEL= DebugPreferencesMessages.SimpleVariablePreferencePage_10;
+	protected static final String VALUE_LABEL = DebugPreferencesMessages.SimpleVariablePreferencePage_11;
+	protected static final String DESCRIPTION_LABEL = DebugPreferencesMessages.SimpleVariablePreferencePage_12;
+
 	protected static final String STRING_VARIABLE_PREFERENCE_KEY = "StringVariablePreferencePage"; //$NON-NLS-1$
-	
+
 	protected static String[] variableTableColumnProperties= {
 		"variable", //$NON-NLS-1$
 		"value", //$NON-NLS-1$
 		"description" //$NON-NLS-1$
 	};
 	protected String[] variableTableColumnHeaders= {
-		DebugPreferencesMessages.SimpleVariablePreferencePage_3, 
-		DebugPreferencesMessages.SimpleVariablePreferencePage_4, 
+		DebugPreferencesMessages.SimpleVariablePreferencePage_3,
+		DebugPreferencesMessages.SimpleVariablePreferencePage_4,
 		DebugPreferencesMessages.SimpleVariablePreferencePage_5,
 		DebugPreferencesMessages.StringVariablePreferencePage_27
 	};
@@ -104,9 +104,9 @@
 		new ColumnWeightData(25),
 		new ColumnWeightData(20)
 	};
-	
+
 	public StringVariablePreferencePage() {
-		setDescription(DebugPreferencesMessages.SimpleVariablePreferencePage_6); 
+		setDescription(DebugPreferencesMessages.SimpleVariablePreferencePage_6);
 	}
 
 	/**
@@ -130,13 +130,13 @@
 		layout.numColumns= 2;
 		composite.setLayout(layout);
 		composite.setFont(font);
-		
+
 		createTable(composite);
 		createButtons(composite);
-				
+
 		return composite;
 	}
-	
+
 	/**
 	 * Creates and configures the table containing launch configuration variables
 	 * and their associated value.
@@ -178,14 +178,14 @@
 				}
 			}
 		});
-		
+
 		variableTable.addSelectionChangedListener(new ISelectionChangedListener() {
 			@Override
 			public void selectionChanged(SelectionChangedEvent event) {
 				handleTableSelectionChanged(event);
 			}
 		});
-		
+
 		variableTable.addDoubleClickListener(new IDoubleClickListener() {
 			@Override
 			public void doubleClick(DoubleClickEvent event) {
@@ -202,22 +202,22 @@
 				}
 			}
 		});
-	
+
 		for (int i = 0; i < variableTableColumnHeaders.length; i++) {
 			TableColumn tc = new TableColumn(table, SWT.NONE, i);
 			tc.setResizable(variableTableColumnLayouts[i].resizable);
 			tc.setText(variableTableColumnHeaders[i]);
 		}
-		
+
 		// Try restoring column widths from preferences, if widths aren't stored, init columns to default
 		if (!restoreColumnWidths()){
 			restoreDefaultColumnWidths();
 		}
-		
+
 		variableTable.setInput(getVariableManager());
 		variableTable.setLabelProvider(new SimpleVariableLabelProvider());
 	}
-	
+
 	/**
 	 * Creates the new/edit/remove buttons for the variable table
 	 * @param parent the composite in which the buttons should be created
@@ -233,9 +233,9 @@
 		buttonComposite.setLayout(glayout);
 		buttonComposite.setLayoutData(gdata);
 		buttonComposite.setFont(parent.getFont());
-		
+
 		// Create buttons
-		envAddButton = SWTFactory.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_7, null); 
+		envAddButton = SWTFactory.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_7, null);
 		envAddButton.addSelectionListener(new SelectionAdapter()
 		{
 			@Override
@@ -243,7 +243,7 @@
 				handleAddButtonPressed();
 			}
 		});
-		envEditButton = SWTFactory.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_8, null); 
+		envEditButton = SWTFactory.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_8, null);
 		envEditButton.addSelectionListener(new SelectionAdapter()
 		{
 			@Override
@@ -252,7 +252,7 @@
 			}
 		});
 		envEditButton.setEnabled(false);
-		envRemoveButton = SWTFactory.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_9, null); 
+		envRemoveButton = SWTFactory.createPushButton(buttonComposite, DebugPreferencesMessages.SimpleVariablePreferencePage_9, null);
 		envRemoveButton.addSelectionListener(new SelectionAdapter()
 		{
 			@Override
@@ -262,19 +262,19 @@
 		});
 		envRemoveButton.setEnabled(false);
 	}
-	
+
 	private void handleAddButtonPressed() {
 		boolean done = false;
 		String name = null;
 		String description = null;
 		String value = null;
 		while (!done){
-			
-			MultipleInputDialog dialog= new MultipleInputDialog(getShell(), DebugPreferencesMessages.SimpleVariablePreferencePage_13); 
+
+			MultipleInputDialog dialog= new MultipleInputDialog(getShell(), DebugPreferencesMessages.SimpleVariablePreferencePage_13);
 			dialog.addTextField(NAME_LABEL, name, false);
 			dialog.addBrowseField(VALUE_LABEL, value, true);
 			dialog.addTextField(DESCRIPTION_LABEL, description, true);
-	
+
 			if (dialog.open() != Window.OK) {
 				done = true;
 			}
@@ -292,9 +292,9 @@
 	 * whether the operation completed successfully (either the variable was added
 	 * successfully, or the user cancelled the operation).  Returns false if the name
 	 * is null or the user chooses not to overwrite an existing variable.
-	 *  
+	 *
 	 * @param name name of the variable, cannot be <code>null</code> or empty.
-	 * @param description description of the variable or <code>null</code> 
+	 * @param description description of the variable or <code>null</code>
 	 * @param value value of the variable or <code>null</code>
 	 * @return whether the operation completed successfully
 	 */
@@ -319,7 +319,7 @@
 								IDialogConstants.YES_LABEL,
 								IDialogConstants.NO_LABEL,
 								IDialogConstants.CANCEL_LABEL }, 0);
-						int overWrite= dialog.open(); 
+						int overWrite= dialog.open();
 						if (overWrite == 0) {
 							currentVariable.setValue(value);
 							currentVariable.setDescription(description);
@@ -339,7 +339,7 @@
 		variableTable.refresh();
 		return true;
 	}
-	
+
 	private void handleEditButtonPressed() {
 		IStructuredSelection selection= (IStructuredSelection) variableTable.getSelection();
 		VariableWrapper variable= (VariableWrapper) selection.getFirstElement();
@@ -352,7 +352,7 @@
 		MultipleInputDialog dialog = new MultipleInputDialog(getShell(), MessageFormat.format(DebugPreferencesMessages.SimpleVariablePreferencePage_14, new Object[] { name }));
 		dialog.addBrowseField(VALUE_LABEL, value, true);
 		dialog.addTextField(DESCRIPTION_LABEL, description, true);
-	
+
 		if (dialog.open() == Window.OK) {
 			value= dialog.getStringValue(VALUE_LABEL);
 			description= dialog.getStringValue(DESCRIPTION_LABEL);
@@ -365,7 +365,7 @@
 			variableTable.update(variable, null);
 		}
 	}
-	
+
 	/**
 	 * Remove the selection variables.
 	 */
@@ -389,10 +389,10 @@
 		VariableWrapper[] variables= variablesToRemove.toArray(new VariableWrapper[0]);
 		for (int i = 0; i < variables.length; i++) {
 			variables[i].setRemoved(true);
-		} 
+		}
 		variableTable.refresh();
 	}
-	
+
 	/**
 	 * Responds to a selection changed event in the variable table
 	 * @param event the selection change event
@@ -423,7 +423,7 @@
 		variableTable.refresh();
 		super.performDefaults();
 	}
-	
+
 	/**
 	 * Sets the saved state for reversion.
 	 */
@@ -442,7 +442,7 @@
 	private IStringVariableManager getVariableManager() {
 		return VariablesPlugin.getDefault().getStringVariableManager();
 	}
-	
+
 	public void saveColumnWidths() {
 		StringBuffer widthPreference = new StringBuffer();
 		for (int i = 0; i < variableTable.getTable().getColumnCount(); i++) {
@@ -453,7 +453,7 @@
 			DebugUIPlugin.getDefault().getPreferenceStore().setValue(STRING_VARIABLE_PREFERENCE_KEY, widthPreference.toString());
 		}
 	}
-	
+
 	private boolean restoreColumnWidths() {
 		String[] columnWidthStrings = DebugUIPlugin.getDefault().getPreferenceStore().getString(STRING_VARIABLE_PREFERENCE_KEY).split(","); //$NON-NLS-1$
 		int columnCount = variableTable.getTable().getColumnCount();
@@ -470,7 +470,7 @@
         }
 		return true;
 	}
-	
+
 	private void restoreDefaultColumnWidths(){
 		TableLayout layout = new TableLayout();
 		for (int i = 0; i < variableTableColumnLayouts.length; i++) {
@@ -478,31 +478,31 @@
 		}
 		variableTable.getTable().setLayout(layout);
 	}
-	
+
 	private class SimpleVariableContentProvider implements IStructuredContentProvider {
 		/**
 		 * The content provider stores variable wrappers for use during editing.
 		 */
 		private List<VariableWrapper> fWorkingSet = new ArrayList<VariableWrapper>();
-		
+
 		@Override
 		public Object[] getElements(Object inputElement) {
 			return fWorkingSet.toArray();
 		}
-				
+
 		/**
 		 * Adds the given variable to the 'wrappers'
-		 * 
+		 *
 		 * @param variable variable to add
 		 */
 		public void addVariable(VariableWrapper variable) {
 			fWorkingSet.add(variable);
-		}		
+		}
 
 		@Override
 		public void dispose() {
 		}
-		
+
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 			if (newInput == null || !(newInput instanceof IStringVariableManager)){
@@ -547,11 +547,11 @@
 				try {
 					manager.addVariables(add.toArray(new IValueVariable[add.size()]));
 				} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getShell(), DebugPreferencesMessages.StringVariablePreferencePage_24, DebugPreferencesMessages.StringVariablePreferencePage_25, e.getStatus()); // 
+				DebugUIPlugin.errorDialog(getShell(), DebugPreferencesMessages.StringVariablePreferencePage_24, DebugPreferencesMessages.StringVariablePreferencePage_25, e.getStatus()); //
 				}
 			}
 		}
-		
+
 		/**
 		 * Re-initializes to the variables currently stored in the manager.
 		 */
@@ -561,108 +561,108 @@
 			IValueVariable[] variables = manager.getValueVariables();
 			for (int i = 0; i < variables.length; i++) {
 				fWorkingSet.add(new VariableWrapper(variables[i]));
-			}			
+			}
 		}
-		
+
 		/**
 		 * Returns the 'working set' of variables
-		 * 
+		 *
 		 * @return the working set of variables (not yet saved)
 		 */
 		public List<VariableWrapper> getWorkingSetVariables() {
 			return fWorkingSet;
 		}
-		
+
 	}
-	
+
 	class VariableWrapper {
-		
+
 		protected IValueVariable fVariable;
 		protected String fNewName = null;
 		protected String fNewDesc = null;
 		protected String fNewValue = null;
 		boolean fRemoved = false;
 		boolean fAdded = false;
-		
+
 		public VariableWrapper(IValueVariable variable) {
 			fVariable = variable;
 		}
-		
+
 		public VariableWrapper(String name, String desc, String value) {
 			fNewName = name;
 			fNewDesc = desc;
 			fNewValue = value;
 			fAdded = true;
 		}
-		
+
 		public boolean isAdded() {
 			return fAdded;
 		}
-		
+
 		public String getName() {
 			if (fNewName == null) {
 				return fVariable.getName();
 			}
 			return fNewName;
 		}
-		
+
 		public void setName(String name) {
 			fNewName = name;
 		}
-		
+
 		public String getDescription() {
 			if (fNewDesc == null) {
 				return fVariable.getDescription();
 			}
 			return fNewDesc;
 		}
-		
+
 		public String getValue() {
 			if (fNewValue == null) {
 				return fVariable.getValue();
 			}
 			return fNewValue;
 		}
-		
+
 		public void setValue(String value) {
 			fNewValue = value;
 		}
-		
+
 		public void setDescription(String desc) {
 			fNewDesc = desc;
 		}
-		
+
 		public boolean isChanged() {
 			return !fAdded && !fRemoved && (fNewValue != null || fNewDesc != null);
 		}
-		
+
 		public boolean isReadOnly() {
 			if (fVariable == null) {
 				return false;
 			}
 			return fVariable.isReadOnly();
 		}
-		
+
 		public boolean isContributed() {
 			if (fVariable == null) {
 				return false;
 			}
 			return fVariable.isContributed();
 		}
-		
+
 		public IValueVariable getUnderlyingVariable() {
 			return fVariable;
 		}
-		
+
 		public boolean isRemoved() {
 			return fRemoved;
 		}
-		
+
 		public void setRemoved(boolean removed) {
 			fRemoved = removed;
 		}
 	}
-	
+
 	private class SimpleVariableLabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider {
 		@Override
 		public Image getColumnImage(Object element, int columnIndex) {
@@ -681,7 +681,7 @@
 						}
 						return name.toString();
 					case 1:
-						String value= variable.getValue(); 
+						String value= variable.getValue();
 						if (value == null) {
 							value= IInternalDebugCoreConstants.EMPTY_STRING;
 						}
@@ -697,15 +697,15 @@
 						if (variable.isContributed()) {
                             String pluginId = getVariableManager().getContributingPluginId(variable.getUnderlyingVariable());
                             if (pluginId != null) {
-                                contribution = pluginId; 
+                                contribution = pluginId;
                             } else {
-                                contribution = DebugPreferencesMessages.SimpleLaunchVariablePreferencePage_23; 
+                                contribution = DebugPreferencesMessages.SimpleLaunchVariablePreferencePage_23;
                             }
 						}
 						return contribution;
 					default:
 						break;
-						
+
 				}
 			}
 			return null;
@@ -715,7 +715,7 @@
 			if (element instanceof VariableWrapper) {
 				if (((VariableWrapper) element).isReadOnly()) {
 					Display display= Display.getCurrent();
-					return display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);		
+					return display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);
 				}
 			}
 			return null;
@@ -725,7 +725,7 @@
 			if (element instanceof VariableWrapper) {
 				if (((VariableWrapper) element).isReadOnly()) {
 					Display display= Display.getCurrent();
-					return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);		
+					return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);
 				}
 			}
 			return null;
@@ -741,6 +741,6 @@
 		public boolean select(Viewer viewer, Object parentElement, Object element) {
 			return !((VariableWrapper)element).isRemoved();
 		}
-		
+
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
index 2e2803c..5d90dee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
@@ -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
  *     Christian Georgi - Bug 388321 Perspectives are not sorted in debug's view management preference page
@@ -60,7 +60,7 @@
 	private boolean fResetPressed= false;
 	private PerspectiveLabelProvider fLabelProvider= null;
     private SelectionListener fSelectionListener= new SelectionAdapter() {
-    
+
         @Override
 		public void widgetSelected(SelectionEvent e) {
             Object source = e.getSource();
@@ -70,13 +70,13 @@
                 handleTrackViewsToggled();
             }
         }
-    
+
     };
-	
+
 	public ViewManagementPreferencePage() {
 		super();
-		setTitle(DebugPreferencesMessages.ViewManagementPreferencePage_1); 
-		setDescription(DebugPreferencesMessages.ViewManagementPreferencePage_0); 
+		setTitle(DebugPreferencesMessages.ViewManagementPreferencePage_1);
+		setDescription(DebugPreferencesMessages.ViewManagementPreferencePage_0);
 		setPreferenceStore(DebugUITools.getPreferenceStore());
 	}
 
@@ -98,13 +98,13 @@
 		composite.setLayout(new GridLayout());
 		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
 		composite.setFont(parent.getFont());
-		
+
 		createPerspectiveViewer(composite);
-		
+
 		createViewTrackingOptions(composite);
-		
+
 		Dialog.applyDialogFont(composite);
-		
+
 		return composite;
 	}
 
@@ -114,25 +114,25 @@
 	private void createViewTrackingOptions(Composite composite) {
 		fTrackViewsButton= new Button(composite, SWT.CHECK);
 		fTrackViewsButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fTrackViewsButton.setText(DebugPreferencesMessages.ViewManagementPreferencePage_3); 
+		fTrackViewsButton.setText(DebugPreferencesMessages.ViewManagementPreferencePage_3);
 		fTrackViewsButton.setSelection(DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS));
         fTrackViewsButton.addSelectionListener(fSelectionListener);
-		
+
 		Label label= new Label(composite, SWT.WRAP);
-		label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_4); 
+		label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_4);
 		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fResetViewsButton= SWTFactory.createPushButton(composite, DebugPreferencesMessages.ViewManagementPreferencePage_5, null); 
+
+		fResetViewsButton= SWTFactory.createPushButton(composite, DebugPreferencesMessages.ViewManagementPreferencePage_5, null);
 		((GridData) fResetViewsButton.getLayoutData()).horizontalAlignment= GridData.BEGINNING;
 		fResetViewsButton.addSelectionListener(fSelectionListener);
 		updateResetButton();
 	}
-    
+
     private void handleResetPressed() {
         fResetPressed= true;
         fResetViewsButton.setEnabled(false);
     }
-    
+
     protected void handleTrackViewsToggled() {
         if (fTrackViewsButton.getSelection()) {
             // When toggled on, possibly re-enable the reset button
@@ -148,13 +148,13 @@
 	 */
 	private void createPerspectiveViewer(Composite parent) {
 		Label label= new Label(parent, SWT.WRAP);
-		label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_2); 
+		label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_2);
 		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
+
 		Table table= new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
 		table.setLayout(new GridLayout());
 		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
+
 		fPerspectiveViewer= new CheckboxTableViewer(table);
 		PerspectiveProvider provider= new PerspectiveProvider();
 		fPerspectiveViewer.setContentProvider(provider);
@@ -162,7 +162,7 @@
 		fPerspectiveViewer.setLabelProvider(fLabelProvider);
 		fPerspectiveViewer.setComparator(new PerspectiveComparator());
 		fPerspectiveViewer.setInput(this);
-		
+
 		Set<String> perspectives;
 		String preference = DebugUIPlugin.getDefault().getPreferenceStore().getString(
             IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES);
@@ -173,7 +173,7 @@
         }
 		checkPerspectives(perspectives);
 	}
-	
+
 	private void checkPerspectives(Set<String> perspectives) {
 		fPerspectiveViewer.setAllChecked(false);
 		IPerspectiveRegistry registry= PlatformUI.getWorkbench().getPerspectiveRegistry();
@@ -196,21 +196,21 @@
 		    perspectives.add( ((IPerspectiveDescriptor)descriptors[i]).getId() );
 		}
 		if (perspectives.equals(ViewContextService.getDefaultEnabledPerspectives())) {
-		    getPreferenceStore().setValue(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES, 
+		    getPreferenceStore().setValue(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES,
 		                                  IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES_DEFAULT);
 		} else {
 		    StringBuffer buffer= new StringBuffer();
 			for (Iterator<String> itr = perspectives.iterator(); itr.hasNext();) {
-                buffer.append(itr.next()).append(',');		    
-    		} 
+                buffer.append(itr.next()).append(',');
+    		}
     		getPreferenceStore().setValue(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES, buffer.toString());
 		}
-		
+
 		boolean trackViews = fTrackViewsButton.getSelection();
         getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_TRACK_VIEWS, trackViews);
 		if (fResetPressed || !trackViews) {
             // Reset if the user has pressed reset or chosen to no longer track views
-			getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS, IInternalDebugCoreConstants.EMPTY_STRING); 
+			getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_USER_VIEW_BINDINGS, IInternalDebugCoreConstants.EMPTY_STRING);
 		}
 		return super.performOk();
 	}
@@ -233,7 +233,7 @@
 	@Override
 	public void init(IWorkbench workbench) {
 	}
-	
+
 	/**
 	 * Updates enablement of the reset button.
 	 * Enable if either persisted view collection is not empty.
@@ -247,7 +247,7 @@
 	}
 
 	private static class PerspectiveProvider implements IStructuredContentProvider {
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
 		 */
@@ -255,23 +255,23 @@
 		public Object[] getElements(Object inputElement) {
 			return PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 		 */
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
-		
+
         /* (non-Javadoc)
          * @see org.eclipse.jface.viewers.IContentProvider#dispose()
          */
         @Override
 		public void dispose() {
         }
-		
+
 	}
-	
+
 	private static class PerspectiveComparator extends ViewerComparator {
 
 	    @Override
@@ -282,7 +282,7 @@
 	    	return super.compare(viewer, e1, e2);
 	    }
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
index fa92e69..bbe6ac1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.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
  *******************************************************************************/
@@ -19,28 +19,28 @@
  * and the EditSourceLookupPathDialog.
  */
 public class AddContainerAction extends SourceContainerAction {
-	
+
 	private ISourceLookupDirector fDirector;
-	
+
 	public AddContainerAction() {
-		super(SourceLookupUIMessages.sourceTab_addButton); 
+		super(SourceLookupUIMessages.sourceTab_addButton);
 	}
-	
+
 	/**
 	 * Prompts for a project to add.
-	 * 
+	 *
 	 * @see org.eclipse.jface.action.IAction#run()
-	 */	
+	 */
 	@Override
 	public void run() {
 		AddSourceContainerDialog dialog = new AddSourceContainerDialog(getShell(), getViewer(), fDirector);
-		dialog.open();			
+		dialog.open();
 	}
-	
+
 	public void setSourceLookupDirector(ISourceLookupDirector director) {
 		fDirector = director;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
@@ -48,7 +48,7 @@
 	protected boolean updateSelection(IStructuredSelection selection) {
 		if(selection == null || selection.isEmpty()) {
 			return true;
-		} 
+		}
 		return getViewer().getTree().getSelection()[0].getParentItem()==null;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
index 56b4d95..cfcd7fb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
@@ -46,25 +46,25 @@
 /**
  * The dialog for adding new source containers. Presents the user with a list of
  * source container types and allows them to select one.
- * 
+ *
  * @since 3.0
  */
 public class AddSourceContainerDialog extends TitleAreaDialog {
-	
+
 	private TableViewer fViewer;
 	private SourceContainerViewer fSourceContainerViewer;
 	private ISourceLookupDirector fDirector;
-	
+
 	/**
 	 * Constructor
 	 * @param shell the shell to open this dialog on
 	 * @param viewer the view associated with this dialog
 	 * @param director the backing director
 	 */
-	public AddSourceContainerDialog(Shell shell, SourceContainerViewer viewer, ISourceLookupDirector director) {		
+	public AddSourceContainerDialog(Shell shell, SourceContainerViewer viewer, ISourceLookupDirector director) {
 		super(shell);
 		setShellStyle(getShellStyle() | SWT.RESIZE);
-		fSourceContainerViewer=viewer;		
+		fSourceContainerViewer=viewer;
 		fDirector = director;
 	}
 
@@ -72,22 +72,22 @@
 	 * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
-	protected Control createDialogArea(Composite parent) {			
-		
-		getShell().setText(SourceLookupUIMessages.addSourceLocation_title); 
-		setTitle(SourceLookupUIMessages.addSourceLocation_description); 
+	protected Control createDialogArea(Composite parent) {
+
+		getShell().setText(SourceLookupUIMessages.addSourceLocation_title);
+		setTitle(SourceLookupUIMessages.addSourceLocation_description);
 		setTitleImage(DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_LOC_WIZ));
 		setMessage(SourceLookupUIMessages.AddSourceContainerDialog_select_source_container);
-		
+
 		Composite comp = (Composite) super.createDialogArea(parent);
 		GridData gd= new GridData(GridData.FILL_BOTH);
 		GridLayout topLayout = new GridLayout();
 		topLayout.numColumns = 1;
 		comp.setLayout(topLayout);
-		comp.setLayoutData(gd);	
-				
+		comp.setLayoutData(gd);
+
 		ISourceContainerType[] types = filterTypes(DebugPlugin.getDefault().getLaunchManager().getSourceContainerTypes());
-		
+
 		fViewer = new TableViewer(comp, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE);
 		final Table table = fViewer.getTable();
 		gd = new GridData(GridData.FILL_BOTH);
@@ -99,9 +99,9 @@
 				okPressed();
 			}
 		});
-		
+
 		fViewer.setLabelProvider(new SourceContainerLabelProvider());
-		fViewer.setContentProvider(new ArrayContentProvider());			
+		fViewer.setContentProvider(new ArrayContentProvider());
 		fViewer.setComparator(new ViewerComparator());
 		fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 			@Override
@@ -118,13 +118,13 @@
 				}
 			}
 		});
-		if(types.length != 0) {	
+		if(types.length != 0) {
 			fViewer.setInput(types);
 		}
 		Dialog.applyDialogFont(comp);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), IDebugHelpContextIds.ADD_SOURCE_CONTAINER_DIALOG);
 		return comp;
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
@@ -132,12 +132,12 @@
 	@Override
 	protected void createButtonsForButtonBar(Composite parent) {
 		super.createButtonsForButtonBar(parent);
-		Table table = fViewer.getTable(); 
+		Table table = fViewer.getTable();
 		if(table.getItemCount() > 0) {
 			fViewer.setSelection(new StructuredSelection(table.getItem(0).getData()));
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
@@ -159,7 +159,7 @@
         }
 		super.okPressed();
 	}
-	
+
 	/**
 	 * Removes types without browsers from the provided list of types.
 	 * @param types the complete list of source container types
@@ -175,8 +175,8 @@
 					validTypes.add(type);
 				}
 			}
-		}	
+		}
 		return validTypes.toArray(new ISourceContainerType[validTypes.size()]);
-		
+
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
index 69dcd39..07bd44d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
@@ -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
  *     Lars Vogel <Lars.Vogel@vogella.com> - Bug 490755
@@ -19,7 +19,7 @@
 import org.eclipse.jface.viewers.ITreeContentProvider;
 /**
  * Provides content for a tree viewer that shows only containers.
- * 
+ *
  * @since 3.0
  */
 public class BasicContainerContentProvider implements ITreeContentProvider {
@@ -30,7 +30,7 @@
 	 */
 	public BasicContainerContentProvider() {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
 	 */
@@ -42,7 +42,7 @@
 			if (fShowClosedProjects) {
 				return allProjects;
 			}
-			
+
 			ArrayList<IProject> accessibleProjects = new ArrayList<IProject>();
 			for (int i = 0; i < allProjects.length; i++) {
 				if (allProjects[i].isOpen()) {
@@ -53,12 +53,12 @@
 		}
 		return new Object[0];
 	}
-	
+
 	@Override
 	public Object[] getElements(Object element) {
 		return getChildren(element);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
index ae48e46..a9fc031 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.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
  *******************************************************************************/
@@ -19,12 +19,12 @@
 
 /**
  * The action for sorting the order of source containers in the dialog.
- * 
+ *
  */
 public class DownAction	extends SourceContainerAction {
-	
+
 	public DownAction() {
-		super(SourceLookupUIMessages.sourceTab_downButton);  
+		super(SourceLookupUIMessages.sourceTab_downButton);
 	}
 	/**
 	 * @see IAction#run()
@@ -47,16 +47,16 @@
 				list.set(index, temp);
 			}
 			bottom = index;
-		} 
+		}
 		setEntries(list);
 	}
-	
+
 	/**
 	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
 	 */
 	@Override
 	protected boolean updateSelection(IStructuredSelection selection) {
-		return !selection.isEmpty() && !isIndexSelected(selection, getEntriesAsList().size() - 1) && getViewer().getTree().getSelection()[0].getParentItem()==null;	
+		return !selection.isEmpty() && !isIndexSelected(selection, getEntriesAsList().size() - 1) && getViewer().getTree().getSelection()[0].getParentItem()==null;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java
index 8fe5f5b..0608c22 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.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
  *******************************************************************************/
@@ -23,20 +23,20 @@
  * Action used to edit source containers on a source lookup path
  */
 public class EditContainerAction extends SourceContainerAction {
-	
+
 	private ISourceLookupDirector fDirector;
 	private ISourceContainer[] fContainers;
 	private ISourceContainerBrowser fBrowser;
-	
+
 	public EditContainerAction() {
-		super(SourceLookupUIMessages.EditContainerAction_0); 
+		super(SourceLookupUIMessages.EditContainerAction_0);
 	}
-	
+
 	/**
 	 * Prompts for a project to add.
-	 * 
+	 *
 	 * @see org.eclipse.jface.action.IAction#run()
-	 */	
+	 */
 	@Override
 	public void run() {
 		ISourceContainer[] replacements = fBrowser.editSourceContainers(getShell(), fDirector, fContainers);
@@ -52,11 +52,11 @@
 		}
 		getViewer().setEntries(existing);
 	}
-	
+
 	public void setSourceLookupDirector(ISourceLookupDirector director) {
 		fDirector = director;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java
index 36edc99..0c2e17c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.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
  *******************************************************************************/
@@ -28,24 +28,24 @@
 import org.eclipse.ui.actions.SelectionListenerAction;
 
 /**
- * The action for editing the source lookup path. Brings up the 
+ * The action for editing the source lookup path. Brings up the
  * EditSourceLookupPathDialog.
- * 
+ *
  * @since 3.0
  */
 public class EditSourceLookupPathAction extends SelectionListenerAction {
-	
+
 	private ISourceLookupDirector director = null;
 	private LaunchView fView = null;
-	
+
 	public EditSourceLookupPathAction(LaunchView view) {
-		super(SourceLookupUIMessages.EditSourceLookupPathAction_0); 
+		super(SourceLookupUIMessages.EditSourceLookupPathAction_0);
 		setEnabled(false);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.EDIT_SOURCELOOKUP_ACTION);
 		setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU));
 		fView = view;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
@@ -72,7 +72,7 @@
 	 */
 	@Override
 	public void run() {
-		Shell shell = DebugUIPlugin.getShell();		
+		Shell shell = DebugUIPlugin.getShell();
 		SourceLookupDialog dialog = new SourceLookupDialog(shell, director);
 		if (dialog.open() == Window.OK) {
 			ISelection selection = fView.getViewer().getSelection();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java
index eba0af7..8ca0ec4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.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
  *******************************************************************************/
@@ -23,22 +23,22 @@
 
 /**
  * Does source lookup for the selected stack frame again.
- * 
+ *
  * @since 3.0
  */
 public class LookupSourceAction extends SelectionListenerAction {
-	
+
 	private ISourceLookupDirector director = null;
 	private LaunchView fView = null;
 	private IStackFrame frame = null;
-	
+
 	public LookupSourceAction(LaunchView view) {
-		super(SourceLookupUIMessages.LookupSourceAction_0); 
+		super(SourceLookupUIMessages.LookupSourceAction_0);
 		setEnabled(false);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.LOOKUP_SOURCE_ACTION);
 		fView = view;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
index 295b139..c2aad19 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
@@ -32,7 +32,7 @@
 	/**
 	 * Prompts the user for input based on the given status and source
 	 * object, blocking the calling thread until the status is resolved.
-	 * 
+	 *
 	 * @param status client status code for which a status handler must
 	 *  be registered
 	 * @param source object requesting the status to be resolved
@@ -64,7 +64,7 @@
 		}
 		final Object[] result = new Object[1];
 		final CoreException[] exception = new CoreException[1];
-		final Object lock = this;		
+		final Object lock = this;
 		Runnable r = new Runnable() {
 			@Override
 			public void run() {
@@ -79,7 +79,7 @@
 			}
 		};
 		DebugUIPlugin.getStandardDisplay().syncExec(r);
-		
+
 		if (exception[0] != null ) {
 			throw exception[0];
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java
index 7107097..003c9ee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.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
  *******************************************************************************/
@@ -19,15 +19,15 @@
 
 /**
  * The action used to remove source containers in the source location dialog/tab.
- * 
+ *
  */
 public class RemoveAction extends SourceContainerAction {
 	public RemoveAction() {
-		super(SourceLookupUIMessages.sourceTab_removeButton); 
+		super(SourceLookupUIMessages.sourceTab_removeButton);
 	}
 	/**
 	 * Removes all selected entries.
-	 * 
+	 *
 	 * @see IAction#run()
 	 */
 	@Override
@@ -37,7 +37,7 @@
 		list.removeAll(targets);
 		setEntries(list);
 	}
-	
+
 	/**
 	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
 	 */
@@ -46,5 +46,5 @@
 		//check that something is selected and it is a root tree node.
 		return !selection.isEmpty() && getViewer().getTree().getSelection()[0].getParentItem()==null;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
index e794703..bfb8ace 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
@@ -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
  *******************************************************************************/
@@ -23,7 +23,7 @@
 
 /**
  * Status handler to prompt for duplicate source element resolution.
- * 
+ *
  * @since 3.0
  */
 public class ResolveDuplicatesHandler implements IStatusHandler {
@@ -36,7 +36,7 @@
 		List<?> sources = (List<?>) args[1];
 		return resolveSourceElement(sources);
 	}
-	
+
 	public Object resolveSourceElement(List<?> sources) {
 		Object file = null;
 		sources = removeSourceNotFoundEditors(sources);
@@ -47,16 +47,16 @@
 		}
 		ElementListSelectionDialog dialog = new ElementListSelectionDialog(DebugUIPlugin.getShell(), new SourceElementLabelProvider());
 		dialog.setMultipleSelection(false);
-		dialog.setTitle(SourceLookupUIMessages.ResolveDuplicatesHandler_0); 
-		dialog.setMessage(SourceLookupUIMessages.ResolveDuplicatesHandler_1); 
+		dialog.setTitle(SourceLookupUIMessages.ResolveDuplicatesHandler_0);
+		dialog.setMessage(SourceLookupUIMessages.ResolveDuplicatesHandler_1);
 		dialog.setElements(sources.toArray());
-		dialog.open();											
+		dialog.open();
 		if(dialog.getReturnCode() == Window.OK) {
-			file = dialog.getFirstResult();		
+			file = dialog.getFirstResult();
 		}
 		return file;
 	}
-	
+
 	/**
 	 * Remove extra source not found editors, if any.
 	 * If multiple source not found editors and no "real" source inputs,
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java
index 51b7e9e..b8c4a40 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.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
  *******************************************************************************/
@@ -17,21 +17,21 @@
 
 /**
  * The action for adding the default container to the list.
- * 
+ *
  * @since 3.0
  */
 public class RestoreDefaultAction extends SourceContainerAction {
-	
+
 	private ISourceLookupDirector fDirector;
 
 	public RestoreDefaultAction() {
-		super(SourceLookupUIMessages.sourceTab_defaultButton); 
+		super(SourceLookupUIMessages.sourceTab_defaultButton);
 	}
 	/**
 	 * @see IAction#run()
 	 */
 	@Override
-	public void run() {		
+	public void run() {
 		ISourceContainer[] containers = new ISourceContainer[1];
 		containers[0] = new DefaultSourceContainer();
 		containers[0].init(fDirector);
@@ -54,7 +54,7 @@
 			if(containers[0] instanceof DefaultSourceContainer) {
 				return false;
 			}
-		}		
-		return true;	
+		}
+		return true;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
index 29d6104..b6c5f55 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
@@ -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
  *******************************************************************************/
@@ -25,7 +25,7 @@
 
 /**
  * The abstract class for all source lookup actions.
- * 
+ *
  * @since 3.0
  */
 public abstract class SourceContainerAction extends SelectionListenerAction {
@@ -35,18 +35,18 @@
 	private Button fButton;
 	//the shell used to realize this action's dialog (if any)
 	private Shell fShell;
-	
+
 	/**
 	 * The constructor for the action
 	 * @param label the label for the action's button
 	 */
 	public SourceContainerAction(String label) {
-		super(label);		
+		super(label);
 	}
-	
+
 	/**
 	 * Sets the viewer on which this action operates.
-	 * 
+	 *
 	 * @param viewer the viewer on which this action operates
 	 */
 	public void setViewer(SourceContainerViewer viewer) {
@@ -59,20 +59,20 @@
 			update();
 		}
 	}
-	
+
 	/**
 	 * Returns the viewer on which this action operates.
-	 * 
+	 *
 	 * @return the viewer on which this action operates
 	 */
 	protected SourceContainerViewer getViewer() {
 		return fViewer;
 	}
-	
+
 	/**
 	 * Returns the selected items in the list, in the order they are
 	 * displayed.
-	 * 
+	 *
 	 * @return targets for an action
 	 */
 	protected List<ISourceContainer> getOrderedSelection() {
@@ -87,7 +87,7 @@
 		}
 		return targets;
 	}
-	
+
 	/**
 	 * Returns a list (copy) of the entries in the viewer
 	 */
@@ -99,7 +99,7 @@
 		}
 		return list;
 	}
-	
+
 	/**
 	 * Updates the entries to the entries in the given list
 	 */
@@ -108,7 +108,7 @@
 		// update all selection listeners
 		getViewer().setSelection(getViewer().getSelection());
 	}
-	
+
 	/**
 	 * Returns whether the item at the given index in the list
 	 * (visually) is selected.
@@ -127,7 +127,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Sets the button that invokes this action
 	 */
@@ -140,7 +140,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * @see IAction#setEnabled(boolean)
 	 */
@@ -151,14 +151,14 @@
 			fButton.setEnabled(enabled);
 		}
 	}
-	
+
 	/**
 	 * Updates the enabled state.
 	 */
 	protected void update() {
 		selectionChanged((IStructuredSelection) getViewer().getSelection());
 	}
-	
+
 	/**
 	 * Returns the shell used to realize this action's dialog (if any).
 	 */
@@ -168,12 +168,12 @@
 		}
 		return fShell;
 	}
-	
+
 	/**
 	 * Sets the shell used to realize this action's dialog (if any).
 	 */
 	public void setShell(Shell shell) {
 		fShell = shell;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java
index e8f2429..f075567 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.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
  *******************************************************************************/
@@ -16,7 +16,7 @@
 
 /**
  * Adapter factory for standard source containers.
- * 
+ *
  * @since 3.0
  */
 public class SourceContainerAdapterFactory implements IAdapterFactory {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java
index 35d4320..22086c5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.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
  *******************************************************************************/
@@ -20,13 +20,13 @@
 
 /**
  * Label provider for source containers and source container types.
- * 
+ *
  * @since 3.0
  */
 public class SourceContainerLabelProvider extends LabelProvider {
-	
+
 	private ILabelProvider fLabelProvider = null;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
 	 */
@@ -45,13 +45,13 @@
 				// next consult contributed image
 				image = DebugUITools.getSourceContainerImage(type.getId());
 			}
-		}		
+		}
 		if (image != null) {
 			return image;
 		}
 		return super.getImage(element);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
 	 */
@@ -61,7 +61,7 @@
 		String label = getWorkbenchLabelProvider().getText(element);
 		if (label == null || label.length() == 0) {
 			if (element instanceof ISourceContainer) {
-				return ((ISourceContainer) element).getName(); 
+				return ((ISourceContainer) element).getName();
 			} else if (element instanceof ISourceContainerType) {
 				return ((ISourceContainerType)element).getName();
 			}
@@ -70,14 +70,14 @@
 		}
 		return super.getText(element);
 	}
-	
+
 	private ILabelProvider getWorkbenchLabelProvider() {
 		if (fLabelProvider == null) {
 			fLabelProvider = new WorkbenchLabelProvider();
 		}
 		return fLabelProvider;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
index a60d73c..b44bcef 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
@@ -28,14 +28,14 @@
 import org.eclipse.swt.widgets.Composite;
 
 /**
- * The viewer containing the source containers in the 
+ * The viewer containing the source containers in the
  * SourceContainerLookupTab and the EditSourceLookupPathDialog.
  * It is a tree viewer since the containers are represented in tree form.
- * 
+ *
  * @since 3.0
  */
 public class SourceContainerViewer extends TreeViewer {
-	
+
 	/**
 	 * Whether enabled/editable.
 	 */
@@ -43,14 +43,14 @@
 	/**
 	 * The parent panel
 	 */
-	private SourceLookupPanel fPanel;	
+	private SourceLookupPanel fPanel;
 	/**
 	 * The source container entries displayed in this viewer
 	 */
 	protected List<ISourceContainer> fEntries = new ArrayList<ISourceContainer>();
-	
+
 	class ContentProvider implements ITreeContentProvider {
-		
+
 		/**
 		 * @see IStructuredContentProvider#getElements(Object)
 		 */
@@ -58,8 +58,8 @@
 		public Object[] getElements(Object inputElement) {
 			return getEntries();
 		}
-		
-		/** 
+
+		/**
 		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
 		 */
 		@Override
@@ -70,7 +70,7 @@
 				return new Object[0];
 			}
 		}
-		
+
 		/**
 		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
 		 */
@@ -78,17 +78,17 @@
 		public Object getParent(Object element) {
 			return null;
 		}
-		
+
 		/**
 		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
 		 */
 		@Override
 		public boolean hasChildren(Object element) {
-			return ((ISourceContainer)element).isComposite();				
+			return ((ISourceContainer)element).isComposite();
 		}
-		
+
 	}
-	
+
 	/**
 	 * Creates a runtime classpath viewer with the given parent.
 	 *
@@ -99,13 +99,13 @@
 		super(parent);
 		setContentProvider(new ContentProvider());
 		SourceContainerLabelProvider lp = new SourceContainerLabelProvider();
-		setLabelProvider(lp);		
+		setLabelProvider(lp);
 		fPanel = panel;
-	}	
-	
+	}
+
 	/**
-	 * Sets the entries in this viewer 
-	 * 
+	 * Sets the entries in this viewer
+	 *
 	 * @param entries source container entries
 	 */
 	public void setEntries(ISourceContainer[] entries) {
@@ -120,29 +120,29 @@
 			//select first item in list
 			if(!fEntries.isEmpty() && fEntries.get(0)!=null) {
 				setSelection(new StructuredSelection(fEntries.get(0)));
-			}			
+			}
 		} else {
 			refresh();
 		}
 		fPanel.setDirty(true);
-		fPanel.updateLaunchConfigurationDialog(); 
+		fPanel.updateLaunchConfigurationDialog();
 	}
-	
+
 	/**
 	 * Returns the entries in this viewer
-	 * 
+	 *
 	 * @return the entries in this viewer
 	 */
 	public ISourceContainer[] getEntries() {
 		return fEntries.toArray(new ISourceContainer[fEntries.size()]);
 	}
-	
+
 	/**
 	 * Adds the given entries to the list. If there is no selection
-	 * in the list, the entries are added at the end of the list, 
+	 * in the list, the entries are added at the end of the list,
 	 * otherwise the new entries are added before the (first) selected
 	 * entry. The new entries are selected.
-	 * 
+	 *
 	 * @param entries additions
 	 */
 	public void addEntries(ISourceContainer[] entries) {
@@ -157,15 +157,15 @@
 				index++;
 			}
 		}
-		
+
 		refresh();
 		if(entries.length > 0) {
 			setSelection(new StructuredSelection(entries));
 		}
 		fPanel.setDirty(true);
 		fPanel.updateLaunchConfigurationDialog();
-	}	
-	
+	}
+
 	/**
 	 * Enables/disables this viewer. Note the control is not disabled, since
 	 * we still want the user to be able to scroll if required to see the
@@ -175,32 +175,32 @@
 		fEnabled = enabled;
 		// fire selection change to upate actions
 		setSelection(getSelection());
-	}	
-	
+	}
+
 	/**
 	 * Returns whether this viewer is enabled
 	 */
 	public boolean isEnabled() {
 		return fEnabled;
-	}	
-		
+	}
+
 	/**
 	 * Returns the index of an equivalent entry, or -1 if none.
-	 * 
+	 *
 	 * @return the index of an equivalent entry, or -1 if none
 	 */
 	public int indexOf(ISourceContainer entry) {
 		return fEntries.indexOf(entry);
 	}
-	
+
 	/**
 	 * Returns the source locator associated with the parent panel.
-	 * 
+	 *
 	 * @return the source locator
 	 */
 	public ISourceLookupDirector getSourceLocator()
 	{
 		return fPanel.fLocator;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java
index 239ab7c..a9cb46c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.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
  *******************************************************************************/
@@ -24,7 +24,7 @@
 
 /**
  * Workbench adapter for standard source containers.
- * 
+ *
  * @since 3.0
  */
 public class SourceContainerWorkbenchAdapter implements IWorkbenchAdapter {
@@ -60,12 +60,12 @@
 		if (o instanceof ArchiveSourceContainer) {
 			ArchiveSourceContainer container = (ArchiveSourceContainer)o;
 			return SourceElementWorkbenchAdapter.getQualifiedName(container.getFile().getFullPath());
-		}		
+		}
 		if (o instanceof ExternalArchiveSourceContainer) {
 			ExternalArchiveSourceContainer container = (ExternalArchiveSourceContainer)o;
 			IPath path = new Path(container.getName());
 			return SourceElementWorkbenchAdapter.getQualifiedName(path);
-		}		
+		}
 		return IInternalDebugCoreConstants.EMPTY_STRING;
 	}
 	/* (non-Javadoc)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java
index 55e76d4..a87a50d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.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
  *******************************************************************************/
@@ -16,7 +16,7 @@
 
 /**
  * Adapter factory for source elements.
- * 
+ *
  * @since 3.0
  */
 public class SourceElementAdapterFactory implements IAdapterFactory {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java
index 3c360ca..f056da9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.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
  *******************************************************************************/
@@ -19,15 +19,15 @@
 
 /**
  * A label provider for source elements.
- * 
+ *
  * @since 3.0
  */
 public class SourceElementLabelProvider extends LabelProvider {
-	
+
 	private ILabelProvider fLabelProvider = null;
-	
-	
-	
+
+
+
 	private ILabelProvider getWorkbenchLabelProvider() {
 		if (fLabelProvider == null) {
 			fLabelProvider = new WorkbenchLabelProvider();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java
index f6a32cf..825be26 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.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
  *******************************************************************************/
@@ -23,7 +23,7 @@
 
 /**
  * Workbench adapter for source elements.
- * 
+ *
  * @since 3.0
  */
 public class SourceElementWorkbenchAdapter implements IWorkbenchAdapter {
@@ -71,7 +71,7 @@
 	public Object getParent(Object o) {
 		return null;
 	}
-	
+
 	public static String getQualifiedName(IPath path) {
 		StringBuffer buffer = new StringBuffer();
 		String[] segments = path.segments();
@@ -80,7 +80,7 @@
 			if (segments.length > 1) {
 				buffer.append(" - "); //$NON-NLS-1$
 				if (path.getDevice() != null) {
-					buffer.append(path.getDevice());	
+					buffer.append(path.getDevice());
 				}
 				for (int i = 0; i < segments.length - 1; i++) {
 					buffer.append(File.separatorChar);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
index 01b402f..20ed4bb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupFacility.java
@@ -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
  *     Freescale - Teodor Madan - Show IP for active frame only (Bug 49730)
@@ -73,14 +73,14 @@
 
 /**
  * Utility methods for looking up and displaying source.
- * 
+ *
  * @since 3.1
  */
 public class SourceLookupFacility implements IPageListener, IPartListener2, IPropertyChangeListener, IDebugEventSetListener {
 
 	/**
 	 * Provides an LRU cache with a given max size
-	 * 
+	 *
 	 * @since 3.10
 	 */
 	static class LRU extends HashMap<Object, SourceLookupResult> {
@@ -91,7 +91,7 @@
 
 		/**
 		 * Constructor
-		 * 
+		 *
 		 * @param size The desired size
 		 */
 		LRU(int size) {
@@ -122,7 +122,7 @@
 
 		/**
 		 * Shuffles the entry stack and removes mapped results as needed
-		 * 
+		 *
 		 * @param key
 		 */
 		void shuffle(Object key) {
@@ -158,7 +158,7 @@
 	/**
 	 * Contains a mapping of artifacts to the source element that was computed
 	 * for them.
-	 * 
+	 *
 	 * @since 3.10
 	 */
 	private static LRU fLookupResults = new LRU(10);
@@ -178,7 +178,7 @@
 	 */
 	/**
 	 * Returns the source lookup facility
-	 * 
+	 *
 	 * @return
 	 */
 	public static SourceLookupFacility getDefault() {
@@ -306,7 +306,7 @@
 
 	/**
 	 * Performs source lookup for the given artifact and returns the result.
-	 * 
+	 *
 	 * @param artifact object for which source is to be resolved
 	 * @param locator the source locator to use, or <code>null</code>. When
 	 *            <code>null</code> a source locator is determined from the
@@ -387,34 +387,34 @@
 		}
 		return result;
     }
-    
+
     /**
      * Returns the model presentation for the given debug model, or <code>null</code>
      * if none.
-     * 
+     *
      * @param id debug model id
      * @return presentation for the model, or <code>null</code> if none.
      */
 	protected IDebugModelPresentation getPresentation(String id) {
 		return ((DelegatingModelPresentation)DebugUIPlugin.getModelPresentation()).getPresentation(id);
-	}   
-	
+	}
+
 	/**
 	 * Returns an editor presentation.
-	 * 
+	 *
 	 * @return an editor presentation
 	 */
 	protected IDebugEditorPresentation getEditorPresentation() {
 	    return (DelegatingModelPresentation)DebugUIPlugin.getModelPresentation();
 	}
-    
+
     /**
      * Opens an editor in the given workbench page for the given source lookup
      * result. Has no effect if the result has an unknown editor id or editor input.
      * The editor is opened, positioned, and annotated.
      * <p>
      * Honor's the user preference of whether to re-use editors when displaying source.
-     * </p> 
+     * </p>
      * @param result source lookup result to display
      * @param page the page to display the result in
      */
@@ -426,33 +426,33 @@
 		IStackFrame frame = null;
         if (result.getArtifact() instanceof IStackFrame) {
             frame = (IStackFrame) result.getArtifact();
-        }		
+        }
 		// position and annotate editor for stack frame
         if (frame != null) {
 			IDebugEditorPresentation editorPresentation = getEditorPresentation();
             if (editorPresentation.addAnnotations(editor, frame)) {
 				Decoration decoration = new StandardDecoration(editorPresentation, editor, frame.getThread());
-				DecorationManager.addDecoration(decoration);				
+				DecorationManager.addDecoration(decoration);
 			} else {
 				// perform standard positioning and annotations
 				ITextEditor textEditor = null;
-				if (editor instanceof ITextEditor) {					
+				if (editor instanceof ITextEditor) {
 					textEditor = (ITextEditor)editor;
 				} else {
 					textEditor = editor.getAdapter(ITextEditor.class);
 				}
 				if (textEditor != null) {
 					positionEditor(textEditor, frame);
-					InstructionPointerManager.getDefault().removeAnnotations(textEditor); 
+					InstructionPointerManager.getDefault().removeAnnotations(textEditor);
 					Annotation annotation = fPresentation.getInstructionPointerAnnotation(textEditor, frame);
 					if (annotation != null) {
 						InstructionPointerManager.getDefault().addAnnotation(textEditor, frame, annotation);
 					}
 				}
 			}
-		}        
+		}
     }
-    
+
 	/**
 	 * Opens the editor used to display the source for an element selected in
 	 * this view and returns the editor that was opened or <code>null</code> if
@@ -465,14 +465,14 @@
 		if (input == null || id == null) {
 			return null;
 		}
-		
+
 		if (fReuseEditor) {
 			IEditorReference[] references = page.findEditors(input, id, IWorkbenchPage.MATCH_ID | IWorkbenchPage.MATCH_INPUT);
 			if (references.length > 0) {
 				// activate the editor we want to reuse
 				IEditorPart refEditor= references[0].getEditor(false);
 				editor = refEditor;
-				page.bringToTop(editor);	
+				page.bringToTop(editor);
 			}
 			if (editor == null) {
 			    IEditorPart editorForPage = getEditor(page);
@@ -500,8 +500,8 @@
 			editor = openEditor(page, input, id);
 		}
 		return editor;
-	}   
-	
+	}
+
 	/**
 	 * Positions the text editor for the given stack frame
 	 */
@@ -521,7 +521,7 @@
 		} catch (DebugException e) {
 		}
 	}
-	
+
 	/**
 	 * Returns the line information for the given line in the given editor
 	 */
@@ -543,7 +543,7 @@
 			provider.disconnect(input);
 		}
 		return null;
-	}	
+	}
 	/**
 	 * Opens an editor in the workbench and returns the editor that was opened
 	 * or <code>null</code> if an error occurred while attempting to open the
@@ -558,17 +558,17 @@
 					try {
 						editor[0] = page.openEditor(input, id, false, IWorkbenchPage.MATCH_ID|IWorkbenchPage.MATCH_INPUT);
 					} catch (PartInitException e) {
-						DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), 
-							DebugUIViewsMessages.LaunchView_Error_1,  
-							DebugUIViewsMessages.LaunchView_Exception_occurred_opening_editor_for_debugger__2,  
+						DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(),
+							DebugUIViewsMessages.LaunchView_Error_1,
+							DebugUIViewsMessages.LaunchView_Exception_occurred_opening_editor_for_debugger__2,
 							e);
 					}
 				}
 			}
-		}; 
+		};
 		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
 		return editor[0];
-	}	
+	}
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage)
@@ -667,11 +667,11 @@
 			fReuseEditor = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_REUSE_EDITOR);
 		}
     }
-    
+
     /**
      * Returns the editor to use to display source in the given page, or
      * <code>null</code> if a new editor should be opened.
-     * 
+     *
      * @param page workbench page
      * @return the editor to use to display source in the given page, or
      * <code>null</code> if a new editor should be opened
@@ -679,11 +679,11 @@
     protected IEditorPart getEditor(IWorkbenchPage page) {
         return fEditorsByPage.get(page);
     }
-    
+
     /**
      * Sets the editor to use to display source in the given page, or
      * <code>null</code> if a new editor should be opened.
-     * 
+     *
      * @param page workbench page
      * @return the editor to use to display source in the given page, or
      * <code>null</code> if a new editor should be opened
@@ -696,8 +696,8 @@
         }
         page.addPartListener(this);
         page.getWorkbenchWindow().addPageListener(this);
-    } 
-  
+    }
+
     /**
      * Performs cleanup.
      */
@@ -836,7 +836,7 @@
 	/**
 	 * Clears any source decorations associated with the given thread or debug
 	 * target.
-	 * 
+	 *
 	 * @param source thread or debug target
 	 */
 	private void clearSourceSelection(Object source) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
index 6ac161d..8e0896a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupManager.java
@@ -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
  *******************************************************************************/
@@ -21,18 +21,18 @@
 
 /**
  * Starts a source lookup service in each workbench window.
- * 
+ *
  * @since 3.2
  */
 public class SourceLookupManager implements IWindowListener {
 
 	private static SourceLookupManager fgDefault;
-	
+
 	/**
 	 * Services per window
 	 */
 	private Map<IWorkbenchWindow, SourceLookupService> fServices = new HashMap<IWorkbenchWindow, SourceLookupService>();
-	
+
 	private SourceLookupManager() {
 		IWorkbench workbench = PlatformUI.getWorkbench();
 		IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows();
@@ -42,10 +42,10 @@
 		}
 		workbench.addWindowListener(this);
 	}
-		
+
 	/**
 	 * Returns the default source lookup manager.
-	 * 
+	 *
 	 * @return
 	 */
 	public static SourceLookupManager getDefault() {
@@ -92,7 +92,7 @@
 			fServices.put(window, service);
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.contexts.ISourceDisplayAdapter#displaySource(java.lang.Object, org.eclipse.ui.IWorkbenchPage, boolean)
 	 */
@@ -102,5 +102,5 @@
 		if (service != null) {
 			service.displaySource(context, page, forceSourceLookup);
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
index 72a375f..936f7f7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
@@ -39,7 +39,7 @@
 
 /**
  * The panel that contains the list of source containers.
- * 
+ *
  * @since 3.0
  */
 public class SourceLookupPanel extends AbstractLaunchConfigurationTab implements IPropertyChangeListener {
@@ -53,14 +53,14 @@
 	protected List<SourceContainerAction> fActions = new ArrayList<SourceContainerAction>(6);
 	//the director that will be used by the tab to manage/store the containers
 	protected ISourceLookupDirector fLocator;
-	
-	protected AddContainerAction fAddAction; 
+
+	protected AddContainerAction fAddAction;
 	protected EditContainerAction fEditAction;
 	protected RestoreDefaultAction fRestoreDefaultAction;
-	
+
 	/**
 	 * Creates and returns the source lookup control.
-	 * 
+	 *
 	 * @param parent the parent widget of this control
 	 */
 	@Override
@@ -68,15 +68,15 @@
 		Font font = parent.getFont();
 		Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
 		SWTFactory.createLabel(comp, SourceLookupUIMessages.sourceTab_lookupLabel, 2);
-		
+
 		fPathViewer = new SourceContainerViewer(comp, this);
 		fPathViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
 		fPathViewer.getControl().setFont(font);
-		
+
 		Composite pathButtonComp = SWTFactory.createComposite(comp, comp.getFont(), 1, 1, GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL, 0, 0);
-		
+
 		SWTFactory.createVerticalSpacer(comp, 2);
-		
+
 		fDuplicatesButton = SWTFactory.createCheckButton(comp, SourceLookupUIMessages.sourceTab_searchDuplicateLabel, null, false, 2);
 		fDuplicatesButton.addSelectionListener(new SelectionAdapter() {
 			@Override
@@ -85,54 +85,54 @@
 				updateLaunchConfigurationDialog();
 			}
 		});
-		
+
 		fAddAction = new AddContainerAction();
 		Button button = SWTFactory.createPushButton(pathButtonComp, fAddAction.getText(), null);
 		fAddAction.setButton(button);
 		addAction(fAddAction);
-		
+
 		fEditAction = new EditContainerAction();
 		button = SWTFactory.createPushButton(pathButtonComp, fEditAction.getText(), null);
 		fEditAction.setButton(button);
 		addAction(fEditAction);
-		
+
 		SourceContainerAction action = new RemoveAction();
 		button = SWTFactory.createPushButton(pathButtonComp, action.getText(), null);
 		action.setButton(button);
 		addAction(action);
-		
+
 		action = new UpAction();
 		button = SWTFactory.createPushButton(pathButtonComp, action.getText(), null);
 		action.setButton(button);
 		addAction(action);
-		
+
 		action = new DownAction();
 		button = SWTFactory.createPushButton(pathButtonComp, action.getText(), null);
 		action.setButton(button);
-		addAction(action);		
-		
+		addAction(action);
+
 		fRestoreDefaultAction = new RestoreDefaultAction();
 		button = SWTFactory.createPushButton(pathButtonComp, fRestoreDefaultAction.getText(), null);
 		fRestoreDefaultAction.setButton(button);
 		addAction(fRestoreDefaultAction);
-		
+
 		retargetActions(fPathViewer);
-		
+
 		//listen to changes user made to the working sets, if a working set is being removed
-		//check current list to validate working sets  
+		//check current list to validate working sets
 		IWorkingSetManager workingSetMgr = DebugUIPlugin.getDefault().getWorkbench().getWorkingSetManager();
 		workingSetMgr.addPropertyChangeListener(this);
 		/*Dialog.applyDialogFont(comp);*/
 		setControl(comp);
-	}	
-	
+	}
+
 	/**
 	 * Adds the given action to the action collection in this tab
 	 */
 	protected void addAction(SourceContainerAction action) {
 		fActions.add(action);
 	}
-	
+
 	/**
 	 * Re-targets actions to the given viewer
 	 */
@@ -141,7 +141,7 @@
 			action.setViewer(viewer);
 		}
 	}
-	
+
 	/**
 	 * Initializes this control based on the settings in the given
 	 * launch configuration.
@@ -154,7 +154,7 @@
 		}
 		setErrorMessage(null);
 		setMessage(null);
-		String memento = null;	
+		String memento = null;
 		String type = null;
 		try{
 			memento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
@@ -165,13 +165,13 @@
 		} catch(CoreException e){
 			setErrorMessage(e.getMessage());
 			return;
-		}	
-		
+		}
+
 		if(type == null) {
-			setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2); 
+			setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2);
 			return;
 		}
-		
+
 		boolean migration = false;
 		try {
 			ISourceLocator locator = getLaunchManager().newSourceLocator(type);
@@ -180,26 +180,26 @@
 				memento = null; // don't use old memento
 				type = configuration.getType().getSourceLocatorId();
 				if(type == null) {
-					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2); 
+					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2);
 					return;
 				}
 				locator = getLaunchManager().newSourceLocator(type);
 				if (!(locator instanceof AbstractSourceLookupDirector)) {
-					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2); 
+					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_2);
 					return;
 				}
 				migration = true;
 			}
-			fLocator = (AbstractSourceLookupDirector)locator;			
+			fLocator = (AbstractSourceLookupDirector)locator;
 			if (memento == null) {
 				fLocator.initializeDefaults(configuration);
-			} else {				
-				fLocator.initializeFromMemento(memento, configuration);				 
-			}			
+			} else {
+				fLocator.initializeFromMemento(memento, configuration);
+			}
 		} catch (CoreException e) {
 			setErrorMessage(e.getMessage());
 			return;
-		}	
+		}
 		initializeFrom(fLocator);
 		if (migration && configuration.isWorkingCopy()) {
 			// ensure perform apply actual updates the config
@@ -207,7 +207,7 @@
 			performApply((ILaunchConfigurationWorkingCopy)configuration);
 		}
 	}
-	
+
 	/**
 	 * Initializes this control based on the settings in the given
 	 * AbstractSourceLookupDirector
@@ -216,7 +216,7 @@
 		if(fConfig == null) {
 			fConfig = locator.getLaunchConfiguration();
 		}
-		fPathViewer.setEntries(locator.getSourceContainers());		
+		fPathViewer.setEntries(locator.getSourceContainers());
 		fDuplicatesButton.setSelection(locator.isFindDuplicates());
 		fLocator = locator;
 		fAddAction.setSourceLookupDirector(locator);
@@ -224,24 +224,24 @@
 		fRestoreDefaultAction.setSourceLookupDirector(locator);
 		setDirty(false);
 	}
-	
+
 	/**
-	 * Saves the containers and duplicate policy into the given working copy of the configuration.  
-	 * Saving the configuration will result in a change event, which will be picked up by the director 
+	 * Saves the containers and duplicate policy into the given working copy of the configuration.
+	 * Saving the configuration will result in a change event, which will be picked up by the director
 	 * and used to refresh its internal list.
-	 * 
+	 *
 	 * @param workingCopy the working copy of the configuration that these values should be stored in, may be null.
 	 * 	If null, will be written into a working copy of the configuration referenced by the director.
 	 */
 	@Override
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {		
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		if (isDirty()) {
 			if (fLocator == null) {
 				configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
 				configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String)null);
 				return;
 			}
-			ILaunchConfigurationWorkingCopy workingCopy = configuration;			
+			ILaunchConfigurationWorkingCopy workingCopy = configuration;
 			if(configuration == null) {
 				try {
 					ILaunchConfiguration config = fLocator.getLaunchConfiguration();
@@ -249,9 +249,9 @@
 						workingCopy = config.getWorkingCopy();
 					}
 				}
-				catch(CoreException e) { 
+				catch(CoreException e) {
 					DebugUIPlugin.log(e);
-					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_1); 
+					setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_1);
 					return;
 				}
 			}
@@ -262,9 +262,9 @@
 			//set new values in director so memento returned is correct
 			fLocator.setSourceContainers(fPathViewer.getEntries());
 			fLocator.setFindDuplicates(fDuplicatesButton.getSelection());
-						
+
 			//writing to the file will cause a change event and the listeners will be updated
-			try {			
+			try {
 				if (isDefault()) {
 					workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
 					workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String)null);
@@ -275,12 +275,12 @@
 			}
 			catch(CoreException e) {
 				DebugUIPlugin.log(e);
-				setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_1); 
+				setErrorMessage(SourceLookupUIMessages.sourceLookupPanel_1);
 			}
-			
-		}			
+
+		}
 	}
-	
+
 	/**
 	 * determines of the current source lookup path is the default path
 	 * @param configuration
@@ -304,23 +304,23 @@
 	@Override
 	public void setDirty(boolean dirty) {
 		super.setDirty(dirty);
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
 	 */
 	@Override
 	public String getName() {
-		return SourceLookupUIMessages.sourceTab_tabTitle; 
+		return SourceLookupUIMessages.sourceTab_tabTitle;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
 	@Override
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#updateLaunchConfigurationDialog()
 	 */
@@ -330,7 +330,7 @@
 			super.updateLaunchConfigurationDialog();
 		}
 	}
-		
+
 	/**
 	 * This is called whenever a working set has been removed. Loops through the original list
 	 * of working sets the user stores in the configuration. If the one being removed is in the
@@ -350,24 +350,24 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Listen to working set changes
 	 * @param event
 	 */
 	@Override
 	public void propertyChange(PropertyChangeEvent event) {
-		//if the PropertyChangeEvent has changeId CHANGE_WORKING_SET_REMOVE, 
-		//validate the list to make sure all working sets are valid 
+		//if the PropertyChangeEvent has changeId CHANGE_WORKING_SET_REMOVE,
+		//validate the list to make sure all working sets are valid
 		//if the PropertyChangeEvent has changeId CHANGE_WORKING_SET_NAME_CHANGE,
 		//do nothing because the event only has newValue, since oldValue is not provided
-		//there is no way to identify which working set does the newValue corresponds to		
+		//there is no way to identify which working set does the newValue corresponds to
 		if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
 			validateWorkingSetSourceContainers((IWorkingSet) event.getOldValue());
-		}							
+		}
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
@@ -375,18 +375,18 @@
 	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
 		initializeFrom(workingCopy);
 	}
-	
+
 	/**
 	 * Returns the source lookup director associated with this
 	 * panel, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return the source lookup director associated with this
 	 * panel, or <code>null</code> if none
 	 */
 	public ISourceLookupDirector getDirector() {
 		return fLocator;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
 	 */
@@ -394,7 +394,7 @@
 	public void dispose() {
 		super.dispose();
 		//listen to changes user made to the working sets, if a working set is being removed
-		//check current list to validate working sets  
+		//check current list to validate working sets
 		IWorkingSetManager workingSetMgr = DebugUIPlugin.getDefault().getWorkbench().getWorkingSetManager();
 		workingSetMgr.removePropertyChangeListener(this);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupResult.java
index 06d901a..404db08 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupResult.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupResult.java
@@ -14,14 +14,14 @@
 import org.eclipse.ui.IEditorInput;
 
 /**
- * The result of a source lookup contains the source element, editor id, and 
+ * The result of a source lookup contains the source element, editor id, and
  * editor input resolved for a debug artifact.
- * 
+ *
  * @since 3.1
  */
 public class SourceLookupResult implements ISourceLookupResult {
-    
-    /** 
+
+    /**
      * Element that source was resolved for.
      */
     private Object fArtifact;
@@ -42,7 +42,7 @@
     private IEditorInput fEditorInput;
 
     /**
-     * Creates a source lookup result on the given artifact, source element, 
+     * Creates a source lookup result on the given artifact, source element,
      * editor id, and editor input.
      */
     public SourceLookupResult(Object artifact, Object sourceElement, String editorId, IEditorInput editorInput) {
@@ -51,7 +51,7 @@
         setEditorId(editorId);
         setEditorInput(editorInput);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getArtifact()
      */
@@ -59,7 +59,7 @@
 	public Object getArtifact() {
         return fArtifact;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getSourceElement()
      */
@@ -67,18 +67,18 @@
 	public Object getSourceElement() {
         return fSourceElement;
     }
-    
+
     /**
      * Sets the source element resolved for the artifact that source
      * lookup was performed for, or <code>null</code> if a source element
      * was not resolved.
-     * 
+     *
      * @param element resolved source element or <code>null</code> if unknown
-     */    
+     */
     protected void setSourceElement(Object element) {
         fSourceElement = element;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getEditorId()
      */
@@ -86,17 +86,17 @@
 	public String getEditorId() {
         return fEditorId;
     }
-    
+
     /**
      * Sets the identifier of the editor used to display this source
      * lookup result's source element, or <code>null</code> if unknown.
-     * 
+     *
      * @param id the identifier of the editor used to display this source
      * lookup result's source element, or <code>null</code> if unknown
      */
     protected void setEditorId(String id) {
         fEditorId = id;
-    }    
+    }
 
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.sourcelookup.ISourceLookupResult#getEditorInput()
@@ -105,24 +105,24 @@
 	public IEditorInput getEditorInput() {
         return fEditorInput;
     }
-    
+
     /**
      * Sets the editor input used to display this source lookup
      * result's source element, or <code>null</code> if unknown.
-     * 
+     *
      * @param input the editor input used to display this source lookup
      * result's source element, or <code>null</code> if unknown
      */
     protected void setEditorInput(IEditorInput input) {
         fEditorInput = input;
-    }    
-	
+    }
+
 	/**
 	 * Updates the artifact to refer to the given artifact
 	 * if equal. For example, when a source lookup result is reused
 	 * for the same stack frame, we still need to update in case
 	 * the stack frame is not identical.
-	 * 
+	 *
 	 * @param artifact new artifact state
 	 */
 	public void updateArtifact(Object artifact) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java
index 8730888..c74c303 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupService.java
@@ -27,20 +27,20 @@
 
 /**
  * Performs source lookup in a window.
- * 
+ *
  * @since 3.2
  */
 public class SourceLookupService implements IDebugContextListener, ISourceDisplay {
-	
+
 	private IWorkbenchWindow fWindow;
 	private IDebugContextService fDebugContextService;
-	
+
 	public SourceLookupService(IWorkbenchWindow window) {
 		fWindow = window;
-		fDebugContextService = DebugUITools.getDebugContextManager().getContextService(window); 
+		fDebugContextService = DebugUITools.getDebugContextManager().getContextService(window);
 		fDebugContextService.addDebugContextListener(this);
 	}
-	
+
 	public void dispose() {
 		fDebugContextService.removeDebugContextListener(this);
 		fWindow = null;
@@ -52,18 +52,18 @@
 			displaySource(event.getContext(), event.getDebugContextProvider().getPart(), false);
 		}
 	}
-		
+
 	/**
 	 * Displays source for the given selection and part, optionally forcing
 	 * a source lookup.
-	 * 
+	 *
 	 * @param selection
 	 * @param part
 	 * @param force
 	 */
 	protected synchronized void displaySource(ISelection selection, IWorkbenchPart part, boolean force) {
 	    if (fWindow == null) return; // disposed
-	    
+
 		if (selection instanceof IStructuredSelection) {
 			IStructuredSelection structuredSelection = (IStructuredSelection)selection;
 			if (structuredSelection.size() == 1) {
@@ -73,11 +73,11 @@
 					page = fWindow.getActivePage();
 				} else {
 					page = part.getSite().getPage();
-				} 
+				}
 				displaySource(context, page, force);
 			}
 		}
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.contexts.ISourceDisplayAdapter#displaySource(java.lang.Object, org.eclipse.ui.IWorkbenchPage, boolean)
@@ -92,9 +92,9 @@
 	        	// adapters, just delegate to the adapter factory
 	        	adapter = new DebugElementAdapterFactory().getAdapter(context, ISourceDisplay.class);
 	        }
-			if (adapter != null) {						
+			if (adapter != null) {
 				adapter.displaySource(context, page, forceSourceLookup);
 			}
 		}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
index a52b03d..b5282e7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
@@ -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
  *******************************************************************************/
@@ -25,7 +25,7 @@
 
 /**
  * Utility methods for the UI portion of the source lookup solution.
- * 
+ *
  * @since 3.0
  */
 public class SourceLookupUIUtils {
@@ -49,14 +49,14 @@
 	 * @since 3.0
 	 */
 	public static final String CONTAINER_ID_ATTRIBUTE = "containerTypeID";	//$NON-NLS-1$
-	
+
 	private static Hashtable<String, IConfigurationElement> fSourceContainerPresentationHashtable;
-	
+
 	/**
 	 * Constructor. Reads in Source Container Presentation extension implementations.
 	 */
 	public SourceLookupUIUtils(){
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), CONTAINER_PRESENTATION_EXTENSION);		
+		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), CONTAINER_PRESENTATION_EXTENSION);
 		//read in SourceContainer presentation extensions
 		IConfigurationElement[] sourceContainerPresentationExtensions =extensionPoint.getConfigurationElements();
 		fSourceContainerPresentationHashtable = new Hashtable<String, IConfigurationElement>();
@@ -64,11 +64,11 @@
 			fSourceContainerPresentationHashtable.put(
 					sourceContainerPresentationExtensions[i].getAttribute(CONTAINER_ID_ATTRIBUTE),
 					sourceContainerPresentationExtensions[i]);
-			registerContainerImages(sourceContainerPresentationExtensions[i]);			
-		}		
-	}	
-	
-	
+			registerContainerImages(sourceContainerPresentationExtensions[i]);
+		}
+	}
+
+
 	/**
 	 * Retrieves the icon associated with a source container type.
 	 * @param id the container type id
@@ -80,7 +80,7 @@
 		}
 		return DebugPluginImages.getImage(id);
 	}
-	
+
 	/**
 	 * Retrieves the browser class associated with the source container type specified.
 	 * @param typeID the source container type id
@@ -100,7 +100,7 @@
 		}catch(CoreException e){}
 		return browser;
 	}
-	
+
 	private void registerContainerImages(IConfigurationElement configElement){
 		ImageDescriptor imageDescriptor = DebugUIPlugin.getImageDescriptor(configElement, ICON_ATTRIBUTE);
 		if (imageDescriptor == null) {
@@ -108,7 +108,7 @@
 		}
 		String configTypeID = configElement.getAttribute(CONTAINER_ID_ATTRIBUTE);
 		ImageRegistry imageRegistry = DebugPluginImages.getImageRegistry();
-		imageRegistry.put(configTypeID, imageDescriptor);		
+		imageRegistry.put(configTypeID, imageDescriptor);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java
index ae1a4bd..32ae74c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.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
  *******************************************************************************/
@@ -18,16 +18,16 @@
 import org.eclipse.ui.actions.SelectionListenerAction;
 
 /**
- * The action used to move source containers up in the list 
+ * The action used to move source containers up in the list
  */
 public class UpAction extends SourceContainerAction {
-	
+
 	public UpAction() {
-		super(SourceLookupUIMessages.sourceTab_upButton);  
+		super(SourceLookupUIMessages.sourceTab_upButton);
 	}
 	/**
 	 * Moves all selected entries up one position (if possible).
-	 * 
+	 *
 	 * @see IAction#run()
 	 */
 	@Override
@@ -48,10 +48,10 @@
 				list.set(index, temp);
 			}
 			top = index;
-		} 
+		}
 		setEntries(list);
 	}
-	
+
 	/**
 	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
 	 */
@@ -60,5 +60,5 @@
 		//check that something is selected, it's not first in the list, and it is a root tree node.
 		return !selection.isEmpty() && !isIndexSelected(selection, 0) && getViewer().getTree().getSelection()[0].getParentItem()==null;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java
index 4a255f5..90ce5f2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.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
  *******************************************************************************/
@@ -31,23 +31,23 @@
 
 /**
  * The factory for creating/restoring working set source containers.
- * 
+ *
  * @since 3.0
  */
 public class WorkingSetSourceContainerType extends AbstractSourceContainerTypeDelegate {
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */	
+	 */
 	@Override
 	public String getMemento(ISourceContainer container) throws CoreException {
 		WorkingSetSourceContainer workingSet = (WorkingSetSourceContainer) container;
-		Document doc = newDocument();		
+		Document doc = newDocument();
 		Element node = doc.createElement("workingSet"); //$NON-NLS-1$
 		node.setAttribute("name", workingSet.getName()); //$NON-NLS-1$
 		doc.appendChild(node);
-		return serializeDocument(doc);	 
+		return serializeDocument(doc);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
 	 */
@@ -63,19 +63,19 @@
 			StringReader reader = new StringReader(memento);
 			InputSource source = new InputSource(reader);
 			root = parser.parse(source).getDocumentElement();
-			
+
 			String name = root.getAttribute("name");//$NON-NLS-1$
-			
+
 			if (isEmpty(name)) {
 				abort(SourceLookupUIMessages.sourceSearch_initError,null);
 			}
 			workingSet = PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(name);
 			//check that set still exists
-			if (workingSet == null) {				
-				abort(SourceLookupUIMessages.sourceSearch_initError, null); 
-			}				
-			return new WorkingSetSourceContainer(workingSet);	
-			
+			if (workingSet == null) {
+				abort(SourceLookupUIMessages.sourceSearch_initError, null);
+			}
+			return new WorkingSetSourceContainer(workingSet);
+
 		} catch (ParserConfigurationException e) {
 			ex = e;
 		} catch (SAXException e) {
@@ -83,14 +83,14 @@
 		} catch (IOException e) {
 			ex = e;
 		}
-		
-		abort(SourceLookupUIMessages.sourceSearch_initError, ex);	
-		return null;	
+
+		abort(SourceLookupUIMessages.sourceSearch_initError, ex);
+		return null;
 	}
 
 	private boolean isEmpty(String string) {
 		return string == null || string.length() == 0;
 	}
-	
-	
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
index 65610cd..e851b1e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
@@ -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
  *******************************************************************************/
@@ -29,12 +29,12 @@
  * ArchiveFilter
  */
 public class ArchiveFilter extends ViewerFilter {
-	
+
 	/**
 	 * Collection of archives and containers to display
 	 */
 	private Set<IResource> fArchives;
-	
+
 	/**
 	 * Collection of already existing archives
 	 */
@@ -51,14 +51,14 @@
 	/**
 	 * Constructs a new filter to display archives and their containers,
 	 * excluding the resources in the given list.
-	 * 
+	 *
 	 * @param objects resources to exclude
 	 */
 	public ArchiveFilter(List<ISourceContainer> objects) {
 		fExisting = objects;
 		init();
 	}
-	
+
 	/**
 	 * Search for all archives in the workspace.
 	 */
@@ -75,13 +75,13 @@
 	/**
 	 * Traverse the given container, adding archives to the given set.
 	 * Returns whether any files were added
-	 * @param container the container to check 
+	 * @param container the container to check
 	 * @param set the set to add any found archives to
 	 * @return <code>true</code> if any archives have been added false otherwise
 	 */
 	private boolean traverse(IContainer container, Set<IResource> set) {
 		boolean added = false;
-		try {	
+		try {
 			IResource[] resources = container.members();
 			for (int i = 0; i < resources.length; i++) {
 				IResource resource = resources[i];
@@ -94,7 +94,7 @@
 					}
 				} else if (resource instanceof IContainer) {
 					if (traverse((IContainer)resource, set)) {
-						set.add(resource);	
+						set.add(resource);
 						added = true;
 					}
 				}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
index b846634..278be82 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
@@ -50,16 +50,16 @@
 			for (int i= 0; i < selection.length; i++) {
 				if (!(selection[i] instanceof IFile)) {
 					return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, IInternalDebugCoreConstants.EMPTY_STRING, null);
-				}					
+				}
 			}
 			return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0, IInternalDebugCoreConstants.EMPTY_STRING, null);
-		}			
+		}
 	};
 
 	/**
 	 * Returns internal jars (source containers) currently used by the
 	 * given source lookup director.
-	 * 
+	 *
 	 * @param director source lookup director jars are being added to
 	 * @return the list of any found {@link ArchiveSourceContainer}s
 	 */
@@ -81,16 +81,16 @@
 	@Override
 	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
 		ViewerFilter filter= new ArchiveFilter(getSelectedJars(director));
-		
+
 		ILabelProvider lp= new WorkbenchLabelProvider();
 		ITreeContentProvider cp= new WorkbenchContentProvider();
 
 		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(shell, lp, cp);
 		dialog.setValidator(validator);
-		dialog.setTitle(SourceLookupUIMessages.ArchiveSourceContainerBrowser_3); 
-		dialog.setMessage(SourceLookupUIMessages.ArchiveSourceContainerBrowser_4); 
+		dialog.setTitle(SourceLookupUIMessages.ArchiveSourceContainerBrowser_3);
+		dialog.setMessage(SourceLookupUIMessages.ArchiveSourceContainerBrowser_4);
 		dialog.addFilter(filter);
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());	
+		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
 		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
 
 		if (dialog.open() == Window.OK) {
@@ -100,7 +100,7 @@
 				containers[i] = new ArchiveSourceContainer((IFile)result[i], true);
 			}
 			return containers;
-		}	
+		}
 		return new ISourceContainer[0];
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java
index bd196c1..6d5cab1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.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
  *     QNX Software Systems - Mikhail Khodjaiants - Bug 114664
@@ -24,7 +24,7 @@
  * @since 3.0
  */
 public class DirectorySourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -35,10 +35,10 @@
 		if (dialog.open() == Window.OK) {
 			String directory = dialog.getDirectory();
 			if(directory !=null) {
-				containers[0] = new DirectorySourceContainer(new Path(directory), dialog.isSearchSubfolders());			
-				return containers;			
+				containers[0] = new DirectorySourceContainer(new Path(directory), dialog.isSearchSubfolders());
+				return containers;
 			}
-		}		
+		}
 		return new ISourceContainer[0];
 	}
 
@@ -62,11 +62,11 @@
 				String directory = dialog.getDirectory();
 				if(directory !=null) {
 					containers[0].dispose();
-					return new ISourceContainer[]{ new DirectorySourceContainer(new Path(directory), dialog.isSearchSubfolders())};			
+					return new ISourceContainer[]{ new DirectorySourceContainer(new Path(directory), dialog.isSearchSubfolders())};
 				}
 			}
 		}
 		return containers;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
index 84f32ed..b66e700 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
@@ -43,7 +43,7 @@
 
 /**
  * The dialog for selecting the external folder for which a source container will be created.
- * 
+ *
  * @since 3.0
  */
 public class DirectorySourceContainerDialog extends TitleAreaDialog {
@@ -53,15 +53,15 @@
 
 	private String fDirectory;
 	private boolean fSearchSubfolders = true;
-	
+
 	private Text fDirText;
 	private Button fSubfoldersButton;
-	
+
 	private boolean fNewContainer = true;
 
 	/**
 	 * Creates a dialog to select a new file system folder.
-	 * 
+	 *
 	 * @param shell shell
 	 */
 	public DirectorySourceContainerDialog(Shell shell) {
@@ -71,11 +71,11 @@
 
 	/**
 	 * Creates a dialog to edit file system folder.
-	 *  
+	 *
 	 * @param shell shell
 	 * @param directory directory to edit or empty string
 	 * @param searchSubfolders whether the search sub-folders button should be checked
-	 * @param newContainer 
+	 * @param newContainer
 	 */
 	public DirectorySourceContainerDialog(Shell shell, String directory, boolean searchSubfolders) {
 		super(shell);
@@ -84,7 +84,7 @@
 		fSearchSubfolders = searchSubfolders;
 		fNewContainer = false;
 	}
-	
+
 	/**
 	 * Returns the result of the dialog.open() operation
 	 * @return the dialog.open() result
@@ -95,7 +95,7 @@
 
 	/**
 	 * Returns whether the 'search subfolders' option is selected.
-	 * 
+	 *
 	 * @return whether the 'search subfolders' option is selected
 	 */
 	public boolean isSearchSubfolders() {
@@ -107,7 +107,7 @@
 	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
-		Image image = (fNewContainer) ? DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_DIR_WIZ) : 
+		Image image = (fNewContainer) ? DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_DIR_WIZ) :
 			DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_EDIT_SRC_DIR_WIZ);
 		setTitle(SourceLookupUIMessages.DirectorySourceContainerDialog_2);
 		setMessage(SourceLookupUIMessages.DirectorySourceContainerDialog_3);
@@ -136,7 +136,7 @@
         data.horizontalSpan = 2;
         label.setLayoutData(data);
         label.setFont(font);
-        
+
         fDirText = new Text(dirComposite, SWT.BORDER);
         data = new GridData(GridData.FILL_HORIZONTAL);
         data.horizontalSpan = 1;
@@ -146,7 +146,7 @@
 			@Override
 			public void modifyText( ModifyEvent e ) {
 				validate();
-			}        	
+			}
         });
 
         Button button = new Button(dirComposite, SWT.PUSH);
@@ -206,7 +206,7 @@
 		fDirectory = fDirText.getText().trim();
 		fSearchSubfolders = fSubfoldersButton.getSelection();
 		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_PATH_SETTING, fDirectory);
-		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_SUBDIR_SETTING, fSearchSubfolders);	
+		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_SUBDIR_SETTING, fSearchSubfolders);
 		super.okPressed();
 	}
 
@@ -216,11 +216,11 @@
 			last = DebugUIPlugin.getDefault().getDialogSettings().get(LAST_PATH_SETTING);
 		}
 		if (last == null) {
-			last = IInternalDebugCoreConstants.EMPTY_STRING; 
+			last = IInternalDebugCoreConstants.EMPTY_STRING;
 		}
 		DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SINGLE);
-		dialog.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_0); 
-		dialog.setMessage(SourceLookupUIMessages.DirectorySourceContainerDialog_1); 
+		dialog.setText(SourceLookupUIMessages.DirectorySourceContainerDialog_0);
+		dialog.setMessage(SourceLookupUIMessages.DirectorySourceContainerDialog_1);
 		dialog.setFilterPath(last);
 		String result = dialog.open();
 		if (result == null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java
index 980d0ab..5d90821 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.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
  *******************************************************************************/
@@ -27,9 +27,9 @@
  * @since 3.0
  */
 public class ExternalArchiveSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
+
 	private static final String ROOT_DIR = ExternalArchiveSourceContainerBrowser.class.getName() + ".rootDir";   //$NON-NLS-1$
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -37,20 +37,20 @@
 	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
 		FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
 		String rootDir = DebugUIPlugin.getDefault().getDialogSettings().get(ROOT_DIR);
-		dialog.setText(SourceLookupUIMessages.ExternalArchiveSourceContainerBrowser_2); 
+		dialog.setText(SourceLookupUIMessages.ExternalArchiveSourceContainerBrowser_2);
 		dialog.setFilterExtensions(new String[]{"*.jar;*.zip"});  //$NON-NLS-1$
 		if (rootDir != null) {
 			dialog.setFilterPath(rootDir);
 		}
 		dialog.open();
 		String[] fileNames= dialog.getFileNames();
-		int nChosen= fileNames.length;			
+		int nChosen= fileNames.length;
 		if (nChosen > 0) {
 			rootDir = dialog.getFilterPath();
 			IPath filterPath= new Path(rootDir);
 			ISourceContainer[] containers= new ISourceContainer[nChosen];
 			for (int i= 0; i < nChosen; i++) {
-				IPath path= filterPath.append(fileNames[i]).makeAbsolute();	
+				IPath path= filterPath.append(fileNames[i]).makeAbsolute();
 				// TODO: configure auto-detect
 				containers[i]= new ExternalArchiveSourceContainer(path.toOSString(), true);
 			}
@@ -59,5 +59,5 @@
 		}
 		return new ISourceContainer[0];
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
index 32d4e24..d17c7f5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
@@ -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
  *******************************************************************************/
@@ -25,18 +25,18 @@
 
 /**
  * The browser for adding a folder source container.
- * 
+ *
  * @since 3.0
  */
 public class FolderSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
 	 */
 	@Override
 	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
 		FolderSourceContainerDialog dialog = new FolderSourceContainerDialog(shell,  new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		
+
 		if (dialog.open() == Window.OK) {
 			Object[] selection= ((ElementTreeSelectionDialog)dialog).getResult();
 			ArrayList<ISourceContainer> containers = new ArrayList<ISourceContainer>();
@@ -45,8 +45,8 @@
 					containers.add(new FolderSourceContainer((IFolder)selection[i], dialog.isSearchSubfolders()));
 				}
 			}
-			return containers.toArray(new ISourceContainer[containers.size()]);	
-		}			
+			return containers.toArray(new ISourceContainer[containers.size()]);
+		}
 		return new ISourceContainer[0];
 	}
 
@@ -76,11 +76,11 @@
 					list.add(new FolderSourceContainer((IFolder)selection[i], dialog.isSearchSubfolders()));
 				}
 			}
-			return list.toArray(new ISourceContainer[list.size()]);	
-		}			
+			return list.toArray(new ISourceContainer[list.size()]);
+		}
 		return new ISourceContainer[0];
 	}
-	
-	
-	
+
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
index c0daeb8..4754091 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
@@ -35,35 +35,35 @@
 
 /**
  * The dialog for selecting the folder for which a source container will be created.
- * 
+ *
  * @since 3.0
  */
-public class FolderSourceContainerDialog extends ElementTreeSelectionDialog { 
-	
+public class FolderSourceContainerDialog extends ElementTreeSelectionDialog {
+
 	/**
 	 * Constant to persist the state of the search subfolders button
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private static final String LAST_SUBDIR_SETTING = "EXT_FOLDER_SOURCE_LAST_SUBDIR_SETTING"; //$NON-NLS-1$
-	
+
 	/**
 	 * Lets us control searching subfolders
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private Button fSubfoldersButton;
-	
+
 	/**
 	 * stored value whether to search subfolders or not
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private boolean fSearchSubfolders = false;
-	
+
 	/**
 	 * We need to add in the new control for indicating whether to search sub folders or not
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	@Override
@@ -83,7 +83,7 @@
 	 */
 	public FolderSourceContainerDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider) {
 		super(parent, labelProvider, contentProvider);
-		setTitle(SourceLookupUIMessages.folderSelection_title);	//	
+		setTitle(SourceLookupUIMessages.folderSelection_title);	//
 		setInput(ResourcesPlugin.getWorkspace().getRoot());
         setComparator(new ResourceComparator(ResourceComparator.NAME));
 		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
@@ -91,16 +91,16 @@
 			public IStatus validate(Object[] selection) {
 				for (int i= 0; i < selection.length; i++) {
 					if (!(selection[i] instanceof IFolder)) {
-						return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), -1, SourceLookupUIMessages.sourceSearch_folderSelectionError, null); // 
-					} 				
+						return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), -1, SourceLookupUIMessages.sourceSearch_folderSelectionError, null); //
+					}
 				}
 				return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0, IInternalDebugCoreConstants.EMPTY_STRING, null);
-			}			
+			}
 		};
-		setValidator(validator);	
+		setValidator(validator);
 		setDoubleClickSelects(true);
 		setAllowMultiple(true);
-		setMessage(SourceLookupUIMessages.folderSelection_label); 
+		setMessage(SourceLookupUIMessages.folderSelection_label);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,  IDebugHelpContextIds.ADD_FOLDER_CONTAINER_DIALOG);
 		setSearchSubfolders(DebugUIPlugin.getDefault().getDialogSettings().getBoolean(LAST_SUBDIR_SETTING));
 		addFilter(new ViewerFilter() {
@@ -116,27 +116,27 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Returns whether the 'search subfolders' option is selected.
-	 * 
+	 *
 	 * @since 3.2
 	 * @return true if the search subfolders button is selected, false otherwise.
 	 */
 	public boolean isSearchSubfolders() {
 		return fSearchSubfolders;
 	}
-	
+
 	/**
 	 * Sets whether the 'search subfolders' option is selected.
-	 * 
+	 *
 	 * @param subfolders
 	 * @since 3.2
 	 */
 	public void setSearchSubfolders(boolean subfolders) {
 		fSearchSubfolders = subfolders;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.dialogs.SelectionStatusDialog#okPressed()
 	 */
@@ -146,5 +146,5 @@
 		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_SUBDIR_SETTING, fSearchSubfolders);
 		super.okPressed();
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
index 7902f75..1ee7316 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
@@ -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
  *******************************************************************************/
@@ -30,11 +30,11 @@
 
 /**
  * The browser for creating project source containers.
- * 
+ *
  * @since 3.0
  */
 public class ProjectSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell,org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -44,19 +44,19 @@
 		IStructuredContentProvider contentProvider=new BasicContainerContentProvider();
 		ILabelProvider labelProvider = new WorkbenchLabelProvider();
 		Dialog dialog = new ProjectSourceContainerDialog(shell,input, contentProvider, labelProvider,
-				SourceLookupUIMessages.projectSelection_chooseLabel); 
-		if(dialog.open() == Window.OK){		
+				SourceLookupUIMessages.projectSelection_chooseLabel);
+		if(dialog.open() == Window.OK){
 			Object[] elements= ((ListSelectionDialog)dialog).getResult();
 			ArrayList<ISourceContainer> res = new ArrayList<ISourceContainer>();
 			for (int i= 0; i < elements.length; i++) {
 				if(!(elements[i] instanceof IProject)) {
 					continue;
-				}				
-				res.add(new ProjectSourceContainer((IProject)elements[i], ((ProjectSourceContainerDialog)dialog).isAddRequiredProjects()));				
+				}
+				res.add(new ProjectSourceContainer((IProject)elements[i], ((ProjectSourceContainerDialog)dialog).isAddRequiredProjects()));
 			}
-			return res.toArray(new ISourceContainer[res.size()]);	
-		}	
+			return res.toArray(new ISourceContainer[res.size()]);
+		}
 		return new ISourceContainer[0];
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java
index 6674106..ce04488 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.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
  *******************************************************************************/
@@ -26,13 +26,13 @@
 
 /**
  * The dialog for selecting the project for which a source container will be created.
- * 
+ *
  * @since 3.0
  */
 public class ProjectSourceContainerDialog extends ListSelectionDialog {
-	
+
 	private boolean fAddRequiredProjects = false;
-	
+
 	public ProjectSourceContainerDialog(
 			Shell parentShell,
 			Object input,
@@ -41,19 +41,19 @@
 			String message) {
 		super(parentShell, input, contentProvider, labelProvider, message);
 	}
-	
-	
+
+
 	/**
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		Font font = parent.getFont();
-		
+
 		Composite composite = (Composite)super.createDialogArea(parent);
-		
+
 		final Button addRequired = new Button(composite, SWT.CHECK);
-		addRequired.setText(SourceLookupUIMessages.projectSelection_requiredLabel);  
+		addRequired.setText(SourceLookupUIMessages.projectSelection_requiredLabel);
 		addRequired.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -61,17 +61,17 @@
 			}
 		});
 		addRequired.setSelection(fAddRequiredProjects);
-		addRequired.setFont(font);		
-		
+		addRequired.setFont(font);
+
 		applyDialogFont(composite);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(),  IDebugHelpContextIds.ADD_PROJECT_CONTAINER_DIALOG);
 		return composite;
 	}
-	
-	
+
+
 	/**
 	 * Returns whether the user has selected to add required projects.
-	 * 
+	 *
 	 * @return whether the user has selected to add required projects
 	 */
 	public boolean isAddRequiredProjects() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
index 253032e..b05280c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
@@ -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
  *******************************************************************************/
@@ -24,7 +24,7 @@
 
 /**
  * The browser for creating working set source containers.
- * 
+ *
  * @since 3.0
  */
 public class WorkingSetSourceContainerBrowser extends AbstractSourceContainerBrowser {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java
index 795e5c2..320b4bc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.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
  *******************************************************************************/
@@ -18,21 +18,21 @@
 
 /**
  * The browser for creating workspace source containers.
- * 
+ *
  * @since 3.0
  */
 public class WorkspaceSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
 	 */
 	@Override
 	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
 		ISourceContainer[] containers = new ISourceContainer[1];
-		
+
 		containers[0] = new WorkspaceSourceContainer();
-		
-		return containers;		
+
+		return containers;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
index 5583760..32b98f7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Matt Conway - initial implementation
  *     IBM Corporation - integration and code cleanup
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
index 76dc246..e83a9f3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Matt Conway - initial implementation
  *     IBM Corporation - integration and code cleanup
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java
index ae61904..ddecc88 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.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
  *******************************************************************************/
@@ -12,9 +12,9 @@
 
 /**
  * A variable presentation extension can contribute an argument selector
- * which is use to configure the argument for a string substitution 
+ * which is use to configure the argument for a string substitution
  * variable.
- * 
+ *
  * @since 3.0
  */
 public interface IArgumentSelector extends org.eclipse.debug.ui.stringsubstitution.IArgumentSelector{
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PasswordPrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PasswordPrompt.java
index 1eb238f..511dfe2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PasswordPrompt.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PasswordPrompt.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2007 Benjamin Muskalla and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Benjamin Muskalla - initial implementation
  *     IBM Canada - review initial contribution and commit
@@ -27,9 +27,9 @@
  * typed characters are hidden on the screen.
  */
 public class PasswordPrompt extends PromptingResolver {
-	
+
 	private String returnValue;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.stringsubstitution.PromptingResolver#prompt()
 	 */
@@ -37,7 +37,7 @@
 	public void prompt() {
 		Dialog dialog = new Dialog((Shell)null){
 			private Text text;
-			
+
 			/* (non-Javadoc)
 			 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 			 */
@@ -66,7 +66,7 @@
 		        applyDialogFont(composite);
 		        return composite;
 			}
-			
+
 			/* (non-Javadoc)
 			 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
 			 */
@@ -79,7 +79,7 @@
 		        }
 		        super.buttonPressed(buttonId);
 			}
-			
+
 			/* (non-Javadoc)
 			 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
 			 */
@@ -88,9 +88,9 @@
 		        super.configureShell(newShell);
 		        newShell.setText(StringSubstitutionMessages.StringPromptExpander_0);
 			}
-			
+
 		};
-		
+
 		int dialogResult = dialog.open();
 		if (dialogResult == Window.OK) {
 			dialogResultString = returnValue;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
index 2aa1aaa..67c97cc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2013 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Matt Conway - initial implementation
  *     IBM Corporation - integration and code cleanup
@@ -43,14 +43,14 @@
 	 */
 	protected String defaultValue = null;
 	/**
-	 * The last value chosen by the user for this variable 
+	 * The last value chosen by the user for this variable
 	 */
 	protected String lastValue = null;
 	/**
 	 * The result returned from the prompt dialog
 	 */
 	protected String dialogResultString = null;
-	
+
 	/**
 	 * Presents the user with the appropriate prompt for the variable to be expanded
 	 * and sets the <code>dialogResultString</code> based on the user's selection.
@@ -61,7 +61,7 @@
 	 * Initializes values displayed when the user is prompted. If
 	 * a prompt hint and default value are supplied in the given
 	 * variable value, these are extracted for presentation
-	 * 
+	 *
 	 * @param varValue the value of the variable from which the prompt
 	 * hint and default value will be extracted
 	 */
@@ -82,10 +82,10 @@
 		if (promptHint != null) {
 			dialogMessage = MessageFormat.format(StringSubstitutionMessages.PromptExpanderBase_0, new Object[] { promptHint });
 		} else {
-			dialogMessage = StringSubstitutionMessages.PromptExpanderBase_1; 
+			dialogMessage = StringSubstitutionMessages.PromptExpanderBase_1;
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
 	 */
@@ -109,7 +109,7 @@
 		}
 		return value;
 	}
-	
+
 	protected Shell getShell() {
 		return DebugUIPlugin.getShell();
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java
index d58cf76..2b67812 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.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
  *******************************************************************************/
@@ -29,7 +29,7 @@
 	@Override
 	public String selectArgument(IStringVariable variable, Shell shell) {
 		ResourceListSelectionDialog dialog = new ResourceListSelectionDialog(shell, ResourcesPlugin.getWorkspace().getRoot(), IResource.FILE | IResource.FOLDER | IResource.PROJECT);
-		dialog.setTitle(StringSubstitutionMessages.ResourceSelector_0); 
+		dialog.setTitle(StringSubstitutionMessages.ResourceSelector_0);
 		if (dialog.open() == Window.OK) {
 			Object[] objects = dialog.getResult();
 			if (objects.length == 1) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
index 2644dc4..e5a4c24 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
@@ -36,33 +36,33 @@
 
 	// singleton
 	private static SelectedResourceManager fgDefault;
-	
+
 	/**
 	 * Returns the singleton resource selection manager
-	 * 
+	 *
 	 * @return VariableContextManager
 	 */
 	public static SelectedResourceManager getDefault() {
 		if (fgDefault == null) {
-			fgDefault = new SelectedResourceManager(); 
+			fgDefault = new SelectedResourceManager();
 		}
 		return fgDefault;
 	}
-	
+
 	/**
 	 * Returns the selection from the currently active part. If the active part is an
-	 * editor a new selection of the editor part is made, otherwise the selection 
+	 * editor a new selection of the editor part is made, otherwise the selection
 	 * from the parts' selection provider is returned if it is a structured selection. Otherwise
 	 * and empty selection is returned, never <code>null</code>.
 	 * <br>
 	 * <p>
 	 * This method is intended to be called from the UI thread.
 	 * </p>
-	 * 
+	 *
 	 * @return the <code>IStructuredSelection</code> from the current parts' selection provider, or
 	 * a new <code>IStructuredSelection</code> of the current editor part, depending on what the current part
 	 * is.
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public IStructuredSelection getCurrentSelection() {
@@ -80,11 +80,11 @@
 			return selection[0];
 		}
 	}
-	
+
 	/**
 	 * Underlying implementation of <code>getCurrentSelection</code>
 	 * @return the current selection
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	private IStructuredSelection getCurrentSelection0() {
@@ -112,12 +112,12 @@
 		}
 		return StructuredSelection.EMPTY;
 	}
-		
+
 	/**
 	 * Returns the currently selected resource in the active workbench window,
 	 * or <code>null</code> if none. If an editor is active, the resource adapter
 	 * associated with the editor is returned.
-	 * 
+	 *
 	 * @return selected resource or <code>null</code>
 	 */
 	public IResource getSelectedResource() {
@@ -135,7 +135,7 @@
 			return resource[0];
 		}
 	}
-	
+
 	/**
 	 * Returns the currently selected resource from the active part, or <code>null</code> if one cannot be
 	 * resolved.
@@ -176,11 +176,11 @@
 		}
 		return resource;
 	}
-	
+
 	/**
 	 * Returns the current text selection as a <code>String</code>, or <code>null</code> if
 	 * none.
-	 * 
+	 *
 	 * @return the current text selection as a <code>String</code> or <code>null</code>
 	 */
 	public String getSelectedText() {
@@ -198,12 +198,12 @@
 			return text[0];
 		}
 	}
-	
+
 	/**
-	 * Returns the selected text from the most currently active editor. The editor does not have to 
+	 * Returns the selected text from the most currently active editor. The editor does not have to
 	 * have focus at the time this method is called.
 	 * @return the currently selected text in the most recent active editor.
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	protected String getSelectedText0() {
@@ -228,10 +228,10 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the active workbench window, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return the active workbench window, or <code>null</code> if none
 	 * @since 3.2
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceResolver.java
index a0b3799..3e753f1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceResolver.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceResolver.java
@@ -20,7 +20,7 @@
 
 /**
  * Resolves the currently selected resource.
- * 
+ *
  * @since 3.5
  */
 public class SelectedResourceResolver extends ResourceResolver implements IDynamicVariableResolver {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java
index 31acde4..8d2f1a5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.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
  *******************************************************************************/
@@ -16,11 +16,11 @@
 
 public class SelectedTextResolver implements IDynamicVariableResolver {
 	private SelectedResourceManager selectedResourceManager;
-	
+
 	public SelectedTextResolver() {
 		selectedResourceManager = SelectedResourceManager.getDefault();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
index 1206606..2c03514 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2005 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Matt Conway - initial implementation
  *     IBM Corporation - integration and code cleanup
@@ -18,14 +18,14 @@
  * Prompts the user to input a string and expands to the value entered
  */
 public class StringPrompt extends PromptingResolver {
-	
+
 	/**
 	 * Prompts the user to input a string.
 	 * @see PromptExpanderBase#prompt()
 	 */
 	@Override
 	public void prompt() {
-		InputDialog dialog = new InputDialog(null, StringSubstitutionMessages.StringPromptExpander_0, dialogMessage, defaultValue == null ? lastValue : defaultValue, null); 
+		InputDialog dialog = new InputDialog(null, StringSubstitutionMessages.StringPromptExpander_0, dialogMessage, defaultValue == null ? lastValue : defaultValue, null);
 		int dialogResult = dialog.open();
 		if (dialogResult == Window.OK) {
 			dialogResultString = dialog.getValue();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
index e01258a..13c1e33 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
@@ -3,8 +3,8 @@
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
+ *
+ * Contributors:
  * IBM - Initial API and implementation
  * Johann Draschwandtner (Wind River) - [300988] Support filtering variables
  **********************************************************************/
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java
index 3c8f6d1..48ace61 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.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
  *******************************************************************************/
@@ -15,7 +15,7 @@
 
 
 public class StringVariableLabelProvider extends LabelProvider {
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
 		 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
index d649557..cbda799 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
@@ -25,35 +25,35 @@
 
 /**
  * Manages argument selectors (choosers) for string variables.
- * 
+ *
  * @since 3.0
  */
 public class StringVariablePresentationManager {
-	
+
 	/**
 	 * String variable presentation extension point identifier
 	 * (value <code>"stringVariablePresentations"</code>).
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String EXTENSION_POINT_STRING_VARIABLE_PRESENTATIONS = "stringVariablePresentations"; //$NON-NLS-1$
-	
+
 	// default manager
 	private static StringVariablePresentationManager fgManager;
-	
+
 	// extension point attributes
 	public static final String ATTR_NAME = "variableName"; //$NON-NLS-1$
 	public static final String ATTR_ARGUMENT_SELECTOR = "argumentSelector"; //$NON-NLS-1$
-	
+
 	/**
 	 * Table of configuration elements for variable presentations,
 	 * keyed by variable name.
 	 */
 	private Map<String, IConfigurationElement> fConfigurations;
-	
+
 	/**
 	 * Returns the singleton string variable presentation manager.
-	 * 
+	 *
 	 * @return the singleton string variable presentation manager
 	 */
 	public static StringVariablePresentationManager getDefault() {
@@ -62,11 +62,11 @@
 		}
 		return fgManager;
 	}
-	
+
 	/**
 	 * Returns an argument selector contributed for the given
 	 * variable, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param variable string substitution variable
 	 * @return argument selector or <code>null</code>
 	 */
@@ -81,7 +81,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Constructs the manager, loading extensions.
 	 */
@@ -90,7 +90,7 @@
 	}
 
 	/**
-	 * Load extensions 
+	 * Load extensions
 	 */
 	private void initialize() {
 		fConfigurations = new HashMap<String, IConfigurationElement>();
@@ -104,8 +104,8 @@
 				continue;
 			}
 			fConfigurations.put(name, element);
-		}		
+		}
 	}
-	
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SystemPropertyArgumentSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SystemPropertyArgumentSelector.java
index 8b805b7..a6ba783 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SystemPropertyArgumentSelector.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SystemPropertyArgumentSelector.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
 
 /**
  * Argument selector for system properties.
- * 
+ *
  * @since 3.2
  */
 public class SystemPropertyArgumentSelector implements IArgumentSelector {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java
index c8bec41..f8ca2af 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AbstractUpdatePolicy.java
@@ -13,7 +13,7 @@
 
 /**
  * An update policy updates a viewer based on deltas reported by a model proxy.
- *  
+ *
  * @since 3.2
  *
  */
@@ -27,7 +27,7 @@
 	public void init(AsynchronousViewer viewer) {
 		fViewer = viewer;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.viewers.IUpdatePolicy#dispose()
 	 */
@@ -38,13 +38,13 @@
 	/**
 	 * Returns the viewer this policy is installed on or <code>null</code>
 	 * if disposed.
-	 * 
+	 *
 	 * @return presentation to update
 	 */
 	public AsynchronousViewer getViewer() {
 		return fViewer;
 	}
-	
+
 	protected synchronized boolean isDisposed() {
 		return fViewer == null;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
index 484d103..2920ebf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousModel.java
@@ -39,11 +39,11 @@
 
 /**
  * Model for an asynchronous viewer
- * 
+ *
  * @since 3.2
  */
 public abstract class AsynchronousModel {
-	
+
 	private ModelNode fRoot; // root node
 	private Map<Object, ModelNode[]> fElementToNodes = new HashMap<Object, ModelNode[]>(); // map
 																							// of
@@ -62,9 +62,9 @@
 																							// element
 	private AsynchronousViewer fViewer; // viewer this model works for
     private boolean fDisposed = false; // whether disposed
-    
+
 	class EmptyContentAdapter extends AsynchronousContentAdapter {
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter#getChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
 		 */
@@ -89,14 +89,14 @@
 			return true;
 		}
 	}
-	
+
 	protected IAsynchronousContentAdapter fEmptyContentAdapter = new EmptyContentAdapter();
-	
+
 	/**
 	 * List of requests currently being performed.
 	 */
 	private List<IStatusMonitor> fPendingUpdates = new ArrayList<IStatusMonitor>();
-	
+
 	/**
 	 * List of pending viewer updates
 	 */
@@ -104,7 +104,7 @@
 
 	/**
 	 * Constructs a new empty tree model
-	 * 
+	 *
 	 * @param viewer associated viewer
 	 */
 	public AsynchronousModel(AsynchronousViewer viewer) {
@@ -119,23 +119,23 @@
 			DebugUIPlugin.trace(buffer.toString());
 		}
 	}
-	
+
 	/**
 	 * Initializes this model. Called once after creation.
-	 * 
+	 *
 	 * @param root root element or <code>null</code>
 	 */
 	public void init(Object root) {
 		if (root != null) {
 			fRoot = new ModelNode(null, root);
 			mapElement(root, fRoot);
-		}		
+		}
 	}
-	
+
 	protected AsynchronousViewer getViewer() {
 		return fViewer;
 	}
-	
+
 	/**
 	 * Disposes this model
 	 */
@@ -158,7 +158,7 @@
 		}
 		fElementToNodes.clear();
 	}
-    
+
     /**
      * Returns whether this model has been disposed
      * @return <code>true</code> if the model is disposed <code>false</code> otherwise
@@ -166,7 +166,7 @@
     public synchronized boolean isDisposed() {
         return fDisposed;
     }
-    
+
     /**
      * Cancels all pending update requests.
      */
@@ -178,12 +178,12 @@
             update.setCanceled(true);
         }
         fPendingUpdates.clear();
-    }    
-	
+    }
+
 	/**
 	 * Installs the model proxy for the given element into this viewer
 	 * if not already installed.
-	 * 
+	 *
 	 * @param element element to install an update policy for
 	 */
 	public synchronized void installModelProxy(Object element) {
@@ -202,18 +202,18 @@
 								proxy.installed(getViewer());
 							}
 							return Status.OK_STATUS;
-						} 
+						}
 					};
 					job.setSystem(true);
 					job.schedule();
 				}
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Uninstalls the model proxy installed for the given element, if any.
-	 * 
+	 *
 	 * @param element the element context
 	 */
 	protected synchronized void disposeModelProxy(Object element) {
@@ -222,33 +222,33 @@
 			getViewer().modelProxyRemoved(proxy);
 			proxy.dispose();
 		}
-	}	
-	
+	}
+
 	/**
 	 * Unintalls all model proxies installed for this model
 	 */
 	private void disposeAllModelProxies() {
 	    synchronized(fModelProxies) {
 			for (IModelProxy proxy : fModelProxies.values()) {
-	            getViewer().modelProxyRemoved(proxy);	            
+	            getViewer().modelProxyRemoved(proxy);
 	            proxy.dispose();
 	        }
 	        fModelProxies.clear();
 	    }
-	}	
-	
+	}
+
 	/**
 	 * Returns the presentation this model is installed in
-	 * 
+	 *
 	 * @return the presentation context from the backing viewer
 	 */
 	protected IPresentationContext getPresentationContext() {
 		return fViewer.getPresentationContext();
 	}
-	
+
 	/**
 	 * Returns the model proxy factory for the given element of <code>null</code> if none.
-	 * 
+	 *
 	 * @param element element to retrieve adapters for
 	 * @return model proxy factory adapter or <code>null</code>
 	 */
@@ -261,11 +261,11 @@
 			adapter = adaptable.getAdapter(IModelProxyFactory.class);
 		}
 		return adapter;
-	}	
-	
+	}
+
 	/**
 	 * Maps the given element to the given node.
-	 * 
+	 *
 	 * @param element the element context
 	 * @param node the model node
 	 */
@@ -288,10 +288,10 @@
 		}
         installModelProxy(element);
 	}
-    
+
     /**
      * Unmaps the given node from its element and widget.
-     * 
+     *
      * @param node the model node
      */
     protected synchronized void unmapNode(ModelNode node) {
@@ -317,31 +317,31 @@
             }
         }
     }
-	
+
 	/**
 	 * Returns the nodes in this model for the given element or
      * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element model element
 	 * @return associated nodes or <code>null</code>
 	 */
 	public synchronized ModelNode[] getNodes(Object element) {
 		return fElementToNodes.get(element);
 	}
-	
+
 	/**
 	 * Returns the root node or <code>null</code>
-	 * 
+	 *
 	 * @return the root node or <code>null</code>
 	 */
 	public ModelNode getRootNode() {
 		return fRoot;
 	}
-	
+
 	/**
 	 * Cancels any conflicting updates for children of the given item, and
 	 * schedules the new update.
-	 * 
+	 *
 	 * @param update the update to schedule
 	 */
 	protected void requestScheduled(IStatusMonitor update) {
@@ -357,11 +357,11 @@
 			}
 			fPendingUpdates.add(update);
 		}
-	}	
-	
+	}
+
 	/**
 	 * Removes the update from the pending updates list.
-	 * 
+	 *
 	 * @param update the update to remove
 	 */
 	protected void requestComplete(IStatusMonitor update) {
@@ -369,10 +369,10 @@
 			fPendingUpdates.remove(update);
 		}
 	}
-	
+
 	/**
 	 * An viewer update has been scheduled due to the following update request.
-	 * 
+	 *
 	 * @param update the update to add
 	 */
 	protected void viewerUpdateScheduled(IStatusMonitor update) {
@@ -381,11 +381,11 @@
 			fViewerUpdates.add(update);
 		}
 	}
-	
+
 	/**
 	 * Returns the result of running the given elements through the
 	 * viewers filters.
-	 * 
+	 *
 	 * @param parent parent element
 	 * @param elements the elements to filter
 	 * @return only the elements which all filters accept
@@ -410,10 +410,10 @@
 		}
 		return elements;
 	}
-	
+
 	/**
 	 * Refreshes the given node.
-	 * 
+	 *
 	 * @param node the model node to update
 	 */
 	protected void updateLabel(ModelNode node) {
@@ -423,12 +423,12 @@
 			ILabelRequestMonitor labelUpdate = new LabelRequestMonitor(node, this);
 			requestScheduled(labelUpdate);
 			adapter.retrieveLabel(element, getPresentationContext(), labelUpdate);
-		}		
+		}
 	}
-	
+
 	/**
 	 * Returns the label adapter for the given element or <code>null</code> if none.
-	 * 
+	 *
 	 * @param element element to retrieve adapter for
 	 * @return presentation adapter or <code>null</code>
 	 */
@@ -445,17 +445,17 @@
 			return new AsynchronousDebugLabelAdapter();
 		}
 		return adapter;
-	}	
-	
+	}
+
     /**
      * Returns the tree element adapter for the given element or
      * <code>null</code> if none.
-     * 
+     *
      * @param element
      *            element to retrieve adapter for
      * @return presentation adapter or <code>null</code>
      */
-    protected IAsynchronousContentAdapter getContentAdapter(Object element) {        
+    protected IAsynchronousContentAdapter getContentAdapter(Object element) {
         IAsynchronousContentAdapter adapter = null;
         if (element instanceof IAsynchronousContentAdapter) {
             adapter = (IAsynchronousContentAdapter) element;
@@ -464,11 +464,11 @@
             adapter = adaptable.getAdapter(IAsynchronousContentAdapter.class);
         }
         return adapter;
-    }	
-    
+    }
+
     /**
      * Updates the children of the given node.
-     * 
+     *
      * @param parent
      *            node of which to update children
      */
@@ -483,11 +483,11 @@
             requestScheduled(update);
             adapter.retrieveChildren(element, getPresentationContext(), update);
         }
-    }    
-	
+    }
+
 	/**
 	 * Update this model's viewer preserving its selection.
-	 * 
+	 *
 	 * @param update the update code to run in the backing viewer's preserving selection method
 	 */
 	protected void preservingSelection(Runnable update) {
@@ -496,7 +496,7 @@
 
 	/**
 	 * The viewer updated associated with a request is complete.
-	 * 
+	 *
 	 * @param monitor the status to remove and complete
 	 */
 	protected void viewerUpdateComplete(IStatusMonitor monitor) {
@@ -506,10 +506,10 @@
 		}
 		getViewer().updateComplete(monitor);
 	}
-	
+
 	/**
 	 * An update request was cancelled
-	 * 
+	 *
 	 * @param monitor the monitor to remove
 	 */
 	protected void requestCanceled(AsynchronousRequestMonitor monitor) {
@@ -517,10 +517,10 @@
 			fPendingUpdates.remove(monitor);
 		}
 	}
-	
+
 	/**
 	 * Whether any updates are still in progress in the model or against the viewer.
-	 * 
+	 *
 	 * @return <code>true</code> if there are pending changes <code>false</code> otherwise
 	 */
 	protected boolean hasPendingUpdates() {
@@ -528,18 +528,18 @@
 			return !fPendingUpdates.isEmpty() || !fViewerUpdates.isEmpty();
 		}
 	}
-	
+
     /**
      * Asynchronous update for add/set children request.
-     * 
+     *
      * @param parent the parent model node
      * @param element the element context
      */
 	protected abstract void add(ModelNode parent, Object element);
-	
+
 	/**
 	 * Notification from children request monitor
-	 * 
+	 *
 	 * @param parentNode parent node
 	 * @param kids list of model elements
 	 */
@@ -550,11 +550,11 @@
         if (sorter != null) {
         	sorter.sort(viewer, children);
         }
-        
+
         ModelNode[] prevKids = null;
         ModelNode[] newChildren = null;
-        ModelNode[] unmap = null; 
-        
+        ModelNode[] unmap = null;
+
         synchronized (this) {
         	if (isDisposed()) {
                 return;
@@ -572,7 +572,7 @@
             	newChildren = new ModelNode[children.length];
             	unmap = new ModelNode[prevKids.length];
             	for (int i = 0; i < prevKids.length; i++) {
-					unmap[i] = prevKids[i];	
+					unmap[i] = prevKids[i];
 				}
             	for (int i = 0; i < children.length; i++) {
 					Object child = children[i];
@@ -605,9 +605,9 @@
             	DebugUIPlugin.trace(toString());
             }
         }
-        
+
         //update viewer outside the lock
-    	final ModelNode[] finalUnmap = unmap; 
+    	final ModelNode[] finalUnmap = unmap;
         preservingSelection(new Runnable() {
             @Override
 			public void run() {
@@ -618,10 +618,10 @@
             	}
             	viewer.nodeChildrenChanged(parentNode);
             }
-        });        	        
+        });
 
 	}
-	
+
 	@Override
 	public String toString() {
 		StringBuffer buf = new StringBuffer();
@@ -633,7 +633,7 @@
 		}
 		return buf.toString();
 	}
-	
+
 	private void append(StringBuffer buf, ModelNode node, int level) {
 		for (int i = 0; i < level; i++) {
 			buf.append('\t');
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
index 92071d2..9aa6a64 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousRequestMonitor.java
@@ -26,22 +26,22 @@
  * @since 3.2
  */
 public abstract class AsynchronousRequestMonitor extends AbstractRequestMonitor {
-    
+
 	/**
 	 * Model node the update is rooted at
 	 */
     private ModelNode fNode;
-    
+
     /**
      * Model the update is being performed for
      */
     private AsynchronousModel fModel;
-    
+
     /**
      * Whether this request's 'done' method has been called.
      */
     private boolean fDone = false;
-    
+
     protected WorkbenchJob fViewerUpdateJob = new WorkbenchJob("Asynchronous viewer update") { //$NON-NLS-1$
         @Override
 		public IStatus runInUIThread(IProgressMonitor monitor) {
@@ -64,10 +64,10 @@
             return Status.OK_STATUS;
         }
     };
-    
+
     /**
      * Constructs an update rooted at the given item.
-     * 
+     *
      * @param node model node
      * @param model model the node is in
      */
@@ -78,39 +78,39 @@
         fViewerUpdateJob.setRule(getUpdateSchedulingRule());
         fViewerUpdateJob.setSystem(true);
     }
-    
+
     /**
      * Returns the scheduling rule for viewer update job.
-     * 
+     *
      * @return rule or <code>null</code>
      */
     protected ISchedulingRule getUpdateSchedulingRule() {
     	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(getModel().getViewer());
     }
-    
+
     /**
      * Returns the model this update is being performed for
-     * 
+     *
      * @return the model this update is being performed for
      */
     protected AsynchronousModel getModel() {
         return fModel;
     }
-    
+
     /**
      * Returns the model node this update is rooted at
-     * 
+     *
      * @return the model node this update is rooted at
      */
     protected ModelNode getNode() {
         return fNode;
     }
-    
+
     /**
      * Returns whether this update contains the given node.
      * That is, whether this update is for the same node or a child of
      * the given node.
-     * 
+     *
      * @param node node to test containment on
      * @return whether this update contains the given node
      */
@@ -127,7 +127,7 @@
         }
         return false;
     }
-    
+
 
     /* (non-Javadoc)
      * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
@@ -139,7 +139,7 @@
         	getModel().requestCanceled(this);
         }
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.core.runtime.IProgressMonitor#done()
      */
@@ -150,10 +150,10 @@
 		}
 		scheduleViewerUpdate(0L);
 	}
-    
+
     /**
      * Returns whether this request is done yet.
-     * 
+     *
      * @return if the request is done
      */
     protected synchronized boolean isDone() {
@@ -161,23 +161,23 @@
     }
 
     protected void scheduleViewerUpdate(long ms) {
-        if(!isCanceled()) 
+        if(!isCanceled())
             fViewerUpdateJob.schedule(ms);
     }
-    
+
     /**
 	 * Notification this update has been completed and should now be applied to
 	 * this update's viewer. This method is called in the UI thread.
 	 */
     protected abstract void performUpdate();
-    
+
     /**
      * Returns whether this update effectively contains the given update.
      * That is, whether this update will also perform the given update.
-     * 
+     *
      * @param update update to compare to
      * @return whether this update will also perform the given update
      */
     protected abstract boolean contains(AsynchronousRequestMonitor update);
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java
index aa2ffa5..9daeff7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousSchedulingRuleFactory.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
  *******************************************************************************/
@@ -14,11 +14,11 @@
 
 /**
  * Scheduling rule factory for asynchronous operations.
- * 
+ *
  * @since 3.2
  */
 public class AsynchronousSchedulingRuleFactory {
-	
+
 	private static AsynchronousSchedulingRuleFactory fgFactory = null;
 
 	/**
@@ -39,11 +39,11 @@
 			return rule instanceof SerialRule;
 		}
 	}
-	
+
    class SerialPerObjectRule implements ISchedulingRule {
-    	
+
     	private Object fObject = null;
-    	
+
     	public SerialPerObjectRule(Object lock) {
     		fObject = lock;
     	}
@@ -67,37 +67,37 @@
 			}
 			return false;
 		}
-    	
-    }	
-	
+
+    }
+
 	private AsynchronousSchedulingRuleFactory() {}
-	
+
 	public static AsynchronousSchedulingRuleFactory getDefault() {
 		if (fgFactory == null) {
 			fgFactory = new AsynchronousSchedulingRuleFactory();
 		}
 		return fgFactory;
 	}
-	
+
 	/**
 	 * Returns a scheduling rule that allows all jobs with an instance
 	 * of the rule to run one at a time.
-	 *  
+	 *
 	 * @return scheduling rule
 	 */
 	public ISchedulingRule newSerialRule() {
 		return new SerialRule();
 	}
-	
+
 	/**
 	 * Returns a scheduling rule that allows all jobs with an instance
 	 * of the rule on the same object to run one at a time.
-	 * 
+	 *
 	 * @param lock object to serialize one
 	 * @return scheduling rule
 	 */
 	public ISchedulingRule newSerialPerObjectRule(Object lock) {
 		return new SerialPerObjectRule(lock);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
index 386e239..31d58fb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableModel.java
@@ -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
  *******************************************************************************/
@@ -22,7 +22,7 @@
 
 	/**
 	 * Constructs a new table model.
-	 * 
+	 *
 	 * @param viewer the backing viewer
 	 */
 	public AsynchronousTableModel(AsynchronousViewer viewer) {
@@ -34,10 +34,10 @@
 	 */
 	@Override
 	protected void add(ModelNode parent, Object element) {}
-	
+
 	/**
 	 * Adds the given elements to the table.
-	 * 
+	 *
 	 * @param elements the new elements to add
 	 */
 	public void add(Object[] elements) {
@@ -45,10 +45,10 @@
 		requestScheduled(update);
 		update.done();
 	}
-	
+
 	/**
 	 * Notification add request is complete.
-	 * 
+	 *
 	 * @param elements elements to add
 	 */
 	protected void added(Object[] elements) {
@@ -75,10 +75,10 @@
     		setChildren(getRootNode(), kids);
     	}
 	}
-	
+
 	/**
 	 * Inserts the given elements to the table.
-	 * 
+	 *
 	 * @param elements the new elements to insert
 	 * @param index the index to insert the elements at
 	 */
@@ -87,10 +87,10 @@
 		requestScheduled(update);
 		update.done();
 	}
-	
+
 	/**
 	 * Notification insert request is complete.
-	 * 
+	 *
 	 * @param elements elements to add
 	 * @param index index to insert at
 	 */
@@ -118,22 +118,22 @@
     	if (changed) {
     		setChildren(getRootNode(), kids);
     	}
-	}	
+	}
 
 	/**
 	 * Removes the given elements from the table.
-	 * 
+	 *
 	 * @param elements the elements to remove
 	 */
 	public void remove(Object[] elements) {
 		TableRemoveRequestMonitor update = new TableRemoveRequestMonitor(getRootNode(), elements, this);
 		requestScheduled(update);
 		update.done();
-	}	
-	
+	}
+
 	/**
 	 * Notification remove request is complete.
-	 * 
+	 *
 	 * @param elements elements to remove
 	 */
 	protected void removed(Object[] elements) {
@@ -156,11 +156,11 @@
     	if (changed) {
     		setChildren(getRootNode(), kids);
     	}
-	}	
-	
+	}
+
 	/**
 	 * Adds the given elements to the table.
-	 * @param element the element to replace 
+	 * @param element the element to replace
 	 * @param replacement the element to replace the old element with
 	 */
 	public void replace(Object element, Object replacement) {
@@ -168,10 +168,10 @@
 		requestScheduled(update);
 		update.done();
 	}
-	
+
 	/**
 	 * Notification add request is complete.
-	 * @param element the element to be replaced 
+	 * @param element the element to be replaced
 	 * @param replacement the element that replaced the old element
 	 */
 	protected void replaced(Object element, Object replacement) {
@@ -179,7 +179,7 @@
         if (filtered.length == 0) {
             remove(new Object[]{element});
             return;
-        }		
+        }
 		List<ModelNode> list = new ArrayList<ModelNode>();
     	synchronized (this) {
     		ModelNode[] nodes = getNodes(element);
@@ -194,5 +194,5 @@
     			getViewer().nodeChanged(node);
     		}
     	}
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
index 97e5cdb..bcc728f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousTableViewer.java
@@ -69,7 +69,7 @@
     /**
      * Table must be SWT.VIRTUAL. This is intentional. Labels will never be
      * retrieved for non-visible items.
-     * 
+     *
      * @see SWT#VIRTUAL
      * @param table the backing table widget
      */
@@ -89,7 +89,7 @@
 			public void mouseDown(MouseEvent e) {
                 fTableEditorImpl.handleMouseDown(e);
             }
-        });      
+        });
     }
 
     @Override
@@ -97,7 +97,7 @@
     	fTableEditor.dispose();
     	fTable.dispose();
         super.dispose();
-    }  
+    }
 
     @Override
 	protected ISelection doAttemptSelectionToWidget(ISelection selection, boolean reveal) {
@@ -112,7 +112,7 @@
             ModelNode[] nodes = getModel().getRootNode().getChildrenNodes();
             if (nodes != null) {
 	            int index = 0;
-	
+
 	            // I'm not sure if it would be faster to check TableItems first...
 	            for (int i = 0; i < nodes.length; i++) {
 	                Object element = nodes[i].getElement();
@@ -121,7 +121,7 @@
 	                    index++;
 	                }
 	            }
-	
+
 	            fTable.setSelection(indices);
 	            if (reveal && indices.length > 0) {
 	                TableItem item = fTable.getItem(indices[0]);
@@ -177,7 +177,7 @@
         if (node.getElement().equals(getInput())) {
             updateChildren(node);
         }
-    } 
+    }
 
     @Override
 	protected void restoreLabels(Item item) {
@@ -264,7 +264,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.StructuredViewer#reveal(java.lang.Object)
      */
     @Override
@@ -278,7 +278,7 @@
 
     /**
      * Sets the cell editors of this table viewer.
-     * 
+     *
      * @param editors
      *            the list of cell editors
      */
@@ -288,7 +288,7 @@
 
     /**
      * Sets the cell modifier of this table viewer.
-     * 
+     *
      * @param modifier
      *            the cell modifier
      */
@@ -375,7 +375,7 @@
 
     /**
      * This is not asynchronous. This method must be called in the UI Thread.
-     * 
+     *
      * @param element
      *            The element to edit. Each element maps to a row in the Table.
      * @param column
@@ -480,12 +480,12 @@
     @Override
 	protected void setItemCount(Widget parent, int itemCount) {
 		fTable.setItemCount(itemCount);
-	}  
+	}
 
 	protected int getVisibleItemCount(int top) {
         int itemCount = fTable.getItemCount();
         return Math.min((fTable.getBounds().height / fTable.getItemHeight()) + 2, itemCount - top);
-    }   
+    }
 
     /* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.AsynchronousViewer#createUpdatePolicy()
@@ -529,7 +529,7 @@
 			}
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.AsynchronousViewer#clearChild(org.eclipse.swt.widgets.Widget, int)
 	 */
@@ -547,7 +547,7 @@
 	protected void clearChildren(Widget item) {
 		if (item instanceof Table) {
 			fTable.clearAll();
-		}	
+		}
 	}
 
 	/* (non-Javadoc)
@@ -560,5 +560,5 @@
 		}
 		return -1;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
index 6a256f4..ce0f0bb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/AsynchronousViewer.java
@@ -58,7 +58,7 @@
  * This viewer uses adapters to retrieve labels and content rather than
  * a label provider and content provider. As such, the label provider for this viewer
  * is <code>null</code> by default. The content provider returned by this viewer is
- * non-<code>null</code> to conform to the viewer specification, but performs no 
+ * non-<code>null</code> to conform to the viewer specification, but performs no
  * useful function.
  * </p>
  * <p>
@@ -66,12 +66,12 @@
  * the viewer attempts to perform the selection. If the elements in the specified selection
  * are not yet in the viewer, the portion of the selection that could not be honored
  * becomes a pending selection. As more elements are added to viewer, the pending selection
- * is attempted to be set.  
+ * is attempted to be set.
  * </p>
  * @since 3.2
  */
 public abstract class AsynchronousViewer extends StructuredViewer implements Listener {
-	
+
 	/**
 	 * Model of elements for this viewer
 	 */
@@ -107,17 +107,17 @@
 	private ISelection fPendingSelection;
 
 	private ISelection fCurrentSelection;
-	
+
 	/**
 	 * Array used to store indices of the path to an item in the viewer being mapped
-	 * by a 'set data' callback. Indices are bottom up. For example when 'set data' for 
+	 * by a 'set data' callback. Indices are bottom up. For example when 'set data' for
 	 * the 3rd child of the 4th child of the 2nd root element were being asked for,
 	 * the first 3 indices would look like: [3, 4, 2, ....]. We re-use an array to avoid
 	 * creating a new one all the time. The array grows as needed to accommodate deep
 	 * elements.
 	 */
 	private int[] fSetDataIndicies = new int[5];
-	
+
 	/**
 	 * The update policy for this viewer.
 	 */
@@ -125,9 +125,9 @@
 
 	protected static final String OLD_LABEL = "old_label"; //$NON-NLS-1$
 	protected static final String OLD_IMAGE = "old_image"; //$NON-NLS-1$
-	
+
 	/**
-	 * Creates a new viewer 
+	 * Creates a new viewer
 	 */
 	protected AsynchronousViewer() {
 		setContentProvider(new NullContentProvider());
@@ -170,7 +170,7 @@
 			color.dispose();
 		}
 		fColorCache.clear();
-		
+
 		if (fModel != null) {
 			fModel.dispose();
 		}
@@ -184,7 +184,7 @@
 
 	/**
 	 * Updates all occurrences of the given element in this viewer.
-	 * 
+	 *
 	 * @param element element to update
 	 */
 	public void update(Object element) {
@@ -195,10 +195,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Updates the label for a specific element (node) in the model.
-	 * 
+	 *
 	 * @param node node to update
 	 */
 	protected void updateLabel(ModelNode node) {
@@ -207,12 +207,12 @@
 			getModel().updateLabel(node);
 		}
 	}
-		
+
 	/**
 	 * Returns the presentation context to be used in update requests.
 	 * Clients may override this method if required to provide special
 	 * implementations of contexts.
-	 * 
+	 *
 	 * @return presentation context
 	 */
 	public IPresentationContext getPresentationContext() {
@@ -257,13 +257,13 @@
 			unmapAllElements();
 			getControl().setData(null);
 		}
-        refresh();		
+        refresh();
 	}
-	
+
 	/**
 	 * Creates a new empty model for this viewer that
 	 * is *not* initialized.
-	 * 
+	 *
 	 * @return a new model
 	 */
 	protected abstract AsynchronousModel createModel();
@@ -289,12 +289,12 @@
 		}
 		return images;
 	}
-	
+
 	/**
 	 * Returns an image for the given image descriptor or <code>null</code>. Adds the image
 	 * to a cache of images if it does not already exist. The cache is cleared when this viewer
-	 * is disposed. 
-	 * 
+	 * is disposed.
+	 *
 	 * @param descriptor image descriptor or <code>null</code>
 	 * @return image or <code>null</code>
 	 */
@@ -319,18 +319,18 @@
                 return new Font[columns.length];
             }
 		}
-		
+
 		Font[] fonts = new Font[fontDatas.length];
 		for (int i = 0; i < fonts.length; i++) {
 			fonts[i] = getFont(fontDatas[i]);
 		}
 		return fonts;
 	}
-	
+
 	/**
-	 * Returns a font for the given font data or <code>null</code>. Adds the font to this viewer's font 
+	 * Returns a font for the given font data or <code>null</code>. Adds the font to this viewer's font
 	 * cache which is disposed when this viewer is disposed.
-	 * 
+	 *
 	 * @param fontData font data or <code>null</code>
 	 * @return font font or <code>null</code>
 	 */
@@ -345,7 +345,7 @@
 		}
 		return font;
 	}
-	
+
 	protected Color[] getColors(RGB[] rgb) {
         if (rgb == null || rgb.length == 0) {
             String[] columns = getPresentationContext().getColumns();
@@ -362,9 +362,9 @@
 		return colors;
 	}
 	/**
-	 * Returns a color for the given RGB or <code>null</code>. Adds the color to this viewer's color 
+	 * Returns a color for the given RGB or <code>null</code>. Adds the color to this viewer's color
 	 * cache which is disposed when this viewer is disposed.
-	 * 
+	 *
 	 * @param rgb RGB or <code>null</code>
 	 * @return color or <code>null</code>
 	 */
@@ -379,10 +379,10 @@
 		}
 		return color;
 	}
-	
+
 	/**
-	 * Sets the context for this viewer. 
-	 * 
+	 * Sets the context for this viewer.
+	 *
 	 * @param context the presentation context
 	 */
 	public void setContext(IPresentationContext context) {
@@ -407,10 +407,10 @@
 		}
 		return null;
 	}
-	
+
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.StructuredViewer#doFindInputItem(java.lang.Object)
      */
     @Override
@@ -422,7 +422,7 @@
 			}
 		}
         return null;
-    }	
+    }
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.StructuredViewer#doUpdateItem(org.eclipse.swt.widgets.Widget, java.lang.Object, boolean)
@@ -452,17 +452,17 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Refreshes a specific occurrence of an element (a node).
-	 * 
+	 *
 	 * @param node node to update
-	 * 
+	 *
 	 * Subclasses should override and call super
 	 */
 	protected void internalRefresh(ModelNode node) {
 		updateLabel(node);
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
@@ -471,10 +471,10 @@
 	public synchronized void setSelection(ISelection selection, boolean reveal) {
 		setSelection(selection, reveal, false);
 	}
-	
+
 	/**
 	 * Sets the selection in this viewer.
-	 * 
+	 *
 	 * @param selection new selection
 	 * @param reveal whether to reveal the selection
 	 * @param force whether to force the selection change without consulting the model
@@ -491,9 +491,9 @@
 		if (!force && !overrideSelection(fCurrentSelection, selection)) {
 			return;
 		}
-		
+
 		fPendingSelection = selection;
-		
+
 		if (getControl().getDisplay().getThread() == Thread.currentThread()) {
 			attemptSelection(reveal);
 		} else {
@@ -503,18 +503,18 @@
 					attemptSelection(reveal);
 					return Status.OK_STATUS;
 				}
-				
+
 			};
 			job.setSystem(true);
 			job.schedule();
-		}		
-	}	
-	
-	
+		}
+	}
+
+
 	/**
 	 * Returns whether the candidate selection should override the current
 	 * selection.
-	 * 
+	 *
 	 * @param current the current selection
 	 * @param candidate the new selection
 	 * @return if the selection should be overridden
@@ -529,7 +529,7 @@
 		}
 		return !selectionPolicy.isSticky(current, getPresentationContext());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.StructuredViewer#getSelection()
 	 */
@@ -540,8 +540,8 @@
 			return StructuredSelection.EMPTY;
 		}
 		return fCurrentSelection;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.StructuredViewer#handleSelect(org.eclipse.swt.events.SelectionEvent)
 	 */
@@ -552,8 +552,8 @@
 		if (control != null && !control.isDisposed()) {
 			updateSelection(newSelectionFromWidget());
 		}
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.StructuredViewer#handlePostSelect(org.eclipse.swt.events.SelectionEvent)
 	 */
@@ -561,20 +561,20 @@
 	protected void handlePostSelect(SelectionEvent e) {
 		SelectionChangedEvent event = new SelectionChangedEvent(this, newSelectionFromWidget());
 		firePostSelectionChanged(event);
-	}	
-	
+	}
+
 	/**
 	 * Creates and returns a new selection from this viewer, based on the selected
 	 * elements in the widget.
-	 * 
+	 *
 	 * @return a new selection
 	 */
 	protected abstract ISelection newSelectionFromWidget();
-	
+
 	/**
 	 * Returns the selection policy associated with the given selection
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param selection or <code>null</code>
 	 * @return selection policy or <code>null</code>
 	 */
@@ -601,7 +601,7 @@
 		// NOT USED
 		throw new IllegalArgumentException("This method should not be called"); //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.StructuredViewer#setSelectionToWidget(java.util.List, boolean)
 	 */
@@ -609,11 +609,11 @@
 	final protected void setSelectionToWidget(List l, boolean reveal) {
 		// NOT USED
 		throw new IllegalArgumentException("This method should not be called"); //$NON-NLS-1$
-	}	
-		
+	}
+
 	/**
 	 * Attempts to update any pending selection.
-	 * 
+	 *
 	 * @param reveal whether to reveal the selection
 	 */
 	protected void attemptSelection(boolean reveal) {
@@ -638,47 +638,47 @@
 			firePostSelectionChanged(new SelectionChangedEvent(this, currentSelection));
 		}
 	}
-	
+
 	/**
 	 * Controls whether selection change notification is sent even when
 	 * successive selections are equal.
-	 * 
+	 *
 	 * TODO: what we really want is to fire selection change on ACTIVATE model
 	 * change, even when selection is the same.
-	 * 
+	 *
 	 * @return whether to suppress change notification for equal successive
 	 *         selections
 	 */
 	protected boolean isSuppressEqualSelections() {
 		return true;
 	}
-	
+
 	/**
 	 * Attempts to selection the specified selection and returns a selection
 	 * representing the portion of the selection that could not be honored
 	 * and still needs to be selected.
-	 * 
+	 *
 	 * @param selection selection to attempt
 	 * @param reveal whether to reveal the selection
 	 * @return remaining selection
 	 */
 	protected abstract ISelection doAttemptSelectionToWidget(ISelection selection, boolean reveal);
-	
+
 	/**
 	 * Returns whether this viewer supports the given selection.
-	 * 
+	 *
 	 * @param selection a selection
 	 * @return whether this viewer supports the given selection
 	 */
 	protected abstract boolean acceptsSelection(ISelection selection);
-	
+
 	/**
 	 * Returns an empty selection supported by this viewer.
-	 * 
+	 *
 	 * @return an empty selection supported by this viewer
 	 */
 	protected abstract ISelection getEmptySelection();
-	
+
 	/**
 	 * A content provider that does nothing.
 	 */
@@ -701,7 +701,7 @@
 	 * Notification that a presentation update has failed.
 	 * Subclasses may override as required. The default implementation
 	 * does nothing.
-	 * 
+	 *
 	 * @param monitor monitor for the presentation request that failed
 	 * @param status status of update
 	 */
@@ -717,7 +717,7 @@
 			ISelection oldSelection = null;
 			try {
 				// preserve selection
-				oldSelection = fCurrentSelection;				
+				oldSelection = fCurrentSelection;
 				// perform the update
 				updateCode.run();
 			} finally {
@@ -748,17 +748,17 @@
 							}
                             return Status.OK_STATUS;
 						}
-						
+
 					};
 					job.setSystem(true);
 					job.schedule();
-				}							
+				}
 			}
 		} else {
 			updateCode.run();
 		}
 	}
-	
+
 	protected synchronized void restoreSelection(ISelection oldSelection) {
 		ISelection remaining = doAttemptSelectionToWidget(oldSelection, false);
 		// send out notification if old and new differ
@@ -779,7 +779,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns whether the selection exists in the model
 	 * @param selection the selection context
@@ -801,28 +801,28 @@
 		}
 		return true;
 	}
-    
+
 	/**
 	 * Sets the color attributes of the given widget.
-	 * 
+	 *
 	 * @param widget the widget to update
 	 * @param foreground foreground color of the widget or <code>null</code> if default
 	 * @param background background color of the widget or <code>null</code> if default
 	 */
 	protected abstract void setColors(Widget widget, RGB foreground[], RGB background[]);
-	
+
 	/**
 	 * Sets the label attributes of the given widget.
-	 * 
+	 *
 	 * @param widget the widget to update
 	 * @param text label text
 	 * @param image label image or <code>null</code>
 	 */
 	protected abstract void setLabels(Widget widget, String[] text, ImageDescriptor[] image);
-	
+
 	/**
 	 * Sets the font attributes of the given widget.
-	 * 
+	 *
 	 * @param widget widget to update
 	 * @param font font of the widget or <code>null</code> if default.
 	 */
@@ -836,43 +836,43 @@
 		fCurrentSelection = selection;
 		super.updateSelection(selection);
 	}
-	
 
-	
+
+
 	/**
 	 * Notification the given model proxy has been added to this viewer's model.
-	 * 
+	 *
 	 * @param proxy the model proxy that has been added
 	 */
 	protected void modelProxyAdded(IModelProxy proxy) {
 		if (fUpdatePolicy instanceof IModelChangedListener) {
 			proxy.addModelChangedListener((IModelChangedListener)fUpdatePolicy);
-		}		
+		}
 	}
-	
+
 	/**
 	 * Notification the given model proxy has been removed from this viewer's model.
-	 * 
+	 *
 	 * @param proxy the model proxy that has been removed
 	 */
 	protected void modelProxyRemoved(IModelProxy proxy) {
 		if (fUpdatePolicy instanceof IModelChangedListener) {
 			proxy.removeModelChangedListener((IModelChangedListener)fUpdatePolicy);
-		}		
-	}	
-	
+		}
+	}
+
 	/**
 	 * Returns this viewer's model
-	 * 
+	 *
 	 * @return model
 	 */
 	protected AsynchronousModel getModel() {
 		return fModel;
-	}	
+	}
 
 	/**
 	 * A node in the model has been updated
-	 * 
+	 *
 	 * @param node the model node that has been changed
 	 */
 	protected void nodeChanged(ModelNode node) {
@@ -893,7 +893,7 @@
 	/**
 	 * Notification from the model that the update for the given request
 	 * has completed.
-	 * 
+	 *
 	 * @param monitor the monitor
 	 */
 	protected void updateComplete(IStatusMonitor monitor) {
@@ -901,21 +901,21 @@
 
 	/**
 	 * Clears the given widget
-	 * 
+	 *
 	 * @param item the widget
 	 */
     protected abstract void clear(Widget item);
-    
+
     /**
      * Clears the children of the widget.
-     * 
+     *
      * @param item the widget to clear children from
      */
     protected abstract void clearChildren(Widget item);
-    
+
     /**
      * Clears the child at the given index.
-     * 
+     *
      * @param parent the parent widget
      * @param childIndex the index of the child widget to clear
      */
@@ -924,16 +924,16 @@
 	/**
 	 * Returns the child widget at the given index for the given parent or
 	 * <code>null</code>
-	 * 
+	 *
 	 * @param parent the parent widget
-	 * @param index the index of the child in the parent widget 
+	 * @param index the index of the child in the parent widget
 	 * @return the widget at the given index in the parent or <code>null</code>
 	 */
 	protected abstract Widget getChildWidget(Widget parent, int index);
 
 	/**
 	 * Sets the item count for a parent widget
-	 * 
+	 *
 	 * @param parent the parent widget
 	 * @param itemCount the new item count to set
 	 */
@@ -945,12 +945,12 @@
     protected void attemptPendingUpdates() {
     	attemptSelection(false);
     }
-	
+
 	/**
 	 * Notification a node's children have changed.
 	 * Updates the child count for the parent's widget
 	 * and clears children to be updated.
-	 * 
+	 *
 	 * @param parentNode the parent model node
 	 */
 	protected void nodeChildrenChanged(ModelNode parentNode) {
@@ -960,13 +960,13 @@
 			setItemCount(widget, childCount);
 			clearChildren(widget);
 			attemptPendingUpdates();
-		}		
+		}
 	}
-	
+
 	/**
 	 * Notification children have been added to the end
 	 * of the given parent.
-	 * 
+	 *
 	 * @param parentNode the parent model node
 	 */
 	protected void nodeChildrenAdded(ModelNode parentNode) {
@@ -975,15 +975,15 @@
 			int childCount = parentNode.getChildCount();
 			setItemCount(widget, childCount);
 			attemptPendingUpdates();
-		}		
+		}
 	}
-	
+
 	/**
 	 * Notification children have been added to the end
 	 * of the given parent.
-	 * 
+	 *
 	 * @param parentNode the parent model node
-	 * @param index the index of the child that was removed 
+	 * @param index the index of the child that was removed
 	 */
 	protected void nodeChildRemoved(ModelNode parentNode, int index) {
 		Widget widget = findItem(parentNode);
@@ -1000,13 +1000,13 @@
 				clearChild(widget, i);
 			}
 			attemptPendingUpdates();
-		}		
-	}	
-	
+		}
+	}
+
 	/**
 	 * Unmaps the node from its widget and all of its children nodes from
 	 * their widgets.
-	 * 
+	 *
 	 * @param node the model node
 	 */
 	protected void unmapNode(ModelNode node) {
@@ -1034,10 +1034,10 @@
 					return node;
 				}
 			}
-        }    	
+        }
         return null;
     }
-    
+
     /**
      * Returns the item for the node or <code>null</code>
      * @param node the model node
@@ -1049,26 +1049,26 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * A virtual item has been exposed in the control, map its data.
-	 * 
+	 *
 	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
 	 */
 	@Override
-	public void handleEvent(final Event event) {		
+	public void handleEvent(final Event event) {
 		update((Item)event.item, event.index);
     }
-	
+
 	/**
 	 * Update the given item.
-	 * 
+	 *
 	 * @param item item to update
 	 * @param index index of item in parent's children
 	 */
 	protected void update(Item item, int index) {
 		restoreLabels(item);
 		int level = 0;
-		
+
 		Widget parentItem = getParentWidget(item);
 		if (DebugUIPlugin.DEBUG_VIEWER) {
 			DebugUIPlugin.trace("SET DATA [" + index + "]: " + parentItem);  //$NON-NLS-1$//$NON-NLS-2$
@@ -1105,7 +1105,7 @@
 				setNodeIndex(pindex, level);
 				parentItem = parent;
 			}
-			
+
 			node = getModel().getRootNode();
 			if (node == null) {
 				if (DebugUIPlugin.DEBUG_VIEWER) {
@@ -1132,8 +1132,8 @@
 				}
 			}
 		}
-		
-		
+
+
 		// map the node to the element and refresh it
 		if (node != null) {
 			mapElement(node, item);
@@ -1146,13 +1146,13 @@
 			if (DebugUIPlugin.DEBUG_VIEWER) {
 				DebugUIPlugin.trace("\tFAILED - unable to find corresponding node"); //$NON-NLS-1$
 			}
-		}		
+		}
 	}
-	
+
 	/**
 	 * Sets the index of a child node being mapped at the given expansion level
 	 * in the tree.
-	 * 
+	 *
 	 * @param nodeIndex the index of the node
 	 * @param level the expansion level
 	 */
@@ -1165,25 +1165,25 @@
 		}
 		fSetDataIndicies[level] = nodeIndex;
 	}
-	
+
 	/**
 	 * Returns the index of a child node being mapped at the given expansion level in
 	 * the tree.
-	 * 
+	 *
 	 * @param level the expansion level
 	 * @return the child index
 	 */
 	private int getNodeIndex(int level) {
 		return fSetDataIndicies[level];
 	}
-	
+
 	protected abstract int indexOf(Widget parent, Widget child);
-	
+
 	protected abstract void restoreLabels(Item item);
-	
+
 	/**
 	 * Returns the parent widget for the given widget or <code>null</code>
-	 * 
+	 *
 	 * @param widget the widget to get the parent from
 	 * @return parent widget or <code>null</code>
 	 */
@@ -1191,7 +1191,7 @@
 
 	/**
 	 * Updates the children of the given node.
-	 * 
+	 *
 	 * @param parent
 	 *            node of which to update children
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
index 6dd261a..9f65154 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ChildrenRequestMonitor.java
@@ -18,7 +18,7 @@
 
 /**
  * Implementation for <code>IChildrenRequestMonitor</code>. Collects
- * children from an asynchronous tree content adapter.  
+ * children from an asynchronous tree content adapter.
  * <p>
  * Not intended to be subclassed or instantiated by clients. For use
  * speficially with <code>AsynchronousTreeViewer</code>.
@@ -26,9 +26,9 @@
  * @since 3.2
  */
 class ChildrenRequestMonitor extends AsynchronousRequestMonitor implements IChildrenRequestMonitor {
-    
+
     private boolean fFirstUpdate = true;
-    
+
 	/**
 	 * Collection of children retrieved
 	 */
@@ -37,14 +37,14 @@
     /**
      * Constucts a monitor to retrieve and update the children of the given
      * node.
-     * 
+     *
      * @param parent parent to retrieve children for
      * @param model model being updated
      */
     ChildrenRequestMonitor(ModelNode parent, AsynchronousModel model) {
         super(parent, model);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.viewers.IChildrenRequestMonitor#addChild(java.lang.Object)
      */
@@ -53,7 +53,7 @@
         synchronized (fChildren) {
             fChildren.add(child);
         }
-        
+
         scheduleViewerUpdate(250);
     }
 
@@ -67,10 +67,10 @@
                 fChildren.add(children[i]);
             }
         }
-        
+
         scheduleViewerUpdate(0);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
      */
@@ -91,7 +91,7 @@
             } else {
 				for (Iterator<Object> iter = fChildren.iterator(); iter.hasNext();) {
                     Object child = iter.next();
-                    getModel().add(getNode(), child);    
+                    getModel().add(getNode(), child);
                 }
             }
             fChildren.clear();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/FindElementDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/FindElementDialog.java
index dd0d444..87cb651 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/FindElementDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/FindElementDialog.java
@@ -20,15 +20,15 @@
 
 /**
  * A dialog used to select elements from a list.
- * 
+ *
  * @since 3.3
  *
  */
 public class FindElementDialog extends ElementListSelectionDialog {
-	
+
 	/**
 	 * Constructs a dialog to navigate to an element in the given viewer.
-	 * 
+	 *
 	 * @param shell shell to open on
 	 * @param provider label provider
 	 * @param elements elements to choose from
@@ -48,5 +48,5 @@
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IDebugHelpContextIds.FIND_ELEMENT_DIALOG);
 		return comp;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java
index cde762d..6d0db03 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ILabelResult.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
  *******************************************************************************/
@@ -15,43 +15,43 @@
 
 
 /**
- * Results of collecting an asynchronous label in a tree. 
- * 
+ * Results of collecting an asynchronous label in a tree.
+ *
  * @since 3.2
  */
 public interface ILabelResult {
 
 	/**
 	 * Returns the labels for the element. One for each column.
-	 * 
+	 *
 	 * @return
 	 */
 	public String[] getLabels();
-	
+
 	/**
 	 * Returns the images for the element.
-	 * 
+	 *
 	 * @return
 	 */
 	public Image[] getImages();
-	
+
 	/**
 	 * Returns the element the label is for.
-	 * 
+	 *
 	 * @return
 	 */
 	public Object getElement();
-	
+
 	/**
 	 * Returns the path to the element in the tree.
-	 * 
+	 *
 	 * @return
 	 */
 	public TreePath getTreePath();
-	
+
 	/**
 	 * Returns this element's depth in the tree.
-	 * 
+	 *
 	 * @return
 	 */
 	public int getDepth();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
index 9785246..2009e21 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelRequestMonitor.java
@@ -23,7 +23,7 @@
  * Not intended to be subclassed or instantiated by clients. For use speficially
  * with <code>AsynchronousViewer</code>.
  * </p>
- * 
+ *
  * @since 3.2
  */
 class LabelRequestMonitor extends AsynchronousRequestMonitor implements ILabelRequestMonitor {
@@ -52,7 +52,7 @@
 	/**
 	 * Cosntructs a request to upate the label of the given node in the give
 	 * model.
-	 * 
+	 *
 	 * @param node node to update
 	 * @param model model containing the node
 	 */
@@ -62,7 +62,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
 	 */
 	@Override
@@ -78,7 +78,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#contains(org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor)
 	 */
 	@Override
@@ -88,7 +88,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setLabel(java.lang.String)
 	 */
 	@Override
@@ -98,7 +98,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setFontData(org.eclipse.swt.graphics.FontData)
 	 */
 	@Override
@@ -108,7 +108,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setImageDescriptor(org.eclipse.jface.resource.ImageDescriptor)
 	 */
 	@Override
@@ -118,7 +118,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setForeground(org.eclipse.swt.graphics.RGB)
 	 */
 	@Override
@@ -128,30 +128,30 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.ILabelRequestMonitor#setBackground(org.eclipse.swt.graphics.RGB)
 	 */
 	@Override
 	public void setBackgrounds(RGB[] background) {
 		fBackgrounds = background;
 	}
-	
+
 	protected RGB[] getBackgrounds() {
 		return fBackgrounds;
 	}
-	
+
 	protected RGB[] getForegrounds() {
 		return fForegrounds;
 	}
-	
+
 	protected FontData[] getFontDatas() {
 		return fFontDatas;
 	}
-	
+
 	protected String[] getLabels() {
 		return fLabels;
 	}
-	
+
 	protected ImageDescriptor[] getImageDescriptors() {
 		return fImageDescriptors;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java
index 2896d96..f7c2973 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/LabelResult.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
  *******************************************************************************/
@@ -23,17 +23,17 @@
 	public LabelResult(ModelNode node, AsynchronousModel model) {
 		super(node, model);
 	}
-	
+
 	@Override
 	protected synchronized void scheduleViewerUpdate(long ms) {
 		notifyAll();
 	}
-	
+
 	@Override
 	public synchronized boolean isDone() {
 		return super.isDone();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.ILabelResult#getElement()
 	 */
@@ -80,5 +80,5 @@
 		return level;
 	}
 
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
index bfd3492..816aa70 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/ModelNode.java
@@ -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
  *******************************************************************************/
@@ -17,7 +17,7 @@
 
 /**
  * A node in an asynchronous model.
- * 
+ *
  * @since 3.2
  */
 public class ModelNode {
@@ -27,36 +27,36 @@
 	private ModelNode fParent; // parent node or null for root
 	private ModelNode[] fChildren; // child nodes, possibly null
 	private boolean fDisposed; // whether this node has been disposed
-	
+
 	public ModelNode(ModelNode parent, Object element) {
 		fParent = parent;
 		fElement = element;
 	}
-	
+
 	public synchronized Object getElement() {
 		return fElement;
 	}
-    
+
     public synchronized void remap(Object element) {
         fElement = element;
     }
-	
+
 	public ModelNode getParentNode() {
 		return fParent;
 	}
-	
+
 	public synchronized boolean isContainer() {
 		return fIsContainer;
 	}
-	
+
 	public synchronized ModelNode[] getChildrenNodes() {
 		return fChildren;
 	}
-	
+
 	public synchronized boolean isDisposed() {
-		return fDisposed; 
+		return fDisposed;
 	}
-	
+
 	public synchronized void dispose() {
 		fDisposed = true;
         ModelNode[] childrenNodes = getChildrenNodes();
@@ -66,10 +66,10 @@
             }
         }
 	}
-	
+
 	/**
 	 * Returns whether this node corresponds to the given path
-	 * 
+	 *
 	 * @param path tree path
 	 */
 	public synchronized boolean correspondsTo(TreePath path) {
@@ -86,10 +86,10 @@
 		}
 		return index == -1;
 	}
-	
+
 	/**
 	 * Returns a tree path corresponding to this node.
-	 * 
+	 *
 	 * @return
 	 */
 	public synchronized TreePath getTreePath() {
@@ -101,10 +101,10 @@
 		}
 		return new TreePath(path.toArray());
 	}
-	
+
 	/**
 	 * Adds the given child to this node.
-	 * 
+	 *
 	 * @param child
 	 */
 	public synchronized void addChild(ModelNode child) {
@@ -117,10 +117,10 @@
 			fChildren = kids;
 		}
 	}
-    
+
     /**
      * Removes the given child from this node.
-     * 
+     *
      * @param child
      */
     public synchronized void removeChild(ModelNode child) {
@@ -138,11 +138,11 @@
                 }
             }
         }
-    }    
-	
+    }
+
 	/**
 	 * Sets the children for this node
-	 * 
+	 *
 	 * @param children
 	 */
 	public synchronized void setChildren(ModelNode[] children) {
@@ -153,10 +153,10 @@
 			fChildren = children;
 		}
 	}
-	
+
 	/**
 	 * Returns the number of children for this node.
-	 * 
+	 *
 	 * @return
 	 */
 	public synchronized int getChildCount() {
@@ -168,10 +168,10 @@
 		}
 		return fChildren.length;
 	}
-    
+
     /**
      * Returns the index of the given child in this parent, or -1
-     * 
+     *
      * @param child
      */
     public synchronized int getChildIndex(ModelNode child) {
@@ -184,16 +184,16 @@
        }
        return -1;
     }
-    
+
     /**
      * Sets whether this node has children.
-     * 
+     *
      * @param container
      */
     public synchronized void setIsContainer(boolean container) {
         fIsContainer = container;
     }
-    
+
     @Override
 	public String toString() {
     	StringBuffer buf = new StringBuffer();
@@ -206,5 +206,5 @@
     	buf.append(getElement());
     	return buf.toString();
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PartPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PartPresentationContext.java
index 7474a58..e416b32 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PartPresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/PartPresentationContext.java
@@ -15,22 +15,22 @@
 
 /**
  * A presentation context tied to a part.
- * 
+ *
  * @since 3.3
  * @deprecated getPart() is now supported by IPresentationContext itself.
  */
 @Deprecated
 public class PartPresentationContext extends PresentationContext {
-	
+
 	/**
 	 * Constructs a part presentation context.
-	 *  
-	 * @param part part 
+	 *
+	 * @param part part
 	 */
 	public PartPresentationContext(IWorkbenchPart part) {
 		super(part);
 	}
-	
+
 	@Override
 	public IWorkbenchPart getPart() {
 	    return super.getPart();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java
index 5cff2a9..a79afde 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableAddRequestMonitor.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
  *******************************************************************************/
@@ -16,7 +16,7 @@
  *
  */
 public class TableAddRequestMonitor extends AsynchronousRequestMonitor {
-	
+
 	protected Object[] fElements;
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java
index c592b5f..50685d7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableEditorImpl.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -29,9 +29,9 @@
 /**
  * This class is copied from package org.eclipse.jface.viewers.TableEditorImpl
  * because the original has package access only.
- * 
+ *
  * TODO: complain to UI about package access to API class.
- * 
+ *
  */
 public abstract class TableEditorImpl {
 	private CellEditor fCellEditor;
@@ -53,7 +53,7 @@
 
 	/**
 	 * Returns this <code>TableViewerImpl</code> viewer
-	 * 
+	 *
 	 * @return the viewer
 	 */
 	public StructuredViewer getViewer() {
@@ -191,7 +191,7 @@
 
 	/**
 	 * Start editing the given element.
-	 * 
+	 *
 	 * @param element
 	 * @param column
 	 */
@@ -217,7 +217,7 @@
 
 	/**
 	 * Return the array of CellEditors used in the viewer
-	 * 
+	 *
 	 * @return the cell editors
 	 */
 	public CellEditor[] getCellEditors() {
@@ -226,7 +226,7 @@
 
 	/**
 	 * Get the cell modifier
-	 * 
+	 *
 	 * @return the cell modifier
 	 */
 	public ICellModifier getCellModifier() {
@@ -237,7 +237,7 @@
 
 	/**
 	 * Return the properties for the column
-	 * 
+	 *
 	 * @return the array of column properties
 	 */
 	public Object[] getColumnProperties() {
@@ -248,7 +248,7 @@
 
 	/**
 	 * Handles the mouse down event; activates the cell editor.
-	 * 
+	 *
 	 * @param event
 	 *            the mouse event that should be handled
 	 */
@@ -297,7 +297,7 @@
 
 	/**
 	 * Return whether there is an active cell editor.
-	 * 
+	 *
 	 * @return <code>true</code> if there is an active cell editor; otherwise
 	 *         <code>false</code> is returned.
 	 */
@@ -323,7 +323,7 @@
 
 	/**
 	 * Set the cell editors
-	 * 
+	 *
 	 * @param editors
 	 */
 	public void setCellEditors(CellEditor[] editors) {
@@ -332,7 +332,7 @@
 
 	/**
 	 * Set the cell modifier
-	 * 
+	 *
 	 * @param modifier
 	 */
 	public void setCellModifier(ICellModifier modifier) {
@@ -341,7 +341,7 @@
 
 	/**
 	 * Set the column properties
-	 * 
+	 *
 	 * @param columnProperties
 	 */
 	public void setColumnProperties(String[] columnProperties) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java
index e783755..2cb20ff 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableInsertRequestMonitor.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
  *******************************************************************************/
@@ -16,7 +16,7 @@
  *
  */
 public class TableInsertRequestMonitor extends TableAddRequestMonitor {
-	
+
 	private int fIndex;
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java
index 05ed290..7d98e75 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableRemoveRequestMonitor.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java
index 074822a..525a905 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableReplaceRequestMonitor.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
  *******************************************************************************/
@@ -16,7 +16,7 @@
  *
  */
 public class TableReplaceRequestMonitor extends AsynchronousRequestMonitor {
-	
+
 	private Object fOriginal;
 	private Object fReplacement;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java
index 44d4eb3..25cc121 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/TableUpdatePolicy.java
@@ -17,7 +17,7 @@
 
 /**
  * Default update policy updates a viewer based on model deltas.
- * 
+ *
  * @since 3.2
  */
 public class TableUpdatePolicy extends org.eclipse.debug.internal.ui.viewers.AbstractUpdatePolicy implements IModelChangedListener {
@@ -66,7 +66,7 @@
             }
             if ((flags & IModelDelta.ADDED) != 0) {
                 handleAdd(node);
-            } 
+            }
             if ((flags & IModelDelta.REMOVED) != 0) {
                 handleRemove(node);
             }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/AbstractBreadcrumb.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/AbstractBreadcrumb.java
index 58dc2e8..6d2b8c6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/AbstractBreadcrumb.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/AbstractBreadcrumb.java
@@ -122,7 +122,7 @@
 	        fBreadcrumbViewer.refresh();
 	    }
 	}
-	
+
     /**
      * Activates the breadcrumb. This sets the keyboard focus
      * inside this breadcrumb and retargets the editor
@@ -170,7 +170,7 @@
 			@Override
 			public void handleEvent(Event event) {
 			    if (fComposite.isDisposed()) return;
-			    
+
 				if (isBreadcrumbEvent(event)) {
 					if (fHasFocus)
 						return;
@@ -230,7 +230,7 @@
 	 */
 	private void doOpen(ISelection selection) {
 		if (open(selection)) {
-            fBreadcrumbViewer.setInput(getCurrentInput());		    
+            fBreadcrumbViewer.setInput(getCurrentInput());
 		}
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItem.java
index 2a7d9d6..f6bc592 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItem.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItem.java
@@ -38,7 +38,7 @@
 class BreadcrumbItem extends Item {
 
     private TreePath fPath;
-    
+
 	private final BreadcrumbViewer fParent;
 	private Composite fContainer;
 
@@ -92,11 +92,11 @@
 	public TreePath getPath() {
 	    return fPath;
 	}
-	
+
 	public void setPath(TreePath path) {
 	    fPath = path;
 	}
-	
+
 	/**
 	 * Should this item show a text label.
 	 *
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java
index 6482c4a..c5a7567 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDetails.java
@@ -368,7 +368,7 @@
 
 			private void openDropDown() {
 			    Shell shell = fParent.getDropDownShell();
-			    if (shell == null) { 
+			    if (shell == null) {
 	                fParent.openDropDownMenu();
 	                shell = fParent.getDropDownShell();
 			    }
@@ -417,7 +417,7 @@
 				viewer.selectItem(fParent);
 				if (shell == null && e.button == 1 && e.stateMask == 0) {
 					fParent.getViewer().fireDoubleClick();
-				} 
+				}
 			}
 
 			@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDropDown.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDropDown.java
index 84f9f1d..c29ac55 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDropDown.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbItemDropDown.java
@@ -153,7 +153,7 @@
 	// the size is not adjusted correctly in a virtual tree.
     private static final int DROP_DOWN_MIN_WIDTH= 500;
     private static final int DROP_DOWN_MAX_WIDTH= 501;
-    
+
     private static final int DROP_DOWN_DEFAULT_MIN_HEIGHT= 100;
     private static final int DROP_DOWN_DEFAULT_MAX_HEIGHT= 500;
 
@@ -171,7 +171,7 @@
     private boolean fIsResizingProgrammatically;
     private int fCurrentWidth = -1;
     private int fCurrentHeight = -1;
-    
+
 
 	public BreadcrumbItemDropDown(BreadcrumbItem parent, Composite composite) {
 		fParent= parent;
@@ -280,7 +280,7 @@
 		if (DebugUIPlugin.DEBUG_BREADCRUMB) {
 			DebugUIPlugin.trace("	creating new shell"); //$NON-NLS-1$
 		}
-	      
+
         fShell.addControlListener(new ControlAdapter() {
             /*
              * @see org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse.swt.events.ControlEvent)
@@ -289,7 +289,7 @@
 			public void controlResized(ControlEvent e) {
                 if (fIsResizingProgrammatically)
                     return;
-                
+
                 Point size= fShell.getSize();
                 fCurrentWidth = size.x;
                 fCurrentHeight = size.y;
@@ -313,7 +313,7 @@
         TreePath path= fParent.getPath();
 
 		Control control = fParent.getViewer().createDropDown(composite, this, path);
-		
+
 		control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 
 		setShellBounds(fShell);
@@ -439,7 +439,7 @@
 	        settings= javaSettings.addNewSection(DIALOG_SETTINGS);
 	    return settings;
 	}
-	    
+
 	private int getMaxWidth() {
 	    try {
 	        return getDialogSettings().getInt(DIALOG_WIDTH);
@@ -462,7 +462,7 @@
 	 * @param shell the shell to calculate the size for.
 	 */
 	private void setShellBounds(Shell shell) {
-	    
+
 		Rectangle rect= fParentComposite.getBounds();
 		Rectangle toolbarBounds= fToolBar.getBounds();
 
@@ -474,16 +474,16 @@
 		if (fParent.getImage() != null) {
 			imageBoundsX= fParent.getImage().getImageData().width;
 		}
-		
+
 		Rectangle trim= fShell.computeTrim(0, 0, width, height);
 		int x= toolbarBounds.x + toolbarBounds.width + 2 + trim.x - imageBoundsX;
 		if (!isLeft())
 			x+= width;
-		
+
 		int y = rect.y;
-		if (isTop()) 
+		if (isTop())
 		    y+= rect.height;
-		else 
+		else
 		    y-= height;
 
 		Point pt= new Point(x, y);
@@ -551,7 +551,7 @@
 	private void resizeShell(final Shell shell) {
         int maxHeight= getMaxHeight();
         int maxWidth = getMaxWidth();
-        
+
         if (fCurrentHeight >= maxHeight && fCurrentWidth >= maxWidth)
 			return;
 
@@ -561,7 +561,7 @@
         if (fCurrentWidth >= DROP_DOWN_MAX_WIDTH) {
 			newWidth= fCurrentWidth;
 		} else {
-		    // Workaround for bug 319612: Do not resize width below the 
+		    // Workaround for bug 319612: Do not resize width below the
 		    // DROP_DOWN_MIN_WIDTH.  This can happen because the Shell.getSize()
 		    // is incorrectly small on Linux.
             newWidth= Math.min(Math.max(Math.max(preferedSize.x, fCurrentWidth), DROP_DOWN_MIN_WIDTH), maxWidth);
@@ -580,7 +580,7 @@
 				shell.setSize(newWidth, newHeight);
 				fCurrentWidth = newWidth;
 				fCurrentHeight = newHeight;
-				
+
 				Point location = shell.getLocation();
 				Point newLocation = location;
 				if (!isLeft()) {
@@ -588,7 +588,7 @@
 				}
 				if (!isTop()) {
                     newLocation = new Point(newLocation.x, newLocation.y - (newHeight - fCurrentHeight));
-				}				    
+				}
 				if (!location.equals(newLocation)) {
 	                shell.setLocation(newLocation.x, newLocation.y);
 				}
@@ -610,7 +610,7 @@
 		return (fParentComposite.getStyle() & SWT.RIGHT_TO_LEFT) == 0 &&
 		    (fParent.getViewer().getStyle() & SWT.RIGHT) == 0;
 	}
-	
+
 	   /**
      * Tells whether this the breadcrumb is in LTR mode or RTL mode.  Or whether the breadcrumb
      * is on the right-side status coolbar, which has the same effect on layout.
@@ -628,12 +628,12 @@
             fShell.close();
         }
     }
-    
+
     @Override
 	public void notifySelection(ISelection selection) {
-        fParent.getViewer().fireMenuSelection(selection);        
+        fParent.getViewer().fireMenuSelection(selection);
     }
-    
+
     @Override
 	public void updateSize() {
         if (fShell != null && !fShell.isDisposed()) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
index 304369f..fb83b9a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/BreadcrumbViewer.java
@@ -75,7 +75,7 @@
 
 	private Image fGradientBackground;
 	private BreadcrumbItem fSelectedItem;
-	
+
 	/**
 	 * Create a new <code>BreadcrumbViewer</code>.
 	 * <p>
@@ -150,17 +150,17 @@
 	int getStyle() {
 	    return fStyle;
 	}
-	
+
     /**
      * Configure the given drop down viewer. The given input is used for the viewers input. Clients
      * must at least set the label and the content provider for the viewer.
-     * @param parent the parent composite 
+     * @param parent the parent composite
      * @param site the site to create the drop down for
      * @param path the path to show
      * @return the drop down control
      */
 	protected abstract Control createDropDown(Composite parent, IBreadcrumbDropDownSite site, TreePath path);
-	
+
 	/*
 	 * @see org.eclipse.jface.viewers.Viewer#getControl()
 	 */
@@ -319,7 +319,7 @@
 	protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
 		myDoUpdateItem(widget, element, fullMap);
 	}
-	
+
 	private boolean myDoUpdateItem(Widget widget, Object element, boolean fullMap) {
 		if (widget instanceof BreadcrumbItem) {
 			final BreadcrumbItem item= (BreadcrumbItem) widget;
@@ -371,7 +371,7 @@
         }
         return null;
     }
-    
+
 	/*
  	 * @see org.eclipse.jface.viewers.StructuredViewer#getSelectionFromWidget()
 	 */
@@ -399,7 +399,7 @@
 		disableRedraw();
 		try {
 		    boolean layoutChanged = false;
-		    
+
 			BreadcrumbItem item= (BreadcrumbItem) doFindItem(element);
 			if (item == null || element != null && element.equals(getInput())) {
 				for (int i= 0, size= fBreadcrumbItems.size(); i < size; i++) {
@@ -409,7 +409,7 @@
 			} else {
 			    layoutChanged = refreshItem(item) || layoutChanged;
 			}
-			
+
 			if (layoutChanged) {
 			    updateSize();
 			    fContainer.layout(true, true);
@@ -426,7 +426,7 @@
 	protected void setSelectionToWidget(List l, boolean reveal) {
 		BreadcrumbItem focusItem= null;
 
-		// Unselect the currently selected items, and remember the focused item.  
+		// Unselect the currently selected items, and remember the focused item.
 		for (int i= 0, size= fBreadcrumbItems.size(); i < size; i++) {
 			BreadcrumbItem item= fBreadcrumbItems.get(i);
 			if (item.hasFocus()) {
@@ -453,8 +453,8 @@
 				}
 			}
 		}
-		
-		// If there is a new selection, and it does not overlap the old selection, 
+
+		// If there is a new selection, and it does not overlap the old selection,
 		// remove the focus marker from the old focus item.
 		if (fSelectedItem != null && focusItem != null) {
 		    focusItem.setFocus(false);
@@ -590,41 +590,41 @@
 			BreadcrumbItem last= fBreadcrumbItems.get(fBreadcrumbItems.size() - 1);
 			last.setIsLastItem(false);
 		}
-		
+
         int index = 0;
         boolean updateLayout = false;
 		if (input != null) {
 	        ITreePathContentProvider contentProvider= (ITreePathContentProvider) getContentProvider();
 	        TreePath path = new TreePath(new Object[0]);
-	
-	        // Top level elements need to be retrieved using getElements(), rest 
+
+	        // Top level elements need to be retrieved using getElements(), rest
 	        // using getChildren().
 	        Object[] children = contentProvider.getElements(input);
 	        Object element = children != null && children.length != 0 ? children[0] : null;
 	        while (element != null) {
 	            path = path.createChildPath(element);
-	            
+
 	            // All but last item are hidden if the viewer is in a vertical toolbar.
 	            children = contentProvider.getChildren(path);
 	            if ((getStyle() & SWT.VERTICAL) == 0 || children == null || children.length == 0) {
 	                updateLayout = updateOrCreateItem(index++, path, element) || updateLayout;
 	            }
-	            
+
 	            if (children != null && children.length != 0) {
 	                element = children[0];
 	            } else {
 	                break;
 	            }
-	                
-	        }	
+
+	        }
 		}
-		
+
         BreadcrumbItem last = null;
         if (index <= fBreadcrumbItems.size()) {
         	last = (fBreadcrumbItems.get(index - 1));
         	last.setIsLastItem(true);
         }
-        
+
 		while (index < fBreadcrumbItems.size()) {
 			updateLayout = true;
 			BreadcrumbItem item= fBreadcrumbItems.remove(fBreadcrumbItems.size() - 1);
@@ -646,13 +646,13 @@
 		}
 	}
 
-	/** 
+	/**
 	 * @param item Item to refresh.
 	 * @return returns whether the item's size and layout needs to be updated.
 	 */
 	private boolean refreshItem(BreadcrumbItem item) {
 	    boolean layoutChanged = false;
-	    
+
 	    TreePath path = getTreePathFromItem(item);
 
 	    ViewerLabel label = new ViewerLabel(item.getText(), item.getImage());
@@ -671,10 +671,10 @@
 	    }
 	    return layoutChanged;
 	}
-	
+
 	/**
 	 * Creates or updates a breadcrumb item.
-	 * @param index the index 
+	 * @param index the index
 	 * @param path the path
 	 * @param element the element
 	 *
@@ -693,7 +693,7 @@
 	    }
 
 		boolean updateLayout = false;
-		
+
 	    if (equals(element, item.getData())) {
 	        item.setPath(path);
             updateLayout = myDoUpdateItem(item, element, false);
@@ -703,7 +703,7 @@
     	    mapElement(element, item);
             updateLayout = refreshItem(item);
         }
-	    
+
         return updateLayout;
 	}
 
@@ -864,7 +864,7 @@
 
 	/**
 	 * Blends c1 and c2 based in the provided ratio.
-	 * 
+	 *
 	 * @param c1
 	 *            first color
 	 * @param c2
@@ -880,10 +880,10 @@
 		int b = blend(c1.blue, c2.blue, ratio);
 		return new RGB(r, g, b);
 	}
-	
+
 	/**
 	 * Blends two primary color components based on the provided ratio.
-	 * 
+	 *
 	 * @param v1
 	 *            first component
 	 * @param v2
@@ -900,7 +900,7 @@
 	/*
 	 * @see
 	 * org.eclipse.jface.viewers.StructuredViewer#handleDispose(org.eclipse.swt.events.DisposeEvent)
-	 * 
+	 *
 	 * @since 3.7
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/IBreadcrumbDropDownSite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/IBreadcrumbDropDownSite.java
index adea89d..eb1004a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/IBreadcrumbDropDownSite.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/IBreadcrumbDropDownSite.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -14,26 +14,26 @@
 
 /**
  * Interface allowing breadcrumb drop-down implementors to communicate with their
- * containing breadcrumb.   
- * 
+ * containing breadcrumb.
+ *
  * @since 3.5
  */
 public interface IBreadcrumbDropDownSite {
-    
+
     /**
      * Notifies the breadcrumb that the given selection was made in the drop-down
      * viewer.
      * @param selection Selection to set to breadcrumb.
      */
     public void notifySelection(ISelection selection);
-    
+
     /**
      * Notifies the breadcrumb that the drop-down viewer should be closed.
      */
     public void close();
-    
+
     /**
-     * Notifies the breadcrumb that the drop-down viewer's contents have 
+     * Notifies the breadcrumb that the drop-down viewer's contents have
      * changed and viewer shell should be adjusted for the new size.
      */
     public void updateSize();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java
index 365c5a4..2c3afc4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/breadcrumb/TreeViewerDropDown.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - ongoing bug fixes and enhancements
@@ -44,22 +44,22 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * A breadcrumb drop-down which shows a tree viewer.  It implements mouse and 
+ * A breadcrumb drop-down which shows a tree viewer.  It implements mouse and
  * key listeners to handle selection and expansion behavior of the viewer.
- * This class needs to be extended to implement 
- * {@link #createTreeViewer(Composite, int, TreePath)} to instantiate the 
- * concrete {@link TreeViewer} object.  
- * 
+ * This class needs to be extended to implement
+ * {@link #createTreeViewer(Composite, int, TreePath)} to instantiate the
+ * concrete {@link TreeViewer} object.
+ *
  * @since 3.5
  */
 public abstract class TreeViewerDropDown {
-    
+
     /**
-     * Delay to control scrolling when the mouse pointer reaches the edge of 
-     * the tree viewer. 
+     * Delay to control scrolling when the mouse pointer reaches the edge of
+     * the tree viewer.
      */
     private static long MOUSE_MOVE_SCROLL_DELAY = 500;
-    
+
     /**
      * The breadcrumb site in which the viewer is created.
      */
@@ -72,16 +72,16 @@
 
     /**
      * Creates the viewer and installs the listeners.
-     * 
+     *
      * @param composite Parent control of the viewer.
      * @param site Breadcrumb site for the viewer.
      * @param path Path to the element for which the drop-down is being opened.
      * @return The control created for the viewer.
      */
     public Control createDropDown(Composite composite, IBreadcrumbDropDownSite site, TreePath path) {
-        
+
         fDropDownSite = site;
-        fDropDownViewer= createTreeViewer(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL, path); 
+        fDropDownViewer= createTreeViewer(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL, path);
 
         fDropDownViewer.addOpenListener(new IOpenListener() {
             @Override
@@ -92,9 +92,9 @@
                 openElement(event.getSelection());
             }
         });
-     
+
         final Tree tree = fDropDownViewer.getTree();
-        
+
         tree.addMouseListener(new MouseListener() {
             @Override
 			public void mouseUp(MouseEvent e) {
@@ -123,7 +123,7 @@
                     pathElements.add(0, data);
                     item = item.getParentItem();
                 }
-                
+
                 openElement(new TreeSelection(new TreePath(pathElements.toArray())));
             }
 
@@ -154,7 +154,7 @@
                             fLastItem= (TreeItem) o;
                             tree.setSelection(new TreeItem[] { fLastItem });
                         } else if (System.currentTimeMillis() > (fLastScrollTime + MOUSE_MOVE_SCROLL_DELAY)) {
-                            if (e.y < tree.getItemHeight() / 4) 
+                            if (e.y < tree.getItemHeight() / 4)
                             {
                                 // Scroll up
                                 if (currentItem.getParentItem() == null) {
@@ -162,7 +162,7 @@
                                     if (index < 1) {
 										return;
 									}
-    
+
                                     fLastItem= tree.getItem(index - 1);
                                     tree.setSelection(new TreeItem[] { fLastItem });
                                 } else {
@@ -181,7 +181,7 @@
                                     if (index >= tree.getItemCount() - 1) {
 										return;
 									}
-    
+
                                     fLastItem= tree.getItem(index + 1);
                                     tree.setSelection(new TreeItem[] { fLastItem });
                                 } else {
@@ -211,7 +211,7 @@
                         fDropDownSite.close();
                         return;
                     }
-                    
+
                     TreeItem[] selection= tree.getSelection();
                     if (selection.length != 1) {
 						return;
@@ -254,28 +254,28 @@
                     }
                 }.schedule();
             }
-            
+
         });
 
         return tree;
     }
-    
+
     /**
      * Creates and returns the tree viewer.
-     *  
+     *
      * @param composite Parent control of the viewer.
      * @param style Style flags to use in creating the tree viewer.
      * @param path Path to the element for which the drop-down is being opened.
      * @return The newly created tree viewer.
      */
     protected abstract TreeViewer createTreeViewer(Composite composite, int style, TreePath path);
-    
+
     /**
-     * Called when the given element was selected in the viewer.  It causes the 
-     * breadcrumb viewer to fire an opened event.  If the viewer loses focus 
-     * as a result of the open operation, then the drop-down is closed.  
+     * Called when the given element was selected in the viewer.  It causes the
+     * breadcrumb viewer to fire an opened event.  If the viewer loses focus
+     * as a result of the open operation, then the drop-down is closed.
      * Otherwise the selected element is expanded.
-     * 
+     *
      * @param selection The selection to open.
      */
     protected void openElement(ISelection selection) {
@@ -287,7 +287,7 @@
         fDropDownSite.notifySelection(selection);
 
         Tree tree = fDropDownViewer.getTree();
-        
+
         boolean treeHasFocus= !tree.isDisposed() && tree.isFocusControl();
 
         if (DebugUIPlugin.DEBUG_TREE_VIEWER_DROPDOWN) {
@@ -323,6 +323,6 @@
         }
     }
 
-    
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java
index 4b1cf13..84f75af 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenCountUpdate.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River Systems - Fix for viewer state save/restore [188704] 
+ *     Wind River Systems - Fix for viewer state save/restore [188704]
  *     Pawel Piech (Wind River) - added support for a virtual tree model viewer (Bug 242489)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.model;
@@ -29,31 +29,31 @@
      * Child count result.
      */
 	private int fCount = 0;
-	
+
 	/**
 	 * Other child count updates for the same content provider.  Coalesced requests are
 	 * batched together into an array.
 	 */
 	private List<ViewerUpdateMonitor> fBatchedRequests = null;
-	
+
     /**
-     * Flag whether filtering is enabled in viewer.  If filtering is enabled, then a 
+     * Flag whether filtering is enabled in viewer.  If filtering is enabled, then a
      * children update is performed on child elements to filter them as part of the
      * child count calculation.
      */
 	private boolean fShouldFilter = false;
-	
+
 	/**
-	 * Children indexes which are currently filtered.  When updating child count, also need 
+	 * Children indexes which are currently filtered.  When updating child count, also need
 	 * to verify that currently filtered children are still filtered.
 	 */
     private int[] fFilteredChildren = null;
-    
+
 	/**
 	 * Children update used to filter children.
 	 */
 	private ChildrenUpdate fChildrenUpdate;
-	
+
 	/**
 	 * Constructor
 	 * @param provider the content provider to use for the update
@@ -92,14 +92,14 @@
 		            int endIdx = fFilteredChildren[fFilteredChildren.length - 1];
 		            count = endIdx - startIdx + 1;
 		        }
-		        
+
      		    fChildrenUpdate = new ChildrenUpdate(getContentProvider(), getViewerInput(), getElementPath(), getElement(), startIdx, count, getElementContentProvider()) {
      		    	@Override
 					protected void performUpdate() {
      		    		performUpdate(true);
      		    		ChildrenCountUpdate.super.scheduleViewerUpdate();
      		    	}
-     		    	
+
      		    	@Override
 					protected void scheduleViewerUpdate() {
      		    		execInDisplayThread(new Runnable() {
@@ -124,8 +124,8 @@
 		    super.scheduleViewerUpdate();
 		}
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.ViewerUpdateMonitor#performUpdate()
 	 */
@@ -142,8 +142,8 @@
 		if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 			DebugUIPlugin.trace("setChildCount(" + getElement() + ", modelCount: " + fCount + " viewCount: " + viewCount + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		}
-		// Special case for element 0 in a set of filtered elements:  
-		// Child 0 is automatically updated by the tree at the same time that the child count is requested. Therefore, 
+		// Special case for element 0 in a set of filtered elements:
+		// Child 0 is automatically updated by the tree at the same time that the child count is requested. Therefore,
 		// If this child count update filtered out this element, it needs to be updated again.
 		if (fShouldFilter && getContentProvider().isFiltered(elementPath, 0)) {
 		    getContentProvider().updateElement(elementPath, 0);
@@ -156,14 +156,14 @@
 	public void setChildCount(int numChildren) {
 		fCount = numChildren;
 	}
-	
+
 	@Override
 	public String toString() {
 		StringBuffer buf = new StringBuffer();
 		buf.append("IChildrenCountUpdate: "); //$NON-NLS-1$
 		buf.append(getElement());
 		return buf.toString();
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#coalesce(org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor)
@@ -185,7 +185,7 @@
 		}
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#startRequest()
 	 */
@@ -204,7 +204,7 @@
 			getElementContentProvider().update(updates);
 		}
 	}
-	
+
 	@Override
 	boolean containsUpdate(TreePath path) {
 	    if (getElementPath().equals(path)) {
@@ -237,20 +237,20 @@
 			return path.getParentPath();
 		}
 		return path;
-	}		
-	
+	}
+
 	int getCount() {
 	    return fCount;
 	}
-	
+
     @Override
 	protected boolean doEquals(ViewerUpdateMonitor update) {
-        return 
-            update instanceof ChildrenCountUpdate && 
-            getViewerInput().equals(update.getViewerInput()) && 
+        return
+            update instanceof ChildrenCountUpdate &&
+            getViewerInput().equals(update.getViewerInput()) &&
             getElementPath().equals(update.getElementPath());
     }
-    
+
     @Override
 	protected int doHashCode() {
         return getClass().hashCode() + getViewerInput().hashCode() + getElementPath().hashCode();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenUpdate.java
index db71f4c..25ebff4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ChildrenUpdate.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River Systems - Fix for viewer state save/restore [188704] 
+ *     Wind River Systems - Fix for viewer state save/restore [188704]
  *     Pawel Piech (Wind River) - added support for a virtual tree model viewer (Bug 242489)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.model;
@@ -19,19 +19,19 @@
 
 /**
  * This class is public so the test suite has access - it should be default protection.
- * 
- * @since 3.3 
+ *
+ * @since 3.3
  */
 public class ChildrenUpdate extends ViewerUpdateMonitor implements IChildrenUpdate {
-	
+
 	private Object[] fElements;
 	private int fIndex;
 	private int fLength;
 
 	/**
 	 * Constructs a request to update an element
-	 * 
-	 * @param provider the content provider 
+	 *
+	 * @param provider the content provider
 	 * @param viewerInput the current input
 	 * @param elementPath the path to the element being update
 	 * @param element the element
@@ -43,14 +43,14 @@
 		fIndex = index;
 		fLength = 1;
 	}
-	
+
 	public ChildrenUpdate(TreeModelContentProvider provider, Object viewerInput, TreePath elementPath, Object element, int index, int length, IElementContentProvider elementContentProvider) {
 		super(provider, viewerInput, elementPath, element, elementContentProvider, provider.getPresentationContext());
 		fIndex = index;
 		fLength = length;
 	}
-	
-	
+
+
 	protected void performUpdate(boolean updateFilterOnly) {
 		TreeModelContentProvider provider = getContentProvider();
 		TreePath elementPath = getElementPath();
@@ -94,7 +94,7 @@
 					}
 				}
 			}
-			
+
 			if (!updateFilterOnly) {
 				provider.getStateTracker().restorePendingStateOnUpdate(elementPath, -1, true, true, true);
 			}
@@ -106,14 +106,14 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.viewers.AsynchronousRequestMonitor#performUpdate()
 	 */
 	@Override
 	protected void performUpdate() {
 		performUpdate(false);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate#setChild(java.lang.Object, int)
 	 */
@@ -126,16 +126,16 @@
 	}
 
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * This method is public so the test suite has access - it should be default protection.
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#coalesce(org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor)
 	 */
 	@Override
 	public synchronized boolean coalesce(ViewerUpdateMonitor request) {
 		if (request instanceof ChildrenUpdate) {
 			ChildrenUpdate cu = (ChildrenUpdate) request;
-			if (getElement().equals(cu.getElement()) && getElementPath().equals(cu.getElementPath())) { 
+			if (getElement().equals(cu.getElement()) && getElementPath().equals(cu.getElementPath())) {
 				int end = fIndex + fLength;
 				int otherStart = cu.getOffset();
 				int otherEnd = otherStart + cu.getLength();
@@ -153,14 +153,14 @@
 		}
 		return false;
 	}
-	
+
 	@Override
 	boolean containsUpdate(TreePath path) {
         return getElementPath().equals(path);
     }
 
 
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate#getLength()
 	 */
@@ -176,7 +176,7 @@
 	public int getOffset() {
 		return fIndex;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#startRequest()
 	 */
@@ -204,37 +204,37 @@
 	@Override
 	int getPriority() {
 		return 3;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#getSchedulingPath()
 	 */
 	@Override
 	TreePath getSchedulingPath() {
 		return getElementPath();
-	}		
-	
+	}
+
 	/**
 	 * Sets this request's offset. Used when modifying a waiting request when
 	 * the offset changes due to a removed element.
-	 * 
+	 *
 	 * @param offset new offset
 	 */
 	void setOffset(int offset) {
 		fIndex = offset;
 	}
-	
+
 	Object[] getElements() {
 	    return fElements;
 	}
-	
+
     @Override
 	protected boolean doEquals(ViewerUpdateMonitor update) {
-        return 
+        return
             update instanceof ChildrenUpdate &&
             ((ChildrenUpdate)update).getOffset() == getOffset() &&
             ((ChildrenUpdate)update).getLength() == getLength() &&
-            getViewerInput().equals(update.getViewerInput()) && 
+            getViewerInput().equals(update.getViewerInput()) &&
             getElementPath().equals(update.getElementPath());
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java
index 592b736..433b8d3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River Systems - Fix for viewer state save/restore [188704] 
+ *     Wind River Systems - Fix for viewer state save/restore [188704]
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.model;
 
@@ -28,8 +28,8 @@
     private boolean fKnowsHasChildren;
     private boolean fKnowsChildCount;
     private boolean fCheckChildrenRealized;
-	
-	
+
+
     /**
      * @param provider the content provider to use for the update
      * @param viewerInput the current input
@@ -38,15 +38,15 @@
      * @param memento Memento to encode result into
      * @param delta Delta to write the result comparison into.
      * @param modelIndex Index of element to compare.
-     * @param knowsHasChildren Flag indicating whether provider knows the has 
-     * children state of element. 
-     * @param knowsChildCount Flag indicating whether provider knows the 
+     * @param knowsHasChildren Flag indicating whether provider knows the has
+     * children state of element.
+     * @param knowsChildCount Flag indicating whether provider knows the
      * child count state of element.
      * @param checkChildrenRealized Flag indicating if any realized children should be checked
      */
-	public ElementCompareRequest(TreeModelContentProvider provider, Object viewerInput, Object element, 
-	    TreePath elementPath, IMemento memento, ModelDelta delta, int modelIndex, 
-	    boolean knowsHasChildren, boolean knowsChildCount, boolean checkChildrenRealized) 
+	public ElementCompareRequest(TreeModelContentProvider provider, Object viewerInput, Object element,
+	    TreePath elementPath, IMemento memento, ModelDelta delta, int modelIndex,
+	    boolean knowsHasChildren, boolean knowsChildCount, boolean checkChildrenRealized)
 	{
 		super(provider, viewerInput, provider.getPresentationContext(), element, elementPath, memento);
 		fProvider = provider;
@@ -83,25 +83,25 @@
                 }
             });
         }
-	}	    
-	
+	}
+
 	public boolean isEqual() {
 		return fEqual;
 	}
-	
+
 	ModelDelta getDelta() {
 		return fDelta;
 	}
-	
+
 	int getModelIndex() {
 		return fModelIndex;
 	}
 
-	
+
 	void setKnowsHasChildren(boolean hasChildren) {
 		fKnowsHasChildren = hasChildren;
 	}
-	
+
 	boolean knowsHasChildren() {
 		return fKnowsHasChildren;
 	}
@@ -109,19 +109,19 @@
 	void setKnowsChildCount(boolean childCount) {
 		fKnowsChildCount = childCount;
 	}
-	
+
 	boolean knowChildCount() {
 		return fKnowsChildCount;
 	}
 
     void setCheckChildrenRealized(boolean checkChildrenRealized) {
-        fCheckChildrenRealized = checkChildrenRealized; 
+        fCheckChildrenRealized = checkChildrenRealized;
     }
-    
+
     boolean checkChildrenRealized() {
         return fCheckChildrenRealized;
     }
-    
+
     @Override
 	public String toString() {
         StringBuffer buf = new StringBuffer();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java
index 6351fc3..6e53cf1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java
@@ -19,11 +19,11 @@
 
 /**
  * Request for element memento.
- * 
+ *
  * @since 3.3
  */
 class ElementMementoRequest extends MementoUpdate implements IElementMementoRequest {
-	
+
 	private IElementMementoCollector fManager;
 	private ModelDelta fDelta;
 
@@ -47,7 +47,7 @@
 	 */
 	@Override
 	public void done() {
-		
+
 		ITreeModelViewer viewer = getContentProvider().getViewer();
 		if (viewer == null) return;  // disposed
 		if (viewer.getDisplay().getThread() == Thread.currentThread()) {
@@ -60,12 +60,12 @@
 		        }
 		    });
 		}
-		
+
 	}
-	
+
 	private void doComplete() {
         if (getContentProvider().isDisposed()) return;
-        
+
         if (!isCanceled() && (getStatus() == null || getStatus().isOK())) {
             // replace the element with a memento
             fDelta.setElement(getMemento());
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java
index af91ff4..5e207da 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/FilterTransform.java
@@ -34,16 +34,16 @@
 public class FilterTransform {
 
 	private Node root = new Node();
-	
+
 	class Node {
 		private int[] filteredIndexes = null;
 		private Object[] filteredElements = null;
 		private Map<Object, Node> children = null; // only set for parent nodes,
 													// indexed by child
-		
+
 		Node() {
 		}
-		
+
 		boolean addFilter(TreePath path, int childIndex, int pathIndex, Object filtered) {
 			if (pathIndex == path.getSegmentCount()) {
 				if (filteredIndexes == null) {
@@ -80,7 +80,7 @@
 				filteredElements = filt;
 				return true;
 			}
-			
+
 			if (children == null) {
 				children = new HashMap<Object, Node>();
 			}
@@ -92,7 +92,7 @@
 			}
 			return node.addFilter(path, childIndex, pathIndex + 1, filtered);
 		}
-		
+
 		boolean clear(TreePath path, int pathIndex) {
 			if (pathIndex == path.getSegmentCount()) {
 				return true;
@@ -109,7 +109,7 @@
 			}
 			return children.isEmpty() && (filteredIndexes == null || filteredIndexes.length == 0);
 		}
-		
+
 		boolean clear(TreePath path, int childIndex, int pathIndex) {
 			if (pathIndex == path.getSegmentCount()) {
 				if (filteredIndexes != null) {
@@ -158,8 +158,8 @@
 			} else {
 				return false;
 			}
-		}	
-		
+		}
+
 		Node find(TreePath path, int pathIndex) {
 			if (pathIndex == path.getSegmentCount()) {
 				return this;
@@ -174,7 +174,7 @@
 			}
 			return null;
 		}
-		
+
 		int viewToModel(int childIndex) {
 			if (filteredIndexes == null) {
 				return childIndex;
@@ -185,11 +185,11 @@
 			// has asked for the model index corresponding to the 4th viewer
 			// index, then we want to find the 5th missing number in the
 			// filtered index sequence.
-			
+
 			int count = -1; // count from 0, 1, 2...
 			int missingNumbers = 0; // how many numbers missing from the filtered index
 			int offset = 0; // offset into the filtered index
-			
+
 			while (missingNumbers < (childIndex + 1)) {
 				count++;
 				if (offset < filteredIndexes.length) {
@@ -206,7 +206,7 @@
 			}
 			return count;
 		}
-		
+
 		int modelToView(int childIndex) {
 			if (filteredIndexes == null) {
 				return childIndex;
@@ -222,15 +222,15 @@
 				}
 			}
 			return childIndex - offset;
-		}	
-		
+		}
+
 		int modelToViewCount(int childCount) {
 			if (filteredIndexes == null) {
 				return childCount;
 			}
 			return childCount - filteredIndexes.length;
 		}
-		
+
 		boolean isFiltered(int index) {
 			if (filteredIndexes != null) {
 				int location = Arrays.binarySearch(filteredIndexes, index);
@@ -238,7 +238,7 @@
 			}
 			return false;
 		}
-		
+
 		int indexOfFilteredElement(Object element) {
 			if (filteredElements != null) {
 				for (int i = 0; i < filteredElements.length; i++) {
@@ -249,11 +249,11 @@
 			}
 			return -1;
 		}
-		
+
 		/**
 		 * Sets the child count for this element, trimming any filtered elements
 		 * that were above this count.
-		 * 
+		 *
 		 * @param childCount new child count
 		 */
 		void setModelChildCount(int childCount) {
@@ -263,7 +263,7 @@
 						// trim
 						if (i == 0) {
 							filteredIndexes = null;
-							// bug 200325 - filteredElements should have the same length 
+							// bug 200325 - filteredElements should have the same length
 							// as filteredIndexes
 							filteredElements = null;
 							return;
@@ -271,7 +271,7 @@
 							int[] temp = new int[i + 1];
 							System.arraycopy(filteredIndexes, 0, temp, 0, temp.length);
 							filteredIndexes = temp;
-							// bug 200325 - filteredElements should have the same length 
+							// bug 200325 - filteredElements should have the same length
 							// as filteredIndexes
 							Object[] temp2 = new Object[i + 1];
 							System.arraycopy(filteredElements, 0, temp2, 0, temp2.length);
@@ -281,10 +281,10 @@
 				}
 			}
 		}
-		
+
 		/**
 		 * Updates filter index for a removed element at the given index
-		 * 
+		 *
 		 * @param index index at which an element was removed
 		 */
 		void removeElementFromFilters(int index) {
@@ -333,7 +333,7 @@
 	/**
 	 * Filters the specified child of the given parent and returns
 	 * whether the filter was added.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param childIndex index of filtered child relative to parent (in model coordinates)
 	 * @param element the filtered element
@@ -343,46 +343,46 @@
 	public boolean addFilteredIndex(TreePath parentPath, int childIndex, Object element) {
 		return root.addFilter(parentPath, childIndex, 0, element);
 	}
-	
+
 	/**
 	 * Clears all filtered elements.
 	 */
 	public void clear() {
 		root = new Node();
 	}
-	
+
 	/**
 	 * Clears all filters in the subtree of the given element.
-	 * 
+	 *
 	 * @param path element path
 	 */
 	public void clear(TreePath path) {
 		root.clear(path, 0);
 	}
-	
+
 	/**
 	 * Clears the given filtered index of the specified parent. I.e.
 	 * the child still exists, but is no longer filtered.
-	 * 
+	 *
 	 * @param parentPath parent path
 	 * @param index index to clear
 	 */
 	public void clear(TreePath parentPath, int index) {
 		root.clear(parentPath, index, 0);
-	}	
-	
+	}
+
 	public int indexOfFilteredElement(TreePath parentPath, Object element) {
         Node parentNode = root.find(parentPath, 0);
         if (parentNode == null) {
             return -1;
         }
-        return parentNode.indexOfFilteredElement(element);	    
+        return parentNode.indexOfFilteredElement(element);
 	}
-	
+
 	/**
 	 * Translates and returns the given model index (raw index) into
 	 * a view index (filtered index), or -1 if filtered.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param childIndex index of child element in model space
 	 * @return the given index in view coordinates, or -1 if filtered.
@@ -394,11 +394,11 @@
 		}
 		return parentNode.modelToView(childIndex);
 	}
-	
+
 	/**
 	 * Translates and returns the given view index (filtered) into
 	 * a model index (raw index).
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param childIndex index of child element in view space
 	 * @return the given index in model coordinates
@@ -410,10 +410,10 @@
 		}
 		return parentNode.viewToModel(childIndex);
 	}
-	
+
 	/**
 	 * Returns the number of children for the given parent, in the model.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param viewCount number of children in the view
 	 * @return number of children in the model
@@ -427,11 +427,11 @@
 		}
 		return viewCount;
 	}
-	
+
 	/**
 	 * Translates and returns the given model child count (raw) into
 	 * a view count (filtered).
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param count child count in model space
 	 * @return the given count in view coordinates
@@ -442,11 +442,11 @@
 			return count;
 		}
 		return parentNode.modelToViewCount(count);
-	}	
-	
+	}
+
 	/**
 	 * Returns whether the given index of the specified parent is currently filtered.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param index index of child element
 	 * @return whether the child is currently filtered
@@ -458,10 +458,10 @@
 		}
 		return parentNode.isFiltered(index);
 	}
-	
+
 	/**
 	 * Returns filtered children of the given parent, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param parentPath Path of parent element
 	 * @return filtered children or <code>null</code>
 	 */
@@ -472,10 +472,10 @@
 		}
 		return parentNode.filteredIndexes;
 	}
-	
+
 	/**
 	 * Clears any filters for the given parent above the given count.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param childCount child count
 	 */
@@ -485,11 +485,11 @@
 			parentNode.setModelChildCount(childCount);
 		}
 	}
-	
+
 	/**
 	 * The element at the given index has been removed from the parent. Update
 	 * indexes.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param index index of child element in model coordinates
 	 */
@@ -499,11 +499,11 @@
 			parentNode.removeElementFromFilters(index);
 		}
 	}
-	
+
 	/**
 	 * The element has been removed from the parent. Update
 	 * filtered indexes, in case it was a filtered object.
-	 * 
+	 *
 	 * @param parentPath path to parent element
 	 * @param element removed element
 	 * @return true if element was removed
@@ -518,5 +518,5 @@
 			}
 		}
 		return false;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java
index d16ba7b..059f457 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/HasChildrenUpdate.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River Systems - Fix for viewer state save/restore [188704] 
+ *     Wind River Systems - Fix for viewer state save/restore [188704]
  *     Pawel Piech (Wind River) - added support for a virtual tree model viewer (Bug 242489)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.model;
@@ -26,13 +26,13 @@
 class HasChildrenUpdate extends ViewerUpdateMonitor implements IHasChildrenUpdate {
 
 	private boolean fHasChildren = false;
-	
+
 	private List<ViewerUpdateMonitor> fBatchedRequests = null;
-	
+
     /**
      * Constructs a request to update an element
-     * 
-     * @param provider the content provider 
+     *
+     * @param provider the content provider
      * @param viewerInput the current input
      * @param elementPath the path to the element being update
      * @param element the element
@@ -75,7 +75,7 @@
 		buf.append(getElement());
 		return buf.toString();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#coalesce(org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor)
 	 */
@@ -137,8 +137,8 @@
 	@Override
 	int getPriority() {
 		return 1;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ViewerUpdateMonitor#getSchedulingPath()
 	 */
@@ -149,17 +149,17 @@
 			return path.getParentPath();
 		}
 		return path;
-	}		
-	
+	}
+
 	boolean hasChildren() {
 	    return fHasChildren;
 	}
-	
+
     @Override
 	protected boolean doEquals(ViewerUpdateMonitor update) {
-        return 
-            update instanceof HasChildrenUpdate && 
-            getViewerInput().equals(update.getViewerInput()) && 
+        return
+            update instanceof HasChildrenUpdate &&
+            getViewerInput().equals(update.getViewerInput()) &&
             getElementPath().equals(update.getElementPath());
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/IInternalTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/IInternalTreeModelViewer.java
index 9aa4c1f..0b66433 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/IInternalTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/IInternalTreeModelViewer.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - ongoing bug fixes and enhancements
@@ -22,19 +22,19 @@
 /**
  * This interface must be implemented by the viewer which uses the
  * {@link TreeModelContentProvider} content provider.  It allows the content
- * provider to update the viewer with information retrieved from the 
+ * provider to update the viewer with information retrieved from the
  * content, proxy, memento, and other element-based providers.
- * 
+ *
  * @since 3.8
  */
 public interface IInternalTreeModelViewer extends ITreeModelViewer {
 
     /**
      * Returns this viewer's filters.
-     * 
+     *
      * @return an array of viewer filters
      * @see org.eclipse.jface.viewers.StructuredViewer#setFilters(ViewerFilter[])
-     */    
+     */
     @Override
 	public ViewerFilter[] getFilters();
 
@@ -44,11 +44,11 @@
      * @param index Index of the element to be revealed.
      */
     public void reveal(TreePath path, int index);
-        
+
     /**
-     * Triggers an update of the given element's state.  If multiple instances 
+     * Triggers an update of the given element's state.  If multiple instances
      * of the given element are found in the tree, they will all be updated.
-     * 
+     *
      * @param element Element to update.
      */
     public void update(Object element);
@@ -58,36 +58,36 @@
      * <p>
      * This method should only be called by the viewer framework.
      * </p>
-     * 
+     *
      * @param parentOrTreePath Parent object, or a tree path of the parent element.
      * @param index Index at which to set the new element.
      * @param element Element object.
      * @noreference This method is not intended to be referenced by clients.
      */
     public void replace(Object parentOrTreePath, final int index, Object element);
-    
+
     /**
-     * Set the number of children of the given element or tree path. To set the 
-     * number of children of the invisible root of the tree, you can pass the 
+     * Set the number of children of the given element or tree path. To set the
+     * number of children of the invisible root of the tree, you can pass the
      * input object or an empty tree path.
      * <p>
      * This method should only be called by the viewer framework.
      * </p>
-     * 
+     *
      * @param elementOrTreePath The element, or tree path.
      * @param count new value
      * @noreference This method is not intended to be referenced by clients.
      */
     public void setChildCount(final Object elementOrTreePath, final int count);
-    
+
     /**
-     * Inform the viewer about whether the given element or tree path has 
-     * children. Avoid calling this method if the number of children has 
+     * Inform the viewer about whether the given element or tree path has
+     * children. Avoid calling this method if the number of children has
      * already been set.
      * <p>
      * This method should only be called by the viewer framework.
      * </p>
-     * 
+     *
      * @param elementOrTreePath the element, or tree path
      * @param hasChildren new value.
      * @noreference This method is not intended to be referenced by clients.
@@ -100,7 +100,7 @@
      * <p>
      * This method should only be called by the viewer framework.
      * </p>
-     * 
+     *
      * @param elementPath tree path to element to consider for expansion
      * @noreference This method is not intended to be referenced by clients.
      */
@@ -118,7 +118,7 @@
      * @param expanded
      *            <code>true</code> if the node is expanded, and
      *            <code>false</code> if collapsed
-     *            
+     *
      * @noreference This method is not intended to be referenced by clients.
      */
     public void setExpandedState(Object elementOrTreePath, boolean expanded);
@@ -136,7 +136,7 @@
      * @param level
      *            non-negative level, or <code>ALL_LEVELS</code> to expand all
      *            levels of the tree
-     *            
+     *
      * @noreference This method is not intended to be referenced by clients.
      */
     public void expandToLevel(Object elementOrTreePath, int level);
@@ -149,7 +149,7 @@
      * </p>
      * @param elementOrTreePath the element, or the tree path to the element
      * @noreference This method is not intended to be referenced by clients.
-     */    
+     */
     public void remove(Object elementOrTreePath);
 
     /**
@@ -161,7 +161,7 @@
      * @param parentOrTreePath the parent element, the input element, or a tree path to the parent element
      * @param index child index
      * @noreference This method is not intended to be referenced by clients.
-     */    
+     */
     public void remove(Object parentOrTreePath, final int index);
 
     /**
@@ -172,19 +172,19 @@
      * <p>
      * This method should only be called by the viewer framework.
      * </p>
-     * @param parentOrTreePath the parent element, or the tree path to the parent 
+     * @param parentOrTreePath the parent element, or the tree path to the parent
      *
      * @param element the element
      * @param position a 0-based position relative to the model, or -1 to indicate
      * the last position
      * @noreference This method is not intended to be referenced by clients.
-     */    
+     */
     public void insert(Object parentOrTreePath, Object element, int position);
 
     /**
      * Returns whether the candidate selection should override the current
      * selection.
-     * @param current Current selection in viewer. 
+     * @param current Current selection in viewer.
      * @param candidate Proposed new selection.
      * @return whether new selection should override the current
      */
@@ -200,22 +200,22 @@
      *         <code>false</code> if collapsed
      */
     public boolean getExpandedState(Object elementOrTreePath);
-    
+
     /**
      * Returns whether the node corresponding to the given element or tree path
      * has any child elements.
-     * 
+     *
      * @param elementOrTreePath Path to element
      * @return Returns whether the given element has children.
      */
     public boolean getHasChildren(Object elementOrTreePath);
-    
+
     /**
      * Returns the child count of the element at the given path. <br>
      * Note: The child count may be incorrect if the element is not
      * expanded in the tree.
-     * 
-     * @param path Path to get count for. 
+     *
+     * @param path Path to get count for.
      * @return The child count.
      */
     public int getChildCount(TreePath path);
@@ -223,98 +223,98 @@
     /**
      * Returns the element which is a child of the element at the
      * given path, with the given index.
-     * 
+     *
      * @param path Path to parent element.
      * @param index Index of child element.
      * @return Child element.
      */
     public Object getChildElement(TreePath path, int index);
-    
+
     /**
-     * Returns the tree path of the element that is at the top of the 
+     * Returns the tree path of the element that is at the top of the
      * viewer.
-     * 
-     * @return the tree path of the element at the top of the 
+     *
+     * @return the tree path of the element at the top of the
      * viewer.
      */
     public TreePath getTopElementPath();
-    
-    /** 
+
+    /**
      * Finds the index of the given element with a parent of given path.
-     * 
-     * @param parentPath Path of parent element. 
+     *
+     * @param parentPath Path of parent element.
      * @param element Element to find.
-     * 
+     *
      * @return The element's index, or -1 if not found.
      */
     public int findElementIndex(TreePath parentPath, Object element);
 
     /**
-     * Returns a boolean indicating whether all the child elements of the 
+     * Returns a boolean indicating whether all the child elements of the
      * given parent have been realized already.
-     * 
+     *
      * @param parentPath Path of parent element.
      * @return true if all children realized
      */
     public boolean getElementChildrenRealized(TreePath parentPath);
-    
+
     /**
      * Clears the selection in the viewer, if any, without firing
      * selection change notification. This is only to be used by
      * the platform.
      */
     public void clearSelectionQuiet();
-    
+
     /**
      * Sets the element's display information.
      * <p>
      * This method should only be called by the viewer framework.
      * </p>
-     * 
-     * @param path Element path. 
+     *
+     * @param path Element path.
      * @param numColumns Number of columns in the data.
-     * @param labels Array of labels.  The array cannot to be 
+     * @param labels Array of labels.  The array cannot to be
      * <code>null</code>, but values within the array may be.
      * @param images Array of image descriptors, may be <code>null</code>.
      * @param fontDatas Array of fond data objects, may be <code>null</code>.
-     * @param foregrounds Array of RGB values for foreground colors, may be 
+     * @param foregrounds Array of RGB values for foreground colors, may be
      * <code>null</code>.
-     * @param backgrounds Array of RGB values for background colors, may be 
+     * @param backgrounds Array of RGB values for background colors, may be
      * <code>null</code>.
      * @noreference This method is not intended to be referenced by clients.
      */
-    public void setElementData(TreePath path, int numColumns, String[] labels, ImageDescriptor[] images, FontData[] fontDatas, RGB[] foregrounds, RGB[] backgrounds); 
+    public void setElementData(TreePath path, int numColumns, String[] labels, ImageDescriptor[] images, FontData[] fontDatas, RGB[] foregrounds, RGB[] backgrounds);
 
     /**
      * Returns identifiers of the visible columns in this viewer, or <code>null</code>
      * if there is currently no column presentation.
-     *  
+     *
      * @return visible columns or <code>null</code>
      */
-    public String[] getVisibleColumns();    
-    
+    public String[] getVisibleColumns();
+
     /**
      * Sets the element check state data.
-     * 
+     *
      * @param path Path of element to check.
      * @param checked if true, item will be checked
      * @param grayed if true item will be grayed
      */
-    public void setElementChecked(TreePath path, boolean checked, boolean grayed);    
+    public void setElementChecked(TreePath path, boolean checked, boolean grayed);
 
     /**
      * Retrieves the element check state.
-     * 
+     *
      * @param path Path of element to return check state for.
      * @return the element checked state
      */
-    public boolean getElementChecked(TreePath path);    
+    public boolean getElementChecked(TreePath path);
 
     /**
      * Retrieves the element's check box grayed state.
-     * 
+     *
      * @param path Path of element to return grayed state for.
      * @return the element grayed state
      */
-    public boolean getElementGrayed(TreePath path);        
+    public boolean getElementGrayed(TreePath path);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ILabelUpdateListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ILabelUpdateListener.java
index a53be35..b296064 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ILabelUpdateListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ILabelUpdateListener.java
@@ -14,7 +14,7 @@
 
 /**
  * Notified of label updates.
- * 
+ *
  * @since 3.3
  */
 public interface ILabelUpdateListener {
@@ -23,25 +23,25 @@
 	 * Notification that a sequence of viewer updates are starting.
 	 */
 	public void labelUpdatesBegin();
-	
+
 	/**
 	 * Notification that viewer updates are complete. Corresponds to
 	 * a <code>viewerUpdatesBegin()</code> notification.
 	 */
 	public void labelUpdatesComplete();
-	
+
 	/**
 	 * Notification that a specific update has started within
 	 * a sequence of updates.
-	 * 
+	 *
 	 * @param update update
 	 */
 	public void labelUpdateStarted(ILabelUpdate update);
-	
+
 	/**
 	 * Notification that a specific update has completed within a
 	 * sequence of updates.
-	 * 
+	 *
 	 * @param update update
 	 */
 	public void labelUpdateComplete(ILabelUpdate update);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelContentProvider.java
index 4c995ec..cf2d9bc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelContentProvider.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -21,65 +21,65 @@
 import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.jface.viewers.Viewer;
 
-/** 
+/**
  * {@link TreeModelViewer} content provider interface.
- *  
+ *
  * @since 3.5
  */
 public interface ITreeModelContentProvider extends ILazyTreePathContentProvider {
 
     /**
      * Bit-mask which allows all possible model delta flags.
-     * 
+     *
      * @since 3.6
      * @see #setModelDeltaMask(int)
      */
-    public static final int ALL_MODEL_DELTA_FLAGS = ~0; 
+    public static final int ALL_MODEL_DELTA_FLAGS = ~0;
 
     /**
-     * Bit-mask which allows only flags which control selection and expansion. 
-     * 
+     * Bit-mask which allows only flags which control selection and expansion.
+     *
      * @since 3.6
      * @see #setModelDeltaMask(int)
      */
-    public static final int CONTROL_MODEL_DELTA_FLAGS = 
+    public static final int CONTROL_MODEL_DELTA_FLAGS =
         IModelDelta.EXPAND | IModelDelta.COLLAPSE | IModelDelta.SELECT | IModelDelta.REVEAL | IModelDelta.FORCE;
 
     /**
      * Bit-mask which allows only flags which update viewer's information
      * about the model.
-     * 
+     *
      * @since 3.6
      * @see #setModelDeltaMask(int)
      */
-    public static final int UPDATE_MODEL_DELTA_FLAGS = 
+    public static final int UPDATE_MODEL_DELTA_FLAGS =
         IModelDelta.ADDED | IModelDelta.CONTENT | IModelDelta.INSERTED | IModelDelta.INSTALL | IModelDelta.REMOVED |
         IModelDelta.REPLACED | IModelDelta.STATE | IModelDelta.UNINSTALL;
 
     /**
      * Translates and returns the given child index from the viewer coordinate
      * space to the model coordinate space.
-     *  
+     *
      * @param parentPath path to parent element
      * @param index index of child element in viewer (filtered) space
      * @return index of child element in model (raw) space
      */
     public int viewToModelIndex(TreePath parentPath, int index);
-    
+
     /**
      * Translates and returns the given child count from the viewer coordinate
      * space to the model coordinate space.
-     *  
+     *
      * @param parentPath path to parent element
      * @param count number of child elements in viewer (filtered) space
      * @return number of child elements in model (raw) space
      */
     public int viewToModelCount(TreePath parentPath, int count);
-    
+
     /**
      * Translates and returns the given child index from the model coordinate
      * space to the viewer coordinate space.
-     *  
+     *
      * @param parentPath path to parent element
      * @param index index of child element in model (raw) space
      * @return index of child element in viewer (filtered) space or -1 if filtered
@@ -89,31 +89,31 @@
     /**
      * Returns whether the children of given element should be filtered.
      * <p>This method is used to determine whether any of the registered filters
-     * that extend {@link TreeModelViewerFilter} are applicable to the given 
-     * element.  If so, then children of given element should be filtered 
-     * prior to populating them in the viewer.  
-     * 
+     * that extend {@link TreeModelViewerFilter} are applicable to the given
+     * element.  If so, then children of given element should be filtered
+     * prior to populating them in the viewer.
+     *
      * @param parentElement
-     *            the parent element 
-     * @return whether there are any {@link TreeModelViewerFilter} filters 
+     *            the parent element
+     * @return whether there are any {@link TreeModelViewerFilter} filters
      * applicable to given parent
      */
-    public boolean areTreeModelViewerFiltersApplicable(Object parentElement);        
-    
+    public boolean areTreeModelViewerFiltersApplicable(Object parentElement);
+
     /**
      * Returns whether the given element is filtered.
-     * 
+     *
      * @param parentElementOrTreePath
      *            the parent element or path
      * @param element
      *            the child element
      * @return whether to filter the element
      */
-    public boolean shouldFilter(Object parentElementOrTreePath, Object element);   
+    public boolean shouldFilter(Object parentElementOrTreePath, Object element);
 
     /**
      * Notification the given element is being unmapped.
-     * 
+     *
      * @param path Path to unmap
      */
     public void unmapPath(TreePath path);
@@ -122,27 +122,27 @@
      * Sets the bit mask which will be used to filter the {@link IModelDelta}
      * coming from the model.  Any delta flags which are hidden by the mask
      * will be ignored.
-     *  
+     *
      * @param mask for <code>IModelDelta</code> flags
-     * 
+     *
      * @since 3.6
      */
     public void setModelDeltaMask(int mask);
-    
+
     /**
      * Returns the current model delta mask.
-     * 
+     *
      * @return bit mask used to filter model delta events.
-     * 
+     *
      * @see #setModelDeltaMask(int)
      * @since 3.6
      */
     public int getModelDeltaMask();
-    
+
     /**
      * Translates and returns the given child count from the model coordinate
      * space to the viewer coordinate space.
-     *  
+     *
      * @param parentPath path to parent element
      * @param count child count element in model (raw) space
      * @return child count in viewer (filtered) space
@@ -154,27 +154,27 @@
      * @param listener Listener to add
      */
     public void addViewerUpdateListener(IViewerUpdateListener listener);
-    
+
     /**
      * Removes the specified listener from update notifications.
      * @param listener Listener to remove
      */
     public void removeViewerUpdateListener(IViewerUpdateListener listener);
-    
+
     /**
      * Registers the given listener for model delta notification.
      * This listener is called immediately after the viewer processes
-     * the delta.  
+     * the delta.
      * @param listener Listener to add
      */
     public void addModelChangedListener(IModelChangedListener listener);
-    
+
     /**
      * Removes the given listener from model delta notification.
      * @param listener Listener to remove
      */
     public void removeModelChangedListener(IModelChangedListener listener);
-    
+
     /**
      * Causes the content provider to save the expansion and selection state
      * of given element.  The state is then restored as the tree is lazily
@@ -200,46 +200,46 @@
     /**
      * Instructs the content provider to process the given model delta.  This
      * mechanism can be used to control the view's layout (expanding, selecting
-     * , etc.) 
-     * 
+     * , etc.)
+     *
      * @param delta The model delta to process.
-     * @param mask Mask that can be used to suppress processing of some of the 
+     * @param mask Mask that can be used to suppress processing of some of the
      * delta flags
-     * 
+     *
      * @since 3.6
      */
     public void updateModel(IModelDelta delta, int mask);
 
     /**
-     * Instructs the content provider to cancel any pending state changes 
+     * Instructs the content provider to cancel any pending state changes
      * (i.e. SELECT, REVEAL, EXPAND, COLLAPSE) for the given path.  Pending
-     * state changes are changes the the viewer plans to re-apply to the 
+     * state changes are changes the the viewer plans to re-apply to the
      * viewer following a refresh.  If the user changes viewer state while
-     * the viewer is being refreshed, user's change should override the 
-     * previous state. 
-     * 
+     * the viewer is being refreshed, user's change should override the
+     * previous state.
+     *
      * @param path Path of the element for which to cancel pending changes.
      * @param flags Flags indicating the changes to cancel.
      */
     public void cancelRestore(TreePath path, int flags);
-    
+
     /**
-     * Notifies the content provider that a client called {@link Viewer#setInput(Object)}, 
-     * and the viewer input is changed. 
-     * This method is guaranteed to be called after {@link IContentProvider#inputChanged(Viewer, Object, Object)} 
-     *  
+     * Notifies the content provider that a client called {@link Viewer#setInput(Object)},
+     * and the viewer input is changed.
+     * This method is guaranteed to be called after {@link IContentProvider#inputChanged(Viewer, Object, Object)}
+     *
      * @param viewer The viewer that uses this content provider.
      * @param oldInput Old input object.
      * @param newInput New input object.
-     * 
+     *
      * @since 3.8
      */
     public void postInputChanged(IInternalTreeModelViewer viewer, Object oldInput, Object newInput);
-    
+
     /**
-     * Notifies the receiver that the given element has had its 
+     * Notifies the receiver that the given element has had its
      * checked state modified in the viewer.
-     * 
+     *
      * @param path Path of the element that had its checked state changed
      * @param checked The new checked state of the element
      * @return false if the check state should not change
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelLabelProvider.java
index fe57a3b..190a0a8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelLabelProvider.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -20,10 +20,10 @@
 import org.eclipse.swt.graphics.RGB;
 
 /**
- * {@link InternalTreeModelViewer} label provider interface.  In addition to 
+ * {@link InternalTreeModelViewer} label provider interface.  In addition to
  * implementing this interface, the label provider for the TreeModelViewer
- * must also extend CellLabelProvider.    
- * 
+ * must also extend CellLabelProvider.
+ *
  * @since 3.5
  */
 public interface ITreeModelLabelProvider extends IBaseLabelProvider {
@@ -31,17 +31,17 @@
     /**
      * Requests an label update label of the given element.
      * @param elementPath Element to update.
-     * @return true if element label provider is found and update will 
+     * @return true if element label provider is found and update will
      * be requested.
      */
     public boolean update(TreePath elementPath);
-    
+
     /**
      * Registers the specified listener for view label update notifications.
      * @param listener Listener to add
      */
     public void addLabelUpdateListener(ILabelUpdateListener listener);
-    
+
     /**
      * Removes the specified listener from view label update notifications.
      * @param listener Listener to remove
@@ -51,25 +51,25 @@
     /**
      * Returns an image for the given image descriptor or <code>null</code>. Adds the image
      * to a cache of images if it does not already exist.
-     * 
+     *
      * @param descriptor image descriptor or <code>null</code>
      * @return image or <code>null</code>
      */
     public Image getImage(ImageDescriptor descriptor);
-    
+
     /**
-     * Returns a font for the given font data or <code>null</code>. Adds the font to the font 
+     * Returns a font for the given font data or <code>null</code>. Adds the font to the font
      * cache if not yet created.
-     * 
+     *
      * @param fontData font data or <code>null</code>
      * @return font font or <code>null</code>
      */
     public Font getFont(FontData fontData);
 
     /**
-     * Returns a color for the given RGB or <code>null</code>. Adds the color to the color 
+     * Returns a color for the given RGB or <code>null</code>. Adds the color to the color
      * cache if not yet created.
-     * 
+     *
      * @param rgb RGB or <code>null</code>
      * @return color or <code>null</code>
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelViewer.java
index 8d064cb..aa37b49 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ITreeModelViewer.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -12,10 +12,10 @@
 package org.eclipse.debug.internal.ui.viewers.model;
 
 /**
- * This interface was moved to the {@link org.eclipse.debug.internal.ui.viewers.model.provisional} 
- * package.  This stub was left for backward compatibility for packages that 
+ * This interface was moved to the {@link org.eclipse.debug.internal.ui.viewers.model.provisional}
+ * package.  This stub was left for backward compatibility for packages that
  * referenced this internal interface.
- * 
+ *
  * @deprecated This internal interface was replaced by {@link org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer}.
  */
 @Deprecated
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
index 38f00cd..0aa7c11 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalTreeModelViewer.java
@@ -72,58 +72,58 @@
 
 /**
  * A tree viewer that displays a model.
- * 
+ *
  * @since 3.3
  */
 @SuppressWarnings("deprecation")
 public class InternalTreeModelViewer extends TreeViewer implements IInternalTreeModelViewer, org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer
 {
-	
+
 	private final IPresentationContext fContext;
-	
+
     /**
      * Current column presentation or <code>null</code>
      */
-    private IColumnPresentation fColumnPresentation = null;	
-    
+    private IColumnPresentation fColumnPresentation = null;
+
     /**
      * Map of columns presentation id to its visible columns id's (String[])
      * When a columns presentation is not in the map, default settings are used.
      */
 	private final Map<String, String[]> fVisibleColumns = new HashMap<String, String[]>();
-    
+
     /**
      * Map of column id's to persisted sizes
      */
 	private final Map<Object, Integer> fColumnSizes = new HashMap<Object, Integer>();
-    
+
     /**
      * Map of column presentation id's to an array of integers representing the column order
      * for that presentation, or <code>null</code> if default.
      */
 	private final Map<String, int[]> fColumnOrder = new HashMap<String, int[]>();
-    
+
     /**
      * Map of column presentation id to whether columns should be displayed
-     * for that presentation (the user can toggle columns on/off when a 
+     * for that presentation (the user can toggle columns on/off when a
      * presentation is optional.
      */
 	private final Map<String, Boolean> fShowColumns = new HashMap<String, Boolean>();
-    
+
     /**
-     * Item's tree path cache 
+     * Item's tree path cache
      */
     private static final String TREE_PATH_KEY = "TREE_PATH_KEY"; //$NON-NLS-1$
-    
+
     /**
-	 * Memento type for column sizes. Sizes are keyed by column presentation id 
+	 * Memento type for column sizes. Sizes are keyed by column presentation id
 	 */
 	private static final String COLUMN_SIZES = "COLUMN_SIZES"; //$NON-NLS-1$
 	/**
 	 * Memento type for the column order for a presentation context.
 	 * A memento is created for each column presentation
 	 */
-	private static final String COLUMN_ORDER = "COLUMN_ORDER";     //$NON-NLS-1$	
+	private static final String COLUMN_ORDER = "COLUMN_ORDER";     //$NON-NLS-1$
 	/**
 	 * Memento type for the visible columns for a presentation context.
 	 * A memento is created for each column presentation keyed by column number
@@ -133,7 +133,7 @@
 	 * Memento type for whether columns are visible for a presentation context.
 	 * Booleans are keyed by column presentation id
 	 */
-	private static final String SHOW_COLUMNS = "SHOW_COLUMNS";     //$NON-NLS-1$	
+	private static final String SHOW_COLUMNS = "SHOW_COLUMNS";     //$NON-NLS-1$
 	/**
 	 * Memento key for the number of visible columns in a VISIBLE_COLUMNS memento
 	 * or for the width of a column
@@ -142,21 +142,21 @@
 	/**
 	 * Memento key prefix a visible column
 	 */
-	private static final String COLUMN = "COLUMN";	 //$NON-NLS-1$	    
-	
+	private static final String COLUMN = "COLUMN";	 //$NON-NLS-1$
+
 	/**
 	 * True while performing an insert... we allow insert with filters
 	 */
 	private boolean fInserting = false;
-	
+
 	/**
 	 * Whether to notify the content provider when an element is unmapped
 	 */
 	private boolean fNotifyUnmap = true;
-	
+
 	/**
 	 * Persist column sizes when they change.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	class ColumnListener implements ControlListener {
@@ -176,14 +176,14 @@
 			persistColumnSizes();
 		}
 	}
-	
-	private final ColumnListener fListener = new ColumnListener();    
+
+	private final ColumnListener fListener = new ColumnListener();
 
 	/**
 	 * Proxy to cell modifier/editor support
 	 */
 	class CellModifierProxy implements ICellModifier {
-		
+
 		private ICellModifier fModifier;
 
 		/* (non-Javadoc)
@@ -236,7 +236,7 @@
 				fModifier.modify(element, property, value);
 			}
 		}
-		
+
 		/**
 		 * Clears client's column editor and cell editors
 		 */
@@ -260,12 +260,12 @@
 				}
 			}
 		}
-		
+
 	}
-	
+
 	private final CellModifierProxy fCellModifier;
-	
-	
+
+
 	/**
 	 * @param parent the parent composite
 	 * @param style the widget style bits
@@ -281,9 +281,9 @@
 		fContext = context;
 		setContentProvider(createContentProvider());
 		setLabelProvider(createLabelProvider());
-		
+
 		// A pop-up viewer is transient and does not automatically expand
-		// and select elements up when requested by the model  
+		// and select elements up when requested by the model
 		if ((style & SWT.POP_UP) != 0) {
 		    ((ITreeModelContentProvider)getContentProvider()).setModelDeltaMask(
 		        ~ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS);
@@ -292,7 +292,7 @@
             context.setProperty(ICheckUpdate.PROP_CHECK, Boolean.TRUE);
         }
 	}
-	
+
 	/**
 	 * @return content provider for this tree viewer
 	 */
@@ -300,7 +300,7 @@
 	{
 		return new TreeModelContentProvider();
 	}
-	
+
 	/**
 	 * @return label provider for this tree viewer
 	 */
@@ -308,12 +308,12 @@
 	{
 		return new TreeModelLabelProvider(this);
 	}
-	
+
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Workaround for bug 159461: when an item is cleared it's label is cleared. To avoid
 	 * flashing, restore its label to its previous value.
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.TreeViewer#hookControl(org.eclipse.swt.widgets.Control)
 	 */
 	@Override
@@ -329,9 +329,9 @@
 		});
 		super.hookControl(control);
 	}
-	
+
 	/**
-	 * @param item the item 
+	 * @param item the item
 	 */
 	private void preserveItem(TreeItem item) {
 		Object[] labels = (Object[]) item.getData(PREV_LABEL_KEY);
@@ -378,8 +378,8 @@
 
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.StructuredViewer#handleInvalidSelection
-     * 
-     * Override the default handler for invalid selection to allow model 
+     *
+     * Override the default handler for invalid selection to allow model
      * selection policy to select the new selection.
      */
 	@Override
@@ -402,7 +402,7 @@
 	    }
 	    super.handleInvalidSelection(selection, newSelection);
 	}
-        
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ContentViewer#handleDispose(org.eclipse.swt.events.DisposeEvent)
@@ -413,20 +413,20 @@
 			fColumnPresentation.dispose();
 		}
 		fCellModifier.clear();
-		
+
 		super.handleDispose(event);
 	}
-	
+
 	/**
 	 * Returns this viewer's presentation context.
-	 * 
+	 *
 	 * @return presentation context
 	 */
 	@Override
 	public IPresentationContext getPresentationContext() {
 		return fContext;
 	}
-	
+
 	@Override
 	protected void unmapElement(Object element, Widget widget) {
 		if (fNotifyUnmap) {
@@ -435,7 +435,7 @@
 		}
 		super.unmapElement(element, widget);
 	}
-	
+
 	@Override
 	protected void associate(Object element, Item item) {
 		// see AbstractTreeViewer.associate(...)
@@ -455,9 +455,9 @@
 	}
 
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * We need tree paths when disposed/unmapped in any order so cache the tree path.
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.TreeViewer#mapElement(java.lang.Object, org.eclipse.swt.widgets.Widget)
 	 */
 	@Override
@@ -469,11 +469,11 @@
 			widget.setData(TREE_PATH_KEY, TreeModelContentProvider.EMPTY_TREE_PATH);
 		}
 	}
-	
+
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Override because we allow inserting with filters present.
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#insert(java.lang.Object, java.lang.Object, int)
 	 */
 	@Override
@@ -485,11 +485,11 @@
 			fInserting = false;
 		}
 	}
-	
+
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Override because we allow inserting with filters present.
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.StructuredViewer#hasFilters()
 	 */
 	@Override
@@ -499,17 +499,17 @@
 		}
 		return super.hasFilters();
 	}
-	
+
 	@Override
 	protected void unmapAllElements() {
-	    // Do nothing when called from StructuredViewer.setInput(), to avoid 
+	    // Do nothing when called from StructuredViewer.setInput(), to avoid
 	    // clearing elements before viewer state is saved.
 	    // Bug 326917
 	    if (getControl().isDisposed()) {
 	        unmapAllElements();
 	    }
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#inputChanged(java.lang.Object, java.lang.Object)
 	 */
@@ -521,13 +521,13 @@
         super.unmapAllElements();
 		((ITreeModelContentProvider)getContentProvider()).postInputChanged(this, oldInput, input);
 		super.inputChanged(input, oldInput);
-		
-		resetColumns(input);		
+
+		resetColumns(input);
 	}
 
 	/**
      * Configures the columns for the given viewer input.
-     * 
+     *
      * @param input the viewer input
      */
     protected void resetColumns(Object input) {
@@ -562,8 +562,8 @@
 				}
 			}
     	}
-    }    
-        
+    }
+
     /**
      * Configures the columns based on the current settings.
      */
@@ -573,16 +573,16 @@
 			if (isShowColumns(fColumnPresentation.getId())) {
 				build = fColumnPresentation;
 			}
-			buildColumns(build);					
+			buildColumns(build);
 		} else {
 			// get rid of columns
 			buildColumns(null);
 		}
     }
-    
+
 	/**
 	 * Toggles columns on/off for the current column presentation, if any.
-	 * 
+	 *
 	 * @param show whether to show columns if the current input supports
 	 * 	columns
 	 */
@@ -598,7 +598,7 @@
 		}
 		refreshColumns();
 	}
-	
+
 	/**
 	 * Resets any persisted column size for the given columns
 	 * @param columnIds the identifiers of the columns to reset
@@ -608,11 +608,11 @@
 			fColumnSizes.remove(columnIds[i]);
 		}
 	}
-	
+
 	/**
 	 * Sets the id's of visible columns, or <code>null</code> to set default columns.
 	 * Only affects the current column presentation.
-	 * 
+	 *
 	 * @param ids visible columns
 	 */
 	public void setVisibleColumns(String[] ids) {
@@ -641,12 +641,12 @@
 			presentationContext.setColumns(getVisibleColumns());
 			refreshColumns();
 		}
-	}	
+	}
 
 	@Override
 	protected void internalRefresh(Object element, boolean updateLabels) {
-	    ITreeModelContentProvider contentProvider = (ITreeModelContentProvider)getContentProvider(); 
-	    
+	    ITreeModelContentProvider contentProvider = (ITreeModelContentProvider)getContentProvider();
+
         if (element == null) {
             internalRefresh(getControl(), getRoot(), true, updateLabels);
             contentProvider.preserveState(TreePath.EMPTY);
@@ -664,7 +664,7 @@
         }
 	    super.internalRefresh(element, updateLabels);
 	}
-	
+
     /**
      * Refreshes the columns in the view, based on the viewer input.
      */
@@ -672,11 +672,11 @@
     	configureColumns();
     	refresh();
     }
-    
+
 	/**
 	 * Returns whether columns are being displayed currently.
-	 * 
-	 * @return if columns are being shown 
+	 *
+	 * @return if columns are being shown
 	 */
 	public boolean isShowColumns() {
 		if (fColumnPresentation != null) {
@@ -684,29 +684,29 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns whether columns can be toggled on/off for the current input.
-	 * 
+	 *
 	 * @return whether columns can be toggled on/off for the current input
 	 */
 	public boolean canToggleColumns() {
 		return fColumnPresentation != null && fColumnPresentation.isOptional();
 	}
-	
+
 	protected boolean isShowColumns(String columnPresentationId) {
 		Boolean bool = fShowColumns.get(columnPresentationId);
 		if (bool == null) {
 			return true;
 		}
 		return bool.booleanValue();
-	}    
-    
+	}
+
     /**
      * Creates new columns for the given presentation.
-     * 
+     *
      * TODO: does this need to be asynchronous?
-     * 
+     *
      * @param presentation the column presentation to build from
      */
     protected void buildColumns(IColumnPresentation presentation) {
@@ -722,7 +722,7 @@
 			columns[i].dispose();
 		}
     	PresentationContext presentationContext = (PresentationContext) getPresentationContext();
-    	if (presentation != null) {	    	
+    	if (presentation != null) {
 	    	for (int i = 0; i < visibleColumnIds.length; i++) {
 				String id = visibleColumnIds[i];
 				String header = presentation.getHeader(id);
@@ -753,13 +753,13 @@
     		setCellModifier(null);
     		setColumnProperties(null);
     	}
-    	
+
     	int treeWidgetWidth = tree.getSize().x;
     	int avg = treeWidgetWidth;
     	if (visibleColumnIds != null) {
 			avg /= visibleColumnIds.length;
 		}
-    	
+
         if (avg == 0) {
             tree.addPaintListener(new PaintListener() {
                 @Override
@@ -784,7 +784,7 @@
         for (int i = 0; i < columns.length; i++) {
             TreeColumn treeColumn = columns[i];
             Object colData = treeColumn.getData();
-            String columnId = colData instanceof String ? (String) colData : null;            
+            String columnId = colData instanceof String ? (String) colData : null;
             Integer width = fColumnSizes.get(colData);
             if (width == null) {
             	int ans = getInitialColumnWidth(columnId, treeWidgetWidth, visibleColumnIds);
@@ -798,22 +798,22 @@
             }
             treeColumn.addControlListener(fListener);
         }
-    }    
-    
+    }
+
 	/**
 	 * Returns the current column presentation for this viewer, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return column presentation or <code>null</code>
 	 */
 	public IColumnPresentation getColumnPresentation() {
 		return fColumnPresentation;
 	}
-	
+
 	/**
 	 * Returns identifiers of the visible columns in this viewer, or <code>null</code>
 	 * if there is currently no column presentation.
-	 *  
+	 *
 	 * @return visible columns or <code>null</code>
 	 */
 	@Override
@@ -833,7 +833,7 @@
 								columnAvailable = true;
 							}
 				        }
-				        
+
 				        if (!columnAvailable || presentation.getHeader(columns[i]) == null) {
     				        // We found a column ID which is not in current list of available column IDs.
 				            // Or the presentation cannot return a header title for the given column.
@@ -849,14 +849,14 @@
 			}
 		}
 		return null;
-	}    
-	
+	}
+
 	/**
 	 * Returns initial column width of a given column, or -1
 	 * @param columnId column Id
 	 * @param treeWidgetWidth tree widget width
 	 * @param visibleColumnIds visible columns
-	 *  
+	 *
 	 * @return column width
 	 */
 	public int getInitialColumnWidth(String columnId, int treeWidgetWidth, String[] visibleColumnIds) {
@@ -873,7 +873,7 @@
 	/**
      * Persists column sizes in cache
      */
-    protected void persistColumnSizes() { 
+    protected void persistColumnSizes() {
 		Tree tree = getTree();
 		TreeColumn[] columns = tree.getColumns();
 		for (int i = 0; i < columns.length; i++) {
@@ -882,7 +882,7 @@
 			fColumnSizes.put(id, Integer.valueOf(treeColumn.getWidth()));
 		}
     }
-    
+
     /**
      * Persists column ordering
      */
@@ -904,10 +904,10 @@
 	    	fColumnOrder.remove(presentation.getId());
     	}
     }
-    
+
 	/**
 	 * Save viewer state into the given memento.
-	 * 
+	 *
 	 * @param memento the {@link IMemento} to save to
 	 */
 	public void saveState(IMemento memento) {
@@ -921,7 +921,7 @@
 			for (Entry<String, Boolean> entry : fShowColumns.entrySet()) {
 				IMemento sizes = memento.createChild(SHOW_COLUMNS, entry.getKey());
 				sizes.putString(SHOW_COLUMNS, entry.getValue().toString());
-			}			
+			}
 		}
 		if (!fVisibleColumns.isEmpty()) {
 			for (Entry<String, String[]> entry : fVisibleColumns.entrySet()) {
@@ -950,13 +950,13 @@
 		if (context instanceof PresentationContext) {
 			PresentationContext pc = (PresentationContext) context;
 			pc.saveProperites(memento);
-			
+
 		}
-	}    
-	
+	}
+
 	/**
 	 * Initializes viewer state from the memento
-	 * 
+	 *
 	 * @param memento the {@link IMemento} to read from
 	 */
 	public void initState(IMemento memento) {
@@ -1014,7 +1014,7 @@
 			pc.initProperties(memento);
 		}
 	}
-	
+
 	/**
 	 * Returns whether the candidate selection should override the current
 	 * selection.
@@ -1035,9 +1035,9 @@
 	}
 
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Consider selection policy
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.StructuredViewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
 	 */
 	@Override
@@ -1047,7 +1047,7 @@
 		}
 		super.setSelection(selection, reveal);
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean, boolean)
@@ -1056,7 +1056,7 @@
 	public void setSelection(ISelection selection, boolean reveal, boolean force) {
 		trySelection(selection, reveal, force);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer#trySelection(org.eclipse.jface.viewers.ISelection, boolean, boolean)
 	 */
@@ -1070,17 +1070,17 @@
 	}
 	/**
  	 * Registers the specified listener for view update notifications.
-	 * 
+	 *
 	 * @param listener listener
 	 */
 	@Override
 	public void addViewerUpdateListener(IViewerUpdateListener listener) {
 		((ITreeModelContentProvider)getContentProvider()).addViewerUpdateListener(listener);
 	}
-	
+
 	/**
 	 * Removes the specified listener from update notifications.
-	 * 
+	 *
 	 * @param listener listener
 	 */
 	@Override
@@ -1090,20 +1090,20 @@
 			cp.removeViewerUpdateListener(listener);
 		}
 	}
-	
+
 	/**
 	 * Registers the given listener for model delta notification.
-	 * 
+	 *
 	 * @param listener model delta listener
 	 */
 	@Override
 	public void addModelChangedListener(IModelChangedListener listener) {
-		((ITreeModelContentProvider)getContentProvider()).addModelChangedListener(listener); 
+		((ITreeModelContentProvider)getContentProvider()).addModelChangedListener(listener);
 	}
-	
+
 	/**
 	 * Unregisters the given listener from model delta notification.
-	 * 
+	 *
 	 * @param listener model delta listener
 	 */
 	@Override
@@ -1118,7 +1118,7 @@
 	public void addStateUpdateListener(IStateUpdateListener listener) {
         ((ITreeModelContentProvider)getContentProvider()).addStateUpdateListener(listener);
     }
-    
+
     @Override
 	public void removeStateUpdateListener(IStateUpdateListener listener) {
         ITreeModelContentProvider cp = (ITreeModelContentProvider)getContentProvider();
@@ -1126,7 +1126,7 @@
             cp.removeStateUpdateListener(listener);
         }
     }
-    
+
 	/*
 	 * (non-Javadoc) Method declared in AbstractTreeViewer.
 	 */
@@ -1140,13 +1140,13 @@
 			unmapElement(element, treeItem);
 			return;
 		}
-		
+
 		if ( !((ITreeModelLabelProvider)getLabelProvider()).update(getTreePathFromItem(item)) ) {
             if (element instanceof String) {
                 item.setData(PREV_LABEL_KEY, new String[] { (String)element } );
-            }		    
+            }
 		}
-		    
+
 
 		// As it is possible for user code to run the event
 		// loop check here.
@@ -1154,23 +1154,23 @@
 			unmapElement(element, item);
 		}
 	}
-	
+
 	@Override
 	public void addLabelUpdateListener(ILabelUpdateListener listener) {
 	    ((ITreeModelLabelProvider)getLabelProvider()).addLabelUpdateListener(listener);
 	}
-	
+
 	@Override
 	public void removeLabelUpdateListener(ILabelUpdateListener listener) {
 	    if (!getControl().isDisposed()) {
 	        ((ITreeModelLabelProvider)getLabelProvider()).removeLabelUpdateListener(listener);
 	    }
 	}
-	
+
 	/**
 	 * Returns the item for the element at the given tree path or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @param path tree path
 	 * @return item or <code>null</code>
 	 */
@@ -1189,12 +1189,12 @@
 		}
 		return null;
 	}
-	
+
 	@Override
 	public Item[] getChildren(Widget widget) {
 		return super.getChildren(widget);
 	}
-	
+
 	/**
 	 * Returns the tree path for the given item.
 	 * @param item the item to compute the {@link TreePath} for
@@ -1203,17 +1203,17 @@
 	@Override
 	protected TreePath getTreePathFromItem(Item item) {
 		return super.getTreePathFromItem(item);
-	}	
+	}
 
-//**************************************************************************	
+//**************************************************************************
 // These methods were copied from TreeViewer as a workaround for bug 183463:
 // 		Expanded nodes in tree viewer flash on refresh
-	
+
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * workaround for bug 183463
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#internalRefreshStruct(org.eclipse.swt.widgets.Widget,
 	 *      java.lang.Object, boolean)
 	 */
@@ -1241,8 +1241,8 @@
 			}
 		}
 		virtualRefreshExpandedItems(parent, widget, element, index);
-	}	
-	
+	}
+
 	/**
 	 * Traverses the visible (expanded) part of the tree and updates child
 	 * counts.
@@ -1276,10 +1276,10 @@
 			virtualRefreshExpandedItems(widget, item, data, i);
 		}
 	}
-	
+
 	/**
 	 * workaround for bug 183463
-	 * 
+	 *
 	 * Update the child count
 	 * @param widget the widget
 	 * @param currentChildCount the current child count
@@ -1294,7 +1294,7 @@
 		((ILazyTreePathContentProvider) getContentProvider())
 				.updateChildCount(treePath, currentChildCount);
 	}
-	
+
 	/**
 	 * Update the widget at index.
 	 * <p>
@@ -1321,11 +1321,11 @@
 		}
 		((ILazyTreePathContentProvider) getContentProvider())
 				.updateElement(treePath, index);
-	}	
-	
-//**************************************************************************    
+	}
+
+//**************************************************************************
 // Another couple of methods copied from TreeViewer to workaround the UI bug 266189.
-// 	
+//
     @Override
 	protected void createChildren(Widget widget) {
         Object element = widget.getData();
@@ -1375,7 +1375,7 @@
 	/**
 	 * Performs auto expand on an element at the specified path if the auto expand
 	 * level dictates the element should be expanded.
-	 * 
+	 *
 	 * @param elementPath tree path to element to consider for expansion
 	 */
 	@Override
@@ -1417,7 +1417,7 @@
         }
         return true;
     }
-    
+
     @Override
 	public Display getDisplay() {
         Control control = getControl();
@@ -1428,12 +1428,12 @@
     }
 
     protected static final String[] STATE_PROPERTIES = new String[]{ IBasicPropertyConstants.P_TEXT, IBasicPropertyConstants.P_IMAGE };
-    
+
     @Override
 	public void update(Object element) {
         update(element, STATE_PROPERTIES);
     }
-    
+
     /**
      * Label data cache keys
      * TODO: workaround for bug 159461
@@ -1448,11 +1448,11 @@
 
     @Override
 	public void setElementData(TreePath path, int numColumns, String[] labels, ImageDescriptor[] imageDescriptors,
-        FontData[] fontDatas, RGB[] _foregrounds, RGB[] _backgrounds) 
+        FontData[] fontDatas, RGB[] _foregrounds, RGB[] _backgrounds)
     {
         Widget widget = findItem(path);
         String[] columnIds = getVisibleColumns();
-        
+
         if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
             TreeItem item = (TreeItem)widget;
             /*Object data = item.getData();
@@ -1460,13 +1460,13 @@
             item.clearAll(false);
             item.setData(data);
             item.setItemCount(itemCount);*/
-            
+
             for (int i=0; i<numColumns; i++){
                 // text might be null if the launch has been terminated
                 item.setText(i,(labels[i] == null ? IInternalDebugCoreConstants.EMPTY_STRING : labels[i]));
             }
             item.setData(PREV_LABEL_KEY, labels);
-            
+
             if (imageDescriptors == null) {
                 for (int i=0; i<numColumns; i++){
                     item.setImage(i,null);
@@ -1484,8 +1484,8 @@
                 }
                 item.setData(PREV_IMAGE_KEY, images);
             }
-            
-            if (_foregrounds == null) { 
+
+            if (_foregrounds == null) {
                 for (int i=0; i<numColumns; i++){
                     item.setForeground(i,null);
                 }
@@ -1504,7 +1504,7 @@
                 }
                 item.setData(PREV_FOREGROUND_KEY, foregrounds);
             }
-            
+
             if (_backgrounds == null) {
                 for (int i=0; i<numColumns; i++){
                     item.setBackground(i,null);
@@ -1524,7 +1524,7 @@
                 }
                 item.setData(PREV_BACKGROUND_KEY, backgrounds);
             }
-            
+
             if (fontDatas == null) {
                 for (int i=0; i<numColumns; i++){
                     item.setFont(i,null);
@@ -1546,13 +1546,13 @@
             }
         }
     }
-    
+
     @Override
 	public ViewerLabel getElementLabel(TreePath path, String columnId) {
         if (path.getSegmentCount() == 0) {
             return null;
         }
-        
+
         int columnIdx = -1;
         String[] visibleColumns = getVisibleColumns();
         if (columnId != null && visibleColumns != null) {
@@ -1570,7 +1570,7 @@
             columnIdx = 0;
         }
         TreeItem item = (TreeItem)findItem(path);
-        
+
         if (item != null) {
             ViewerLabel label = new ViewerLabel(item.getText(columnIdx), item.getImage(columnIdx));
             label.setFont(item.getFont(columnIdx));
@@ -1594,7 +1594,7 @@
             getTree().setTopItem(children[index]);
         }
     }
-    
+
     @Override
 	public int getChildCount(TreePath path) {
         if (path.getSegmentCount() == 0) {
@@ -1605,11 +1605,11 @@
                 if (items[0] instanceof TreeItem) {
                     return ((TreeItem)items[0]).getItemCount();
                 }
-            }   
+            }
         }
         return -1;
     }
-    
+
     @Override
 	public Object getChildElement(TreePath path, int index) {
         TreeItem childItem = null;
@@ -1630,7 +1630,7 @@
         }
         if (childItem != null) {
             return childItem.getData();
-        } 
+        }
         return null;
     }
 
@@ -1642,7 +1642,7 @@
         }
         return null;
     }
-    
+
     @Override
 	public boolean saveElementState(TreePath path, ModelDelta delta, int flagsToSave) {
         Tree tree = (Tree) getControl();
@@ -1651,7 +1651,7 @@
         for (int i = 0; i < selection.length; i++) {
             set.add(selection[i]);
         }
-        
+
         TreeItem[] items = null;
         Widget w = internalGetWidgetToSelect(path);
         if (w instanceof Tree) {
@@ -1660,7 +1660,7 @@
             if ((flagsToSave & IModelDelta.EXPAND) != 0) {
                 delta.setFlags(delta.getFlags() | IModelDelta.EXPAND);
             }
-            items = tree.getItems(); 
+            items = tree.getItems();
         } else if (w instanceof TreeItem) {
             TreeItem item = (TreeItem)w;
             if (item.getExpanded()) {
@@ -1672,7 +1672,7 @@
             } else if ((flagsToSave & IModelDelta.COLLAPSE) != 0){
                 delta.setFlags(delta.getFlags() | IModelDelta.COLLAPSE);
             }
-            
+
             if (set.contains(item) && (flagsToSave & IModelDelta.SELECT) != 0) {
                 delta.setFlags(delta.getFlags() | IModelDelta.SELECT);
             }
@@ -1687,7 +1687,7 @@
             return false;
         }
     }
-    
+
 	private void doSaveElementState(TreePath parentPath, ModelDelta delta, TreeItem item, Collection<TreeItem> set, int index, int flagsToSave) {
         Object element = item.getData();
         if (element != null) {
@@ -1696,7 +1696,7 @@
             int flags = IModelDelta.NO_CHANGE;
             if (expanded && (flagsToSave & IModelDelta.EXPAND) != 0) {
                 flags = flags | IModelDelta.EXPAND;
-            } 
+            }
             if (!expanded && (flagsToSave & IModelDelta.COLLAPSE) != 0) {
                 flags = flags | IModelDelta.COLLAPSE;
             }
@@ -1710,7 +1710,7 @@
                 if (expanded) {
                     // Only get the item count if the item is expanded.  Getting
                     // item count triggers an update of the element (bug 335734).
-                    int itemCount = item.getItemCount();                
+                    int itemCount = item.getItemCount();
                     int numChildren = ((ITreeModelContentProvider)getContentProvider()).viewToModelCount(elementPath, itemCount);
                     childDelta.setChildCount(numChildren);
                     TreeItem[] items = item.getItems();
@@ -1721,7 +1721,7 @@
             }
         }
     }
-    
+
     @Override
 	public void updateViewer(IModelDelta delta) {
         ((ITreeModelContentProvider)getContentProvider()).updateModel(delta, ITreeModelContentProvider.ALL_MODEL_DELTA_FLAGS);
@@ -1734,56 +1734,56 @@
 	@Override
 	public void setElementChecked(TreePath path, boolean checked, boolean grayed) {
 	   	 Widget widget = findItem(path);
-		 
+
 		 if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
 	         TreeItem item = (TreeItem)widget;
-	         
+
 	         item.setChecked(checked);
 	         item.setGrayed(grayed);
-	         
+
 	         item.setData(PREV_CHECKED_KEY, checked ? Boolean.TRUE : Boolean.FALSE);
              item.setData(PREV_GRAYED_KEY, grayed ? Boolean.TRUE : Boolean.FALSE);
 		 }
 	}
-	
+
     @Override
 	public boolean getElementChecked(TreePath path) {
         Widget widget = findItem(path);
-        
+
         if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
             TreeItem item = (TreeItem)widget;
-            
+
             return item.getChecked();
-        }        
+        }
         return false;
     }
 
     /**
      * Retrieves the element's check box grayed state.
-     * 
+     *
      * @param path the path of the element to set grayed
      * @return grayed
      */
     @Override
 	public boolean getElementGrayed(TreePath path) {
         Widget widget = findItem(path);
-        
+
         if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) {
             TreeItem item = (TreeItem)widget;
-            
+
             return item.getGrayed();
-        }        
+        }
         return false;
     }
 
     @Override
 	public boolean getHasChildren(Object elementOrTreePath) {
-        if (elementOrTreePath instanceof TreePath && 
-            ((TreePath)elementOrTreePath).getSegmentCount() == 0) 
+        if (elementOrTreePath instanceof TreePath &&
+            ((TreePath)elementOrTreePath).getSegmentCount() == 0)
         {
             return getTree().getItemCount() > 0;
         }
-        
+
         Widget[] items = internalFindItems(elementOrTreePath);
         if (items != null && items.length > 0) {
             if (items[0] instanceof TreeItem) {
@@ -1792,10 +1792,10 @@
                 return ((Tree)items[0]).getItemCount() > 0;
             }
         }
-        
+
         return false;
     }
-    
+
     @Override
 	public TreePath[] getElementPaths(Object element) {
         Widget[] items = internalFindItems(element);
@@ -1809,7 +1809,7 @@
         }
         return paths;
     }
-    
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.StructuredViewer#handleSelect(org.eclipse.swt.events.SelectionEvent)
@@ -1819,16 +1819,16 @@
         super.handleSelect(event);
 
         TreeItem item = (TreeItem) event.item;
-        if (item != null) { // item can be null when de-selected (bug 296703) 
+        if (item != null) { // item can be null when de-selected (bug 296703)
 	        Object element = item.getData();
 	        IContentProvider contentProvider = getContentProvider();
 	        if (element != null && contentProvider instanceof TreeModelContentProvider) {
 	            TreePath path = getTreePathFromItem(item);
-	
+
 	            if (event.detail == SWT.CHECK) {
-	                boolean checked = item.getChecked();	            	
+	                boolean checked = item.getChecked();
 	            	boolean accepted = ((ITreeModelContentProvider) contentProvider).setChecked(path, checked);
-	
+
 	        	    // if the listen rejects the change or there is not ICheckboxModelProxy, than revert the check state
 	            	if (!accepted) {
 	            		item.setChecked(!checked);
@@ -1841,7 +1841,7 @@
 	        }
         }
 	}
-	
+
 	@Override
 	protected void handleTreeExpand(TreeEvent event) {
         super.handleTreeExpand(event);
@@ -1851,7 +1851,7 @@
             ((TreeModelContentProvider) contentProvider).cancelRestore(path, IModelDelta.COLLAPSE);
         }
 	}
-	
+
 	@Override
 	protected void handleTreeCollapse(TreeEvent event) {
 	    super.handleTreeCollapse(event);
@@ -1861,7 +1861,7 @@
             ((TreeModelContentProvider) contentProvider).cancelRestore(path, IModelDelta.EXPAND);
         }
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelContentProviderTarget#clearSelectionQuiet()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
index e9f573a..fafeebd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - ongoing bug fixing
@@ -64,23 +64,23 @@
  * @since 3.5
  */
 @SuppressWarnings("deprecation")
-public class InternalVirtualTreeModelViewer extends Viewer 
-    implements IVirtualItemListener, 
-               org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer, 
+public class InternalVirtualTreeModelViewer extends Viewer
+    implements IVirtualItemListener,
+               org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer,
                IInternalTreeModelViewer
 {
 
     /**
      * Memento type for the visible columns for a presentation context.
      * A memento is created for each column presentation keyed by column number
-     */    
+     */
     private static final String VISIBLE_COLUMNS = "VISIBLE_COLUMNS";     //$NON-NLS-1$
-    
+
     /**
      * Memento type for whether columns are visible for a presentation context.
      * Booleans are keyed by column presentation id
      */
-    private static final String SHOW_COLUMNS = "SHOW_COLUMNS";     //$NON-NLS-1$    
+    private static final String SHOW_COLUMNS = "SHOW_COLUMNS";     //$NON-NLS-1$
     /**
      * Memento key for the number of visible columns in a VISIBLE_COLUMNS memento
      * or for the width of a column
@@ -89,10 +89,10 @@
     /**
      * Memento key prefix a visible column
      */
-    private static final String COLUMN = "COLUMN";   //$NON-NLS-1$      
-    
+    private static final String COLUMN = "COLUMN";   //$NON-NLS-1$
+
     /**
-     * Item's tree path cache 
+     * Item's tree path cache
      */
     private static final String TREE_PATH_KEY = "TREE_PATH_KEY"; //$NON-NLS-1$
 
@@ -100,7 +100,7 @@
      * Viewer filters currently configured for viewer.
      */
     private ViewerFilter[] fFilters = new ViewerFilter[0];
-    
+
     /**
      * The display that this virtual tree viewer is associated with. It is used
      * for access to the UI thread.
@@ -124,12 +124,12 @@
     private VirtualTree fTree;
 
     /**
-     * Mapping of data elements in the tree to the items that hold them.  The 
+     * Mapping of data elements in the tree to the items that hold them.  The
      * tree may contain the same element in several places, so the map values
-     * are lists.   
+     * are lists.
      */
 	private Map<Object, List<VirtualItem>> fItemsMap = new HashMap<Object, List<VirtualItem>>();
-    
+
     /**
      * Whether to notify the content provider when an element is unmapped.
      * Used to suppress the notification during an associate operation.
@@ -159,44 +159,44 @@
     private boolean fRestoreSelection;
 
     /**
-     * Level to which the tree should automatically expand elements.  
+     * Level to which the tree should automatically expand elements.
      * <code>-1<code> indicates that all levels shoudl be expanded.
      */
     private int fAutoExpandToLevel = 0;
-    
+
     /**
      * Current column presentation or <code>null</code>
      */
-    private IColumnPresentation fColumnPresentation = null; 
-    
+    private IColumnPresentation fColumnPresentation = null;
+
     /**
      * Map of columns presentation id to its visible columns id's (String[])
      * When a columns presentation is not in the map, default settings are used.
      */
 	private Map<String, String[]> fVisibleColumns = new HashMap<String, String[]>();
-    
+
     /**
      * Map of column presentation id to whether columns should be displayed
-     * for that presentation (the user can toggle columns on/off when a 
+     * for that presentation (the user can toggle columns on/off when a
      * presentation is optional.
      */
 	private Map<String, Boolean> fShowColumns = new HashMap<String, Boolean>();
 
     /**
-     * Runnable for validating the virtual tree.  It is scheduled to run in the 
+     * Runnable for validating the virtual tree.  It is scheduled to run in the
      * UI thread whenever a tree validation is requested.
      */
     private Runnable fValidateRunnable;
-    
-    public InternalVirtualTreeModelViewer(Display display, int style, IPresentationContext context, IVirtualItemValidator itemValidator) {        
+
+    public InternalVirtualTreeModelViewer(Display display, int style, IPresentationContext context, IVirtualItemValidator itemValidator) {
         fDisplay = display;
-        fContext = context;        
+        fContext = context;
         fTree = new VirtualTree(style, itemValidator);
         fTree.addItemListener(this);
-        
+
         fContentProvider = new TreeModelContentProvider();
         fLabelProvider = new TreeModelLabelProvider(this);
-        
+
         if ((style & SWT.POP_UP) != 0) {
             getContentProvider().setModelDeltaMask(~ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS);
         }
@@ -286,7 +286,7 @@
     public VirtualTree getTree() {
         return fTree;
     }
-    
+
     @Override
 	public void insert(Object parentOrTreePath, Object element, int position) {
         if (parentOrTreePath instanceof TreePath) {
@@ -316,18 +316,18 @@
                     if (parentItem.isDisposed()) {
 						continue;
 					}
-                    
-                    // Parent item is not expanded so just update its contents so that 
+
+                    // Parent item is not expanded so just update its contents so that
                     // the plus sign gets refreshed.
                     if (!parentItem.getExpanded()) {
                         parentItem.setNeedsCountUpdate();
                         parentItem.setItemCount(-1);
                         virtualLazyUpdateHasChildren(parentItem);
                     }
-                    
+
                     if (index < parentItem.getItemCount()) {
                         VirtualItem item =parentItem.getItem(new VirtualItem.Index(index));
-                        
+
                         if (item.getData() != null) {
                             removedPath = getTreePathFromItem(item);
                             disassociate(item);
@@ -347,7 +347,7 @@
                     }
                     if (removed) {
                         setSelection(
-                            new TreeSelection(oldSelection.toArray(new TreePath[oldSelection.size()])), 
+                            new TreeSelection(oldSelection.toArray(new TreePath[oldSelection.size()])),
                             false);
                     }
                 }
@@ -361,18 +361,18 @@
             setInput(null);
             return;
         }
-        
+
         VirtualItem[] items = findItems(elementOrPath);
         if (items.length > 0) {
             for (int j = 0; j < items.length; j++) {
                 disassociate(items[j]);
                 items[j].getParent().remove(items[j].getIndex());
             }
-        } 
+        }
     }
 
-    private TreeSelection adjustSelectionForReplace(VirtualItem[] selectedItems, TreeSelection selection, 
-        VirtualItem item, Object element, Object parentElement) 
+    private TreeSelection adjustSelectionForReplace(VirtualItem[] selectedItems, TreeSelection selection,
+        VirtualItem item, Object element, Object parentElement)
     {
         if (item.getData() != null || selectedItems.length == selection.size() || parentElement == null) {
             // Don't do anything - we are not seeing an instance of bug 185673
@@ -398,8 +398,8 @@
         return selection;
     }
 
-//    private VirtualTreeSelection adjustSelectionForReplace(VirtualTreeSelection selection, VirtualItem item, 
-//        Object element, Object parentElement) 
+//    private VirtualTreeSelection adjustSelectionForReplace(VirtualTreeSelection selection, VirtualItem item,
+//        Object element, Object parentElement)
 //    {
 //        if (selection.getItems().containsKey(item)) {
 //            if (item.getData() == null) {
@@ -424,7 +424,7 @@
 //                }
 //                return new VirtualTreeSelection(map, paths);
 //            } else if (!item.getData().equals(element)) {
-//                // The current item was selected by the new element is 
+//                // The current item was selected by the new element is
 //                // different than the previous element in the item.
 //                // Remove this item from selection.
 //                Map map = new LinkedHashMap(selection.getItems());
@@ -437,7 +437,7 @@
 //                        paths[i++] = nextPath;
 //                    }
 //                }
-//                return new VirtualTreeSelection(map, paths);                
+//                return new VirtualTreeSelection(map, paths);
 //            }
 //        }
 //        if (item.getData() != null || selection.getItems().size() == selection.size() || parentElement == null) {
@@ -450,7 +450,7 @@
 //        return selection;
 //    }
 
-    
+
     @Override
 	public void reveal(TreePath path, final int index) {
         VirtualItem parentItem = findItem(path);
@@ -473,7 +473,7 @@
         }
         return -1;
     }
-    
+
     @Override
 	public boolean getElementChildrenRealized(TreePath parentPath) {
         VirtualItem parentItem = findItem(parentPath);
@@ -511,18 +511,18 @@
 
     private void refresh(VirtualItem item) {
         getContentProvider().preserveState(getTreePathFromItem(item));
-        
+
         if (!item.needsDataUpdate()) {
             if (item.getParent() != null) {
                 item.setNeedsLabelUpdate();
                 virtualLazyUpdateHasChildren(item);
             }
-            
+
             VirtualItem[] items = item.getItems();
             for (int i = 0; i < items.length; i++) {
                 items[i].setNeedsDataUpdate();
             }
-        } 
+        }
         refreshStruct(item);
     }
 
@@ -536,8 +536,8 @@
             if (item.getExpanded()) {
                 virtualLazyUpdateData(item);
                 expanded = true;
-            } 
-        } 
+            }
+        }
 
         VirtualItem[] items = item.getItems();
         for (int i = 0; i < items.length; i++) {
@@ -548,7 +548,7 @@
             }
         }
     }
-    
+
     private void validate() {
         if (fValidateRunnable == null) {
             fValidateRunnable = new Runnable() {
@@ -563,7 +563,7 @@
             getDisplay().asyncExec(fValidateRunnable);
         }
     }
-    
+
     @Override
 	protected void inputChanged(Object input, Object oldInput) {
         resetColumns(input);
@@ -578,7 +578,7 @@
 	public void setAutoExpandLevel(int level) {
         fAutoExpandToLevel = level;
     }
-    
+
     public VirtualItem findItem(TreePath path) {
         if (path.getSegmentCount() == 0) {
             return fTree;
@@ -592,7 +592,7 @@
 	        	}
 	        }
         }
-        
+
         return null;
     }
 
@@ -627,7 +627,7 @@
             item.setData(VirtualItem.FONT_KEY, fontDatas);
         }
     }
-    
+
     @Override
 	public void setChildCount(final Object elementOrTreePath, final int count) {
         preservingSelection(new Runnable() {
@@ -641,7 +641,7 @@
                             disassociate(children[j]);
                         }
                     }
-                    
+
                     items[i].setItemCount(count);
                 }
             }
@@ -657,7 +657,7 @@
                 VirtualItem[] items = findItems(elementOrTreePath);
                 for (int i = 0; i < items.length; i++) {
                     VirtualItem item = items[i];
-                    
+
                     if (!hasChildren) {
                         VirtualItem[] children = item.getItems();
                         for (int j = 0; j < children.length; j++) {
@@ -666,7 +666,7 @@
                             }
                         }
                     }
-                    
+
                     item.setHasItems(hasChildren);
                     if (hasChildren) {
                         if (!item.getExpanded()) {
@@ -679,7 +679,7 @@
             }
         });
     }
-    
+
     @Override
 	public boolean getHasChildren(Object elementOrTreePath) {
         VirtualItem[] items = findItems(elementOrTreePath);
@@ -712,7 +712,7 @@
             if (item.getData() instanceof String) {
                 item.setData(VirtualItem.LABEL_KEY, new String[] { (String)item.getData() } );
             }
-        }   
+        }
     }
 
     private TreePath getTreePathFromItem(VirtualItem item) {
@@ -759,7 +759,7 @@
 
         // Insert the set back into the map.
         fItemsMap.put(element, itemsList);
-        
+
         item.setData(TREE_PATH_KEY, getTreePathFromItem(item));
     }
 
@@ -770,11 +770,11 @@
         } else if (item.getData() != null) {
             if (item.needsLabelUpdate()) {
                 virtualLazyUpdateLabel(item);
-            } 
+            }
             if (item.needsCountUpdate() && item.getExpanded()) {
                 virtualLazyUpdateChildCount(item);
             }
-        } 
+        }
     }
 
     @Override
@@ -803,7 +803,7 @@
         }
 
     }
-    
+
     private void doAssociate(Object element, VirtualItem item) {
         Object data = item.getData();
         if (data != null && data != element && data.equals(element)) {
@@ -831,10 +831,10 @@
 
     private void disassociate(VirtualItem item) {
         unmapElement(item.getData(), item);
-        
+
         // Clear the map before we clear the data
         item.setData(null);
-        
+
         // Disassociate the children
         VirtualItem[] items = item.getItems();
         for (int i = 0; i < items.length; i++) {
@@ -848,7 +848,7 @@
 	public void setSelection(ISelection selection, boolean reveal) {
         setSelection(selection, reveal, false);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean, boolean)
      */
@@ -856,7 +856,7 @@
 	public void setSelection(ISelection selection, boolean reveal, boolean force) {
         trySelection(selection, reveal, force);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer#trySelection(org.eclipse.jface.viewers.ISelection, boolean, boolean)
      */
@@ -904,7 +904,7 @@
         } else {
             fTree.setSelection(EMPTY_ITEMS_ARRAY);
         }
-        
+
         // Make sure that the new selection is properly revealed.
         validate();
     }
@@ -916,7 +916,7 @@
             doUpdate(items[i]);
         }
     }
-    
+
     public void doUpdate(VirtualItem item) {
         item.setNeedsLabelUpdate();
         validate();
@@ -940,7 +940,7 @@
         }
         return new TreeSelection(list.toArray(new TreePath[list.size()]));
     }
-    
+
     private void preservingSelection(Runnable updateCode) {
 
         ISelection oldSelection = null;
@@ -1000,15 +1000,15 @@
             if (!item.hasItems()) {
                 return;
             }
-            
+
             item.setExpanded(true);
 
             if (item.getData() == null) {
                 virtualLazyUpdateData(item);
                 // Cannot expand children if data is null.
-                return; 
+                return;
             }
-            
+
             if (level == ALL_LEVELS || level > 1) {
                 VirtualItem[] children = item.getItems();
                 int newLevel = (level == ALL_LEVELS ? ALL_LEVELS
@@ -1040,11 +1040,11 @@
 
         fireSelectionChanged(new SelectionChangedEvent(this, newSelection));
     }
-    
+
     /**
      * Returns whether the candidate selection should override the current
      * selection.
-     * 
+     *
      * @param current Current selection in viewer
      * @param candidate New potential selection requested by model.
      * @return true if candidate selection should be set to viewer.
@@ -1065,7 +1065,7 @@
 	public ViewerFilter[] getFilters() {
     	return fFilters;
     }
-    
+
     @Override
 	public void addFilter(ViewerFilter filter) {
     	ViewerFilter[] newFilters = new ViewerFilter[fFilters.length + 1];
@@ -1073,17 +1073,17 @@
     	newFilters[fFilters.length] = filter;
     	fFilters = newFilters;
     }
-    
+
     @Override
 	public void setFilters(ViewerFilter... filters) {
     	fFilters = filters;
     }
-    
+
     public void dispose() {
         if (fColumnPresentation != null) {
             fColumnPresentation.dispose();
         }
-        
+
         if (fContentProvider != null) {
             fContentProvider.dispose();
             fContentProvider = null;
@@ -1092,14 +1092,14 @@
             fLabelProvider.dispose();
             fLabelProvider = null;
         }
-        
+
         fTree.removeItemListener(this);
         fTree.dispose();
     }
 
     /**
      * Returns this viewer's presentation context.
-     * 
+     *
      * @return presentation context
      */
     @Override
@@ -1109,7 +1109,7 @@
 
     /**
      * Configures the columns for the given viewer input.
-     * 
+     *
      * @param input new viewer input
      */
     private void resetColumns(Object input) {
@@ -1144,8 +1144,8 @@
                 }
             }
         }
-    }    
-        
+    }
+
     /**
      * Configures the columns based on the current settings.
      */
@@ -1155,7 +1155,7 @@
             if (isShowColumns(fColumnPresentation.getId())) {
                 build = fColumnPresentation;
             }
-            buildColumns(build);                    
+            buildColumns(build);
         } else {
             // get rid of columns
             buildColumns(null);
@@ -1164,7 +1164,7 @@
 
     /**
      * Toggles columns on/off for the current column presentation, if any.
-     * 
+     *
      * @param show whether to show columns if the current input supports
      *  columns
      */
@@ -1188,9 +1188,9 @@
         configureColumns();
         refresh();
     }
-    
+
     /**
-     * @return Returns true if columns are being displayed currently. 
+     * @return Returns true if columns are being displayed currently.
      */
     public boolean isShowColumns() {
         if (fColumnPresentation != null) {
@@ -1198,32 +1198,32 @@
         }
         return false;
     }
-    
+
     /**
      * Returns whether columns can be toggled on/off for the current input.
-     * 
+     *
      * @return whether columns can be toggled on/off for the current input
      */
     public boolean canToggleColumns() {
         return fColumnPresentation != null && fColumnPresentation.isOptional();
     }
-    
+
     protected boolean isShowColumns(String columnPresentationId) {
         Boolean bool = fShowColumns.get(columnPresentationId);
         if (bool == null) {
             return true;
         }
         return bool.booleanValue();
-    }    
-    
+    }
+
     /**
      * Creates new columns for the given presentation.
-     * 
+     *
      * @param presentation presentation context to build columns for.
      */
     protected void buildColumns(IColumnPresentation presentation) {
         PresentationContext presentationContext = (PresentationContext) getPresentationContext();
-        if (presentation != null) {         
+        if (presentation != null) {
             presentationContext.setColumns(getVisibleColumns());
         } else {
             presentationContext.setColumns(null);
@@ -1233,7 +1233,7 @@
     /**
      * Returns identifiers of the visible columns in this viewer, or <code>null</code>
      * if there is currently no column presentation.
-     *  
+     *
      * @return visible columns or <code>null</code>
      */
     @Override
@@ -1249,12 +1249,12 @@
             }
         }
         return null;
-    }    
-    
+    }
+
     /**
      * Sets the id's of visible columns, or <code>null</code> to set default columns.
      * Only affects the current column presentation.
-     * 
+     *
      * @param ids visible columns
      */
     public void setVisibleColumns(String[] ids) {
@@ -1282,12 +1282,12 @@
             presentationContext.setColumns(getVisibleColumns());
             refreshColumns();
         }
-    }   
-    
+    }
+
     /**
      * Returns the current column presentation for this viewer, or <code>null</code>
      * if none.
-     * 
+     *
      * @return column presentation or <code>null</code>
      */
     public IColumnPresentation getColumnPresentation() {
@@ -1296,7 +1296,7 @@
 
     /**
      * Save viewer state into the given memento.
-     * 
+     *
      * @param memento Memento to write state to.
      */
     public void saveState(IMemento memento) {
@@ -1304,7 +1304,7 @@
 			for (Entry<String, Boolean> entry : fShowColumns.entrySet()) {
                 IMemento sizes = memento.createChild(SHOW_COLUMNS, entry.getKey());
                 sizes.putString(SHOW_COLUMNS, entry.getValue().toString());
-            }           
+            }
         }
         if (!fVisibleColumns.isEmpty()) {
 			for (Entry<String, String[]> entry : fVisibleColumns.entrySet()) {
@@ -1321,13 +1321,13 @@
         if (context instanceof PresentationContext) {
             PresentationContext pc = (PresentationContext) context;
             pc.saveProperites(memento);
-            
+
         }
-    }    
-    
+    }
+
     /**
      * Initializes viewer state from the memento
-     * 
+     *
      * @param memento Memento to read state from.
      */
     public void initState(IMemento memento) {
@@ -1367,7 +1367,7 @@
 	public void addViewerUpdateListener(IViewerUpdateListener listener) {
         getContentProvider().addViewerUpdateListener(listener);
     }
-    
+
     @Override
 	public void removeViewerUpdateListener(IViewerUpdateListener listener) {
         ITreeModelContentProvider cp = getContentProvider();
@@ -1375,12 +1375,12 @@
             cp.removeViewerUpdateListener(listener);
         }
     }
-    
+
     @Override
 	public void addModelChangedListener(IModelChangedListener listener) {
-        getContentProvider().addModelChangedListener(listener); 
+        getContentProvider().addModelChangedListener(listener);
     }
-    
+
     @Override
 	public void removeModelChangedListener(IModelChangedListener listener) {
         ITreeModelContentProvider cp = getContentProvider();
@@ -1388,12 +1388,12 @@
             cp.removeModelChangedListener(listener);
         }
     }
-    
+
     @Override
 	public void addStateUpdateListener(IStateUpdateListener listener) {
         getContentProvider().addStateUpdateListener(listener);
     }
-    
+
     @Override
 	public void removeStateUpdateListener(IStateUpdateListener listener) {
         ITreeModelContentProvider cp = getContentProvider();
@@ -1401,21 +1401,21 @@
             cp.removeStateUpdateListener(listener);
         }
     }
-        
+
 	@Override
 	public void addLabelUpdateListener(ILabelUpdateListener listener) {
         getLabelProvider().addLabelUpdateListener(listener);
     }
-    
+
     @Override
 	public void removeLabelUpdateListener(ILabelUpdateListener listener) {
         getLabelProvider().removeLabelUpdateListener(listener);
     }
-    
+
     /**
      * Performs auto expand on an element at the specified path if the auto expand
      * level dictates the element should be expanded.
-     * 
+     *
      * @param elementPath tree path to element to consider for expansion
      */
     @Override
@@ -1427,7 +1427,7 @@
             }
         }
     }
-    
+
     @Override
 	public int getChildCount(TreePath path) {
         int childCount = -1;
@@ -1439,11 +1439,11 @@
             // Return 0, if we do not know if the item has children.
             if (childCount == -1) {
                 childCount = items[0].hasItems() ? 1 : 0;
-            } 
-        }   
+            }
+        }
         return childCount;
     }
-    
+
     @Override
 	public Object getChildElement(TreePath path, int index) {
         VirtualItem[] items = findItems(path);
@@ -1451,7 +1451,7 @@
             if (index < items[0].getItemCount()) {
                 return items[0].getItem(new VirtualItem.Index(index)).getData();
             }
-        }   
+        }
         return null;
     }
 
@@ -1468,10 +1468,10 @@
         for (int i = 0; i < selection.length; i++) {
             set.add(selection[i]);
         }
-        
+
         VirtualItem[] items = null;
         VirtualItem parent = findItem(path);
-       
+
         if (parent != null) {
             delta.setChildCount(((TreeModelContentProvider)getContentProvider()).viewToModelCount(path, parent.getItemCount()));
             if (parent.getExpanded()) {
@@ -1481,11 +1481,11 @@
             } else if ((flagsToSave & IModelDelta.COLLAPSE) != 0 && parent.hasItems()){
                 delta.setFlags(delta.getFlags() | IModelDelta.COLLAPSE);
             }
-            
+
             if (set.contains(parent) && (flagsToSave & IModelDelta.SELECT) != 0) {
                 delta.setFlags(delta.getFlags() | IModelDelta.SELECT);
             }
-            
+
             items = parent.getItems();
             for (int i = 0; i < items.length; i++) {
                 doSaveElementState(path, delta, items[i], set, flagsToSave);
@@ -1495,7 +1495,7 @@
             return false;
         }
     }
-    
+
 	private void doSaveElementState(TreePath parentPath, ModelDelta delta, VirtualItem item, Collection<VirtualItem> set, int flagsToSave) {
         Object element = item.getData();
         if (element != null) {
@@ -1504,7 +1504,7 @@
             int flags = IModelDelta.NO_CHANGE;
             if (expanded && (flagsToSave & IModelDelta.EXPAND) != 0) {
                 flags = flags | IModelDelta.EXPAND;
-            } 
+            }
             if (!expanded && (flagsToSave & IModelDelta.COLLAPSE) != 0 && item.hasItems()){
                 flags = flags | IModelDelta.COLLAPSE;
             }
@@ -1530,13 +1530,13 @@
 	public void updateViewer(IModelDelta delta) {
         getContentProvider().updateModel(delta, ITreeModelContentProvider.ALL_MODEL_DELTA_FLAGS);
     }
-    
+
     @Override
 	public ViewerLabel getElementLabel(TreePath path, String columnId) {
         if (path.getSegmentCount() == 0) {
             return null;
         }
-        
+
         int columnIdx = -1;
         String[] visibleColumns = getVisibleColumns();
         if (columnId != null && visibleColumns != null) {
@@ -1554,7 +1554,7 @@
             columnIdx = 0;
         }
         VirtualItem item = findItem(path);
-        
+
         if (item != null) {
             ViewerLabel label = new ViewerLabel(getText(item, columnIdx), getImage(item, columnIdx));
             label.setFont(getFont(item, columnIdx));
@@ -1574,7 +1574,7 @@
        }
         return paths;
     }
-    
+
 
     public String getText(VirtualItem item, int columnIdx) {
         String[] texts = (String[])item.getData(VirtualItem.LABEL_KEY);
@@ -1607,7 +1607,7 @@
         }
         return null;
     }
-    
+
     public Color getBackground(VirtualItem item, int columnIdx) {
         RGB[] rgbs = (RGB[]) item.getData(VirtualItem.BACKGROUND_KEY);
         if (rgbs != null) {
@@ -1623,24 +1623,24 @@
 	public void clearSelectionQuiet() {
     	getTree().setSelection(EMPTY_ITEMS_ARRAY);
     }
-    
+
     @Override
 	public boolean getElementChecked(TreePath path) {
         // Not supported
         return false;
     }
-    
+
     @Override
 	public boolean getElementGrayed(TreePath path) {
         // Not supported
         return false;
     }
-    
+
     @Override
 	public void setElementChecked(TreePath path, boolean checked, boolean grayed) {
         // Not supported
     }
-    
+
     @Override
 	public String toString() {
         return getTree().toString();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java
index 5bbffb3..916f669 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java
@@ -26,7 +26,7 @@
  * @since 3.3
  */
 class LabelUpdate extends Request implements ILabelUpdate, ICheckUpdate {
-	
+
 	private TreePath fElementPath;
 	private String[] fColumnIds;
 	private RGB[] fBackgrounds;
@@ -35,16 +35,16 @@
 	private String[] fLabels;
 	private FontData[] fFontDatas;
 	private TreeModelLabelProvider fProvider;
-	private int fNumColumns; 
+	private int fNumColumns;
 	private IPresentationContext fContext;
 	private Object fViewerInput;
 	private boolean fChecked;
 	private boolean fGrayed;
-	
+
 	/**
 	 * @param viewerInput input at the time the request was made
 	 * @param elementPath element the label is for
-	 * @param provider label provider to callback to 
+	 * @param provider label provider to callback to
 	 * @param columnIds column identifiers or <code>null</code>
 	 * @param context presentation context
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java
index 081058b..e3b591c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java
@@ -20,14 +20,14 @@
  * @since 3.3
  */
 abstract class MementoUpdate extends Request implements IViewerUpdate {
-	
+
 	private IPresentationContext fContext;
 	private Object fElement;
 	private TreePath fElementPath;
 	private IMemento fMemento;
 	protected TreeModelContentProvider fProvider;
 	protected Object fViewerInput;
-	
+
 	/**
 	 * Constructs a viewer state request.
      * @param provider the content provider to use for the update
@@ -36,7 +36,7 @@
      * @param element the element to update
      * @param memento Memento to update
      * @param context the presentation context
-	 * 
+	 *
 	 */
 	public MementoUpdate(TreeModelContentProvider provider, Object viewerInput, IPresentationContext context, Object element, TreePath elementPath, IMemento memento) {
 		fContext = context;
@@ -54,7 +54,7 @@
 	public IPresentationContext getPresentationContext() {
 		return fContext;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getElement()
 	 */
@@ -62,7 +62,7 @@
 	public Object getElement() {
 		return fElement;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getElementPath()
 	 */
@@ -70,11 +70,11 @@
 	public TreePath getElementPath() {
 		return fElementPath;
 	}
-	
+
 	public IMemento getMemento() {
 		return fMemento;
 	}
-	
+
 	public TreeModelContentProvider getContentProvider() {
 		return fProvider;
 	}
@@ -90,7 +90,7 @@
 	public Object getViewerInput() {
 		return fViewerInput;
 	}
-	
-	
-	
+
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/SubTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/SubTreeModelViewer.java
index ce7b203..4bc2968 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/SubTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/SubTreeModelViewer.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - ongoing bug fixes and enhancements
@@ -36,8 +36,8 @@
 import org.eclipse.swt.widgets.Display;
 
 /**
- * Specialized tree viewer which displays only sub-tree of a full model. 
- * 
+ * Specialized tree viewer which displays only sub-tree of a full model.
+ *
  * @since 3.5
  */
 public class SubTreeModelViewer extends TreeModelViewer {
@@ -51,9 +51,9 @@
      * Viewer delegate that content and label providers refer to for viewer data.
      */
     private DelegatingTreeModelViewer fDelegatingViewer;
-    
+
     /**
-     * @return Returns the root element's model tree path. 
+     * @return Returns the root element's model tree path.
      */
     public TreePath getRootPath() {
         return fRootPath;
@@ -65,7 +65,7 @@
 
     /**
      * Sets the viewer's input and root element's path
-     * 
+     *
      * @param input New viewer input.
      * @param rootPath New root element path.
      */
@@ -73,14 +73,14 @@
         fRootPath = rootPath;
         super.setInput(input);
     }
-    
+
     /**
-     * A proxy for the sub tree viewer which is given to the content and 
-     * label providers.  It translates the sub-tree paths in the viewer to the 
+     * A proxy for the sub tree viewer which is given to the content and
+     * label providers.  It translates the sub-tree paths in the viewer to the
      * full model paths that the providers expect.
      */
-    public class DelegatingTreeModelViewer extends Viewer 
-        implements IInternalTreeModelViewer 
+    public class DelegatingTreeModelViewer extends Viewer
+        implements IInternalTreeModelViewer
     {
         @Override
 		public void reveal(TreePath path, int index) {
@@ -88,7 +88,7 @@
                 SubTreeModelViewer.this.reveal(createSubPath(path), index);
             }
         }
-        
+
         @Override
 		public void replace(Object parentOrTreePath, int index, Object element) {
             if (parentOrTreePath instanceof TreePath) {
@@ -100,7 +100,7 @@
                 SubTreeModelViewer.this.replace(parentOrTreePath, index, element);
             }
         }
-        
+
         @Override
 		public void setChildCount(Object elementOrTreePath, int count) {
             if (elementOrTreePath instanceof TreePath) {
@@ -112,7 +112,7 @@
                 SubTreeModelViewer.this.setChildCount(elementOrTreePath, count);
             }
         }
-        
+
         @Override
 		public void setHasChildren(Object elementOrTreePath, boolean hasChildren) {
             if (elementOrTreePath instanceof TreePath) {
@@ -141,7 +141,7 @@
                 SubTreeModelViewer.this.setExpandedState(elementOrTreePath, expanded);
             }
         }
-        
+
         @Override
 		public void expandToLevel(Object elementOrTreePath, int level) {
             if (elementOrTreePath instanceof TreePath) {
@@ -202,12 +202,12 @@
             }
             return false;
         }
-        
+
         @Override
 		public int getChildCount(TreePath path) {
             if (path.startsWith(fRootPath, null)) {
                 return SubTreeModelViewer.this.getChildCount(createSubPath(path));
-            }        
+            }
             return -1;
         }
 
@@ -228,20 +228,20 @@
 		public Object getChildElement(TreePath path, int index) {
             if (path.startsWith(fRootPath, null)) {
                 return SubTreeModelViewer.this.getChildElement(createSubPath(path), index);
-            }        
+            }
             return null;
         }
-        
+
         @Override
 		public TreePath getTopElementPath() {
             return createFullPath(SubTreeModelViewer.this.getTopElementPath());
         }
-        
+
         @Override
 		public int findElementIndex(TreePath parentPath, Object element) {
             if (parentPath.startsWith(fRootPath, null)) {
                 return SubTreeModelViewer.this.findElementIndex(createSubPath(parentPath), element);
-            }        
+            }
             return -1;
         }
 
@@ -249,15 +249,15 @@
 		public boolean getElementChildrenRealized(TreePath parentPath) {
             if (parentPath.startsWith(fRootPath, null)) {
                 return SubTreeModelViewer.this.getElementChildrenRealized(createSubPath(parentPath));
-            }        
+            }
             return true;
         }
-        
+
         @Override
 		public void setElementData(TreePath path, int numColumns, String[] labels, ImageDescriptor[] images, FontData[] fontDatas, RGB[] foregrounds, RGB[] backgrounds) {
             if (path.startsWith(fRootPath, null)) {
                 SubTreeModelViewer.this.setElementData(createSubPath(path), numColumns, labels, images, fontDatas, foregrounds, backgrounds);
-            }        
+            }
         }
 
         @Override
@@ -369,7 +369,7 @@
 		public void setSelection(ISelection selection, boolean reveal, boolean force) {
             SubTreeModelViewer.this.setSelection(selection, reveal, force);
         }
-        
+
         @Override
 		public boolean trySelection(ISelection selection, boolean reveal, boolean force) {
         	return SubTreeModelViewer.this.trySelection(selection, reveal, force);
@@ -380,7 +380,7 @@
             SubTreeModelViewer.this.updateViewer(delta);
         }
 
-        
+
         @Override
 		public ViewerFilter[] getFilters() {
             return SubTreeModelViewer.this.getFilters();
@@ -390,12 +390,12 @@
 		public void addFilter(ViewerFilter filter) {
             SubTreeModelViewer.this.addFilter(filter);
         }
-        
+
         @Override
 		public void setFilters(ViewerFilter... filters) {
         	SubTreeModelViewer.this.setFilters(filters);
         }
-        
+
         @Override
 		public boolean overrideSelection(ISelection current, ISelection candidate) {
             return SubTreeModelViewer.this.overrideSelection(current, candidate);
@@ -410,12 +410,12 @@
 		public void update(Object element) {
             SubTreeModelViewer.this.update(element);
         }
-        
+
         @Override
 		public void clearSelectionQuiet() {
         	SubTreeModelViewer.this.clearSelectionQuiet();
         }
-        
+
         @Override
 		public TreePath[] getElementPaths(Object element) {
             TreePath[] subViewerPaths = SubTreeModelViewer.this.getElementPaths(element);
@@ -425,41 +425,41 @@
             }
             return retVal;
         }
-        
+
         @Override
 		public boolean getElementChecked(TreePath path) {
             return SubTreeModelViewer.this.getElementChecked(createSubPath(path));
         }
-        
+
         @Override
 		public boolean getElementGrayed(TreePath path) {
             return SubTreeModelViewer.this.getElementGrayed(createSubPath(path));
         }
-        
+
         @Override
 		public void setElementChecked(TreePath path, boolean checked, boolean grayed) {
             SubTreeModelViewer.this.setElementChecked(createSubPath(path), checked, grayed);
         }
     }
 
-    
+
     /**
-     * Delegating content provider.  It translates all the calls to the 
+     * Delegating content provider.  It translates all the calls to the
      * underlying content provider to use full model tree paths.
      */
     private class SubTreeModelContentProvider implements ITreeModelContentProvider {
-        
+
         private TreeModelContentProvider fBaseProvider;
-        
+
         public SubTreeModelContentProvider() {
             fBaseProvider = new TreeModelContentProvider();
         }
-        
+
         @Override
 		public void updateHasChildren(TreePath path) {
             fBaseProvider.updateHasChildren(createFullPath(path));
         }
-        
+
         @Override
 		public void updateChildCount(TreePath path, int currentChildCount) {
             fBaseProvider.updateChildCount(createFullPath(path), currentChildCount);
@@ -469,12 +469,12 @@
 		public void updateElement(TreePath parentPath, int viewIndex) {
             fBaseProvider.updateElement(createFullPath(parentPath), viewIndex);
         }
-        
+
         @Override
 		public int viewToModelCount(TreePath parentPath, int count) {
             return fBaseProvider.viewToModelCount(createFullPath(parentPath), count);
         }
-        
+
         @Override
 		public int viewToModelIndex(TreePath parentPath, int index) {
             return fBaseProvider.viewToModelIndex(createFullPath(parentPath), index);
@@ -539,7 +539,7 @@
 		public boolean areTreeModelViewerFiltersApplicable(Object parentElement) {
             return fBaseProvider.areTreeModelViewerFiltersApplicable(parentElement);
         }
-        
+
         @Override
 		public boolean shouldFilter(Object parentElementOrTreePath, Object element) {
             if (parentElementOrTreePath instanceof TreePath) {
@@ -548,7 +548,7 @@
             } else {
                 return fBaseProvider.shouldFilter(parentElementOrTreePath, element);
             }
-            
+
         }
 
         @Override
@@ -571,7 +571,7 @@
 		public void cancelRestore(TreePath path, int flags) {
             fBaseProvider.cancelRestore(createFullPath(path), flags);
         }
-        
+
         @Override
 		public void dispose() {
             fBaseProvider.dispose();
@@ -581,13 +581,13 @@
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
             fBaseProvider.inputChanged(fDelegatingViewer, oldInput, newInput);
         }
-        
+
 		@Override
 		public void postInputChanged(IInternalTreeModelViewer viewer,
 				Object oldInput, Object newInput) {
 			fBaseProvider.postInputChanged(viewer, oldInput, newInput);
 		}
-		
+
         @Override
 		public boolean setChecked(TreePath path, boolean checked) {
             return fBaseProvider.setChecked(createFullPath(path), checked);
@@ -596,19 +596,19 @@
     }
 
     /**
-     * Delegating label provider.  It translates all the calls to the 
+     * Delegating label provider.  It translates all the calls to the
      * underlying label provider to use full model tree paths.
      */
     private class SubTreeModelLabelProvider extends ColumnLabelProvider
-        implements ITreeModelLabelProvider 
+        implements ITreeModelLabelProvider
     {
 
         private TreeModelLabelProvider fBaseProvider;
-        
+
         public SubTreeModelLabelProvider(IInternalTreeModelViewer viewer) {
             fBaseProvider = new TreeModelLabelProvider(viewer);
         }
-        
+
         @Override
 		public boolean update(TreePath elementPath) {
             return fBaseProvider.update( createFullPath(elementPath) );
@@ -660,12 +660,12 @@
             fBaseProvider.removeListener(listener);
         }
     }
-        
+
     private TreePath createFullPath(TreePath subPath) {
         if (fRootPath == null) {
             return TreePath.EMPTY;
         }
-        
+
         Object[] segments = new Object[fRootPath.getSegmentCount() + subPath.getSegmentCount()];
         for (int i = 0; i < fRootPath.getSegmentCount(); i++) {
             segments[i] = fRootPath.getSegment(i);
@@ -675,7 +675,7 @@
         }
         return new TreePath(segments);
     }
-    
+
     private TreePath createSubPath(TreePath fullPath) {
         if (fRootPath == null) {
             return TreePath.EMPTY;
@@ -690,23 +690,23 @@
         }
         return new TreePath(segments);
     }
-    
+
     private DelegatingTreeModelViewer getDelegatingViewer() {
     	if (fDelegatingViewer == null) {
     		fDelegatingViewer = new DelegatingTreeModelViewer();
     	}
     	return fDelegatingViewer;
     }
-    
+
     @Override
 	protected ITreeModelContentProvider createContentProvider() {
         return new SubTreeModelContentProvider();
     }
-    
+
     @Override
 	protected ITreeModelLabelProvider createLabelProvider() {
         return new SubTreeModelLabelProvider(getDelegatingViewer());
     }
-    
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TimeTriggeredProgressMonitorDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TimeTriggeredProgressMonitorDialog.java
index da68d82..1281014 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TimeTriggeredProgressMonitorDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TimeTriggeredProgressMonitorDialog.java
@@ -24,7 +24,7 @@
 /**
  * The TimeTriggeredProgressMonitorDialog is a progress monitor dialog that only
  * opens if the runnable provided exceeds the specified long operation time.
- * 
+ *
  * @since 3.6 - Copied from org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog
  */
 public class TimeTriggeredProgressMonitorDialog extends ProgressMonitorDialog {
@@ -43,7 +43,7 @@
 	 * Whether or not we've already opened a dialog.
 	 */
 	private boolean dialogOpened = false;
-	
+
 	/**
 	 * Wrappered monitor so we can check ticks and open the dialog when
 	 * appropriate
@@ -52,7 +52,7 @@
 
 	/**
 	 * Create a new instance of the receiver.
-	 * 
+	 *
 	 * @param parent
 	 *            the parent of the dialog
 	 * @param longOperationTime
@@ -68,7 +68,7 @@
 
    /**
 	 * Create a monitor for the receiver that wrappers the superclasses monitor.
-	 * 
+	 *
 	 */
     public void createWrapperedMonitor() {
         wrapperedMonitor = new IProgressMonitor() {
@@ -78,7 +78,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#beginTask(java.lang.String,
 			 *      int)
 			 */
@@ -105,7 +105,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#done()
 			 */
             @Override
@@ -116,7 +116,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#internalWorked(double)
 			 */
             @Override
@@ -127,7 +127,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
 			 */
             @Override
@@ -137,7 +137,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
 			 */
             @Override
@@ -148,7 +148,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#setTaskName(java.lang.String)
 			 */
             @Override
@@ -160,7 +160,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#subTask(java.lang.String)
 			 */
             @Override
@@ -171,7 +171,7 @@
 
             /*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.core.runtime.IProgressMonitor#worked(int)
 			 */
             @Override
@@ -185,7 +185,7 @@
 
     /*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.jface.dialogs.ProgressMonitorDialog#getProgressMonitor()
 	 */
     @Override
@@ -195,10 +195,10 @@
 		}
         return wrapperedMonitor;
     }
-    
+
    /*
-    * (non-Javadoc) 
-    * 
+    * (non-Javadoc)
+    *
     * @see org.eclipse.jface.operations.IRunnableContext#run(boolean, boolean, IRunnableWithProgress)
     */
     @Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
index 0522d31..24e0b71 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River Systems - Fix for viewer state save/restore [188704] 
+ *     Wind River Systems - Fix for viewer state save/restore [188704]
  *     Pawel Piech (Wind River) - added support for a virtual tree model viewer (Bug 242489)
  *     Dorin Ciuca - Top index fix (Bug 324100)
  *     Anton Leherbauer (Wind River) - REVEAL delta does not always work reliably (Bug 438724)
@@ -56,7 +56,7 @@
 
 /**
  * Content provider for a virtual tree.
- * 
+ *
  * @since 3.3
  */
 public class TreeModelContentProvider implements ITreeModelContentProvider, IContentProvider, IModelChangedListener {
@@ -73,7 +73,7 @@
 
     /**
      * Map tree paths to model proxy responsible for element
-     * 
+     *
      * Used to install different model proxy instances for one element depending
      * on the tree path.
      */
@@ -85,7 +85,7 @@
 
     /**
      * Map element to model proxy responsible for it.
-     * 
+     *
      * Used to install a single model proxy which is responsible for all
      * instances of an element in the model tree.
      */
@@ -114,7 +114,7 @@
      * @see IViewerUpdateListener
      */
     private boolean fModelSequenceRunning = false;
-    
+
     /**
      * Map of updates in progress: element path -> list of requests
      */
@@ -127,7 +127,7 @@
 	private Map<TreePath, List<ViewerUpdateMonitor>> fWaitingRequests = new HashMap<TreePath, List<ViewerUpdateMonitor>>();
 
 	private List<ViewerUpdateMonitor> fCompletedUpdates = new ArrayList<ViewerUpdateMonitor>();
-    
+
     private Runnable fCompletedUpdatesRunnable;
 
     private ViewerStateTracker fStateTracker = new ViewerStateTracker(this);
@@ -158,9 +158,9 @@
         if (fViewer == null) {
 			return;
 		}
-        
+
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
-        
+
         // cancel pending updates
 		for (List<ViewerUpdateMonitor> requests : fRequestsInProgress.values()) {
 			for (ViewerUpdateMonitor vu : requests) {
@@ -173,7 +173,7 @@
         fModelListeners.clear();
         fUpdateListeners.clear();
         disposeAllModelProxies();
-        
+
         synchronized(this) {
             fViewer = null;
         }
@@ -193,18 +193,18 @@
         synchronized(this) {
             fViewer = (IInternalTreeModelViewer) viewer;
         }
-        
+
         Assert.isTrue( fViewer.getDisplay().getThread() == Thread.currentThread() );
 
         if (oldInput != null) {
             fStateTracker.saveViewerState(oldInput);
         }
     }
-    
+
     @Override
 	public void postInputChanged(IInternalTreeModelViewer viewer, Object oldInput, Object newInput) {
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
-        
+
         cancelSubtreeUpdates(TreePath.EMPTY);
         disposeAllModelProxies();
         cancelSubtreeUpdates(TreePath.EMPTY);
@@ -212,7 +212,7 @@
         if (newInput != null) {
             installModelProxy(newInput, TreePath.EMPTY);
             fStateTracker.restoreViewerState(newInput);
-        } 
+        }
     }
 
     @Override
@@ -232,9 +232,9 @@
 
     @Override
 	public void preserveState(TreePath path) {
-        fStateTracker.appendToPendingStateDelta(path);        
+        fStateTracker.appendToPendingStateDelta(path);
     }
-    
+
     @Override
 	public void removeStateUpdateListener(IStateUpdateListener listener) {
         fStateTracker.removeStateUpdateListener(listener);
@@ -249,7 +249,7 @@
 	public void removeModelChangedListener(IModelChangedListener listener) {
         fModelListeners.remove(listener);
     }
-    
+
     @Override
 	public void cancelRestore(final TreePath path, final int flags) {
         fStateTracker.cancelRestore(path, flags);
@@ -260,10 +260,10 @@
         IModelProxy elementProxy = getElementProxy(path);
         if (elementProxy instanceof ICheckboxModelProxy) {
             return ((ICheckboxModelProxy) elementProxy).setChecked(getPresentationContext(), getViewer().getInput(), path, checked);
-        }                               
+        }
         return false;
     }
-    
+
     /**
      * Installs the model proxy for the given element into this content provider
      * if not already installed.
@@ -271,7 +271,7 @@
      * @param path the {@link TreePath} to install the proxy for
      */
     private void installModelProxy(Object input, TreePath path) {
-        
+
         if (!fTreeModelProxies.containsKey(path) && !fModelProxies.containsKey(path.getLastSegment())) {
             Object element = path.getSegmentCount() != 0 ? path.getLastSegment() : input;
             IModelProxy proxy = null;
@@ -366,7 +366,7 @@
         }
         fTreeModelProxies.clear();
     }
-    
+
     /**
      * Removes the model proxy installed for the given element, if any.
      * @param path the {@link TreePath} to dispose the model proxy for
@@ -380,8 +380,8 @@
         if (proxy != null) {
             proxy.dispose();
         }
-    }    
-    
+    }
+
     @Override
 	public void modelChanged(final IModelDelta delta, final IModelProxy proxy) {
         Display display = null;
@@ -394,7 +394,7 @@
             }
         }
         if (display != null) {
-            // If we're in display thread, process the delta immediately to 
+            // If we're in display thread, process the delta immediately to
             // avoid "skid" in processing events.
             if (Thread.currentThread().equals(display.getThread())) {
                 doModelChanged(delta, proxy);
@@ -423,16 +423,16 @@
 
             updateModel(delta, getModelDeltaMask());
 
-            // Initiate model update sequence before notifying of the model changed. 
+            // Initiate model update sequence before notifying of the model changed.
             trigger(null);
-            
+
             // Call model listeners after updating the viewer model.
 			for (IModelChangedListener iModelChangedListener : fModelListeners) {
 				iModelChangedListener.modelChanged(delta, proxy);
 			}
         }
     }
-    
+
     @Override
 	public void setModelDeltaMask(int mask) {
         fModelDeltaMask = mask;
@@ -450,20 +450,20 @@
     	if (getViewer() == null || getViewer().getInput() == null) {
 			return;
 		}
-    	
+
 		fRevealPath = null;
         IModelDelta[] deltaArray = new IModelDelta[] { delta };
         updateNodes(deltaArray, mask & (IModelDelta.REMOVED | IModelDelta.UNINSTALL));
         updateNodes(deltaArray, mask & ITreeModelContentProvider.UPDATE_MODEL_DELTA_FLAGS
             & ~(IModelDelta.REMOVED | IModelDelta.UNINSTALL));
         updateNodes(deltaArray, mask & ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS);
-        
+
         fStateTracker.checkIfRestoreComplete();
     }
 
     /**
      * Returns a tree path for the node including the root element.
-     * 
+     *
      * @param node
      *            model delta
      * @return corresponding tree path
@@ -479,7 +479,7 @@
 
     /**
      * Returns a tree path for the node, *not* including the root element.
-     * 
+     *
      * @param node
      *            model delta
      * @return corresponding tree path
@@ -497,7 +497,7 @@
 
     /**
      * Returns the viewer this content provider is working for.
-     * 
+     *
      * @return viewer
      */
     protected IInternalTreeModelViewer getViewer() {
@@ -532,7 +532,7 @@
         if (filters.length > 0) {
             for (int j = 0; j < filters.length; j++) {
                 if (filters[j] instanceof TreeModelViewerFilter &&
-                    ((TreeModelViewerFilter)filters[j]).isApplicable(fViewer, parentElement)) 
+                    ((TreeModelViewerFilter)filters[j]).isApplicable(fViewer, parentElement))
                 {
                     return true;
                 }
@@ -548,7 +548,7 @@
             for (int j = 0; j < filters.length; j++) {
                 if (filters[j] instanceof TreeModelViewerFilter) {
                     // Skip the filter if not applicable to parent element
-                    Object parentElement = parentElementOrTreePath instanceof TreePath 
+                    Object parentElement = parentElementOrTreePath instanceof TreePath
                         ? ((TreePath)parentElementOrTreePath).getLastSegment() : parentElementOrTreePath;
                     if (parentElement == null) {
 						parentElement = fViewer.getInput();
@@ -557,7 +557,7 @@
                         continue;
                     }
                 }
-                
+
                 if (!(filters[j].select((Viewer) fViewer, parentElementOrTreePath, element))) {
                     return true;
                 }
@@ -573,7 +573,7 @@
         cancelSubtreeUpdates(path);
     }
 
-    
+
     boolean addFilteredIndex(TreePath parentPath, int index, Object element) {
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
         return fTransform.addFilteredIndex(parentPath, index, element);
@@ -616,12 +616,12 @@
 
     /**
      * Notification an update request has started
-     * 
+     *
      * @param update the update to notify about
      */
     void updateStarted(ViewerUpdateMonitor update) {
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
-        
+
 		List<ViewerUpdateMonitor> requests = fRequestsInProgress.get(update.getSchedulingPath());
         if (requests == null) {
 			requests = new ArrayList<ViewerUpdateMonitor>();
@@ -643,7 +643,7 @@
 
     /**
      * Notification an update request has completed
-     * 
+     *
      * @param updates the updates to notify
      */
 	void updatesComplete(final List<ViewerUpdateMonitor> updates) {
@@ -654,7 +654,7 @@
 	            DebugUIPlugin.trace("\tEND - " + update); //$NON-NLS-1$
 	        }
     	}
-    	
+
     	// Wait a single cycle to allow viewer to queue requests triggered by completed updates.
         getViewer().getDisplay().asyncExec(new Runnable() {
             @Override
@@ -665,7 +665,7 @@
 
             	for (int i = 0; i < updates.size(); i++) {
             		ViewerUpdateMonitor update = updates.get(i);
-	                
+
             		// Search for update in list using identity test.  Otherwise a completed canceled
             		// update may trigger removal of up-to-date running update on the same element.
 					List<ViewerUpdateMonitor> requests = fRequestsInProgress.get(update.getSchedulingPath());
@@ -679,10 +679,10 @@
     	            		}
     	            	}
 	            	}
-	            	
+
 	            	if (found) {
-	                    // Trigger may initiate new updates, so wait to remove requests array from 
-	                    // fRequestsInProgress map.  This way updateStarted() will not send a 
+	                    // Trigger may initiate new updates, so wait to remove requests array from
+	                    // fRequestsInProgress map.  This way updateStarted() will not send a
 	                    // redundant "UPDATE SEQUENCE STARTED" notification.
 	                    trigger(update.getSchedulingPath());
 	            	} else {
@@ -703,12 +703,12 @@
                         DebugUIPlugin.trace("MODEL SEQUENCE ENDS"); //$NON-NLS-1$
                     }
                     notifyUpdate(UPDATE_SEQUENCE_COMPLETE, null);
-                }            	
+                }
             }
         });
-            
+
     }
-    
+
     /**
      * @return Returns true if there are outstanding updates in the viewer.
      */
@@ -722,7 +722,7 @@
     ViewerStateTracker getStateTracker() {
         return fStateTracker;
     }
-    
+
     /**
      * Notifies listeners about given update.
      * @param type Type of update to call listeners with.
@@ -763,20 +763,20 @@
     }
 
     /**
-     * Cancels outstanding updates for the element at given path and its 
+     * Cancels outstanding updates for the element at given path and its
      * children.
      * @param path Path of element.
      */
     private void cancelSubtreeUpdates(TreePath path) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
 		for (Entry<TreePath, List<ViewerUpdateMonitor>> entry : fRequestsInProgress.entrySet()) {
             TreePath entryPath = entry.getKey();
             if (entryPath.startsWith(path, null)) {
 				List<ViewerUpdateMonitor> requests = entry.getValue();
 				Iterator<ViewerUpdateMonitor> reqIter = requests.iterator();
                 while (reqIter.hasNext()) {
-                    // Cancel update and remove from requests list.  Removing from 
-                    // fRequestsInProgress ensures that isRequestBlocked() won't be triggered 
+                    // Cancel update and remove from requests list.  Removing from
+                    // fRequestsInProgress ensures that isRequestBlocked() won't be triggered
                     // by a canceled update.
 					reqIter.next().cancel();
                     reqIter.remove();
@@ -792,19 +792,19 @@
 		for (TreePath tp : purge) {
 			fWaitingRequests.remove(tp);
         }
-        
+
         fStateTracker.cancelStateSubtreeUpdates(path);
     }
 
     /**
      * Returns whether this given request should be run, or should wait for
      * parent update to complete.
-     * 
+     *
      * @param update the update the schedule
      */
     private void schedule(final ViewerUpdateMonitor update) {
     	Assert.isTrue(getViewer().getDisplay().getThread() == Thread.currentThread());
-    	
+
         TreePath schedulingPath = update.getSchedulingPath();
 		List<ViewerUpdateMonitor> requests = fWaitingRequests.get(schedulingPath);
         if (requests == null) {
@@ -816,15 +816,15 @@
             if (inProgressList != null) {
                 int staleUpdateIndex = inProgressList.indexOf(update);
                 if (staleUpdateIndex >= 0) {
-                    // Cancel update and remove from requests list.  Removing from 
-                    // fRequestsInProgress ensures that isRequestBlocked() won't be triggered 
+                    // Cancel update and remove from requests list.  Removing from
+                    // fRequestsInProgress ensures that isRequestBlocked() won't be triggered
                     // by a canceled update.
                     ViewerUpdateMonitor staleUpdate = inProgressList.remove(staleUpdateIndex);
                     staleUpdate.cancel();
-                    // Note: Do not reset the inProgressList to null.  This would cause the 
-                    // updateStarted() method to think that a new update sequence is 
-                    // being started.  Since there are waiting requests for this scheduling 
-                    // path, the list will be cleaned up later. 
+                    // Note: Do not reset the inProgressList to null.  This would cause the
+                    // updateStarted() method to think that a new update sequence is
+                    // being started.  Since there are waiting requests for this scheduling
+                    // path, the list will be cleaned up later.
                 }
             }
             if (inProgressList == null || inProgressList.isEmpty()) {
@@ -835,7 +835,7 @@
 							return;
 						}
                         trigger(update.getSchedulingPath());
-                    }                	
+                    }
                 });
             }
         } else {
@@ -843,15 +843,15 @@
             requests.add(coalesce(requests, update));
         }
     }
-    
+
     /**
-     * Tries to coalesce the given request with any request in the list.  If a match is found, 
+     * Tries to coalesce the given request with any request in the list.  If a match is found,
      * the resulting request is then coalesced again with candidates in list.
-     * @param requests List of waiting requests to coalesce with 
+     * @param requests List of waiting requests to coalesce with
      * @param toCoalesce request to coalesce
-     * @return Returns either the coalesced request.  If no match was found it returns the 
-     * toCoalesce parameter request.  Either way the returned request needs to be added to the 
-     * waiting requests list.  
+     * @return Returns either the coalesced request.  If no match was found it returns the
+     * toCoalesce parameter request.  Either way the returned request needs to be added to the
+     * waiting requests list.
      */
 	private ViewerUpdateMonitor coalesce(List<ViewerUpdateMonitor> requests, ViewerUpdateMonitor toCoalesce) {
 		for (ViewerUpdateMonitor waiting : requests) {
@@ -867,13 +867,13 @@
 
     /**
      * Returns whether there are outstanding ChildrenUpdate updates for the given path.
-     * This method is expected to be called during processing of a ChildrenRequest, 
+     * This method is expected to be called during processing of a ChildrenRequest,
      * therefore one running children request is ignored.
      * @param path Path of element to check.
      * @return True if there are outstanding children updates for given element.
      */
     boolean areChildrenUpdatesPending(TreePath path) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
 		List<ViewerUpdateMonitor> requests = fWaitingRequests.get(path);
         if (requests != null) {
             for (int i = 0; i < requests.size(); i++) {
@@ -897,20 +897,20 @@
     }
 
     /**
-     * Triggers waiting requests based on the given request that just 
-     * completed.  
+     * Triggers waiting requests based on the given request that just
+     * completed.
      * <p>
-     * Requests are processed in order such that updates to 
+     * Requests are processed in order such that updates to
      * children are delayed until updates for parent elements are completed.
-     * This allows the expansion/selection state of the elements to be 
-     * properly restored as new elements are retrieved from model.  
+     * This allows the expansion/selection state of the elements to be
+     * properly restored as new elements are retrieved from model.
      * </p>
-     * @param schedulingPath schedulingPath path or requests to start processing.  May 
+     * @param schedulingPath schedulingPath path or requests to start processing.  May
      * be <code>null</code> to start the shortest path request.
      */
     private void trigger(TreePath schedulingPath) {
     	Assert.isTrue(getViewer().getDisplay().getThread() == Thread.currentThread());
-    	
+
         if (fWaitingRequests.isEmpty()) {
             return;
         }
@@ -936,8 +936,8 @@
     }
 
     /**
-     * Returns true if there are running requests for any parent element of 
-     * the given tree path. 
+     * Returns true if there are running requests for any parent element of
+     * the given tree path.
      * @param requestPath Path of element to check.
      * @return Returns true if requests are running.
      */
@@ -954,7 +954,7 @@
         }
         return true;
     }
-    
+
     /**
      * @param key the {@link TreePath}
      * @param waiting the list of waiting requests
@@ -979,7 +979,7 @@
 
     /**
      * Returns the element corresponding to the given tree path.
-     * 
+     *
      * @param path
      *            tree path
      * @return model element
@@ -995,15 +995,15 @@
      * Reschedule any children updates in progress for the given parent that
      * have a start index greater than the given index. An element has been
      * removed at this index, invalidating updates in progress.
-     * 
+     *
      * @param parentPath
      *            view tree path to parent element
      * @param modelIndex
      *            index at which an element was removed
      */
     private void rescheduleUpdates(TreePath parentPath, int modelIndex) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
+
 		List<ViewerUpdateMonitor> requests = fRequestsInProgress.get(parentPath);
 		List<IChildrenUpdate> reCreate = null;
         if (requests != null) {
@@ -1013,8 +1013,8 @@
                 if (update instanceof IChildrenUpdate) {
                     IChildrenUpdate childrenUpdate = (IChildrenUpdate) update;
                     if (childrenUpdate.getOffset() > modelIndex) {
-                        // Cancel update and remove from requests list.  Removing from 
-                        // fRequestsInProgress ensures that isRequestBlocked() won't be triggered 
+                        // Cancel update and remove from requests list.  Removing from
+                        // fRequestsInProgress ensures that isRequestBlocked() won't be triggered
                         // by a canceled update.
                         childrenUpdate.cancel();
                         iterator.remove();
@@ -1056,49 +1056,49 @@
             }
         }
     }
-    
+
 	private void doUpdateChildCount(TreePath path) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
+
 		Object element = getElement(path);
 		IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(element);
 		if (contentAdapter != null) {
 			ChildrenCountUpdate request = new ChildrenCountUpdate(this, getViewer().getInput(), path, element, contentAdapter);
 			schedule(request);
 		}
-	}	
-	
+	}
+
 	void doUpdateElement(TreePath parentPath, int modelIndex) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
+
 		Object parent = getElement(parentPath);
 		IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(parent);
 		if (contentAdapter != null) {
 			ChildrenUpdate request = new ChildrenUpdate(this, getViewer().getInput(), parentPath, parent, modelIndex, contentAdapter);
 			schedule(request);
-		}			
-	}	
-	
+		}
+	}
+
 	private void doUpdateHasChildren(TreePath path) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
+
 		Object element = getElement(path);
 		IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(element);
 		if (contentAdapter != null) {
 			HasChildrenUpdate request = new HasChildrenUpdate(this, getViewer().getInput(), path, element, contentAdapter);
 			schedule(request);
 		}
-	}		
-	
+	}
+
 	/**
-	 * Checks if there are outstanding updates that may replace the element 
-	 * at given path. 
+	 * Checks if there are outstanding updates that may replace the element
+	 * at given path.
 	 * @param path Path of element to check.
 	 * @return Returns true if there are outstanding updates.
 	 */
     boolean areElementUpdatesPending(TreePath path) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         TreePath parentPath = path.getParentPath();
 		List<ViewerUpdateMonitor> requests = fWaitingRequests.get(path);
         if (requests != null) {
@@ -1138,23 +1138,23 @@
         }
         return false;
     }
-	
+
     /**
      * Returns the presentation context for this content provider.
-     * 
+     *
      * @return presentation context
      */
 	protected IPresentationContext getPresentationContext() {
 	    ITreeModelViewer viewer = getViewer();
 	    if (viewer != null) {
 	        return viewer.getPresentationContext();
-	    } 
+	    }
 	    return null;
 	}
-	
+
     /**
      * Updates the viewer with the following deltas.
-     * 
+     *
      * @param nodes Model deltas to be processed.
      * @param mask the model delta mask
      * @see IModelDelta for a list of masks
@@ -1210,8 +1210,8 @@
 
     protected void handleUninstall(IModelDelta delta) {
         disposeModelProxy(getFullTreePath(delta));
-    }	
-	
+    }
+
  	protected void handleAdd(IModelDelta delta) {
 		IModelDelta parentDelta = delta.getParentDelta();
 		if (parentDelta == null) {
@@ -1250,7 +1250,7 @@
 				TreePath childPath = parentPath.createChildPath(element);
 				updateHasChildren(childPath);
 				fStateTracker.restorePendingStateOnUpdate(childPath, modelIndex, false, false, false);
-			}	        
+			}
 		} else {
 			if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 				DebugUIPlugin.trace("handleAdd(" + delta.getElement() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -1273,7 +1273,7 @@
 		cancelSubtreeUpdates(treePath);
 		getViewer().refresh(getElement(treePath));
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.ModelContentProvider#handleCollapse(org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta)
 	 */
@@ -1302,11 +1302,11 @@
 	            if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 	                DebugUIPlugin.trace("[expand] setChildCount(" + delta.getElement() + ", (model) " + childCount + " (view) " + viewCount); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 	            }
-	            getViewer().setChildCount(elementPath, viewCount);	            
+	            getViewer().setChildCount(elementPath, viewCount);
 	        }
 		}
 	}
-	
+
  	/**
  	 * Expands the element pointed to by given delta.
  	 * @param delta Delta that points to the element to expand.
@@ -1348,12 +1348,12 @@
 	        }
 		}
 	}
-	
+
 	/**
 	 * Inserts the given child element of the specified parent into the tree if the element
 	 * should *no* longer be filtered. Returns the view index of the newly inserted element
 	 * or -1 if not inserted.
-	 * 
+	 *
 	 * @param parentPath viewer tree path to parent element
 	 * @param element element to insert
 	 * @param modelIndex index of the element in the model
@@ -1394,7 +1394,7 @@
 		TreePath parentPath = getViewerTreePath(delta.getParentDelta());
 		Object element = delta.getElement();
 		int modelIndex = delta.getIndex();
-		int viewIndex = modelIndex >= 0 ? modelToViewIndex(parentPath, modelIndex) : -1; 
+		int viewIndex = modelIndex >= 0 ? modelToViewIndex(parentPath, modelIndex) : -1;
 		int viewCount = getViewer().getChildCount(parentPath);
 		if (viewIndex >= 0 && viewIndex <= viewCount) {
 			// Index in range, insert.
@@ -1503,7 +1503,7 @@
 		if (index >= 0) {
 		    boolean filtered = isFiltered(parentPath, index);
 		    boolean shouldFilter = shouldFilter(parentPath, delta.getReplacementElement());
-		    
+
 		    // Update the filter transform
 		    if (filtered) {
                 clearFilteredChild(parentPath, index);
@@ -1511,12 +1511,12 @@
 		    if (shouldFilter) {
 		        addFilteredIndex(parentPath, index, delta.getElement());
 		    }
-		    
+
 		    // Update the viewer
 		    if (filtered) {
 		        if (!shouldFilter) {
 		            getViewer().insert(parentPath, delta.getReplacementElement(), modelToViewIndex(parentPath, index));
-		        } 
+		        }
 		        //else do nothing
 		    } else {
 		        if (shouldFilter) {
@@ -1533,8 +1533,8 @@
 		IInternalTreeModelViewer treeViewer = getViewer();
 		// check if selection is allowed
 		IStructuredSelection candidate = new TreeSelection(getViewerTreePath(delta));
-		if ((delta.getFlags() & IModelDelta.FORCE) == 0 && 
-		    !treeViewer.overrideSelection(treeViewer.getSelection(), candidate)) 
+		if ((delta.getFlags() & IModelDelta.FORCE) == 0 &&
+		    !treeViewer.overrideSelection(treeViewer.getSelection(), candidate))
 		{
 			return;
 		}
@@ -1584,7 +1584,7 @@
         reveal(delta);
         cancelRestore(getViewerTreePath(delta), IModelDelta.REVEAL);
 	}
-	
+
 	/**
 	 * Reveals the element pointed to by given delta.
 	 * @param delta Delta pointing to the element to reveal.
@@ -1615,7 +1615,7 @@
 
 			// only move tree based on force flag and selection policy
 			if ((delta.getFlags() & IModelDelta.FORCE) != 0 ||
-			    treeViewer.overrideSelection(treeViewer.getSelection(), new TreeSelection(elementPath))) 
+			    treeViewer.overrideSelection(treeViewer.getSelection(), new TreeSelection(elementPath)))
 			{
 				/*
 				 * Bug 438724 - Save reveal parameters and redo reveal on
@@ -1627,8 +1627,8 @@
 			    treeViewer.reveal(parentPath, viewIndex);
 			}
 		}
-	}	
-	
+	}
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ILazyTreePathContentProvider#getParents(java.lang.Object)
@@ -1643,8 +1643,8 @@
 	 */
 	@Override
 	public void updateChildCount(TreePath treePath, int currentChildCount) {
-        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
+
 		if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 			DebugUIPlugin.trace("updateChildCount(" + getElement(treePath) + ", " + currentChildCount + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
@@ -1657,12 +1657,12 @@
 	@Override
 	public void updateElement(TreePath parentPath, int viewIndex) {
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
-	    
+
 		int modelIndex = viewToModelIndex(parentPath, viewIndex);
 		if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 			DebugUIPlugin.trace("updateElement("+ getElement(parentPath) + ", " + viewIndex + ") > modelIndex = " + modelIndex); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
-		doUpdateElement(parentPath, modelIndex);		
+		doUpdateElement(parentPath, modelIndex);
 	}
 
 	/* (non-Javadoc)
@@ -1671,7 +1671,7 @@
 	@Override
 	public void updateHasChildren(TreePath path) {
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
-	    
+
 		if (DebugUIPlugin.DEBUG_CONTENT_PROVIDER && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 			DebugUIPlugin.trace("updateHasChildren(" + getElement(path)); //$NON-NLS-1$
 		}
@@ -1680,7 +1680,7 @@
 
 	/**
 	 * Schedules given update to be performed on the viewer.
-	 * Updates are queued up if they are completed in the same 
+	 * Updates are queued up if they are completed in the same
 	 * UI cycle.
 	 * @param update Update to perform.
 	 */
@@ -1705,7 +1705,7 @@
 	            updateJob = fCompletedUpdatesRunnable;
             }
 	    }
-	    
+
 	    if (updateJob != null) {
             if (Thread.currentThread() == display.getThread()) {
             	performUpdates();
@@ -1720,7 +1720,7 @@
 	 */
 	private void performUpdates() {
         Assert.isTrue( getViewer().getDisplay().getThread() == Thread.currentThread() );
-	    
+
 		List<ViewerUpdateMonitor> jobCompletedUpdates;
         synchronized(this) {
             if (isDisposed()) {
@@ -1739,10 +1739,10 @@
                     if (status == null || status.isOK()) {
                         completedUpdate.performUpdate();
                     }
-                } 
+                }
 	        }
         } finally {
             updatesComplete(jobCompletedUpdates);
-        }        
+        }
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java
index cce0f49..705b107 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java
@@ -45,17 +45,17 @@
 /**
  * @since 3.3
  */
-public class TreeModelLabelProvider extends ColumnLabelProvider 
-    implements ITreeModelLabelProvider, IModelChangedListener 
+public class TreeModelLabelProvider extends ColumnLabelProvider
+    implements ITreeModelLabelProvider, IModelChangedListener
 {
-	
+
 	private IInternalTreeModelViewer fViewer;
 
 	/**
 	 * Note: access this variable should be synchronized with <code>this</code>.
 	 */
 	private List<ILabelUpdate> fComplete;
-	
+
 	/**
 	 * Cache of images used for elements in this label provider. Label updates
 	 * use the method <code>getImage(...)</code> to cache images for
@@ -76,32 +76,32 @@
 	 * RGB values. The colors are disposed with this label provider.
 	 */
 	private Map<RGB, Color> fColorCache = new HashMap<RGB, Color>();
-	
+
 	/**
 	 * Label listeners
 	 */
 	private ListenerList<ILabelUpdateListener> fLabelListeners = new ListenerList<>();
-	
+
 	/**
 	 * Updates waiting to be sent to the label provider.  The map contains
-	 * lists of updates, keyed using the provider. 
+	 * lists of updates, keyed using the provider.
 	 */
 	private Map<IElementLabelProvider, List<ILabelUpdate>> fPendingUpdates = new HashMap<IElementLabelProvider, List<ILabelUpdate>>();
-	
+
 	/**
 	 * A runnable that will send the label update requests.
-	 * This variable allows the job to be canceled and re-scheduled if 
-	 * new updates are requested.  
+	 * This variable allows the job to be canceled and re-scheduled if
+	 * new updates are requested.
 	 */
 	private Runnable fPendingUpdatesRunnable;
-	
+
 	/**
 	 * List of updates in progress
 	 */
 	private List<ILabelUpdate> fUpdatesInProgress = new ArrayList<ILabelUpdate>();
-	
+
     /**
-     * Delta visitor actively cancels the outstanding label updates for 
+     * Delta visitor actively cancels the outstanding label updates for
      * elements that are changed and are about to be updated.
      */
     class CancelPendingUpdatesVisitor implements IModelDeltaVisitor {
@@ -116,7 +116,7 @@
             } else if ((delta.getFlags() & IModelDelta.STATE) > 0) {
                 cancelElementUpdates(delta.getElement(), false);
                 return true;
-            } 
+            }
             return true;
         }
     }
@@ -125,7 +125,7 @@
      * Delta visitor
      */
     private CancelPendingUpdatesVisitor fCancelPendingUpdatesVisitor = new CancelPendingUpdatesVisitor();
-	
+
 	/**
 	 * Constructs a new label provider on the given display
 	 * @param viewer Viewer that this label provider is used with.
@@ -134,11 +134,11 @@
 		fViewer = viewer;
 		fViewer.addModelChangedListener(this);
 	}
-	
+
 	/**
 	 * Returns an image for the given image descriptor or <code>null</code>. Adds the image
 	 * to a cache of images if it does not already exist.
-	 * 
+	 *
 	 * @param descriptor image descriptor or <code>null</code>
 	 * @return image or <code>null</code>
 	 */
@@ -157,17 +157,17 @@
 
 	/**
 	 * Returns the display to use for resource allocation.
-	 * 
+	 *
 	 * @return display
 	 */
 	private Display getDisplay() {
 		return fViewer.getDisplay();
 	}
-	
+
 	/**
-	 * Returns a font for the given font data or <code>null</code>. Adds the font to the font 
+	 * Returns a font for the given font data or <code>null</code>. Adds the font to the font
 	 * cache if not yet created.
-	 * 
+	 *
 	 * @param fontData font data or <code>null</code>
 	 * @return font font or <code>null</code>
 	 */
@@ -182,12 +182,12 @@
 			fFontCache.put(fontData, font);
 		}
 		return font;
-	}	
-	
+	}
+
 	/**
-	 * Returns a color for the given RGB or <code>null</code>. Adds the color to the color 
+	 * Returns a color for the given RGB or <code>null</code>. Adds the color to the color
 	 * cache if not yet created.
-	 * 
+	 *
 	 * @param rgb RGB or <code>null</code>
 	 * @return color or <code>null</code>
 	 */
@@ -210,10 +210,10 @@
 	@Override
 	public void dispose() {
         Assert.isTrue(fViewer.getDisplay().getThread() == Thread.currentThread());
-        
+
 	    fViewer.removeModelChangedListener(this);
 	    fViewer = null;
-	    
+
 		List<ILabelUpdate> complete = null;
 	    synchronized(this) {
 	        complete = fComplete;
@@ -225,7 +225,7 @@
 			}
 	    }
 		for (ILabelUpdate currentUpdate : fUpdatesInProgress) {
-			currentUpdate.cancel();			
+			currentUpdate.cancel();
 		}
 
 		if (fPendingUpdatesRunnable != null) {
@@ -255,18 +255,18 @@
 	private boolean isDisposed() {
 	    return fViewer == null;
 	}
-	
+
 	@Override
 	public void update(ViewerCell cell) {
-		// NOT USED - the viewer updates each row instead 
-	}	
-	
+		// NOT USED - the viewer updates each row instead
+	}
+
 	@Override
 	public boolean update(TreePath elementPath) {
         Assert.isTrue(fViewer.getDisplay().getThread() == Thread.currentThread());
-	    
+
 	    cancelPathUpdates(elementPath);
-	    
+
 		String[] visibleColumns = fViewer.getVisibleColumns();
 		Object element = elementPath.getLastSegment();
 		IElementLabelProvider presentation = ViewerAdapterService.getLabelProvider(element);
@@ -292,9 +292,9 @@
 		    return false;
 		}
 	}
-	
+
 	/**
-     * Cancel any outstanding updates that are running for this element. 
+     * Cancel any outstanding updates that are running for this element.
 	 * @param elementPath Element to cancel updates for.
      */
     private void cancelPathUpdates(TreePath elementPath) {
@@ -308,28 +308,28 @@
 
     /**
      * Sets the element's display information in the viewer.
-     * 
-     * @param path Element path. 
+     *
+     * @param path Element path.
      * @param numColumns Number of columns in the data.
-     * @param labels Array of labels.  The array cannot to be 
+     * @param labels Array of labels.  The array cannot to be
      * <code>null</code>, but values within the array may be.
      * @param images Array of image descriptors, may be <code>null</code>.
      * @param fontDatas Array of fond data objects, may be <code>null</code>.
-     * @param foregrounds Array of RGB values for foreground colors, may be 
+     * @param foregrounds Array of RGB values for foreground colors, may be
      * <code>null</code>.
-     * @param backgrounds Array of RGB values for background colors, may be 
+     * @param backgrounds Array of RGB values for background colors, may be
      * <code>null</code>.
      * @param checked Whether given item should be checked.
      * @param grayed Whether given item's checkbox should be grayed.
      */
     void setElementData(TreePath path, int numColumns, String[] labels, ImageDescriptor[] images,
-        FontData[] fontDatas, RGB[] foregrounds, RGB[] backgrounds, boolean checked, boolean grayed) 
+        FontData[] fontDatas, RGB[] foregrounds, RGB[] backgrounds, boolean checked, boolean grayed)
     {
         fViewer.setElementData(path, numColumns, labels, images, fontDatas, foregrounds, backgrounds);
         fViewer.setElementChecked(path, checked, grayed);
     }
 
-    
+
 	private void startRequests(Runnable runnable) {
         if (runnable != fPendingUpdatesRunnable) {
             return;
@@ -347,11 +347,11 @@
 	    fPendingUpdates.clear();
 	    fPendingUpdatesRunnable = null;
 	}
-	
+
     /**
     * Cancels all running updates for the given element.  If seachFullPath is true,
-    * all updates will be canceled which have the given element anywhere in their 
-    * patch.   
+    * all updates will be canceled which have the given element anywhere in their
+    * patch.
     * @param element element to search for.
     * @param searchFullPath flag whether to look for the element in the full path
     * of the update
@@ -367,7 +367,7 @@
                         if (element.equals(updatePath.getSegment(i))) {
                             currentUpdate.cancel();
                             break; // Exit the for loop, stay in the while loop
-                        }                         
+                        }
                     }
                 }
             } else {
@@ -380,7 +380,7 @@
 
 	/**
 	 * Returns the presentation context for this label provider.
-	 * 
+	 *
 	 * @return presentation context
 	 */
 	private IPresentationContext getPresentationContext() {
@@ -389,14 +389,14 @@
 
     /**
      * A label update is complete.
-     * 
+     *
      * @param update Update that is to be completed.
      */
     synchronized void complete(ILabelUpdate update) {
         if (fViewer == null) {
 			return;
 		}
-        
+
 		if (fComplete == null) {
 			fComplete = new LinkedList<ILabelUpdate>();
 			fViewer.getDisplay().asyncExec(new Runnable() {
@@ -422,28 +422,28 @@
 		}
 		fComplete.add(update);
     }
-    
+
 	@Override
 	public void addLabelUpdateListener(ILabelUpdateListener listener) {
 		fLabelListeners.add(listener);
 	}
-	
+
 	@Override
 	public void removeLabelUpdateListener(ILabelUpdateListener listener) {
 		fLabelListeners.remove(listener);
 	}
-	
+
 	/**
 	 * Notification an update request has started
-	 * 
+	 *
 	 * @param update Update that was started
 	 */
 	void updateStarted(ILabelUpdate update) {
 	    Assert.isTrue(fViewer.getDisplay().getThread() == Thread.currentThread());
-	    
+
 		boolean begin = fUpdatesInProgress.isEmpty();
 		fUpdatesInProgress.add(update);
-		
+
 		if (begin) {
 			if (DebugUIPlugin.DEBUG_UPDATE_SEQUENCE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
 				DebugUIPlugin.trace("LABEL SEQUENCE BEGINS"); //$NON-NLS-1$
@@ -455,15 +455,15 @@
 		}
 		notifyUpdate(TreeModelContentProvider.UPDATE_BEGINS, update);
 	}
-	
+
 	/**
 	 * Notification an update request has completed
-	 * 
+	 *
 	 * @param update Update that completed.
 	 */
 	void updateComplete(ILabelUpdate update) {
 		fUpdatesInProgress.remove(update);
-		
+
         if (DebugUIPlugin.DEBUG_UPDATE_SEQUENCE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(getPresentationContext())) {
         	DebugUIPlugin.trace("\tEND - " + update); //$NON-NLS-1$
 		}
@@ -475,7 +475,7 @@
 			notifyUpdate(TreeModelContentProvider.UPDATE_SEQUENCE_COMPLETE, null);
 		}
 	}
-	
+
 	private void notifyUpdate(final int type, final ILabelUpdate update) {
 		if (!fLabelListeners.isEmpty()) {
 			for (ILabelUpdateListener iLabelUpdateListener : fLabelListeners) {
@@ -513,5 +513,5 @@
 	public void modelChanged(IModelDelta delta, IModelProxy proxy) {
 	    delta.accept(fCancelPendingUpdatesVisitor);
     }
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerAdapterService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerAdapterService.java
index 9ec884a..175aa6d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerAdapterService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerAdapterService.java
@@ -29,96 +29,96 @@
 
 /**
  * Helper class to retrieve adapters associated with viewers.
- * 
+ *
  * @since 3.4
  */
 public class ViewerAdapterService {
 
-	
+
 	 /**
      * Returns the content provider for the given element or
      * <code>null</code> if none.
-     * 
+     *
      * @param element element to retrieve adapter for
      * @return content provider or <code>null</code>
      */
-    public static IElementContentProvider getContentProvider(Object element) { 
+    public static IElementContentProvider getContentProvider(Object element) {
     	return (IElementContentProvider)getAdapter(element, IElementContentProvider.class);
     }
-    
+
     /**
      * Returns the label provider for the given element or
      * <code>null</code> if none.
-     * 
+     *
      * @param element element to retrieve adapter for
      * @return label provider or <code>null</code>
      */
-    public static IElementLabelProvider getLabelProvider(Object element) {        
+    public static IElementLabelProvider getLabelProvider(Object element) {
     	IElementLabelProvider lp = (IElementLabelProvider)getAdapter(element, IElementLabelProvider.class);
     	if (lp == null && element instanceof String) {
     		// there are no adapters registered for Strings
     		return new DebugElementAdapterFactory().getAdapter(element, IElementLabelProvider.class);
     	}
     	return lp;
-    }		    
-    
+    }
+
     /**
      * Returns the column presentation factory for the given element or <code>null</code>.
-     * 
+     *
      * @param element element to retrieve adapter for
      * @return column presentation factory of <code>null</code>
      */
     public static IColumnPresentationFactory getColumnPresentationFactory(Object element) {
     	return (IColumnPresentationFactory)getAdapter(element, IColumnPresentationFactory.class);
-    }    
-    
+    }
+
 	/**
  	 * Returns the model proxy factory for the given element or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element element to retrieve adapter for
 	 * @return model proxy factory or <code>null</code>
 	 */
 	public static IModelProxyFactory getModelProxyFactory(Object element) {
 		return (IModelProxyFactory)getAdapter(element, IModelProxyFactory.class);
-	}    
+	}
 
 	/**
      * Returns the model proxy factory v.2 for the given element or
      * <code>null</code> if none.
-     * 
+     *
      * @param element element to retrieve adapter for
      * @return model proxy factory or <code>null</code>
      */
     public static IModelProxyFactory2 getModelProxyFactory2(Object element) {
         return (IModelProxyFactory2)getAdapter(element, IModelProxyFactory2.class);
-    }    
- 
+    }
+
 	/**
 	 * Returns the memento provider for the given element or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element element to retrieve adapter for
 	 * @return memento provider or <code>null</code>
 	 */
 	public static IElementMementoProvider getMementoProvider(Object element) {
 		return (IElementMementoProvider)getAdapter(element, IElementMementoProvider.class);
-	}	
-	
+	}
+
     /**
      * Returns the element editor for the given element or <code>null</code>.
-     * 
+     *
      * @param element element to retrieve adapter for
      * @return element editor or <code>null</code>
      */
     public static IElementEditor getElementEditor(Object element) {
     	return (IElementEditor)getAdapter(element, IElementEditor.class);
-    } 	
-    
+    }
+
 	/**
 	 * Creates and returns the selection policy associated with the given selection
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param selection or <code>null</code>
 	 * @param context presentation context
 	 * @return selection policy or <code>null</code>
@@ -133,28 +133,28 @@
 			}
 		}
 		return null;
-	}    
-	
+	}
+
     /**
      * Returns the viewer input provider for the given element or
      * <code>null</code> if none.
-     * 
+     *
      * @param element element to retrieve adapter for
      * @return viewer input provider or <code>null</code>
      */
-    public static IViewerInputProvider getInputProvider(Object element) {        
+    public static IViewerInputProvider getInputProvider(Object element) {
     	return (IViewerInputProvider)getAdapter(element, IViewerInputProvider.class);
-    }			
-	
+    }
+
 	/**
 	 * Returns an adapter of the specified type for the given object or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @param element element to retrieve adapter for
 	 * @param type adapter type
 	 * @return adapter or <code>null</code>
 	 */
 	private static Object getAdapter(Object element, Class<?> type) {
-    	return DebugPlugin.getAdapter(element, type);		
+    	return DebugPlugin.getAdapter(element, type);
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerInputUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerInputUpdate.java
index 3c46cf1..4953b6e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerInputUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerInputUpdate.java
@@ -24,7 +24,7 @@
  * Internal implementation of the {@link IViewerInputUpdate} interface.  Allows
  * implementors to translate the active debug context into an appropriate viewer
  * input.
- * 
+ *
  * @since 3.4
  * @see IViewerInputUpdate
  */
@@ -34,32 +34,32 @@
      * Presentation context
      */
     private IPresentationContext fContext;
-    
+
     /**
      * New viewer input
      */
     private Object fSource;
-    
+
     /**
      * Whether this update is done
      */
     private boolean fDone;
-    
+
     /**
      * Viewer input to use
      */
     private Object fInputElement;
-    
+
     /**
      * Viewer input at the time the request was made
      */
     private Object fViewerInput;
-    
+
     /**
      * Client making request
      */
     private IViewerInputRequestor fRequestor;
-    
+
     /**
      * When <code>done()</code> is called, the viewer must be informed that the update is complete in the UI thread.
      */
@@ -73,10 +73,10 @@
             return Status.OK_STATUS;
         }
     };
-    
+
     /**
      * Constructs a viewer input update request.
-     * 
+     *
      * @param context presentation context
      * @param viewerInput viewer input at the time the request was made
      * @param requestor client making the request
@@ -97,7 +97,7 @@
 	public IPresentationContext getPresentationContext() {
 		return fContext;
 	}
-	
+
 	/* (non-Javadoc)
      * @see org.eclipse.core.runtime.IProgressMonitor#done()
      */
@@ -111,10 +111,10 @@
 		}
         fViewerInputUpdateJob.schedule();
 	}
-    
+
     /**
      * Returns whether this request is done yet.
-     * 
+     *
      * @return whether this request is done yet
      */
     protected synchronized boolean isDone() {
@@ -144,7 +144,7 @@
 	public void setInputElement(Object element) {
 		fInputElement = element;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerInputUpdate#getViewerInput()
 	 */
@@ -160,7 +160,7 @@
 	public Object getViewerInput() {
 		return fViewerInput;
 	}
-	
-	
+
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java
index e951d65..6368a43 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -46,28 +46,28 @@
 import org.eclipse.ui.XMLMemento;
 
 /**
- * Class containing logic to save and restore expanded state of the tree model 
- * viewer.  
+ * Class containing logic to save and restore expanded state of the tree model
+ * viewer.
  * <p>
- * When the input to the viewer is changes, the tree model viewer attempts to 
- * save the expansion state of elements as well as currently selected element and 
+ * When the input to the viewer is changes, the tree model viewer attempts to
+ * save the expansion state of elements as well as currently selected element and
  * scroll position.  Each expanded element is queried for its memento and all the
  * collected mementos are saved into a delta tree then serialized by the viewer.<br>
- * When a new input is set to the viewer, the viewer compares the input's memento 
- * with the stored mementos and if a match is found, it attempts to restore the 
+ * When a new input is set to the viewer, the viewer compares the input's memento
+ * with the stored mementos and if a match is found, it attempts to restore the
  * previous expansion state to the viewer.  As elements are revealed and realized
- * in the viewer, the element's memento is compared against the memento stored in 
- * the saved state delta.  If matching elements are found in the delta, the expansion 
- * and selection state is then restored to those elements.  
+ * in the viewer, the element's memento is compared against the memento stored in
+ * the saved state delta.  If matching elements are found in the delta, the expansion
+ * and selection state is then restored to those elements.
  * </p><p>
- * Additionally to saving restoring state on input change, the viewer also 
+ * Additionally to saving restoring state on input change, the viewer also
  * saves/restores elements' state when the model requests viewer to refresh model
  * structure.  Since the viewer items are matched to the model elements using items'
- * indexes, inserting or removing elements in model can cause the expansion state 
+ * indexes, inserting or removing elements in model can cause the expansion state
  * of elements to shift after a refresh.  To compensate for this, the viewer saves
- * the elements before a refresh is performed into a delta, but without encoding 
+ * the elements before a refresh is performed into a delta, but without encoding
  * elements using mementos.  As the refresh of the tree progresses, the save state
- * is restored to the tree and elements are expanded or collapsed as needed to 
+ * is restored to the tree and elements are expanded or collapsed as needed to
  * compensate for changes in model structure.
  * </p>
  * @see TreeModelContentProvider
@@ -79,14 +79,14 @@
     static final int STATE_SAVE_SEQUENCE_COMPLETE = 5;
     static final int STATE_RESTORE_SEQUENCE_BEGINS = 6;
     static final int STATE_RESTORE_SEQUENCE_COMPLETE = 7;
-    
+
     /**
      * Dummy marker element used in the state delta. The marker indicates that a
      * given element in the pending state delta has been removed. It replaces
      * the original element so that it may optionally be garbage collected.
      */
     private final static String ELEMENT_REMOVED = "ELEMENT_REMOVED"; //$NON-NLS-1$
-    
+
     /**
      * Collector of memento encoding requests.
      */
@@ -94,18 +94,18 @@
 
         /**
          * Adds the request to this manager.
-         * 
+         *
          * @param request to add
          */
         public void addRequest(ElementMementoRequest request);
-        
+
         /**
          * Notification the request is complete.
-         * 
+         *
          * @param request that was completed
          */
         public void requestComplete(ElementMementoRequest request);
-        
+
         /**
          * Process the queued requests. Accepts no more new requests.
          */
@@ -116,7 +116,7 @@
          */
         public void cancel();
     }
-    
+
     /**
      * LRU cache for viewer states
      */
@@ -140,11 +140,11 @@
      * Content provider that is using this state tracker.
      */
     private TreeModelContentProvider fContentProvider;
-    
+
     ViewerStateTracker(TreeModelContentProvider contentProvider) {
         fContentProvider = contentProvider;
     }
-    
+
     /**
      * Map of viewer states keyed by viewer input mementos
      */
@@ -157,21 +157,21 @@
 
     /**
      * Flag indicating that the content provider is performing
-     * state restore operations.  
+     * state restore operations.
      */
-    private boolean fInStateRestore = false; 
-    
+    private boolean fInStateRestore = false;
+
     /**
      * State update listeners
      */
 	private ListenerList<IStateUpdateListener> fStateUpdateListeners = new ListenerList<>();
-    
+
     /**
      * Postpone restoring REVEAL element until the current updates are complete.
      * See bug 324100
      */
     protected PendingRevealDelta fPendingSetTopItem = null;
-    
+
     /**
      * Set of IMementoManager's that are currently saving state
      */
@@ -186,7 +186,7 @@
      * Object used to key compare requests in map.
      */
     private static class CompareRequestKey {
-        
+
         CompareRequestKey(TreePath path, IModelDelta delta) {
             fPath = path;
             fDelta = delta;
@@ -214,13 +214,13 @@
      * Compare requests that are currently running.
      */
 	private Map<CompareRequestKey, ElementCompareRequest> fCompareRequestsInProgress = new LinkedHashMap<CompareRequestKey, ElementCompareRequest>();
-    
-    
+
+
     /**
      * Cancels pending updates.
      */
     void dispose() {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
 		for (IElementMementoCollector emc : fPendingStateSaves) {
 			emc.cancel();
         }
@@ -229,21 +229,21 @@
 			ecr.cancel();
         }
         fCompareRequestsInProgress.clear();
-        
+
         if (fPendingSetTopItem != null) {
             fPendingSetTopItem.dispose();
         }
     }
-    
+
     /**
      * Restores viewer state for the given input
-     * 
+     *
      * @param input
      *            viewer input
      */
     private void startRestoreViewerState(final Object input) {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         fPendingState = null;
         final IElementMementoProvider defaultProvider = ViewerAdapterService.getMementoProvider(input);
         if (defaultProvider != null) {
@@ -256,7 +256,7 @@
 
                 /*
                  * (non-Javadoc)
-                 * 
+                 *
                  * @see
                  * org.eclipse.debug.internal.ui.viewers.model.provisional.viewers
                  * .
@@ -283,7 +283,7 @@
                                 	DebugUIPlugin.trace("STATE RESTORE INPUT COMARE ENDED : " + fRequest + " - MATCHING STATE FOUND"); //$NON-NLS-1$ //$NON-NLS-2$
                                 }
 
-                                // Process start of restore in an async cycle because we may still be inside inputChanged() 
+                                // Process start of restore in an async cycle because we may still be inside inputChanged()
                                 // call. I.e. the "input.equals(fContentProvider.getViewer().getInput())" test may fail.
                                 fContentProvider.getViewer().getDisplay().asyncExec(new Runnable() {
                                     @Override
@@ -322,7 +322,7 @@
 
                 /*
                  * (non-Javadoc)
-                 * 
+                 *
                  * @see
                  * org.eclipse.debug.internal.ui.viewers.model.provisional.viewers
                  * .IMementoManager#processReqeusts()
@@ -339,7 +339,7 @@
 
                 /*
                  * (non-Javadoc)
-                 * 
+                 *
                  * @see
                  * org.eclipse.debug.internal.ui.viewers.model.provisional.viewers
                  * .
@@ -350,7 +350,7 @@
 				public void addRequest(ElementMementoRequest req) {
                     fRequest = req;
                 }
-                
+
                 @Override
 				public void cancel() {
                     // not used
@@ -364,7 +364,7 @@
         } else {
             if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext()))  {
             	DebugUIPlugin.trace("STATE RESTORE: No input memento provider"); //$NON-NLS-1$
-            }            
+            }
         }
     }
 
@@ -377,7 +377,7 @@
 		 {
 			return; // Not initialized yet.
 		}
-        
+
         if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext()))  {
         	DebugUIPlugin.trace("STATE APPEND BEGIN: " + path.getLastSegment()); //$NON-NLS-1$
         }
@@ -390,7 +390,7 @@
         }
 
         if (!fContentProvider.getViewer().saveElementState(path, delta, IModelDelta.COLLAPSE | IModelDelta.EXPAND | IModelDelta.SELECT)) {
-            // Path to save the state was not found or there was no 
+            // Path to save the state was not found or there was no
             // (expansion) state to save!  Abort.
             if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
             	DebugUIPlugin.trace("STATE APPEND CANCEL: Element " + path.getLastSegment() + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
@@ -424,14 +424,14 @@
             	DebugUIPlugin.trace("\tAPPEND OUTSTANDING RESTORE: " + fPendingState); //$NON-NLS-1$
             }
 
-            // If the append delta is generated for a sub-tree, copy the pending delta 
+            // If the append delta is generated for a sub-tree, copy the pending delta
             // attributes into the pending delta.
             if (path.getSegmentCount() > 0) {
                 fPendingState.accept( new IModelDeltaVisitor() {
                     @Override
 					public boolean visit(IModelDelta pendingDeltaNode, int depth) {
                         TreePath pendingDeltaPath = fContentProvider.getViewerTreePath(pendingDeltaNode);
-                        if (path.startsWith(pendingDeltaPath, null)) 
+                        if (path.startsWith(pendingDeltaPath, null))
                         {
                             ModelDelta appendDelta = findDeltaForPath(appendDeltaRoot, pendingDeltaPath);
                             appendDelta.setFlags(pendingDeltaNode.getFlags());
@@ -463,9 +463,9 @@
                     // If the pending state node does not contain any flags,
                     // we can also skip it.
                     ModelDelta saveDeltaNode = findSubDeltaParent(appendDeltaRoot, pendingDeltaNode);
-                    if (saveDeltaNode != null && 
+                    if (saveDeltaNode != null &&
                         !isDeltaInParent(pendingDeltaNode, saveDeltaNode) &&
-                        pendingDeltaNode.getFlags() != IModelDelta.NO_CHANGE) 
+                        pendingDeltaNode.getFlags() != IModelDelta.NO_CHANGE)
                     {
                         saveDeltaNode.setChildCount(pendingDeltaNode.getParentDelta().getChildCount());
                         copyIntoDelta(pendingDeltaNode, saveDeltaNode);
@@ -485,7 +485,7 @@
                         return pendingDeltaNode.getChildCount() > 0;
                     }
                 }
-                
+
             });
         }
 
@@ -533,9 +533,9 @@
                 // set back the pending reveal flag
                 ModelDelta revealDelta = fPendingSetTopItem.getDelta();
                 revealDelta.setFlags(revealDelta.getFlags() | IModelDelta.REVEAL);
-                
+
                 fPendingSetTopItem.dispose();
-                
+
                 ModelDelta saveDeltaNode = findSubDeltaParent(saveDeltaRoot, revealDelta);
                 if (saveDeltaNode != null) {
                     clearRevealFlag(saveDeltaRoot);
@@ -553,7 +553,7 @@
                     }
                 }
             }
-            
+
             if (fPendingState != null) {
                 // If the restore for the current input was never completed,
                 // preserve
@@ -688,7 +688,7 @@
      * Encodes delta elements into mementos using the given provider.
      * @param rootDelta the {@link ModelDelta} to encode
      * @param defaultProvider the default provider to use when processing the given delta
-     * 
+     *
      */
     protected void encodeDelta(final ModelDelta rootDelta, final IElementMementoProvider defaultProvider) {
         final Object input = rootDelta.getElement();
@@ -708,7 +708,7 @@
 
             /*
              * (non-Javadoc)
-             * 
+             *
              * @see
              * org.eclipse.debug.internal.ui.viewers.model.provisional.viewers
              * .IMementoManager
@@ -717,7 +717,7 @@
              */
             @Override
 			public void requestComplete(ElementMementoRequest request) {
-                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
+                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
 
                 notifyStateUpdate(input, TreeModelContentProvider.UPDATE_COMPLETE, request);
                 if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
@@ -725,8 +725,8 @@
                 }
 
                 if (!request.isCanceled() && (request.getStatus() == null || request.getStatus().isOK())) {
-                    boolean requestsComplted = false; 
-                    if (!fCanceled) { 
+                    boolean requestsComplted = false;
+                    if (!fCanceled) {
                         fRequests.remove(request);
                         requestsComplted = fRequests.isEmpty();
                     }
@@ -751,12 +751,12 @@
 
             @Override
 			public void cancel() {
-                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
+                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
 
                 if (fCanceled) {
                     return;
                 }
-                            
+
                 fCanceled = true;
 				for (IElementMementoRequest req : fRequests) {
                     req.cancel();
@@ -767,18 +767,18 @@
                 }
                 stateSaveComplete(input, this);
             }
-            
+
             /*
              * (non-Javadoc)
-             * 
+             *
              * @see
              * org.eclipse.debug.internal.ui.viewers.model.provisional.viewers
              * .IMementoManager#processReqeusts()
              */
             @Override
 			public void processReqeusts() {
-                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-                
+                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
 				Map<IElementMementoProvider, List<IElementMementoRequest>> providers = new HashMap<IElementMementoProvider, List<IElementMementoRequest>>();
 				for (IElementMementoRequest request : fRequests) {
                     notifyStateUpdate(input, TreeModelContentProvider.UPDATE_BEGINS, request);
@@ -802,7 +802,7 @@
 
             /*
              * (non-Javadoc)
-             * 
+             *
              * @see
              * org.eclipse.debug.internal.ui.viewers.model.provisional.viewers
              * .IMementoManager
@@ -811,8 +811,8 @@
              */
             @Override
 			public void addRequest(ElementMementoRequest request) {
-                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-                
+                Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
                 fRequests.add(request);
             }
 
@@ -820,14 +820,14 @@
         IModelDeltaVisitor visitor = new IModelDeltaVisitor() {
             @Override
 			public boolean visit(IModelDelta delta, int depth) {
-                // Add the CONTENT flag to all nodes with an EXPAND flag. 
-                // During restoring, this flag is used as a marker indicating 
-                // whether all the content of a given element has been 
+                // Add the CONTENT flag to all nodes with an EXPAND flag.
+                // During restoring, this flag is used as a marker indicating
+                // whether all the content of a given element has been
                 // retrieved.
                 if ((delta.getFlags() | IModelDelta.EXPAND) != 0) {
                     ((ModelDelta)delta).setFlags(delta.getFlags() | IModelDelta.CONTENT);
                 }
-                
+
                 // This is the root element, save the root element memento in 'inputMemento'.
                 if (delta.getParentDelta() == null) {
                     manager.addRequest(new ElementMementoRequest(fContentProvider, input, manager,
@@ -855,8 +855,8 @@
      * @param manager the manager to notify
      */
     private void stateSaveStarted(Object input, IElementMementoCollector manager) {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         notifyStateUpdate(input, STATE_SAVE_SEQUENCE_BEGINS, null);
         fPendingStateSaves.add(manager);
     }
@@ -867,8 +867,8 @@
      * @param manager the manager to notify
      */
     private void stateSaveComplete(Object input, IElementMementoCollector manager) {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         notifyStateUpdate(input, STATE_SAVE_SEQUENCE_COMPLETE, null);
         fPendingStateSaves.remove(manager);
         if (fQueuedRestore != null) {
@@ -880,11 +880,11 @@
 
     /**
      * Returns whether any state saving is in progress.
-     * 
+     *
      * @return whether any state saving is in progress
      */
     private boolean isSavingState() {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
 
         return !fPendingStateSaves.isEmpty();
     }
@@ -892,13 +892,13 @@
     /**
      * Restores the viewer state unless a save is taking place. If a save is
      * taking place, the restore is queued.
-     * 
+     *
      * @param input
      *            viewer input
      */
     protected void restoreViewerState(final Object input) {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         fPendingState = null;
         if (isSavingState()) {
             fQueuedRestore = input;
@@ -910,7 +910,7 @@
 
     public void cancelRestore(final TreePath path, final int flags) {
         if (fInStateRestore) {
-            // If we are currently processing pending state already, ignore 
+            // If we are currently processing pending state already, ignore
             // cancelRestore requests.  These requests may be triggered in the viewer
             // by changes to the tree state (Bug 295585).
             return;
@@ -921,15 +921,15 @@
             return;
         }
 
-        // Nothing else to do 
+        // Nothing else to do
         if (fPendingState == null) {
             return;
         }
-        
+
         if ((flags & (IModelDelta.SELECT | IModelDelta.REVEAL)) != 0) {
             // If we're canceling reveal and this is waiting for updates to complete
             // then just cancel it and return
-            
+
             // If we're canceling select or reveal, cancel it for all of pending deltas
             final int mask = flags & (IModelDelta.SELECT | IModelDelta.REVEAL);
             fPendingState.accept(new IModelDeltaVisitor() {
@@ -977,12 +977,12 @@
                                 // Descend delta to clear the EXPAND flags of a canceled expand
                                 return true;
                             }
-                        } 
+                        }
                         return false;
                     } else {
                         // We're clearing out flags of a matching sub-tree
                         // assert (flags & IModelDelta.EXPAND) != 0;
-                        
+
                         if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
                             if (delta.getFlags() != IModelDelta.NO_CHANGE) {
                             	DebugUIPlugin.trace("\tCANCEL: " + delta.getElement() + "(" + Integer.toHexString(delta.getFlags()) + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -995,14 +995,14 @@
             });
         }
     }
-    
+
 
     /**
      * Perform any restoration required for the given tree path.
      * <p>
-     * This method is called after every viewer update completion to continue 
-     * restoring the expansion state that was previously saved.  
-     * 
+     * This method is called after every viewer update completion to continue
+     * restoring the expansion state that was previously saved.
+     *
      * @param path the tree path to update
      * @param modelIndex the index in the current model
      * @param knowsHasChildren if the content provider knows it has children already
@@ -1010,10 +1010,10 @@
      * @param checkChildrenRealized if any realized children should be checked or not
      */
     void restorePendingStateOnUpdate(final TreePath path, final int modelIndex, final boolean knowsHasChildren,
-        final boolean knowsChildCount, final boolean checkChildrenRealized) 
+        final boolean knowsChildCount, final boolean checkChildrenRealized)
     {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         if (fPendingState == null) {
             return;
         }
@@ -1072,7 +1072,7 @@
         try {
             fInStateRestore = true;
             fPendingState.accept(visitor);
-        } 
+        }
         finally {
             fInStateRestore = false;
         }
@@ -1080,15 +1080,15 @@
     }
 
     /**
-     * Checks whether restoring pending state is already complete.  
+     * Checks whether restoring pending state is already complete.
      */
     void checkIfRestoreComplete() {
-        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-        
+        Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
         if (fPendingState == null) {
             return;
         }
-        
+
         /**
          * Used to determine when restoration delta has been processed
          */
@@ -1097,7 +1097,7 @@
 
             /*
              * (non-Javadoc)
-             * 
+             *
              * @see
              * org.eclipse.debug.internal.ui.viewers.provisional.IModelDeltaVisitor
              * #visit(org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta,
@@ -1107,20 +1107,20 @@
 			public boolean visit(IModelDelta delta, int depth) {
                 // Filter out the CONTENT flags from the delta flags, the content
                 // flag is only used as a marker indicating that all the sub-elements
-                // of a given delta have been retrieved.  
+                // of a given delta have been retrieved.
                 int flags = (delta.getFlags() & ~IModelDelta.CONTENT);
-                
+
                 if (flags != IModelDelta.NO_CHANGE) {
                     IModelDelta parentDelta = delta.getParentDelta();
                     // Remove the delta if :
-                    // - The parent delta has no more flags on it (the content flag is removed as well), 
+                    // - The parent delta has no more flags on it (the content flag is removed as well),
                     // which means that parent element's children have been completely exposed.
                     // - There are no more pending updates for the element.
                     // - If element is a memento, there are no state requests pending.
                     if (parentDelta != null && parentDelta.getFlags() == IModelDelta.NO_CHANGE) {
                         TreePath deltaPath = fContentProvider.getViewerTreePath(delta);
                         if ( !fContentProvider.areElementUpdatesPending(deltaPath) &&
-                             (!(delta.getElement() instanceof IMemento) || !areMementoUpdatesPending(delta)) ) 
+                             (!(delta.getElement() instanceof IMemento) || !areMementoUpdatesPending(delta)) )
                         {
                             removeDelta(delta);
                             return false;
@@ -1170,7 +1170,7 @@
         fPendingState.accept(state);
         if (state.isComplete()) {
             // notify restore complete if REVEAL was restored also, otherwise
-            // postpone until then. 
+            // postpone until then.
             if (fPendingSetTopItem == null) {
                 if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
                 	DebugUIPlugin.trace("STATE RESTORE COMPELTE: " + fPendingState); //$NON-NLS-1$
@@ -1178,14 +1178,14 @@
 
                 notifyStateUpdate(fPendingState.getElement(), STATE_RESTORE_SEQUENCE_COMPLETE, null);
             }
-            
-            fPendingState = null;            
+
+            fPendingState = null;
         }
     }
 
     /**
      * Restores the pending state in the given delta node.  This method is called
-     * once the state tracker has found the element which matches the element in 
+     * once the state tracker has found the element which matches the element in
      * the given delta node.
      * @param delta the {@link ModelDelta} to restore from
      * @param knowsHasChildren if the content provider has computed its children
@@ -1217,7 +1217,7 @@
                 delta.setFlags(delta.getFlags() & ~IModelDelta.COLLAPSE);
             }
         }
-        
+
         if ((delta.getFlags() & IModelDelta.SELECT) != 0) {
             delta.setFlags(delta.getFlags() & ~IModelDelta.SELECT);
             if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
@@ -1235,9 +1235,9 @@
                         break;
                     }
                 }
-                // Only set the selection if the element is not yet in 
-                // selection.  Otherwise the setSelection() call will 
-                // update selection listeners needlessly. 
+                // Only set the selection if the element is not yet in
+                // selection.  Otherwise the setSelection() call will
+                // update selection listeners needlessly.
                 if (!pathInSelection) {
                     TreePath[] newPaths = new TreePath[currentPaths.length + 1];
                     System.arraycopy(currentPaths, 0, newPaths, 0, currentPaths.length);
@@ -1246,11 +1246,11 @@
                 }
             }
         }
-        
+
         if ((delta.getFlags() & IModelDelta.REVEAL) != 0) {
             delta.setFlags(delta.getFlags() & ~IModelDelta.REVEAL);
-            // Look for the reveal flag in the child deltas.  If 
-            // A child delta has the reveal flag, do not set the 
+            // Look for the reveal flag in the child deltas.  If
+            // A child delta has the reveal flag, do not set the
             // top element yet.
             boolean setTopItem = true;
             IModelDelta[] childDeltas = delta.getChildDeltas();
@@ -1261,18 +1261,18 @@
                     setTopItem = false;
                 }
             }
-            
-            if (setTopItem) { 
+
+            if (setTopItem) {
                 Assert.isTrue(fPendingSetTopItem == null);
-                
+
                 fPendingSetTopItem = new PendingRevealDelta(treePath, delta);
                 viewer.addViewerUpdateListener(fPendingSetTopItem);
-            }            
+            }
         }
 
-        // If we know the child count of the element, look for the reveal 
-        // flag in the child deltas.  For the children with reveal flag start 
-        // a new update.  
+        // If we know the child count of the element, look for the reveal
+        // flag in the child deltas.  For the children with reveal flag start
+        // a new update.
         // If the child delta's index is out of range, strip the reveal flag
         // since it is no longer applicable.
         if (knowsChildCount) {
@@ -1287,81 +1287,81 @@
                             fContentProvider.doUpdateElement(treePath, modelIndex);
                         } else {
                             childDelta.setFlags(childDelta.getFlags() & ~IModelDelta.REVEAL);
-                        }                       
+                        }
                     }
                 }
             }
         }
-        
-        // Some children of this element were just updated.  If all its 
-        // children are now realized, clear out any elements that still 
+
+        // Some children of this element were just updated.  If all its
+        // children are now realized, clear out any elements that still
         // have flags, because they represent elements that were removed.
-        if ((checkChildrenRealized && 
-             !fContentProvider.areChildrenUpdatesPending(treePath) && 
+        if ((checkChildrenRealized &&
+             !fContentProvider.areChildrenUpdatesPending(treePath) &&
              fContentProvider.getViewer().getElementChildrenRealized(treePath)) ||
-            (knowsHasChildren && !viewer.getHasChildren(treePath)) ) 
+            (knowsHasChildren && !viewer.getHasChildren(treePath)) )
         {
             if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
             	DebugUIPlugin.trace("\tRESTORE CONTENT: " + treePath.getLastSegment()); //$NON-NLS-1$
             }
-            delta.setFlags(delta.getFlags() & ~IModelDelta.CONTENT);            
+            delta.setFlags(delta.getFlags() & ~IModelDelta.CONTENT);
         }
     }
 
     /**
-     * Utility that reveals the saved top item in the viewer.  It listens for 
+     * Utility that reveals the saved top item in the viewer.  It listens for
      * all content updates to complete in order to avoid having the desired top item
      * scroll out as view content is filled in.
-     * <br> 
+     * <br>
      * Revealing some elements can trigger expanding some of elements
-     * that have been just revealed. Therefore, we have to check one 
+     * that have been just revealed. Therefore, we have to check one
      * more time after the new triggered updates are completed if we
      * have to set again the top index
      */
     private class PendingRevealDelta implements IViewerUpdateListener {
-        
+
         private final TreePath fPathToReveal;
         private final ModelDelta fRevealDelta;
-        
+
         PendingRevealDelta(TreePath pathToReveal, ModelDelta revealDelta) {
             fPathToReveal = pathToReveal;
             fRevealDelta = revealDelta;
         }
-       
+
         /**
          * Counter that tracks how many time the viewer updates were completed.
          */
         private int fCounter = 0;
         private Object fModelInput = fPendingState.getElement();
-        
+
         @Override
 		public void viewerUpdatesComplete() {
-            Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );        
-            
+            Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() );
+
             IInternalTreeModelViewer viewer = fContentProvider.getViewer();
             if (viewer == null || fPendingSetTopItem != this) {
                 return;
             }
-            
+
             TreePath topPath = viewer.getTopElementPath();
             if (!fPathToReveal.equals(topPath)) {
                 TreePath parentPath = fPathToReveal.getParentPath();
                 int index = viewer.findElementIndex(parentPath, fPathToReveal.getLastSegment());
-                if (index >= 0) { 
+                if (index >= 0) {
                     if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
                     	DebugUIPlugin.trace("\tRESTORE REVEAL: " + fPathToReveal.getLastSegment()); //$NON-NLS-1$
                     }
                     viewer.reveal(parentPath, index);
-                    
+
                 }
             }
-            
+
             fCounter++;
             // in case the pending state was already set to null, we assume that
             // all others elements are restored, so we don't expect that REVEAL will
             // trigger other updates
             if (fCounter > 1 || fPendingState == null) {
-                dispose();                              
+                dispose();
             }
         }
 
@@ -1371,7 +1371,7 @@
 		public void updateStarted(IViewerUpdate update) {}
         @Override
 		public void updateComplete(IViewerUpdate update) {}
-        
+
         /**
          * Returns delta that is used to reveal the item.
          * @return delta to be revealed.
@@ -1381,20 +1381,20 @@
         }
 
         /**
-         * Resets the item 
+         * Resets the item
          */
         public void dispose() {
             // top item is set
             fPendingSetTopItem = null;
-            
+
             IInternalTreeModelViewer viewer = fContentProvider.getViewer();
             if (viewer == null) {
 				return;
 			}
-            
+
             // remove myself as viewer update listener
             viewer.removeViewerUpdateListener(this);
-            
+
             if (fPendingState == null) {
                 if (DebugUIPlugin.DEBUG_STATE_SAVE_RESTORE && DebugUIPlugin.DEBUG_TEST_PRESENTATION_ID(fContentProvider.getPresentationContext())) {
                 	DebugUIPlugin.trace("STATE RESTORE COMPELTE: " + fPendingState); //$NON-NLS-1$
@@ -1404,20 +1404,20 @@
                 checkIfRestoreComplete();
             }
         }
-        
+
     }
-    
+
     /**
      * Restore selection/expansion based on items already in the viewer
      * @param delta the {@link ModelDelta} to restore from
      */
     protected void doInitialRestore(ModelDelta delta) {
-        // Find the reveal delta and mark nodes on its path 
+        // Find the reveal delta and mark nodes on its path
         // to reveal as elements are updated.
         markRevealDelta(delta);
-        
-        // Restore visible items.  
-        // Note (Pawel Piech): the initial list of items is normally 
+
+        // Restore visible items.
+        // Note (Pawel Piech): the initial list of items is normally
         // empty, so in most cases the code below does not do anything.
         // Instead doRestore() is called when various updates complete.
         int count = fContentProvider.getViewer().getChildCount(TreePath.EMPTY);
@@ -1427,11 +1427,11 @@
                 restorePendingStateOnUpdate(new TreePath(new Object[]{data}), i, false, false, false);
             }
         }
-        
+
     }
 
     /**
-     * Finds the delta with the reveal flag, then it walks up this 
+     * Finds the delta with the reveal flag, then it walks up this
      * delta and marks all the parents of it with the reveal flag.
      * These flags are then used by the restore logic to restore
      * and reveal all the nodes leading up to the element that should
@@ -1452,10 +1452,10 @@
                 return revealDelta[0] == null;
             }
         };
-        
+
         rootDelta.accept(visitor);
         if (revealDelta[0] != null) {
-            ModelDelta parentDelta = (ModelDelta)revealDelta[0].getParentDelta(); 
+            ModelDelta parentDelta = (ModelDelta)revealDelta[0].getParentDelta();
             while(parentDelta.getParentDelta() != null) {
                 revealDelta[0] = parentDelta;
                 revealDelta[0].setFlags(revealDelta[0].getFlags() | IModelDelta.REVEAL);
@@ -1467,14 +1467,14 @@
 
     /**
      * Builds a delta with the given root delta for expansion/selection state.
-     * 
+     *
      * @param delta
      *            root delta
      */
     private void buildViewerState(ModelDelta delta) {
         IInternalTreeModelViewer viewer = fContentProvider.getViewer();
         viewer.saveElementState(TreeModelContentProvider.EMPTY_TREE_PATH, delta, IModelDelta.SELECT | IModelDelta.EXPAND);
-        
+
         // Add memento for top item if it is mapped to an element.  The reveal memento
         // is in its own path to avoid requesting unnecessary data when restoring it.
         TreePath topElementPath = viewer.getTopElementPath();
@@ -1495,7 +1495,7 @@
             parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.REVEAL);
         }
     }
-    
+
     /**
      * Cancels any outstanding compare requests for given element and its children.
      * @param path Path of element to cancel updates for.
@@ -1524,9 +1524,9 @@
                 restorePendingStateNode(delta, request.knowsHasChildren(), request.knowChildCount(), request.checkChildrenRealized());
             } else if (request.getModelIndex() != -1) {
                 // Comparison failed.
-                // Check if the delta has a reveal flag, and if its index 
-                // matches the index of the element that it was compared 
-                // against. If this is the case, strip the reveal flag from 
+                // Check if the delta has a reveal flag, and if its index
+                // matches the index of the element that it was compared
+                // against. If this is the case, strip the reveal flag from
                 // the delta as it is most likely not applicable anymore.
                 if ((delta.getFlags() & IModelDelta.REVEAL) != 0 && delta.getIndex() == request.getModelIndex()) {
                     delta.setFlags(delta.getFlags() & ~IModelDelta.REVEAL);
@@ -1583,5 +1583,5 @@
                 });
             }
         }
-    }    
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java
index 5058d4a..2667490 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java
@@ -28,43 +28,43 @@
 public abstract class ViewerUpdateMonitor extends Request implements IViewerUpdate {
 
 	private TreeModelContentProvider fContentProvider;
-	
+
 	/**
 	 * Element's tree path
 	 */
 	private TreePath fElementPath;
-	
+
 	/**
 	 * Element
 	 */
 	private Object fElement;
-	
+
 	/**
 	 * Element content provider
 	 */
 	private IElementContentProvider fElementContentProvider;
-    
+
     /**
      * Whether this request's 'done' method has been called.
      */
     private boolean fDone = false;
-    
+
     /**
      * Whether this request has been started
      */
     private boolean fStarted = false;
-    
+
     /**
      * Viewer input at the time the request was made
      */
     private Object fViewerInput = null;
-    
+
     /**
      * Whether this update has been delegated to another content provider
      * @since 3.4
      */
     private boolean fIsDelegated = false;
-    
+
     /**
      * Presentation context
      */
@@ -72,7 +72,7 @@
 
     /**
      * Constructs an update for the given content provider
-     * 
+     *
      * @param contentProvider content provider
      * @param viewerInput Viewer input for update
      * @param elementPath path to associated model element - empty for root element
@@ -82,7 +82,7 @@
      */
     public ViewerUpdateMonitor(TreeModelContentProvider contentProvider, Object viewerInput, TreePath elementPath, Object element, IElementContentProvider elementContentProvider, IPresentationContext context) {
     	fContext = context;
-		// Bug 380288: Catch and log a race condition where the viewer input is null. 
+		// Bug 380288: Catch and log a race condition where the viewer input is null.
     	if (viewerInput == null) {
     		DebugUIPlugin.log(new NullPointerException("Input to viewer update should not be null")); //$NON-NLS-1$
     	}
@@ -92,34 +92,34 @@
         fElement = element;
         fElementPath = elementPath;
     }
-    
+
     /**
      * Returns the scheduling rule for viewer update job.
-     * 
+     *
      * @return rule or <code>null</code>
      */
     protected ISchedulingRule getUpdateSchedulingRule() {
     	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(getContentProvider());
     }
-    
+
     /**
      * Returns the model content provider this update is being performed for.
-     * 
+     *
      * @return the model content provider this update is being performed for
      */
     protected TreeModelContentProvider getContentProvider() {
         return fContentProvider;
-    }   
-    
+    }
+
     /**
      * Returns the element content provider to use for this request
-     * 
+     *
      * @return element content provider
      */
     protected IElementContentProvider getElementContentProvider() {
     	return fElementContentProvider;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.core.runtime.IProgressMonitor#done()
      */
@@ -133,10 +133,10 @@
 		}
     	scheduleViewerUpdate();
 	}
-    
+
     /**
      * Returns whether this request is done yet.
-     * 
+     *
      * @return True if this update is done.
      */
     protected synchronized boolean isDone() {
@@ -146,13 +146,13 @@
     protected void scheduleViewerUpdate() {
         getContentProvider().scheduleViewerUpdate(this);
     }
-    
+
     /**
 	 * Notification this update has been completed and should now be applied to
 	 * this update's viewer. This method is called in the UI thread.
 	 */
     protected abstract void performUpdate();
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getPresentationContext()
 	 */
@@ -168,7 +168,7 @@
 	public Object getElement() {
 		return fElement;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getElementPath()
 	 */
@@ -176,26 +176,26 @@
 	public TreePath getElementPath() {
 		return fElementPath;
 	}
-	
+
 	/**
 	 * Returns whether this request can coalesce the given request, and performs the
 	 * coalesce if it can.
-	 * 
+	 *
 	 * @param update request to coalesce with this request
 	 * @return whether it worked
 	 */
 	abstract boolean coalesce(ViewerUpdateMonitor update);
 
 	/**
-	 * Returns whether this update or any coalesced updates is for an 
+	 * Returns whether this update or any coalesced updates is for an
 	 * element at the given path.
 	 * @param path Element path to check.
 	 * @return True if this update contains the given update path.
-	 * 
+	 *
      * @since 3.6
 	 */
 	abstract boolean containsUpdate(TreePath path);
-	
+
 	/**
 	 * Starts this request. Subclasses must override startRequest().
 	 */
@@ -212,8 +212,8 @@
 		} else {
 			done();
 		}
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getViewerInput()
 	 */
@@ -226,21 +226,21 @@
 	 * Subclasses must override to initiate specific request types.
 	 */
 	abstract void startRequest();
-	
+
 	/**
 	 * Returns the priority of this request. Subclasses must override. The
 	 * highest priority is 1. Priorities indicate the order that waiting
-	 * requests should be started in (for example, 'hasChildren' before 'update child count'). 
-	 * 
+	 * requests should be started in (for example, 'hasChildren' before 'update child count').
+	 *
 	 * @return priority
 	 */
 	abstract int getPriority();
-	
+
 	/**
 	 * Returns a path used to schedule this request - i.e. based on this path, this
 	 * request will be scheduled to run when no requests are running against the
 	 * same element or a parent of the element denoted by the path.
-	 * 
+	 *
 	 * @return path used to schedule request
 	 */
 	abstract TreePath getSchedulingPath();
@@ -261,7 +261,7 @@
 	public boolean isDelegated() {
 		return fIsDelegated;
 	}
-	
+
 	@Override
 	public boolean equals(Object obj) {
 	    if (obj instanceof ViewerUpdateMonitor) {
@@ -274,27 +274,27 @@
 	public int hashCode() {
 	    return doHashCode();
 	}
-	
+
 	/**
-	 * Checks whether the given update is equal as this.  The update is equal if it's 
+	 * Checks whether the given update is equal as this.  The update is equal if it's
 	 * the same type of update and its updating the same elements.
 	 * @param update Update to compare to.
 	 * @return True if the given update is equals
      * @since 3.8
 	 */
 	abstract protected boolean doEquals(ViewerUpdateMonitor update);
-	
+
 	/**
 	 * Calculates the hash code of the given update using the same parameters as doEquals().
 	 * @return Update's hash code.
      * @since 3.8
 	 */
     abstract protected int doHashCode();
-    
+
     /**
-     * Executes the given runnable in the UI thread.  If method is called in 
+     * Executes the given runnable in the UI thread.  If method is called in
      * UI thread, then runnable is executed immediately, otherwise it's executed
-     * using <code>Display.asyncExec()</code>.  Runnable is not executed if update is 
+     * using <code>Display.asyncExec()</code>.  Runnable is not executed if update is
      * canceled or content provider is disposed.
      * @since 3.8
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
index e8cac9c..3510c9d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
@@ -4,14 +4,14 @@
  *  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
  *     Wind River Systems - refactored on top of VirtualTreeModelViewer
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.model;
 
- 
+
 import java.lang.reflect.InvocationTargetException;
 import java.util.Collections;
 import java.util.HashSet;
@@ -50,29 +50,29 @@
 import org.eclipse.swt.widgets.TreeItem;
 
 public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDelegate {
-	
+
 	private TreeModelViewer fClientViewer;
 	private static final String TAB = "\t"; //$NON-NLS-1$
 	private static final String SEPARATOR = "line.separator"; //$NON-NLS-1$
-	
+
 	/**
 	 * Virtual viewer listener.  It tracks progress of copy and increments
 	 * the progress monitor.
 	 */
 	private class VirtualViewerListener implements ILabelUpdateListener, IVirtualItemListener {
-        
+
 		VirtualTreeModelViewer fVirtualViewer;
 	    IProgressMonitor fProgressMonitor;
         int fSelectionRootDepth;
 		Set<VirtualItem> fItemsToUpdate;
-        
+
         @Override
 		public void labelUpdateStarted(ILabelUpdate update) {}
         @Override
 		public void labelUpdateComplete(ILabelUpdate update) {
         	VirtualItem updatedItem = fVirtualViewer.findItem(update.getElementPath());
         	if (fItemsToUpdate.remove(updatedItem)) {
-                incrementProgress(1);            
+                incrementProgress(1);
         	}
         }
         @Override
@@ -81,18 +81,18 @@
         @Override
 		public void labelUpdatesComplete() {
         }
-        
+
         @Override
 		public void revealed(VirtualItem item) {
         }
-        
+
         @Override
 		public void disposed(VirtualItem item) {
         	if (fItemsToUpdate.remove(item)) {
         		incrementProgress(1);
         	}
         }
-        
+
         private void incrementProgress(int count) {
             IProgressMonitor pm;
             synchronized (VirtualCopyToClipboardActionDelegate.this) {
@@ -102,7 +102,7 @@
                 pm.worked(count);
                 if (fItemsToUpdate.isEmpty()) {
                     pm.done();
-                }            
+                }
             }
         }
     }
@@ -121,7 +121,7 @@
 				adapter.setAction(getActionId(), action);
 			}
 			return super.initialize(action, selection);
-		} 
+		}
 		return false;
 	}
 
@@ -129,7 +129,7 @@
 		return IDebugView.COPY_ACTION;
 	}
 
-	/** 
+	/**
 	 * Appends the representation of the specified element (using the label provider and indent)
 	 * to the buffer.  For elements down to stack frames, children representations
 	 * are append to the buffer as well.
@@ -154,19 +154,19 @@
 	}
 
 	private class ItemsToCopyVirtualItemValidator implements IVirtualItemValidator {
-	    
+
 		Set<VirtualItem> fItemsToCopy = Collections.EMPTY_SET;
 		Set<VirtualItem> fItemsToValidate = Collections.EMPTY_SET;
-	    
+
 	    @Override
 		public boolean isItemVisible(VirtualItem item) {
 	        return fItemsToValidate.contains(item);
 	    }
-	    
+
 	    @Override
 		public void showItem(VirtualItem item) {
 	    }
-	    
+
 		void setItemsToCopy(Set<VirtualItem> itemsToCopy) {
 	        fItemsToCopy = itemsToCopy;
 			fItemsToValidate = new HashSet<VirtualItem>();
@@ -175,19 +175,19 @@
 	                fItemsToValidate.add(itemToCopy);
 	                itemToCopy = itemToCopy.getParent();
 	            }
-	        }	   
+	        }
 	    }
 	}
-	
+
 	private VirtualTreeModelViewer initVirtualViewer(TreeModelViewer clientViewer, VirtualViewerListener listener, ItemsToCopyVirtualItemValidator validator) {
         Object input = clientViewer.getInput();
         ModelDelta stateDelta = new ModelDelta(input, IModelDelta.NO_CHANGE);
         clientViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND);
         VirtualTreeModelViewer virtualViewer = new VirtualTreeModelViewer(
-            clientViewer.getDisplay(), 
-            SWT.VIRTUAL, 
-            clientViewer.getPresentationContext(), 
-            validator); 
+            clientViewer.getDisplay(),
+            SWT.VIRTUAL,
+            clientViewer.getPresentationContext(),
+            validator);
         virtualViewer.setFilters(clientViewer.getFilters());
         virtualViewer.addLabelUpdateListener(listener);
         virtualViewer.getTree().addItemListener(listener);
@@ -198,7 +198,7 @@
             virtualViewer.setVisibleColumns(columns);
         }
         virtualViewer.updateViewer(stateDelta);
-        
+
         // Parse selected items from client viewer and add them to the virtual viewer selection.
         listener.fSelectionRootDepth = Integer.MAX_VALUE;
         TreeItem[] selection = getSelectedItems(clientViewer);
@@ -225,11 +225,11 @@
         virtualViewer.getTree().validate();
         return virtualViewer;
 	}
-	
+
 	protected TreeItem[] getSelectedItems(TreeModelViewer clientViewer) {
 	    return clientViewer.getTree().getSelection();
 	}
-	
+
 	/**
 	 * Do the specific action using the current selection.
 	 * @param action Action that is running.
@@ -239,16 +239,16 @@
 	    if (fClientViewer.getSelection().isEmpty()) {
 	        return;
 	    }
-	    
+
 		final VirtualViewerListener listener = new VirtualViewerListener();
 		ItemsToCopyVirtualItemValidator validator = new ItemsToCopyVirtualItemValidator();
 		VirtualTreeModelViewer virtualViewer = initVirtualViewer(fClientViewer, listener, validator);
 		listener.fVirtualViewer = virtualViewer;
-		
+
 		ProgressMonitorDialog dialog = new TimeTriggeredProgressMonitorDialog(fClientViewer.getControl().getShell(), 500);
 		final IProgressMonitor monitor = dialog.getProgressMonitor();
 		dialog.setCancelable(true);
-				 
+
 		IRunnableWithProgress runnable = new IRunnableWithProgress() {
 			@Override
 			public void run(final IProgressMonitor m) throws InvocationTargetException, InterruptedException {
@@ -256,10 +256,10 @@
 	                listener.fProgressMonitor = m;
 	                listener.fProgressMonitor.beginTask(DebugUIPlugin.removeAccelerators(getAction().getText()), listener.fItemsToUpdate.size());
 	            }
-	            
+
 	            while (!listener.fItemsToUpdate.isEmpty() && !listener.fProgressMonitor.isCanceled()) {
 	                Thread.sleep(1);
-	            } 
+	            }
 	            synchronized(listener) {
 	                listener.fProgressMonitor = null;
 	            }
@@ -277,7 +277,7 @@
 		if (!monitor.isCanceled()) {
 		    copySelectionToClipboard(virtualViewer, validator.fItemsToCopy, listener.fSelectionRootDepth);
 		}
-		
+
         virtualViewer.removeLabelUpdateListener(listener);
         virtualViewer.getTree().removeItemListener(listener);
 		virtualViewer.dispose();
@@ -288,7 +288,7 @@
         writeItemToBuffer (virtualViewer.getTree(), itemsToCopy, buffer, -selectionRootDepth);
         writeBufferToClipboard(buffer);
 	}
-	
+
 	protected void writeItemToBuffer(VirtualItem item, Set<VirtualItem> itemsToCopy, StringBuffer buffer, int indent) {
 	    if (itemsToCopy.contains(item)) {
 	        append(item, buffer, indent);
@@ -305,25 +305,25 @@
 		if (buffer.length() == 0) {
 			return;
 		}
-		
+
         TextTransfer plainTextTransfer = TextTransfer.getInstance();
-        Clipboard clipboard= new Clipboard(fClientViewer.getControl().getDisplay());        
+        Clipboard clipboard= new Clipboard(fClientViewer.getControl().getDisplay());
 		try {
 			clipboard.setContents(
-					new String[]{buffer.toString()}, 
+					new String[]{buffer.toString()},
 					new Transfer[]{plainTextTransfer});
 		} catch (SWTError e){
 			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {
 				throw e;
 			}
-			if (MessageDialog.openQuestion(fClientViewer.getControl().getShell(), ActionMessages.CopyToClipboardActionDelegate_Problem_Copying_to_Clipboard_1, ActionMessages.CopyToClipboardActionDelegate_There_was_a_problem_when_accessing_the_system_clipboard__Retry__2)) { // 
+			if (MessageDialog.openQuestion(fClientViewer.getControl().getShell(), ActionMessages.CopyToClipboardActionDelegate_Problem_Copying_to_Clipboard_1, ActionMessages.CopyToClipboardActionDelegate_There_was_a_problem_when_accessing_the_system_clipboard__Retry__2)) { //
 				writeBufferToClipboard(buffer);
 			}
 		} finally {
 		    clipboard.dispose();
 		}
 	}
-	
+
 	protected TreeModelViewer getViewer() {
 		return fClientViewer;
 	}
@@ -338,7 +338,7 @@
 	protected void doAction(Object element) {
 		//not used
 	}
-	
+
 	@Override
 	protected boolean getEnableStateForSelection(IStructuredSelection selection) {
 	    if (selection.isEmpty()) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
index 0c6208b..1835c30 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualFindAction.java
@@ -54,36 +54,36 @@
 
 /**
  * Action which prompts user with a filtered list selection dialog to find an element in tree.
- * 
+ *
  * @since 3.3
  */
 public class VirtualFindAction extends Action implements IUpdate {
-	
+
     private TreeModelViewer fClientViewer;
-	
+
 	private class VirtualViewerListener implements IViewerUpdateListener, ILabelUpdateListener {
-	    
+
 	    private boolean fViewerUpdatesComplete = false;
 	    private boolean fLabelUpdatesComplete = false;
 	    private IProgressMonitor fProgressMonitor;
-	    private int fRemainingUpdatesCount = 0; 
-	    
+	    private int fRemainingUpdatesCount = 0;
+
         @Override
 		public void labelUpdateStarted(ILabelUpdate update) {}
         @Override
 		public void labelUpdateComplete(ILabelUpdate update) {
-            incrementProgress(1);            
+            incrementProgress(1);
         }
 	    @Override
 		public void labelUpdatesBegin() {
-            fLabelUpdatesComplete = false;	        
+            fLabelUpdatesComplete = false;
 	    }
 	    @Override
 		public void labelUpdatesComplete() {
             fLabelUpdatesComplete = true;
             completeProgress();
 	    }
-	    
+
         @Override
 		public void updateStarted(IViewerUpdate update) {}
 	    @Override
@@ -94,14 +94,14 @@
 	    }
         @Override
 		public void viewerUpdatesBegin() {
-            fViewerUpdatesComplete = false;            
+            fViewerUpdatesComplete = false;
         }
         @Override
 		public void viewerUpdatesComplete() {
             fViewerUpdatesComplete = true;
             completeProgress();
         }
-        
+
         private void completeProgress() {
             IProgressMonitor pm;
             synchronized (this) {
@@ -109,9 +109,9 @@
             }
             if (pm != null && fLabelUpdatesComplete && fViewerUpdatesComplete) {
                 pm.done();
-            }            
+            }
         }
-        
+
         private void incrementProgress(int count) {
             IProgressMonitor pm;
             synchronized (this) {
@@ -120,11 +120,11 @@
             }
             if (pm != null && fLabelUpdatesComplete && fViewerUpdatesComplete) {
                 pm.worked(count);
-            }                        
+            }
         }
 
 	}
-	
+
 	private static class FindLabelProvider extends LabelProvider {
 		private VirtualTreeModelViewer fVirtualViewer;
 		private Map<VirtualItem, String> fTextCache = new HashMap<VirtualItem, String>();
@@ -136,7 +136,7 @@
 		        fTextCache.put(item, fVirtualViewer.getText(item, 0));
 		    }
 		}
-		
+
 		@Override
 		public Image getImage(Object element) {
 		    return fVirtualViewer.getImage((VirtualItem) element, 0);
@@ -150,7 +150,7 @@
 
 	public VirtualFindAction(TreeModelViewer viewer) {
 	    fClientViewer = viewer;
-	    
+
 		setText(ActionMessages.FindAction_0);
 		setId(DebugUIPlugin.getUniqueIdentifier() + ".FindElementAction"); //$NON-NLS-1$
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.FIND_ELEMENT_ACTION);
@@ -164,8 +164,8 @@
         clientViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND);
         listener.fRemainingUpdatesCount = calcUpdatesCount(stateDelta);
         VirtualTreeModelViewer fVirtualViewer = new VirtualTreeModelViewer(
-            clientViewer.getDisplay(), 
-            SWT.NONE, 
+            clientViewer.getDisplay(),
+            SWT.NONE,
             clientViewer.getPresentationContext());
         fVirtualViewer.setFilters(clientViewer.getFilters());
         fVirtualViewer.addViewerUpdateListener(listener);
@@ -179,19 +179,19 @@
         fVirtualViewer.updateViewer(stateDelta);
         return fVirtualViewer;
 	}
-	
+
 	@Override
 	public void run() {
 	    final VirtualViewerListener listener = new VirtualViewerListener();
 	    VirtualTreeModelViewer virtualViewer = initVirtualViewer(fClientViewer, listener);
-	    
+
 		ProgressMonitorDialog dialog = new TimeTriggeredProgressMonitorDialog(fClientViewer.getControl().getShell(), 500);
 		final IProgressMonitor monitor = dialog.getProgressMonitor();
 		dialog.setCancelable(true);
-				 
+
 		try {
 			dialog.run(
-			    true, true, 
+			    true, true,
 			    new IRunnableWithProgress() {
     		        @Override
 					public void run(final IProgressMonitor m) throws InvocationTargetException, InterruptedException {
@@ -199,10 +199,10 @@
     		                listener.fProgressMonitor = m;
     		                listener.fProgressMonitor.beginTask(DebugUIPlugin.removeAccelerators(getText()), listener.fRemainingUpdatesCount);
     		            }
-    		            
+
     		            while ((!listener.fLabelUpdatesComplete || !listener.fViewerUpdatesComplete) && !listener.fProgressMonitor.isCanceled()) {
     		                Thread.sleep(1);
-    		            } 
+    		            }
     		            synchronized(listener) {
     		                listener.fProgressMonitor = null;
     		            }
@@ -214,7 +214,7 @@
 		} catch (InterruptedException e) {
 			return;
 		}
-		
+
 		VirtualItem root = virtualViewer.getTree();
 		if (!monitor.isCanceled()) {
 			List<VirtualItem> list = new ArrayList<VirtualItem>();
@@ -230,7 +230,7 @@
         virtualViewer.removeViewerUpdateListener(listener);
         virtualViewer.dispose();
 	}
-	
+
 	private int calcUpdatesCount(IModelDelta stateDelta) {
 	    final int[] count = new int[] {0};
 	    stateDelta.accept( new IModelDeltaVisitor() {
@@ -243,11 +243,11 @@
                 return false;
             }
         });
-	    
+
 	    // Double it to account for separate element and label update ticks.
 	    return count[0] * 2;
 	}
-	
+
 	private void collectAllChildren(VirtualItem element, List<VirtualItem> collect) {
 		VirtualItem[] children = element.getItems();
 		if (children != null) {
@@ -259,11 +259,11 @@
 			}
 		}
 	}
-	
+
 	protected VirtualItem performFind(List<VirtualItem> items, FindLabelProvider labelProvider) {
 		FindElementDialog dialog = new FindElementDialog(
-		    fClientViewer.getControl().getShell(), 
-		    labelProvider, 
+		    fClientViewer.getControl().getShell(),
+		    labelProvider,
 		    items.toArray());
 		dialog.setTitle(ActionMessages.FindDialog_3);
 		dialog.setMessage(ActionMessages.FindDialog_1);
@@ -275,7 +275,7 @@
 		}
 		return null;
 	}
-	
+
 	protected void setSelectionToClient(VirtualTreeModelViewer virtualViewer, ILabelProvider labelProvider, VirtualItem findItem) {
         virtualViewer.getTree().setSelection(new VirtualItem[] { findItem } );
         ModelDelta stateDelta = new ModelDelta(virtualViewer.getInput(), IModelDelta.NO_CHANGE);
@@ -291,23 +291,23 @@
             }
         });
         fClientViewer.updateViewer(stateDelta);
-        
+
         ISelection selection = fClientViewer.getSelection();
         if (!selection.isEmpty() &&
-            selection instanceof IStructuredSelection && 
+            selection instanceof IStructuredSelection &&
             ((IStructuredSelection)selection).getFirstElement().equals(findItem.getData()) ) {
         } else {
             DebugUIPlugin.errorDialog(
-                fClientViewer.getControl().getShell(), 
+                fClientViewer.getControl().getShell(),
                 ActionMessages.VirtualFindAction_0,
  MessageFormat.format(ActionMessages.VirtualFindAction_1, new Object[] { labelProvider.getText(findItem) }),
                 new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), ActionMessages.VirtualFindAction_1));
-        }	    
+        }
 	}
-	
+
 	@Override
 	public void update() {
 	    setEnabled( fClientViewer.getInput() != null && fClientViewer.getChildCount(TreePath.EMPTY) > 0 );
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckUpdate.java
index 7e31d35..c2d1f79 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckUpdate.java
@@ -12,25 +12,25 @@
 
 /**
  * Label update which allows the label provider to set the checked element state.
- * The label provider can use the presentation context to determine whether the 
- * viewer is showing item check boxes. 
- * 
+ * The label provider can use the presentation context to determine whether the
+ * viewer is showing item check boxes.
+ *
  * @since 3.6
  */
 public interface ICheckUpdate extends ILabelUpdate {
 
     /**
-     * Property of the presentation context which indicates that the viewer 
+     * Property of the presentation context which indicates that the viewer
      * has the check box style.
      */
     public static final String PROP_CHECK = "org.eclipse.debug.ui.check";  //$NON-NLS-1$
-    
+
     /**
      * Sets the check state of the tree node.
-     * 
+     *
      * @param checked Whether element should be checked.
      * @param grayed Whether element should be grayed out.
      */
     public void setChecked(boolean checked, boolean grayed);
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
index 3513b2a..3c3346f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
@@ -16,22 +16,22 @@
 
 /**
  * Optional extension to a model proxy for models that use a check box tree viewer. Provides
- * notification for check state changes in the tree. 
- * 
+ * notification for check state changes in the tree.
+ *
  * @since 3.6
  * @see IModelProxy
  */
 public interface ICheckboxModelProxy {
 
     /**
-     * Notifies the receiver that the given element has had its 
+     * Notifies the receiver that the given element has had its
      * checked state modified in the viewer.
      * <p>
      * This method is called in the UI thread. Clients that execute long running operations or
      * communicate with a potentially unreliable or blocking model should run those operations
      * asynchronously.
      * </p>
-     * 
+     *
      * @param context Presentation context in which the element was updated.
      * @param viewerInput The root element of the viewer where the check
      * selection took place.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
index 5581811..2cc395b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
@@ -14,7 +14,7 @@
 
 /**
  * Request monitor used to collect the number of children for an element in a viewer.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
@@ -22,7 +22,7 @@
 
 	/**
 	 * Sets the number of children for this update.
-	 * 
+	 *
 	 * @param numChildren number of children
 	 */
 	public void setChildCount(int numChildren);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
index 9ee12df..188dad5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
@@ -14,7 +14,7 @@
 /**
  * Context sensitive children update request for a parent and subrange of its
  * children.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
@@ -23,23 +23,23 @@
 	/**
 	 * Returns the offset at which children have been requested for. This is
 	 * the index of the first child being requested.
-	 * 
+	 *
 	 * @return offset at which children have been requested for
 	 */
 	public int getOffset();
-	
+
 	/**
 	 * Returns the number of children requested.
-	 * 
+	 *
 	 * @return number of children requested
 	 */
 	public int getLength();
-	
+
 	/**
 	 * Sets the child for this request's parent at the given offset.
-	 * 
+	 *
 	 * @param child child
 	 * @param offset child offset
 	 */
-	public void setChild(Object child, int offset); 	
+	public void setChild(Object child, int offset);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation.java
index 9917653..b20f6f4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation.java
@@ -16,71 +16,71 @@
  * Defines the possible set of columns presented in a view for a model.
  * A column presentation is customizable per presentation context (view) and
  * view input, and is created by an <code>IColumnPresentationFactory</code>.
- * 
+ *
  * @since 3.2
  */
 public interface IColumnPresentation {
-	
+
 	/**
 	 * Initializes this column presentation to be used in the
 	 * given context.
-	 * 
+	 *
 	 * @param context Presentation context.
 	 */
 	public void init(IPresentationContext context);
-	
+
 	/**
 	 * Disposes this column presentation
 	 */
 	public void dispose();
-	
+
 	/**
 	 * Returns an array of all columns supported by this adapter as
 	 * column identifiers.
-	 * 
+	 *
 	 * @return column identifiers
 	 */
 	public String[] getAvailableColumns();
-	
+
 	/**
 	 * Returns an ordered array of columns that should be displayed initially for
 	 * this presentation as column IDs.
-	 * 
+	 *
 	 * @return initial columns to display
 	 */
 	public String[] getInitialColumns();
-	
+
 	/**
 	 * Returns the column header for the column with the given identifier.
-	 * 
+	 *
 	 * @param id a column identifier included in <code>getColumns()</code>
 	 * @return column header
 	 */
 	public String getHeader(String id);
-	
+
 	/**
 	 * Returns the image for the column with the given identifier, or <code>null</code>
-	 * 
+	 *
 	 * @param id column id
 	 * @return image descriptor or <code>null</code>
 	 */
 	public ImageDescriptor getImageDescriptor(String id);
-	
+
 	/**
 	 * Returns an identifier for this columns presentation.
-	 * The identifier should be unique per kind of column presentation 
+	 * The identifier should be unique per kind of column presentation
 	 * (for example, the column presentation for Java stack frames
 	 * in the variables view). Allows visible column information to be
 	 * persisted by the platform.
-	 * 
+	 *
 	 * @return identifier
 	 */
 	public String getId();
-	
+
 	/**
 	 * Returns whether this column presentation is optional. When a column presentation
 	 * is optional, the user may toggle columns on/off.
-	 * 
+	 *
 	 * @return whether this column presentation is optional
 	 */
 	public boolean isOptional();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation2.java
index d7b59f7..2f96073 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentation2.java
@@ -11,21 +11,21 @@
 package org.eclipse.debug.internal.ui.viewers.model.provisional;

 

 /**

- * Extension to allow column presentation to specify initial column sizes in a 

+ * Extension to allow column presentation to specify initial column sizes in a

  * TreeModelViewer.

- * 

+ *

  * @since 3.7

- * 

+ *

  * @see TreeModelViewer

  */

 public interface IColumnPresentation2 extends IColumnPresentation {

-	

+

 	/**

 	 * Returns the initial column width for the column with the given identifier.

-	 * 

+	 *

 	 * @param id a column identifier included in <code>getAvailableColumns()</code>

 	 * @param treeWidgetWidth tree widget width

-	 * @param visibleColumnIds identifiers of visible columns 

+	 * @param visibleColumnIds identifiers of visible columns

 	 * @return initial column width. Return -1 if this implementation does not decide the width

 	 *         and let the caller to decide the width. The caller may make the initial width

 	 *         be treeWidgetWidth / visibleColumnIds.length

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentationFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentationFactory.java
index 49795c6..d32a2e3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentationFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IColumnPresentationFactory.java
@@ -12,7 +12,7 @@
 
 /**
  * An adapter used to create column presentations.
- * 
+ *
  * @see IColumnPresentation
  * @since 3.2
  */
@@ -21,18 +21,18 @@
 	/**
 	 * Constructs and returns the column presentation for the given presentation
 	 * context (view) and input element, or <code>null</code> of none.
-	 * 
+	 *
 	 * @param context presentation context
 	 * @param element the input element
 	 * @return column presentation or <code>null</code>
 	 */
 	public IColumnPresentation createColumnPresentation(IPresentationContext context, Object element);
-	
+
 	/**
 	 * Returns the type of column presentation to be used for the given context and object
 	 * or <code>null</code> if none. Allows a previous column presentation to be re-used if
 	 * it has not changed type.
-	 * 
+	 *
 	 * @param context presentation context
 	 * @param element input element
 	 * @return column presentation id or <code>null</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
index d6258f4..64a7549 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
@@ -13,16 +13,16 @@
 
 /**
  * Request to compare an element to a previously created memento.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IElementCompareRequest extends IElementMementoRequest {
-	
+
 	/**
 	 * Sets whether this request's memento represents this requests's element.
-	 * 
-	 * @param equal whether the memento represents the element 
+	 *
+	 * @param equal whether the memento represents the element
 	 */
 	public void setEqual(boolean equal);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementContentProvider.java
index d3b6828..126850d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementContentProvider.java
@@ -16,10 +16,10 @@
  * Provides content for an element in a tree model viewer.
  * <p>
  * Note: provider methods are called in the Display thread of the viewer.
- * To avoid blocking the UI, long running operations should be performed 
+ * To avoid blocking the UI, long running operations should be performed
  * asynchronously.
  * </p>
- * 
+ *
  * @since 3.3
  */
 public interface IElementContentProvider {
@@ -27,29 +27,29 @@
 	/**
 	 * Updates the number of children for the given parent elements in the
 	 * specified requests.
-	 * 
+	 *
 	 * @param updates Each update specifies an element to update and provides
-	 *  a store for the result.  The update array is guaranteed to have at least 
+	 *  a store for the result.  The update array is guaranteed to have at least
 	 *  one element, and for all updates to have the same presentation context.
 	 */
 	public void update(IChildrenCountUpdate[] updates);
-	
+
 	/**
 	 * Updates children as requested by the given updates.
-	 * 
+	 *
 	 * @param updates Each update specifies children to update and stores results.
-	 *  The update array is guaranteed to have at least one element, and for  
+	 *  The update array is guaranteed to have at least one element, and for
      *  all updates to have the same presentation context.
-	 */	
+	 */
 	public void update(IChildrenUpdate[] updates);
-	
+
 	/**
 	 * Updates whether elements have children.
-	 * 
+	 *
 	 * @param updates Each update specifies an element to update and provides
-	 *  a store for the result.  The update array is guaranteed to have at least 
+	 *  a store for the result.  The update array is guaranteed to have at least
 	 *  one element, and for all updates to have the same presentation context.
 	 */
 	public void update(IHasChildrenUpdate[] updates);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementEditor.java
index e1890aa..df21831 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementEditor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementEditor.java
@@ -16,15 +16,15 @@
 
 /**
  * Creates context specific cell modifiers and editors for elements.
- *  
+ *
  * @since 3.3
  */
 public interface IElementEditor {
-	
+
 	/**
 	 * Returns a cell editor to use for the specified column and object or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @param context presentation context
 	 * @param columnId column id
 	 * @param element object to be edited
@@ -32,15 +32,15 @@
 	 * @return cell editor or <code>null</code>
 	 */
 	public CellEditor getCellEditor(IPresentationContext context, String columnId, Object element, Composite parent);
-	
+
 	/**
 	 * Returns a cell modifier for the specified element in the given context
 	 * or <code>null</code> if none.
 	 * @param context Presentation context
 	 * @param element Model element.
-	 * 
+	 *
 	 * @return cell modifier or <code>null</code>
 	 */
-	public ICellModifier getCellModifier(IPresentationContext context, Object element);	
+	public ICellModifier getCellModifier(IPresentationContext context, Object element);
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementLabelProvider.java
index 90551a5..c99a3f6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementLabelProvider.java
@@ -16,20 +16,20 @@
  * or implemented directly.
  * <p>
  * Note: provider methods are called in the Display thread of the viewer.
- * To avoid blocking the UI, long running operations should be performed 
+ * To avoid blocking the UI, long running operations should be performed
  * asynchronously.
  * </p>
- * 
+ *
  * @since 3.3
  */
 public interface IElementLabelProvider {
-	
+
 	/**
 	 * Updates the specified labels.
-	 * 
+	 *
 	 * @param updates Each update specifies the element and context for which a label is requested and
-	 *  stores label attributes.  The update array is guaranteed to have at least one element, and for  
-	 *  all updates to have the same presentation context.   
+	 *  stores label attributes.  The update array is guaranteed to have at least one element, and for
+	 *  all updates to have the same presentation context.
 	 */
 	public void update(ILabelUpdate[] updates);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoProvider.java
index 4160721..112a0a2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoProvider.java
@@ -17,30 +17,30 @@
  * in order to support viewer state save/restore.
  * <p>
  * Note: provider methods are called in the Display thread of the viewer.
- * To avoid blocking the UI, long running operations should be performed 
+ * To avoid blocking the UI, long running operations should be performed
  * asynchronously.
  * </p>
  *
  * @since 3.3
  */
 public interface IElementMementoProvider {
-	
+
 	/**
 	 * Creates and stores a mementos for the elements specified in the requests.
 	 * A request should be cancelled if a memento is not supported for the
 	 * specified element or context.
-	 * 
-	 * @param requests Specifies elements and provides memento stores.  
-	 *  The requests array is guaranteed to have at least one element, and for  
+	 *
+	 * @param requests Specifies elements and provides memento stores.
+	 *  The requests array is guaranteed to have at least one element, and for
      *  all requests to have the same presentation context.
 	 */
 	public void encodeElements(IElementMementoRequest[] requests);
-	
+
 	/**
 	 * Determines whether mementos represent associated elements specified in the requests.
-	 * 
-	 * @param requests Specifies each element and previously created memento.  
-	 *  The requests array is guaranteed to have at least one element, and for  
+	 *
+	 * @param requests Specifies each element and previously created memento.
+	 *  The requests array is guaranteed to have at least one element, and for
      *  all requests to have the same presentation context.
 	 */
 	public void compareElements(IElementCompareRequest[] requests);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoRequest.java
index 9e664df..e7e2f4e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementMementoRequest.java
@@ -20,10 +20,10 @@
  * @since 3.3
  */
 public interface IElementMementoRequest extends IViewerUpdate {
-	
+
 	/**
 	 * Returns the memento used to persist the element.
-	 * 
+	 *
 	 * @return memento
 	 */
 	public IMemento getMemento();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
index 85232d9..4071607 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
@@ -13,7 +13,7 @@
 
 /**
  * Context sensitive update request for whether an element has children.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
@@ -21,7 +21,7 @@
 
 	/**
 	 * Sets whether there are children for this update.
-	 * 
+	 *
 	 * @param hasChildren whether there are children
 	 */
 	public void setHasChilren(boolean hasChildren);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
index 451fd2a..8dc771b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
@@ -16,57 +16,57 @@
 
 /**
  * Context sensitive label update request for an element.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface ILabelUpdate extends IViewerUpdate {
-		
+
 	/**
 	 * Returns the id's of the columns which are to be updated
 	 * or <code>null</code> if none.  Note, these columns may be different
-	 * than the visible columns in the view which are returned by 
+	 * than the visible columns in the view which are returned by
 	 * {@link IPresentationContext#getColumns()}.
-	 * 
+	 *
 	 * @return column id's or <code>null</code>
 	 */
 	public String[] getColumnIds();
 
 	/**
 	 * Sets the text of the label of the specified column. Cannot be <code>null</code>.
-	 * 
+	 *
 	 * @param text to set to viewer
 	 * @param columnIndex column index (0 when no columns)
 	 */
     public void setLabel(String text, int columnIndex);
-    
+
     /**
      * Sets the font of the label.
-     * 
+     *
      * @param fontData to set to viewer
      * @param columnIndex column index (0 when no columns)
      */
     public void setFontData(FontData fontData, int columnIndex);
-    
+
     /**
      * Sets the image of the label.
-     * 
+     *
      * @param image to set to viewer
      * @param columnIndex column index (0 when no columns)
      */
     public void setImageDescriptor(ImageDescriptor image, int columnIndex);
-    
+
     /**
      * Sets the foreground color of the label.
-     * 
+     *
      * @param foreground to set to viewer
      * @param columnIndex column index (0 when no columns)
      */
     public void setForeground(RGB foreground, int columnIndex);
-    
+
     /**
      * Sets the background color of the label.
-     * 
+     *
      * @param background to set to viewer
      * @param columnIndex column index (0 when no columns)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelChangedListener.java
index 98470bc..8bae97f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelChangedListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelChangedListener.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
  *******************************************************************************/
@@ -19,10 +19,10 @@
  * @see IModelDelta
  */
 public interface IModelChangedListener {
-	
+
 	/**
 	 * Notification a model has changed as described by the given delta.
-	 * 
+	 *
 	 * @param delta model delta
 	 * @param proxy proxy that created the delta
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDelta.java
index 3fb1dd6..37f9f4c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDelta.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDelta.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
  *******************************************************************************/
@@ -16,14 +16,14 @@
  * Describes a change within a model. A delta is a hierarchical description of changes
  * within a model. It consists of a tree of nodes. Each node references an element
  * from a model describing how that element changed. A model proxy fires model deltas
- * as its model changes in order to update views displaying that model. 
+ * as its model changes in order to update views displaying that model.
  * <p>
  * Each node in a model delta describes the following:
  * <ul>
  * <li>the type of change - for example, whether an element was added, removed,
  *  or whether its content or state changed</li>
  * <li>action to consider - for example, select or reveal the element</li>
- * </ul> 
+ * </ul>
  * </p>
  * <p>
  * @noimplement Clients are not intended to implement this interface directly. Instead, clients
@@ -32,9 +32,9 @@
  * @since 3.2
  */
 public interface IModelDelta {
-	
+
 	// types of changes
-	
+
 	/**
 	 * Indicates an element has not changed, but has children that have
 	 * changed in some way.
@@ -54,16 +54,16 @@
 	 * Indicates an element has been replaced in the model, as described by
 	 * its path. In this case a replacement element is also specified in the
 	 * model delta node.
-	 */	
+	 */
 	public static int REPLACED = 1 << 3;
 	/**
 	 * Indicates an element has been inserted into the model, as described
 	 * by its path and index.
 	 */
 	public static int INSERTED = 1 << 4;
-	
+
 	// how an element changed
-	
+
 	/**
 	 * Indicates an elements content has changed (i.e. its children).
 	 */
@@ -72,9 +72,9 @@
 	 * Indicates an elements state has changed (i.e. label)
 	 */
 	public static int STATE = 1 << 11;
-	
+
 	// Suggested actions
-	
+
 	/**
 	 * Suggests that the element should be expanded, as described by its path.
 	 */
@@ -83,79 +83,79 @@
 	 * Suggests that the element should be selected, as described by its path.
 	 */
 	public static int SELECT = 1 << 21;
-	
+
 	/**
 	 * Suggests that the element should be revealed, as described by its path.
 	 * @since 3.3
 	 */
-	public static int REVEAL = 1 << 24;	
-	
+	public static int REVEAL = 1 << 24;
+
 	/**
 	 * Indicates a model proxy should be installed for the given element
 	 * @since 3.3
 	 */
 	public static int INSTALL = 1 << 22;
-	
+
 	/**
 	 * Indicates a model proxy should be uninstalled for the given element
 	 * @since 3.3
 	 */
 	public static int UNINSTALL = 1 << 23;
-	
+
 	/**
 	 * Suggests that the element should be collapsed, as described by its path.
 	 * @since 3.3
 	 */
-	public static int COLLAPSE = 1 << 25;	
-	
+	public static int COLLAPSE = 1 << 25;
+
 	/**
-	 * Flag indicating that the view layout deltas should override the 
+	 * Flag indicating that the view layout deltas should override the
 	 * model selection policy.  This flag can be used in conjunction with
-	 * SELECT and REVEAL flags. 
-	 * 
+	 * SELECT and REVEAL flags.
+	 *
 	 * @see IModelSelectionPolicy
 =	 * @since 3.5
 	 */
 	public static int FORCE = 1 << 26;
-	
+
 	/**
 	 * Returns the parent of this node, or <code>null</code> if this is
 	 * a root node.
-	 * 
+	 *
 	 * @return parent node or <code>null</code> if this is a root node
 	 */
 	public IModelDelta getParentDelta();
-	
+
 	/**
 	 * Returns the model element this node describes.
-	 * 
+	 *
 	 * @return associated model element
 	 */
 	public Object getElement();
-	
+
 	/**
 	 * Returns flags describing how this element changed. A bit mask of the
 	 * change type constants described in {@link IModelDelta}.
-	 * 
+	 *
 	 * @return change flags
 	 */
 	public int getFlags();
-	
+
 	/**
 	 * Returns nodes describing changed children, possibly an empty collection.
-	 *  
+	 *
 	 * @return changed children, possibly empty
 	 */
 	public IModelDelta[] getChildDeltas();
-	
+
 	/**
 	 * When a node indicates the <code>IModelDelta.REPLACED</code> flag, this method
 	 * returns the replacement element, otherwise <code>null</code>.
-	 *  
+	 *
 	 * @return replacement element or <code>null</code>
 	 */
 	public Object getReplacementElement();
-	
+
 	/**
 	 * Returns this node's index in its parents child collection or -1 if unknown.
 	 * This attribute is required when expanding or selecting an element.
@@ -167,7 +167,7 @@
 	 * @return insertion index or -1
 	 */
 	public int getIndex();
-	
+
 	/**
 	 * Returns the total number of children this element has, or -1 if unknown. Note
 	 * that this number may be greater than the number of child delta nodes for this
@@ -175,17 +175,17 @@
 	 * <p>
 	 * This attribute is required when expanding or selecting an element.
 	 * </p>
-	 * 
+	 *
 	 * @return total number of child elements this element has
 	 */
 	public int getChildCount();
-	
+
 	/**
 	 * Accepts the given visitor.
-	 * 
+	 *
 	 * @param visitor delta visitor to accept
 	 * @since 3.3
 	 */
 	public void accept(IModelDeltaVisitor visitor);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDeltaVisitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDeltaVisitor.java
index 1d41546..252ba71 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDeltaVisitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelDeltaVisitor.java
@@ -13,14 +13,14 @@
 
 /**
  * An objects that visits model deltas.
- * 
+ *
  * @since 3.3
  */
 public interface IModelDeltaVisitor {
-	
-	/** 
+
+	/**
 	 * Visits the given model delta.
-	 * 
+	 *
 	 * @param delta the delta to visit
 	 * @param depth depth in the delta where 0 == root node
 	 * @return <code>true</code> if the model delta's children should
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
index adabf4e..fd2fabc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
@@ -23,14 +23,14 @@
  * is then installed into the viewer and the viewer listens to model deltas
  * in order to update that element. Generally, a model proxy factory creates
  * model proxies for root elements in a model, and then represents all elements
- * within that model for a specific presentation context. 
+ * within that model for a specific presentation context.
  * </p>
  * <p>
  * Note: provider methods are called in the Display thread of the viewer.
- * To avoid blocking the UI, long running operations should be performed 
+ * To avoid blocking the UI, long running operations should be performed
  * asynchronously.
  * </p>
- * 
+ *
  * @noimplement Clients are not intended to implement this interface directly. Instead, clients
  * creating and firing model deltas should create instances of {@link AbstractModelProxy}.
  * @see IModelDelta
@@ -41,7 +41,7 @@
  * @since 3.2
  */
 public interface IModelProxy {
-    
+
 	/**
 	 * Notification this model proxy has been created and is about to be installed
 	 * in the following context. This is the first method called after a model proxy
@@ -54,13 +54,13 @@
 	 * @see IModelProxy2#initialize(ITreeModelViewer)
 	 */
 	public void init(IPresentationContext context);
-	
-	/** 
-	 * Notification this model proxy has been installed in the specified 
+
+	/**
+	 * Notification this model proxy has been installed in the specified
 	 * viewer. This indicates that the model proxy has been created and registered
-	 * model change listeners are ready to process deltas.  This method is called 
-	 * by the {@link AbstractModelProxy} base class using a job and NOT in viewers 
-	 * display thread. It allows the client to initialize the proxy without 
+	 * model change listeners are ready to process deltas.  This method is called
+	 * by the {@link AbstractModelProxy} base class using a job and NOT in viewers
+	 * display thread. It allows the client to initialize the proxy without
 	 * blocking the UI. The default implementaiton is a no-op.
 	 * <p>
 	 * This method is called by the asynchronous viewer framework and should not
@@ -71,7 +71,7 @@
 	 * @since 3.3
 	 */
 	public void installed(Viewer viewer);
-	
+
 	/**
 	 * Disposes this model proxy.
 	 * <p>
@@ -80,27 +80,27 @@
 	 * </p>
 	 */
 	public void dispose();
-	
+
 	/**
 	 * Registers the given listener for model delta notification.
-	 * 
+	 *
 	 * @param listener model delta listener
 	 */
 	public void addModelChangedListener(IModelChangedListener listener);
-	
+
 	/**
 	 * Unregisters the given listener from model delta notification.
-	 * 
+	 *
 	 * @param listener model delta listener
 	 */
 	public void removeModelChangedListener(IModelChangedListener listener);
-	
+
 	/**
 	 * Returns whether this proxy has been disposed.
-	 * 
+	 *
 	 * @return whether this proxy has been disposed
 	 * @since 3.3
 	 */
 	public boolean isDisposed();
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
index 7187edc..dc779cb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -16,26 +16,26 @@
 /**
  * Extension to the model proxy interface which allows the proxy to be initialized
  * on the viewer's Display thread
- * 
+ *
  * @noimplement Clients are not intended to implement this interface directly. Instead, clients
  * creating and firing model deltas should create instances of {@link AbstractModelProxy}.
  * @since 3.8
  */
 public interface IModelProxy2 extends IModelProxy {
-    
+
     /**
-     * Initialize model proxy with given tree model viewer.  This method is 
-     * called on the viewer's Display thread and is guaranteed to be called 
-     * before the dispose() method is called on the same proxy.  The default 
-     * implementation of this method calls {@link #init(IPresentationContext)} 
-     * and {@link #installed(Viewer)} asynchornously and not in the Display 
+     * Initialize model proxy with given tree model viewer.  This method is
+     * called on the viewer's Display thread and is guaranteed to be called
+     * before the dispose() method is called on the same proxy.  The default
+     * implementation of this method calls {@link #init(IPresentationContext)}
+     * and {@link #installed(Viewer)} asynchornously and not in the Display
      * thread.
      * <p>
-     * This method is called by the asynchronous viewer framework and should 
+     * This method is called by the asynchronous viewer framework and should
      * not be called by clients.
      * </p>
      * @param viewer Viewer that is installing this model proxy.
-     * 
+     *
      */
     public void initialize(ITreeModelViewer viewer);
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory.java
index e46847f..e971580 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory.java
@@ -11,7 +11,7 @@
 package org.eclipse.debug.internal.ui.viewers.model.provisional;
 
 /**
- * A model proxy factory creates model proxies for elements based on 
+ * A model proxy factory creates model proxies for elements based on
  * specific presentation contexts. A model proxy factory is provided for
  * a model element by registering a model proxy factory adapter for
  * an element.
@@ -26,7 +26,7 @@
 	/**
 	 * Creates and returns a model proxy for the given element in the specified
 	 * context or <code>null</code> if none.
-	 * 
+	 *
 	 * @param element model element to create a model proxy for
 	 * @param context presentation context
 	 * @return model proxy or <code>null</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory2.java
index 2bbd811..177fcd9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxyFactory2.java
@@ -13,32 +13,32 @@
 import org.eclipse.jface.viewers.TreePath;

 

 /**

- * A model proxy factory creates model proxies for elements based on 

+ * A model proxy factory creates model proxies for elements based on

  * specific presentation contexts. A model proxy factory is provided for

  * a model element by registering a model proxy factory adapter for

  * an element.

  * <p>

- * This interface is an alternative to the {@link IModelProxyFactory} 

- * interface. Unlike its predecessor <code>IModelProxyFactory2</code> allows 

- * the full path to the tree element to be specified when creating an 

- * <code>IModelProxy<code> instance.  Using the full patch allows models to 

- * provide proper model deltas even if the root element of this proxy is at 

+ * This interface is an alternative to the {@link IModelProxyFactory}

+ * interface. Unlike its predecessor <code>IModelProxyFactory2</code> allows

+ * the full path to the tree element to be specified when creating an

+ * <code>IModelProxy<code> instance.  Using the full patch allows models to

+ * provide proper model deltas even if the root element of this proxy is at

  * variable or unknown location in the viewer.

- * </p> 

+ * </p>

  * <p>

  * Clients may implement this interface.

  * </p>

  * @see IModelProxyFactory

  * @see IModelProxy

  * @see IModelDelta

- * 

+ *

  * @since 3.6

  */

 public interface IModelProxyFactory2 {

 	/**

 	 * Creates and returns a model proxy for the given element in the specified

 	 * context or <code>null</code> if none.

-	 * 

+	 *

 	 * @param input viewer input context

 	 * @param path to model element to create a model proxy for

 	 * @param context presentation context

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicy.java
index f672ade..0174054 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicy.java
@@ -27,27 +27,27 @@
  * will then be asked to create a model selection policy adapter.
  * The adapter represents selections from an instance of a model.
  * </p>
- * 
+ *
  * @see IModelSelectionPolicyFactory
  * @since 3.2
  */
 public interface IModelSelectionPolicy {
-	
+
 	/**
 	 * Returns whether the given selection is contained in this model.
-	 * 
+	 *
 	 * @param selection Selection to check
 	 * @param context Presentation context of the viewer.
 	 * @return true if selection is contained in model.
 	 */
 	public boolean contains(ISelection selection, IPresentationContext context);
-	
+
 	/**
 	 * Returns whether the candidate selection overrides the
 	 * existing selection. The policy is only asked about selections
 	 * that it contains.
-	 * 
-	 * @param existing Existing selection to check. 
+	 *
+	 * @param existing Existing selection to check.
 	 * @param candidate New proposed selection.
 	 * @param context Presentation context of viewer.
 	 * @return true if candidate selection should be set to viewer
@@ -57,13 +57,13 @@
 	/**
 	 * Returns whether the given selection should be maintained in the
 	 * face of a selection attempt from a different model.
-	 *  
+	 *
 	 * @param selection selection to test
 	 * @param context Presentation context of viewer.
 	 * @return true if selection is sticky
 	 */
 	public boolean isSticky(ISelection selection, IPresentationContext context);
-	
+
 	/**
 	 * Replaces an invalid selection.
 	 * <p>
@@ -75,7 +75,7 @@
 	 * elements removed). Model selection policies may implement a different strategy
 	 * for picking a new selection when the old selection becomes invalid.
 	 * </p>
-	 * 
+	 *
 	 * @param invalidSelection
 	 *            the selection before the viewer was updated
 	 * @param newSelection
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicyFactory.java
index d318f8e..34b4e75 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelSelectionPolicyFactory.java
@@ -12,7 +12,7 @@
 
 
 /**
- * A model selection policy factory creates a model selection policy for an element based on 
+ * A model selection policy factory creates a model selection policy for an element based on
  * a specific presentation context. A model selection policy factory is provided for
  * a model element by registering a model selection policy factory adapter for
  * an element.
@@ -26,7 +26,7 @@
 	/**
 	 * Creates and returns a model selection policy for the given element in the specified
 	 * context or <code>null</code> if none.
-	 * 
+	 *
 	 * @param element model element to create a selection policy for
 	 * @param context presentation context
 	 * @return model selection policy or <code>null</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IPresentationContext.java
index 12d0b1b..7e542cf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IPresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IPresentationContext.java
@@ -33,99 +33,99 @@
 
 	/**
 	 * Property indicating whether the presentation context is disposed.
-	 * It is set to <code>Boolean.TRUE</code> after the presentation context 
-	 * is disposed. This property may be <code>null</code>, which indicates 
+	 * It is set to <code>Boolean.TRUE</code> after the presentation context
+	 * is disposed. This property may be <code>null</code>, which indicates
 	 * that context is not yet disposed.
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	public static final String PROPERTY_DISPOSED = "PROPERTY_DISPOSED"; //$NON-NLS-1$
-	
+
     /**
      * Returns identifiers of the visible columns in the order
      * labels should be provided, or <code>null</code> if columns
      * are not being displayed. Label providers use this
-     * information. 
-     * 
+     * information.
+     *
      * @return visible column identifiers or <code>null</code>
      * @see IColumnPresentation
      */
     public String[] getColumns();
-    
+
     /**
      * Registers the given listener for property change notification.
-     * 
+     *
      * @param listener property listener
      */
     public void addPropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Unregisters the given listener from property change notification.
-     * 
+     *
      * @param listener property listener.
      */
     public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Returns the id of this presentation context. Usually this is the id of
      * the associated part. However, when no part is associated with this context,
      * the id may exist on its own. Allows for a context that is not tied to a part.
-     * 
+     *
      * @return id
      * @since 3.3
      */
     public String getId();
-    
+
     /**
      * Sets the specified property and notifies listeners of changes.
-     * 
+     *
      * @param property property name
      * @param value property value
      */
     public void setProperty(String property, Object value);
-    
+
     /**
      * Returns the property with the specified name or <code>null</code>
      * if none.
-     * 
+     *
      * @param property property name
      * @return property value or <code>null</code>
      */
     public Object getProperty(String property);
-    
+
     /**
      * Disposes this presentation context. Called by the framework
      * when the associated viewer is disposed.
      */
     public void dispose();
-    
+
     /**
      * Returns all keys of properties currently set in this context,
      * possibly an empty collection
-     * 
+     *
      * @return keys of all current properties
      * @since 3.4
      */
     public String[] getProperties();
-    
+
     /**
      * Returns the part that this presentation context is associated with.
-     * May return <code>null</code> if the presentation is not associated 
+     * May return <code>null</code> if the presentation is not associated
      * with a part.
-     *  
-     * @return IWorkbenchPart or <code>null</code> 
+     *
+     * @return IWorkbenchPart or <code>null</code>
      * @since 3.6
      */
     public IWorkbenchPart getPart();
-    
+
     /**
      * Returns the window that this presentation context is associated with.
-     * May return <code>null</code> if the presentation is not associated 
+     * May return <code>null</code> if the presentation is not associated
      * with a window.
-     *  
-     * @return IWorkbenchWindow or <code>null</code> 
+     *
+     * @return IWorkbenchWindow or <code>null</code>
      * @since 3.6
      */
     public IWorkbenchWindow getWindow();
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStateUpdateListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStateUpdateListener.java
index 49830e0..fa328c4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStateUpdateListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStateUpdateListener.java
@@ -13,37 +13,37 @@
 
 /**
  * Listener for viewer state updates.
- * 
+ *
  * @since 3.6
  */
 public interface IStateUpdateListener {
 
 	/**
 	 * Notification that a sequence of state saving updates are starting.
-	 * 
+	 *
 	 * @param input Input object for the state operation.
 	 */
 	public void stateSaveUpdatesBegin(Object input);
-	
+
 	/**
 	 * Notification that viewer updates are complete. Corresponds to
 	 * a <code>viewerUpdatesBegin()</code> notification.
-	 * 
+	 *
      * @param input Input object for the state operation.
 	 */
 	public void stateSaveUpdatesComplete(Object input);
 
 	/**
      * Notification that a sequence of viewer updates are starting.
-     * 
+     *
      * @param input Input object for the state operation.
      */
     public void stateRestoreUpdatesBegin(Object input);
-    
+
     /**
      * Notification that viewer updates are complete. Corresponds to
      * a <code>viewerUpdatesBegin()</code> notification.
-     * 
+     *
      * @param input Input object for the state operation.
      */
     public void stateRestoreUpdatesComplete(Object input);
@@ -51,16 +51,16 @@
 	/**
 	 * Notification that a specific update has started within
 	 * a sequence of updates.
-	 * 
+	 *
      * @param input Input object for the state operation.
 	 * @param update update
 	 */
 	public void stateUpdateStarted(Object input, IViewerUpdate update);
-	
+
 	/**
 	 * Notification that a specific update has completed within a
 	 * sequence of updates.
-	 * 
+	 *
      * @param input Input object for the state operation.
 	 * @param update update
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStatusMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStatusMonitor.java
index 0ba8af6..4703e1e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStatusMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IStatusMonitor.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -16,7 +16,7 @@
 /**
  * A progress monitor that accepts a status. This common base interface is used
  * to make non-blocking requests on models that may reply asynchronously. A request
- * may be cancelled by the caller or by the client fulfilling the request (by 
+ * may be cancelled by the caller or by the client fulfilling the request (by
  * calling <code>setCancelled(true)</code> on the request). Failure and error
  * states are reported by setting a status on a monitor. When a request
  * is complete, the client fulfilling the request must call <code>done()</code> on the
@@ -43,14 +43,14 @@
      * Sets the status for a request, possibly <code>null</code>.
      * When a request fails, the status indicates why the request failed.
      * A <code>null</code> status is considered to be successful.
-     * 
+     *
      * @param status request status
      */
     public void setStatus(IStatus status);
-    
+
     /**
      * Returns the status of this request, or <code>null</code>.
-     * 
+     *
      * @return request status - <code>null</code> is equivalent
      *  to an OK status
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ITreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ITreeModelViewer.java
index 1b1f38a..39b1db2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ITreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ITreeModelViewer.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - ongoing bug fixes and enhancements
@@ -21,7 +21,7 @@
 
 /**
  * Interface of an tree model viewer.  It declares the common methods for the
- * JFace-based {@link TreeModelViewer} and the UI-less 
+ * JFace-based {@link TreeModelViewer} and the UI-less
  * {@link VirtualTreeModelViewer}.
  *
  * @since 3.8
@@ -41,14 +41,14 @@
      * Returns the Display object that this viewer is in.  The
      * display object can be used by clients to access the display thread
      * to call the viewer methods.
-     * 
+     *
      * @return The display.
      */
     public Display getDisplay();
 
     /**
      * Returns this viewer's presentation context.
-     * 
+     *
      * @return presentation context
      */
     public IPresentationContext getPresentationContext();
@@ -57,23 +57,23 @@
      * Returns the current input of this viewer, or <code>null</code>
      * if none. The viewer's input provides the "model" for the viewer's
      * content.
-     * 
+     *
      * @return Input object
      */
     public Object getInput();
 
     /**
-     * Sets the input of this viewer.  Setting the input resets the 
+     * Sets the input of this viewer.  Setting the input resets the
      * viewer's contents and triggers an update starting at the input
      * element.
-     * 
+     *
      * @param object Input element, or <code>null</code> if none.
      */
     public void setInput(Object object);
-    
+
     /**
      * Returns the current selection in viewer.
-     * 
+     *
      * @return selection object
      */
     @Override
@@ -83,20 +83,20 @@
      * Sets a new selection for this viewer and optionally makes it visible.
      * The selection is not set if the model selection policy overrides the
      * attempt to set the selection.
-     * 
+     *
      * @param selection the new selection
      * @param reveal <code>true</code> if the selection is to be made
      *   visible, and <code>false</code> otherwise
-     * @param force <code>true</code> if the selection should override the 
+     * @param force <code>true</code> if the selection should override the
      *   model selection policy
      */
     public void setSelection(ISelection selection, boolean reveal, boolean force);
-    
+
     /**
      * Attempts to set the selection for this viewer and optionally makes it visible.
      * The selection is not set if the model selection policy overrides the
      * attempt to set the selection.
-     * 
+     *
      * @param selection the new selection
      * @param reveal whether to make the selection visible after successfully setting
      *  the selection
@@ -112,7 +112,7 @@
      * @return non-negative level, or <code>ALL_LEVELS</code> if all levels of
      *         the tree are expanded automatically
      * @see #setAutoExpandLevel
-     */    
+     */
     public int getAutoExpandLevel();
 
     /**
@@ -128,115 +128,115 @@
      * The value <code>ALL_LEVELS</code> means that all subtrees should be
      * expanded.
      * </p>
-     * 
+     *
      * @param level
      *            non-negative level, or <code>ALL_LEVELS</code> to expand all
      *            levels of the tree
      */
     public void setAutoExpandLevel(int level);
-        
+
     /**
-     * Returns the label data for the given element and for the given column, 
-     * Returns <code>null</code> if the given element is not found or is not 
-     * materialized in the virtual viewer.  Clients may listen to label update 
+     * Returns the label data for the given element and for the given column,
+     * Returns <code>null</code> if the given element is not found or is not
+     * materialized in the virtual viewer.  Clients may listen to label update
      * events to be notified when element labels are updated.
-     * 
+     *
      * @param path Path of the element.
      * @param columnId ID of the column for which to return the label data.
-     * @return Label object containing the label information.  Can be 
-     * <code>null</code> if the given element is not found or is not 
+     * @return Label object containing the label information.  Can be
+     * <code>null</code> if the given element is not found or is not
      * materialized in the virtual viewer.
      */
     public ViewerLabel getElementLabel(TreePath path, String columnId);
-    
+
     /**
      * Registers the specified listener for view update notifications.
-     * 
+     *
      * @param listener Listener to add
      */
     public void addViewerUpdateListener(IViewerUpdateListener listener);
-    
+
     /**
      * Removes the specified listener from update notifications.
-     * 
+     *
      * @param listener Listener to remove
      */
     public void removeViewerUpdateListener(IViewerUpdateListener listener);
-    
+
     /**
      * Registers the specified listener for state update notifications.
-     * 
+     *
      * @param listener Listener to add
      */
     public void addStateUpdateListener(IStateUpdateListener listener);
-    
+
     /**
      * Removes the specified listener from state update notifications.
-     * 
+     *
      * @param listener Listener to remove
      */
     public void removeStateUpdateListener(IStateUpdateListener listener);
-    
+
     /**
      * Registers the specified listener for view label update notifications.
-     * 
+     *
      * @param listener Listener to add
      */
     public void addLabelUpdateListener(ILabelUpdateListener listener);
-    
+
     /**
      * Removes the specified listener from view label update notifications.
-     * 
+     *
      * @param listener Listener to remove
      */
     public void removeLabelUpdateListener(ILabelUpdateListener listener);
-    
+
     /**
      * Registers the given listener for model delta notification.
      * This listener is called immediately after the viewer processes
      * the delta.
-     * 
+     *
      * @param listener Listener to add
      */
     public void addModelChangedListener(IModelChangedListener listener);
-    
+
     /**
      * Removes the given listener from model delta notification.
-     * 
+     *
      * @param listener Listener to remove
      */
     public void removeModelChangedListener(IModelChangedListener listener);
-    
+
     /**
      * Writes state information into a delta for the sub-tree at the given
-     * path.  It adds delta nodes and IModelDelta.EXPAND and IModelDelta.SELECT 
+     * path.  It adds delta nodes and IModelDelta.EXPAND and IModelDelta.SELECT
      * as it parses the sub-tree.
-     * 
+     *
      * @param path Path where to start saving the state.
      * @param delta The delta where the state is to be saved.
-     * @param flagsToSave The flags to preserve during the state save.  The 
-     * supported flags are <code>IModelDelta.SELECT</code>, 
+     * @param flagsToSave The flags to preserve during the state save.  The
+     * supported flags are <code>IModelDelta.SELECT</code>,
      * <code>IModelDelta.EXPAND</code>, <code>IModelDelta.COLLAPSE</code>.
-     * @return Returns whether the state was saved for the given path.  Will 
-     * return <code>false</code> if an element at the given path cannot 
+     * @return Returns whether the state was saved for the given path.  Will
+     * return <code>false</code> if an element at the given path cannot
      * be found.
      */
     public boolean saveElementState(TreePath path, ModelDelta delta, int flagsToSave);
-    
+
     /**
      * Causes the viewer to process the given delta as if it came from a
      * model proxy.  This method is intended to be used to restore state
      * saved using {@link #saveElementState(TreePath, ModelDelta, int)}.
-     * 
+     *
      * @param delta Delta to process.
      */
     public void updateViewer(IModelDelta delta);
-    
+
     /**
-     * Triggers an update of the given element and its children.  If 
-     * multiple instances of the given element are found in the tree, 
+     * Triggers an update of the given element and its children.  If
+     * multiple instances of the given element are found in the tree,
      * they will all be updated.
-     * 
+     *
      * @param element Element to update.
      */
     public void refresh(Object element);
@@ -249,7 +249,7 @@
     /**
      * Returns the paths at which the given element is found realized in viewer
      * or an empty array if not found.
-     * 
+     *
      * @param element Element to find.
      * @return Array of paths for given element.
      */
@@ -257,21 +257,21 @@
 
     /**
      * Returns filters currently configured in viewer.
-     * 
+     *
      * @return filter array in viewer.
      */
     public ViewerFilter[] getFilters();
-    
+
     /**
      * Add a new filter to use in viewer.
-     * 
+     *
      * @param filter Filter to add.
      */
     public void addFilter(ViewerFilter filter);
-    
+
     /**
      * Sets viewer filters to the filters in array.
-     * 
+     *
      * @param filters New filter array to use.
      */
 	public void setFilters(ViewerFilter... filters);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewActionProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewActionProvider.java
index b493d2a..0c87ff8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewActionProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewActionProvider.java
@@ -14,21 +14,21 @@
 
 
 /**
- * Action provider allows a debug model to override the standard actions in the 
- * variables view.  The client should return this provider as an adapter to the 
+ * Action provider allows a debug model to override the standard actions in the
+ * variables view.  The client should return this provider as an adapter to the
  * input element of the variables view.
- * 
+ *
  * @since 3.8
  */
 public interface IViewActionProvider {
 	/**
 	 * Get action for a given presentation context and action id.  Implementation
 	 * should return an action implementation appropriate for given view and action ID.
-	 * The implementation may register itself as listener to presentation context 
+	 * The implementation may register itself as listener to presentation context
 	 * to determine when to dispose the returned action.
 	 * @param presentationContext presentation context
 	 * @param actionID action id
-	 * @return action or null 
+	 * @return action or null
 	 */
 	public IAction getAction(IPresentationContext presentationContext, String actionID);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputProvider.java
index dca2730..f691d28 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputProvider.java
@@ -24,15 +24,15 @@
  * @see ViewerInputService
  */
 public interface IViewerInputProvider {
-	
+
 	/**
 	 * Asynchronously determine the viewer input to the based on the active
 	 * debug context and presentation context.
-	 * 
-	 * @param update provides details about the request and stores the newly 
+	 *
+	 * @param update provides details about the request and stores the newly
 	 * 	computed viewer input
 	 */
 	public void update(IViewerInputUpdate update);
-	 
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputRequestor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputRequestor.java
index 1ac2603..9ac314e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputRequestor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputRequestor.java
@@ -11,20 +11,20 @@
 package org.eclipse.debug.internal.ui.viewers.model.provisional;
 
 /**
- * Clients using a {@link ViewerInputService} implement this interface to be notified of 
+ * Clients using a {@link ViewerInputService} implement this interface to be notified of
  * the computed viewer input.
  * <p>
  * Clients may implement this interface.
  * </p>
  * @see ViewerInputService
- * @since 3.4 
+ * @since 3.4
  */
 public interface IViewerInputRequestor {
 
 	/**
 	 * Notification that a viewer input update request is complete. The given update
 	 * contains the result of the request, which may have been canceled.
-	 * 
+	 *
 	 * @param update viewer input update request
 	 */
 	public void viewerInputComplete(IViewerInputUpdate update);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputUpdate.java
index d56225e..3443b28 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerInputUpdate.java
@@ -27,15 +27,15 @@
 	 * Sets the input to use for this request's presentation context, or <code>null</code>
 	 * if none (empty viewer). The source used to derive the viewer input is available
 	 * from this request's <code>getElement()</code> method.
-	 *  
+	 *
 	 * @param element viewer input for this request's presentation context, possibly <code>null</code>
 	 */
 	public void setInputElement(Object element);
-	
+
 	/**
 	 * Returns the computed viewer input or <code>null</code> if none. The return value of this method
 	 * only contains valid data if this request is complete (i.e. <code>done()</code> has been called).
-	 * 
+	 *
 	 * @return viewer input or <code>null</code>
 	 */
 	public Object getInputElement();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
index baa6971..0df2ce6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
@@ -15,7 +15,7 @@
 
 /**
  * A context sensitive viewer update request.
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
@@ -23,30 +23,30 @@
 
 	/**
 	 * Returns the context this update was requested in.
-	 * 
+	 *
 	 * @return context this update was requested in
 	 */
 	public IPresentationContext getPresentationContext();
-    
+
     /**
      * Returns the model element associated with this request.
-     * 
+     *
      * @return associated model element
      */
     public Object getElement();
-    
+
     /**
      * Returns the viewer tree path to the model element associated with this
      * request. An empty path indicates a root element.
-     * 
+     *
      * @return tree path, possibly empty
      */
     public TreePath getElementPath();
-    
+
     /**
      * Returns the element that was the viewer input at the time the
      * request was made, possibly <code>null</code>.
-     * 
+     *
      * @return viewer input element, possibly <code>null</code>
      * @since 3.4
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdateListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdateListener.java
index c8b9d92..647f2ea 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdateListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdateListener.java
@@ -13,7 +13,7 @@
 
 /**
  * Notified of viewer updates.
- * 
+ *
  * @since 3.3
  */
 public interface IViewerUpdateListener {
@@ -22,25 +22,25 @@
 	 * Notification that a sequence of viewer updates are starting.
 	 */
 	public void viewerUpdatesBegin();
-	
+
 	/**
 	 * Notification that viewer updates are complete. Corresponds to
 	 * a <code>viewerUpdatesBegin()</code> notification.
 	 */
 	public void viewerUpdatesComplete();
-	
+
 	/**
 	 * Notification that a specific update has started within
 	 * a sequence of updates.
-	 * 
+	 *
 	 * @param update update
 	 */
 	public void updateStarted(IViewerUpdate update);
-	
+
 	/**
 	 * Notification that a specific update has completed within a
 	 * sequence of updates.
-	 * 
+	 *
 	 * @param update update
 	 */
 	public void updateComplete(IViewerUpdate update);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
index f2f52d0..67ffdb8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
@@ -11,27 +11,27 @@
 package org.eclipse.debug.internal.ui.viewers.model.provisional;
 
 /**
- * Interface for listeners that need to be notified when items 
+ * Interface for listeners that need to be notified when items
  * are disposed or revealed.  It  should be implemented by the viewer.
- * 
+ *
  * @see VirtualTreeModelViewer
  * @since 3.8
  */
 public interface IVirtualItemListener {
-    
+
     /**
-     * Called when the item has been shown in the virtual viewer's 
+     * Called when the item has been shown in the virtual viewer's
      * view-port.  This indicates to the viewer that it should check
      * the item's status and request needed data.
-     * 
+     *
      * @param item The item that was revealed.
      */
     public void revealed(VirtualItem item);
-    
+
     /**
      * Called when an item is disposed.  It tells the viewer to
      * clean up any remaining mappings and cached data of this item.
-     * 
+     *
      * @param item The itam that was disposed.
      */
     public void disposed(VirtualItem item);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
index b460c48..2ed6682 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -13,25 +13,25 @@
 
 /**
  * A validator to be used with a VirtualTreeModelViewer to determine which viewer
- * items should be updated by the viewer.   
- * 
+ * items should be updated by the viewer.
+ *
  * @see VirtualTreeModelViewer
  * @since 3.8
  */
 public interface IVirtualItemValidator {
-    
+
     /**
-     * Allows the validator to determine whether the given item is to be deemed 
+     * Allows the validator to determine whether the given item is to be deemed
      * visible in the virtual tree.
-     * 
+     *
      * @param item Item to be tested.
      * @return returns true if the item should be considered visible.
      */
     public boolean isItemVisible(VirtualItem item);
-    
+
     /**
      * Indicates that the viewer requested to reveal the given item in viewer.
-     * 
+     *
      * @param item Item to show.
      */
     public void showItem(VirtualItem item);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java
index f40307d..219b1e1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ModelDelta.java
@@ -4,10 +4,10 @@
  *  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
- *     Wind River Systems - Fix for viewer state save/restore [188704] 
+ *     Wind River Systems - Fix for viewer state save/restore [188704]
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.viewers.model.provisional;
 
@@ -40,7 +40,7 @@
 
 	/**
 	 * Constructs a new delta for the given element.
-	 * 
+	 *
 	 * @param element model element
 	 * @param flags change flags
 	 */
@@ -52,7 +52,7 @@
 	/**
 	 * Constructs a new delta for the given element to be replaced
 	 * with the specified replacement element.
-	 * 
+	 *
 	 * @param element model element
 	 * @param replacement replacement element
 	 * @param flags change flags
@@ -66,7 +66,7 @@
 	/**
 	 * Constructs a new delta for the given element to be inserted at
 	 * the specified index.
-	 * 
+	 *
 	 * @param element model element
 	 * @param index insertion position
 	 * @param flags change flags
@@ -76,11 +76,11 @@
         fIndex = index;
         fFlags = flags;
     }
-    
+
 	/**
 	 * Constructs a new delta for the given element at the specified index
 	 * relative to its parent with the given number of children.
-	 * 
+	 *
 	 * @param element model element
 	 * @param index insertion position
 	 * @param flags change flags
@@ -112,7 +112,7 @@
 	/**
 	 * Adds a child node to this delta with the given element and change flags,
 	 * and returns the child delta.
-	 * 
+	 *
 	 * @param element child element to add
 	 * @param flags change flags for child
 	 * @return newly created child delta
@@ -123,10 +123,10 @@
 		addDelta(node);
 		return node;
 	}
-	
+
 	/**
 	 * Returns the child delta for the given element, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param element child element
 	 * @return corresponding delta node, or <code>null</code>
 	 */
@@ -145,11 +145,11 @@
 
 	/**
      * Returns the child delta for the given element and index, or <code>null</code> if none.
-     * 
+     *
      * @param element Element of the child delta to find
      * @param index Index of the child delta to find.
      * @return corresponding delta node, or <code>null</code>
-     * 
+     *
      * @since 3.8
      */
     public ModelDelta getChildDelta(Object element, int index) {
@@ -184,7 +184,7 @@
 	        mapNode( fNodesList.get(i) );
 	    }
 	}
-	
+
 	private void mapNode(ModelDelta node) {
         Object oldValue = fNodesMap.put(node.getElement(), node);
         if (oldValue instanceof ModelDelta) {
@@ -200,13 +200,13 @@
             fNodesMap.put(node.getElement(), newNodes);
         }
 	}
-	
+
 
 	/**
 	 * Adds a child node to this delta to replace the given element with the
-	 * specified replacement element and change flags, and returns the 
+	 * specified replacement element and change flags, and returns the
 	 * newly created child delta.
-	 * 
+	 *
 	 * @param element child element to add to this delta
 	 * @param replacement replacement element for the child element
 	 * @param flags change flags
@@ -222,7 +222,7 @@
     /**
      * Adds a child delta to this delta to insert the specified element at
      * the given index, and returns the newly created child delta.
-     * 
+     *
      * @param element child element in insert
      * @param index index of insertion
      * @param flags change flags
@@ -234,11 +234,11 @@
         addDelta(node);
         return node;
     }
-    
+
     /**
      * Adds a child delta to this delta at the specified index with the
      * given number of children, and returns the newly created child delta.
-     * 
+     *
      * @param element child element in insert
      * @param index index of the element relative to parent
      * @param flags change flags
@@ -251,16 +251,16 @@
         addDelta(node);
         return node;
     }
-    
+
     /**
      * Sets the parent delta of this delta
-     * 
+     *
      * @param node parent delta
      */
 	void setParent(ModelDelta node) {
 		fParent = node;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getParent()
 	 */
@@ -284,7 +284,7 @@
 	public int getIndex() {
         return fIndex;
     }
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.IModelDelta#getNodes()
 	 */
@@ -295,7 +295,7 @@
 	    }
 		return fNodes;
 	}
-	
+
 	private void addDelta(ModelDelta delta) {
 		if (fNodesList == null) {
 			fNodesList = new ArrayList<ModelDelta>(4);
@@ -306,7 +306,7 @@
 	        mapNode(delta);
 	    }
 	}
-	
+
 	@Override
 	public String toString() {
 		StringBuffer buf = new StringBuffer();
@@ -315,7 +315,7 @@
 		buf.append("Model Delta End\n"); //$NON-NLS-1$
 		return buf.toString();
 	}
-	
+
 	private void appendDetail(String indent, StringBuffer buf, IModelDelta delta) {
         buf.append(indent);
 		buf.append("Element: "); //$NON-NLS-1$
@@ -396,7 +396,7 @@
 	public void accept(IModelDeltaVisitor visitor) {
 		doAccept(visitor, 0);
 	}
-	
+
 	protected void doAccept(IModelDeltaVisitor visitor, int depth) {
 		if (visitor.visit(this, depth)) {
 			IModelDelta[] childDeltas = getChildDeltas();
@@ -405,19 +405,19 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Sets this delta's element
-	 * 
+	 *
 	 * @param element element to set
 	 */
 	public void setElement(Object element) {
 		fElement = element;
 	}
-	
+
 	/**
 	 * Sets this delta's flags.
-	 * 
+	 *
 	 * @param flagsnew flags to set
 	 */
 	public void setFlags(int flags) {
@@ -426,17 +426,17 @@
 
     /**
      * Sets this delta's index
-     * 
+     *
      * @param index new index to set
      * @since 3.6
      */
     public void setIndex(int index) {
         fIndex = index;
     }
-	
+
 	/**
      * Sets this delta's child count.
-     * 
+     *
      * @param count new child count to set
      */
     public void setChildCount(int count) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java
index 805187a..0a73045 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/PresentationContext.java
@@ -36,13 +36,13 @@
  * @since 3.2
  */
 public class PresentationContext implements IPresentationContext {
-    
+
     private static final String PRESENTATION_CONTEXT_PROPERTIES = "PRESENTATION_CONTEXT_PROPERTIES";  //$NON-NLS-1$
     private static final String BOOLEAN = "BOOLEAN";  //$NON-NLS-1$
     private static final String STRING = "STRING";  //$NON-NLS-1$
     private static final String INTEGER = "INTEGER";  //$NON-NLS-1$
     private static final String PERSISTABLE = "PERSISTABLE";  //$NON-NLS-1$
-    
+
     final private String fId;
 	final private ListenerList<IPropertyChangeListener> fListeners = new ListenerList<>();
 	final private Map<String, Object> fProperties = new HashMap<String, Object>();
@@ -51,7 +51,7 @@
 
     /**
      * Constructs a presentation context for the given id.
-     * 
+     *
      * @param id presentation context id
      */
     public PresentationContext(String id) {
@@ -60,7 +60,7 @@
 
     /**
      * Constructs a presentation context for the given id and window.
-     * 
+     *
      * @param id presentation context id
      * @param window presentation context window, may be <code>null</code>
      */
@@ -71,7 +71,7 @@
     /**
      * Constructs a presentation context for the given id and part.
      * The presentation context window is derived from the part.
-     * 
+     *
      * @param id presentation context id
      * @param part presentation context part, may be <code>null</code>
      */
@@ -82,7 +82,7 @@
     /**
      * Constructs a presentation context for the given id and part.
      * The presentation context id and window are derived from the part.
-     * 
+     *
      * @param part presentation context part, can NOT be <code>null</code>
      */
     public PresentationContext(IWorkbenchPart part) {
@@ -102,10 +102,10 @@
 	public String[] getColumns() {
 		return (String[]) getProperty(IPresentationContext.PROPERTY_COLUMNS);
 	}
-	
+
 	/**
 	 * Fires a property change event to all registered listeners
-	 * 
+	 *
 	 * @param property property name
 	 * @param oldValue old value or <code>null</code>
 	 * @param newValue new value or <code>null</code>
@@ -124,16 +124,16 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Sets the visible column ids.
-	 * 
+	 *
 	 * @param ids column identifiers
 	 */
 	public void setColumns(String[] ids) {
 		setProperty(IPresentationContext.PROPERTY_COLUMNS, ids);
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext#dispose()
@@ -196,19 +196,19 @@
 				fProperties.put(property, value);
 			}
 		}
-		
+
 		if (propertySet) {
 		    firePropertyChange(property, oldValue, value);
 		}
 	}
-	
+
 	/**
 	 * Restores the presentation context properties from the given memento.
 	 * @param memento Memento to restore from.
 	 */
 	public void initProperties(IMemento memento) {
 	    IMemento presentationMemento = null;
-	    
+
         IMemento[] mementos = memento.getChildren(PRESENTATION_CONTEXT_PROPERTIES);
         for (int i = 0; i < mementos.length; i++) {
             if (getId().equals(mementos[i].getID())) {
@@ -222,24 +222,24 @@
             for (int i = 0; i < stringProperties.length; i++) {
                 fProperties.put(stringProperties[i].getID(), stringProperties[i].getString(STRING));
             }
-            
+
             IMemento[] integerMementos = presentationMemento.getChildren(INTEGER);
             for (int i = 0; i < integerMementos.length; i++) {
                 fProperties.put(integerMementos[i].getID(), integerMementos[i].getInteger(INTEGER));
             }
-            
+
             IMemento[] booleanMementos = presentationMemento.getChildren(BOOLEAN);
             for (int i = 0; i < booleanMementos.length; i++) {
                 fProperties.put(booleanMementos[i].getID(), booleanMementos[i].getBoolean(BOOLEAN));
             }
-            
+
             IMemento[] persistableMementos = presentationMemento.getChildren(PERSISTABLE);
             for (int i = 0; i < persistableMementos.length; i++) {
                 String factoryID = persistableMementos[i].getString(PERSISTABLE);
                 if (factoryID != null) {
                     IElementFactory factory = PlatformUI.getWorkbench().getElementFactory(factoryID);
                     if (factory != null) {
-                        Object element = factory.createElement(persistableMementos[i]); 
+                        Object element = factory.createElement(persistableMementos[i]);
                         if (element != null) {
                             fProperties.put(persistableMementos[i].getID(), element);
                         }
@@ -248,9 +248,9 @@
             }
         }
 	}
-	
+
 	/**
-	 * Saves the current presentation context properties to the given memento. 
+	 * Saves the current presentation context properties to the given memento.
 	 * @param memento Memento to save to.
 	 */
 	public void saveProperites(IMemento memento) {
@@ -276,7 +276,7 @@
             }
         }
 	}
-	
+
 	private boolean isEqual(Object a, Object b) {
 		if (a == null) {
 			return b == null;
@@ -304,6 +304,6 @@
 	public IWorkbenchWindow getWindow() {
         return fWindow;
     }
-	
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewer.java
index 5e3d357..15bdaca 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewer.java
@@ -20,17 +20,17 @@
 /**
  * A tree viewer for a model.
  * <p>
- * Style flags supported by this viewer are the same as for {@link org.eclipse.jface.viewers.TreeViewer}, 
+ * Style flags supported by this viewer are the same as for {@link org.eclipse.jface.viewers.TreeViewer},
  * except:
  * <ul>
- * <li>SWT.VIRTUAL - Indicates that the viewer should be in lazy mode.  This 
+ * <li>SWT.VIRTUAL - Indicates that the viewer should be in lazy mode.  This
  * flag is required when creating this viewer.
  * <li>SWT.POP_UP - Indicates that the viewer is used in a popup window, and it
- * should ignore requests from the model to select, expand, or collapse tree 
+ * should ignore requests from the model to select, expand, or collapse tree
  * elements.</li>
  * </ul>
  * </p>
- * @since 3.3 
+ * @since 3.3
  * @noextend Clients may instantiate this class. Clients may not subclass this class.
  */
 public class TreeModelViewer extends InternalTreeModelViewer {
@@ -38,152 +38,152 @@
 	public TreeModelViewer(Composite parent, int style, IPresentationContext context) {
 		super(parent, style, context);
 	}
-	
+
 	/**
 	 * Returns this viewer's presentation context.
-	 * 
+	 *
 	 * @return presentation context
 	 */
 	@Override
 	public IPresentationContext getPresentationContext() {
 		return super.getPresentationContext();
-	}	
+	}
 
 	/**
 	 * Registers the given listener for model delta notification.
-	 * 
+	 *
 	 * @param listener model delta listener
 	 */
 	@Override
 	public void addModelChangedListener(IModelChangedListener listener) {
-		super.addModelChangedListener(listener); 
+		super.addModelChangedListener(listener);
 	}
-	
+
 	/**
 	 * Unregisters the given listener from model delta notification.
-	 * 
+	 *
 	 * @param listener model delta listener
 	 */
 	@Override
 	public void removeModelChangedListener(IModelChangedListener listener) {
 		super.removeModelChangedListener(listener);
-	}	
-	
+	}
+
 	/**
 	 * Registers the specified listener for view update notifications.
-	 * 
+	 *
 	 * @param listener listener
 	 */
 	@Override
 	public void addViewerUpdateListener(IViewerUpdateListener listener) {
 		super.addViewerUpdateListener(listener);
 	}
-	
+
 	/**
 	 * Removes the specified listener from update notifications.
-	 * 
+	 *
 	 * @param listener listener
 	 */
 	@Override
 	public void removeViewerUpdateListener(IViewerUpdateListener listener) {
 		super.removeViewerUpdateListener(listener);
 	}
-		
+
 	/**
 	 * Returns whether columns can be toggled on/off for this viewer's current
 	 * input element.
-	 * 
+	 *
 	 * @return whether columns can be toggled on/off
 	 */
 	@Override
 	public boolean canToggleColumns() {
 		return super.canToggleColumns();
-	}	
-	
+	}
+
 	/**
 	 * Returns the current column presentation for this viewer, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return column presentation or <code>null</code>
 	 */
 	@Override
 	public IColumnPresentation getColumnPresentation() {
 		return super.getColumnPresentation();
-	}	
-	
+	}
+
 	/**
 	 * Returns identifiers of the visible columns in this viewer, or <code>null</code>
 	 * if there are currently no columns.
-	 *  
+	 *
 	 * @return visible columns identifiers or <code>null</code>
 	 */
 	@Override
 	public String[] getVisibleColumns() {
 		return super.getVisibleColumns();
-	}  	
-	
+	}
+
 	/**
 	 * Initializes viewer state from the memento
-	 * 
+	 *
      * @param memento the {@link IMemento} to read from
 	 */
 	@Override
 	public void initState(IMemento memento) {
 		super.initState(memento);
 	}
-	
+
 	/**
 	 * Save viewer state into the given memento.
-	 * 
+	 *
      * @param memento the {@link IMemento} to save to
 	 */
 	@Override
 	public void saveState(IMemento memento) {
 		super.saveState(memento);
 	}
-	
+
     /**
-     * @return Returns true if columns are being displayed currently. 
+     * @return Returns true if columns are being displayed currently.
      */
 	@Override
 	public boolean isShowColumns() {
 		return super.isShowColumns();
-	}	
-	
+	}
+
 	/**
 	 * Resets any persisted column size for the given columns
-	 * 
+	 *
 	 * @param columnIds array of column identifiers
 	 */
 	@Override
 	public void resetColumnSizes(String[] columnIds) {
 		super.resetColumnSizes(columnIds);
 	}
-	
+
 	/**
 	 * Toggles columns on/off for the current column presentation, if any.
-	 * 
+	 *
 	 * @param show whether to show columns if the current input supports
 	 * 	columns
 	 */
 	@Override
 	public void setShowColumns(boolean show) {
 		super.setShowColumns(show);
-	}	
-	
+	}
+
 	/**
-	 * Sets the visible columns for this viewer. Id's correspond to 
+	 * Sets the visible columns for this viewer. Id's correspond to
 	 * column identifiers from a column presentation. Use <code>null</code>
 	 * or an empty collection to display default columns for the current
 	 * column presentation. Only affects the current column presentation.
-	 * 
+	 *
 	 * @param ids column identifiers or <code>null</code>
 	 */
 	@Override
 	public void setVisibleColumns(String[] ids) {
 		super.setVisibleColumns(ids);
-	}		
-	
+	}
+
     @Override
 	public ViewerLabel getElementLabel(TreePath path, String columnId) {
         return super.getElementLabel(path, columnId);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewerFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewerFilter.java
index 57cdc7f..b0f417e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewerFilter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/TreeModelViewerFilter.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -16,22 +16,22 @@
  * Viewer filter for the Tree Model Viewer which allows more efficient filtering
  * in the lazy viewer.
  * <p>
- * The standard {@link ViewerFilter} class must be applied to all elements in the 
+ * The standard {@link ViewerFilter} class must be applied to all elements in the
  * tree, thus forcing the lazy viewer to retrieve all children of all elements and
  * defeating the lazy loading behavior.  This class adds an {@link #isApplicable(ITreeModelViewer, Object)}
- * method, which can be used by the filter to discern which parent elements the 
- * filter should apply to. 
- * </p> 
- * 
+ * method, which can be used by the filter to discern which parent elements the
+ * filter should apply to.
+ * </p>
+ *
  * @since 3.8
  */
 abstract public class TreeModelViewerFilter extends ViewerFilter {
 
     /**
      * Determines whether the filter applies to the given parent element.
-     * @return Returns true if the viewer should use the given filter on the 
+     * @return Returns true if the viewer should use the given filter on the
      * given element.
-     * @param viewer The viewer that is using this filter to select elements. 
+     * @param viewer The viewer that is using this filter to select elements.
      * @param parentElement Parent element to check filter for.
      */
     abstract public boolean isApplicable(ITreeModelViewer viewer, Object parentElement);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
index d2c0815..5b10f69 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
@@ -24,10 +24,10 @@
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class ViewerInputService {
-	
+
     /**
-     * An input object which will yield a null input element. 
-     * 
+     * An input object which will yield a null input element.
+     *
      * @since 3.6
      */
     public final static Object NULL_INPUT = new IViewerInputProvider() {
@@ -37,14 +37,14 @@
             update.done();
         }
     };
-    
+
 	// previous update request, cancelled when a new request comes in
 	private IViewerInputUpdate fPendingUpdate = null;
-	
+
 	private IViewerInputRequestor fRequestor = null;
-	
+
 	private ITreeModelViewer fViewer;
-	
+
 	private IViewerInputRequestor fProxyRequest = new IViewerInputRequestor() {
 		@Override
 		public void viewerInputComplete(final IViewerInputUpdate update) {
@@ -56,24 +56,24 @@
 			fRequestor.viewerInputComplete(update);
 		}
 	};
-	
+
 	/**
 	 * Constructs a viewer input service for the given requester and presentation context.
-	 * 
+	 *
      * @param viewer for which inputs are required
-	 * @param requestor client requesting viewer inputs 
+	 * @param requestor client requesting viewer inputs
 	 */
 	public ViewerInputService(ITreeModelViewer viewer, IViewerInputRequestor requestor) {
 		fRequestor = requestor;
 		fViewer = viewer;
 	}
-	
+
 	/**
 	 * Resolves a viewer input derived from the given source object.
 	 * Reports the result to the given this service's requester. A requester may be called back
 	 * in the same or thread, or asynchronously in a different thread. Cancels any previous
 	 * incomplete request from this service's requester.
-	 * 
+	 *
 	 * @param source source from which to derive a viewer input
 	 */
 	public void resolveViewerInput(Object source) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
index 34ebb6e..7f6c66f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -21,8 +21,8 @@
 
 /**
  * Virtual item, which is analogous to the SWT's tree item.  This class is used
- * by the {@link VirtualTreeModelViewer}. 
- * 
+ * by the {@link VirtualTreeModelViewer}.
+ *
  * @see VirtualTreeModelViewer
  * @since 3.8
  */
@@ -34,34 +34,34 @@
     public static String FONT_KEY = "FONT_KEY"; //$NON-NLS-1$
     public static String FOREGROUND_KEY = "FOREGROUND_KEY"; //$NON-NLS-1$
     public static String BACKGROUND_KEY = "BACKGROUND_KEY"; //$NON-NLS-1$
-    
+
     public static String ELEMENT_DATA_KEY = "element"; //$NON-NLS-1$
-    
+
     /**
      * Index object of a tree item. It allows the indexes to be modified
      * as items are inserted and removed.
      */
 	public static class Index implements Comparable<Object> {
         private Integer fIndexValue;
-        
+
         public Index(int index) {
             fIndexValue = Integer.valueOf(index);
         }
-        
+
         @Override
 		public boolean equals(Object obj) {
             return obj instanceof Index && ((Index)obj).fIndexValue.equals(fIndexValue);
         }
-        
+
         @Override
 		public int hashCode() {
             return fIndexValue.hashCode();
         }
-        
+
         public void increment() {
             fIndexValue = Integer.valueOf(fIndexValue.intValue() + 1);
         }
-        
+
         public void decrement() {
             fIndexValue = Integer.valueOf(fIndexValue.intValue() - 1);
         }
@@ -69,36 +69,36 @@
         public int intValue() {
             return fIndexValue.intValue();
         }
-        
+
         @Override
 		public int compareTo(Object obj) {
-            return obj instanceof Index ? fIndexValue.compareTo(((Index)obj).fIndexValue) : 0; 
+            return obj instanceof Index ? fIndexValue.compareTo(((Index)obj).fIndexValue) : 0;
         }
-        
+
         @Override
 		public String toString() {
             return fIndexValue.toString();
         }
     }
-    
+
     /**
      * Parent items of this item.
      */
     final private VirtualItem fParent;
 
     /**
-     * The index of this item.  
+     * The index of this item.
      */
     final private Index fIndex;
-    
+
     /**
-     * Map of child items.  The key to the map is the item's index, which 
+     * Map of child items.  The key to the map is the item's index, which
      * must be the same object instance as the index in the item.  The tree map
-     * keeps the items sorted while allowing indexes (keys) to be modified as 
-     * child items are inserted and removed.   
+     * keeps the items sorted while allowing indexes (keys) to be modified as
+     * child items are inserted and removed.
      */
 	private Map<Index, VirtualItem> fItems = new TreeMap<Index, VirtualItem>();
-    
+
     /**
      * Flag indicating whether this item has child items.
      */
@@ -111,14 +111,14 @@
     private boolean fExpanded = false;
 
     /**
-     * The count of child items.  <code>-1</code> indicates that the count 
+     * The count of child items.  <code>-1</code> indicates that the count
      * is not known.
      */
     private int fItemCount = -1;
-    
+
     /**
      * The data held by this item.  It includes the element as well as the item
-     * display attributes. 
+     * display attributes.
      */
 	private Map<String, Object> fData = new HashMap<String, Object>(1);
 
@@ -126,22 +126,22 @@
      * Flag indicating that the item needs to have it's label updated.
      */
     private boolean fNeedsLabelUpdate = true;
-    
+
     /**
      * Flag indicating that the item's count needs to be updated.
      */
     private boolean fNeedsCountUpdate = true;
-    
+
     /**
      * Flag indicating that the item's element needs to be updated.
      */
     private boolean fNeedsDataUpdate = true;
-    
+
     /**
      * Indicates that this item has been disposed.
      */
     private boolean fDisposed = false;
-    
+
 
     /**
      * Virtual item constructor.
@@ -154,7 +154,7 @@
     }
 
     /**
-     * Clears the child item at the given index. 
+     * Clears the child item at the given index.
      * @param index index of item to clear.
      */
     public void clear(Index index) {
@@ -163,10 +163,10 @@
             item.dispose();
         }
     }
-    
+
     /**
      * Clears all child items.
-     * 
+     *
      * @since 3.9
      */
     public void clearAll() {
@@ -183,14 +183,14 @@
     public VirtualItem getParent() {
         return fParent;
     }
-    
+
     /**
      * @return Returns the index of this item.
      */
     public Index getIndex() {
         return fIndex;
     }
-    
+
     /**
      * Finds the given item in the child items of this element.
      * @param element Data object of the item to be found.
@@ -205,7 +205,7 @@
         }
         return null;
     }
-    
+
     /**
      * @return Returns whether the data element of this item is stale.
      */
@@ -219,7 +219,7 @@
     public void setNeedsDataUpdate() {
         fNeedsDataUpdate = true;
     }
-    
+
     /**
      * Clears the stale status of the item's data element.
      */
@@ -233,9 +233,9 @@
     public boolean needsCountUpdate() {
         return fNeedsCountUpdate;
     }
-    
+
     /**
-     * Marks the item as having a stale child count.  
+     * Marks the item as having a stale child count.
      */
     public void setNeedsCountUpdate() {
         fNeedsCountUpdate = true;
@@ -255,9 +255,9 @@
     public boolean needsLabelUpdate() {
         return fNeedsLabelUpdate;
     }
-    
+
     /**
-     * Marks the item as having a stale label data.  
+     * Marks the item as having a stale label data.
      */
     public void setNeedsLabelUpdate() {
         fNeedsLabelUpdate = true;
@@ -269,32 +269,32 @@
     public void clearNeedsLabelUpdate() {
         fNeedsLabelUpdate = false;
     }
-    
+
     /**
      * @return Returns whether the item has been disposed.
      */
     public boolean isDisposed() {
         return fDisposed;
     }
-    
+
     /**
      * Disposes the item.
      */
     public void dispose() {
         clearAll();
-        
+
         fDisposed = true;
         findTree().fireItemDisposed(this);
     }
 
     /**
      * @param key Key to retrieve data for.
-     * @return Returns item data corresponding to given key. 
+     * @return Returns item data corresponding to given key.
      */
     public Object getData (String key) {
         return fData.get(key);
     }
-    
+
     /**
      * Sets given data element for given key.
      * @param key Key for data.
@@ -305,13 +305,13 @@
     }
 
     /**
-     * Sets the item's data element. 
+     * Sets the item's data element.
      * @param data Item's new element.
      */
     public void setData(Object data) {
         fData.put(ELEMENT_DATA_KEY, data);
     }
-    
+
     /**
      * @return Returns item's data element.
      */
@@ -333,8 +333,8 @@
             setNeedsCountUpdate();
         }
 
-        
-        Assert.isTrue(!fExpanded || hasItems());        
+
+        Assert.isTrue(!fExpanded || hasItems());
 
         // If collapsed, make sure that all the children are collapsed as well.
         if (!fExpanded) {
@@ -343,7 +343,7 @@
             }
         }
     }
-    
+
     /**
      * @return Returns item's expanded state.
      */
@@ -365,14 +365,14 @@
             setItemCount(-1);
         }
     }
-    
+
     /**
      * @return Returns true if item has child items.
      */
     public boolean hasItems() {
         return fHasItems;
     }
-    
+
     /**
      * Sets the item's child count.
      * @param count Child count.
@@ -383,7 +383,7 @@
 			Entry<Index, VirtualItem> entry = itr.next();
             int index = entry.getKey().intValue();
             if (index >= count) {
-                VirtualItem item = entry.getValue(); 
+                VirtualItem item = entry.getValue();
                 item.dispose();
                 itr.remove();
             }
@@ -401,31 +401,31 @@
             }
         }
     }
-    
+
     /**
      * @return  Returns item's child count.
      */
     public int getItemCount() {
         return fItemCount;
     }
-    
+
     /**
-     * Returns the child item at given index.  Child item is created if needed.  
-     * 
+     * Returns the child item at given index.  Child item is created if needed.
+     *
      * @param index Index of the child item.
      * @return Child item.
      */
     public VirtualItem getItem(Index index) {
         ensureItems();
-        
-        VirtualItem item = fItems.get(index); 
+
+        VirtualItem item = fItems.get(index);
         if (item == null) {
             item = new VirtualItem(this, index);
             fItems.put(index, item);
         }
         return item;
     }
-    
+
     /**
      * @return Returns true if any of the child items need a data update.
      */
@@ -443,18 +443,18 @@
         }
         return false;
     }
-    
+
     /**
-     * Returns an array of current child items.  The returned array contains 
-     * only the items that have been created.  It may not contain as many items as the 
-     * item count. 
-     *  
+     * Returns an array of current child items.  The returned array contains
+     * only the items that have been created.  It may not contain as many items as the
+     * item count.
+     *
      * @return Child items array.
      */
     public VirtualItem[] getItems() {
         return fItems.values().toArray(new VirtualItem[fItems.size()]);
     }
-    
+
     /**
      * Adds a child item at the given index position.
      * @param position The index position to inser the new item at.
@@ -467,7 +467,7 @@
         if (fItemCount < 0) {
             fItemCount = 0;
         }
-        
+
         // Increment all items with an index higher than the given position.
         fItemCount++;
         ensureItems();
@@ -476,15 +476,15 @@
                 childIndex.increment();
             }
         }
-        
-        // Note: the same index object used to create the item has to 
-        // be used as the key into the map.  
+
+        // Note: the same index object used to create the item has to
+        // be used as the key into the map.
         Index childIndex = new Index(position);
         VirtualItem newChild = new VirtualItem(this, childIndex);
         fItems.put(childIndex, newChild);
         return newChild;
     }
-    
+
     /**
      * Removes the item at the given index.
      * @param position Index of the item to remove.
@@ -494,7 +494,7 @@
         if (fItemCount < 0) {
             fHasItems = false;
         }
-         
+
         ensureItems();
 
         VirtualItem removedItem = null;
@@ -510,13 +510,13 @@
             }
         }
     }
-    
+
     private void ensureItems() {
         if (fItems == null) {
 			fItems = new HashMap<Index, VirtualItem>(Math.max(1, Math.min(fItemCount, 16)));
         }
     }
-    
+
     private VirtualTree findTree() {
         VirtualItem item = this;
         while (!(item instanceof VirtualTree)) {
@@ -524,14 +524,14 @@
         }
         return (VirtualTree)item;
     }
-    
+
     @Override
 	public String toString() {
         StringBuffer buffer = new StringBuffer();
         toStringItem(buffer, IInternalDebugCoreConstants.EMPTY_STRING);
         return buffer.toString();
     }
-    
+
     void toStringItem(StringBuffer buffer, String indent) {
         buffer.append(indent);
         buffer.append(toStringElement());
@@ -546,12 +546,12 @@
             }
         }
     }
-    
+
     private String toStringElement() {
         String[] label = (String[])fData.get(LABEL_KEY);
         if (label != null && label.length != 0) {
             return label[0];
-        } 
+        }
         Object data = fData.get(ELEMENT_DATA_KEY);
         if (data != null) {
             return data.toString();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
index 4119446..d6442c9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -19,8 +19,8 @@
 
 /**
  * Tree of virtual items that is analogous to SWT's tree control.  The tree is used
- * by the {@link VirtualTreeModelViewer}. 
- * 
+ * by the {@link VirtualTreeModelViewer}.
+ *
  * @see VirtualTreeModelViewer
  * @since 3.8
  */
@@ -31,15 +31,15 @@
      * except for the selected elements.
      */
     private boolean fLazy;
-    
+
     private IVirtualItemValidator fValidator;
-    
+
     private class SelectedItemValidator implements IVirtualItemValidator {
         @Override
 		public boolean isItemVisible(VirtualItem item) {
             // visible items.  For now only mark the selected items as visible.
             for (int i = 0; i < fSelection.length; i++) {
-                VirtualItem selectionItem = fSelection[i]; 
+                VirtualItem selectionItem = fSelection[i];
                 while (selectionItem != null) {
                     if (item.equals(selectionItem)) {
                         return true;
@@ -49,12 +49,12 @@
             }
             return false;
         }
-        
+
         @Override
 		public void showItem(VirtualItem item) {
         }
     }
-    
+
     /**
      * Set of listeners of the virtual tree.
      */
@@ -65,10 +65,10 @@
      * the leaf items which are selected.
      */
     private VirtualItem[] fSelection = new VirtualItem[0];
-    
+
     /**
      * Constructs the virtual tree with the given style and validator.
-     * 
+     *
      * @param style The style flag.  Only SWT.VIRTUAL flag is used.
      * @param validator Item validator used to determine item visibility.
      */
@@ -77,13 +77,13 @@
         fLazy = (style & SWT.VIRTUAL) != 0;
         if (fLazy && validator == null) {
             fValidator = new SelectedItemValidator();
-        } else { 
+        } else {
             fValidator = validator;
         }
         clearNeedsLabelUpdate();
         clearNeedsDataUpdate();
     }
-    
+
     /**
      * Disposes the virtual tree.
      */
@@ -99,7 +99,7 @@
         clearNeedsLabelUpdate();
         clearNeedsDataUpdate();
     }
-    
+
     @Override
 	public void setNeedsLabelUpdate() {
         // no-op
@@ -112,9 +112,9 @@
             clearNeedsDataUpdate();
         }
     }
-    
+
     /**
-     * Adds a listener for when virtual items are revealed in the view.   
+     * Adds a listener for when virtual items are revealed in the view.
      * @param listener Listener to add to list of listeners.
      */
     public void addItemListener(IVirtualItemListener listener) {
@@ -128,33 +128,33 @@
     public VirtualItem[] getSelection() {
         return fSelection;
     }
-    
+
     public void setSelection(VirtualItem[] items) {
         fSelection = items;
     }
-    
+
     public void showItem(VirtualItem item) {
         if (fValidator != null) {
             fValidator.showItem(item);
         }
     }
-    
+
     public void fireItemDisposed(VirtualItem item) {
 		for (IVirtualItemListener listener : fVirtualItemListeners) {
 			listener.disposed(item);
         }
     }
-    
+
     public void fireItemRevealed(VirtualItem item) {
 		for (IVirtualItemListener listener : fVirtualItemListeners) {
 			listener.revealed(item);
-        }        
+        }
     }
 
     @Override
 	public void setData(Object data) {
         super.setData(data);
-        // The root item always has children as long as the input is non-null, 
+        // The root item always has children as long as the input is non-null,
         // so that it should be expanded.
         setHasItems(data != null);
     }
@@ -162,16 +162,16 @@
     @Override
 	public void setHasItems(boolean hasChildren) {
         super.setHasItems(hasChildren);
-        // The root item is always expanded as long as it has children. 
+        // The root item is always expanded as long as it has children.
         if (hasChildren) {
             setExpanded(true);
         }
     }
-    
+
     /**
-     * Returns whether the given item is considered visible by the tree as 
+     * Returns whether the given item is considered visible by the tree as
      * determined by its virtual item validator.
-     *  
+     *
      * @param item Item to check.
      * @return true if items is vislble.
      * @see IVirtualItemValidator
@@ -189,11 +189,11 @@
     public void validate() {
         validate(VirtualTree.this);
     }
-    
+
     /**
-     * Validates the item and its children, identifying children which were 
+     * Validates the item and its children, identifying children which were
      * revealed and need to be updated.
-     * 
+     *
      * @param item The item which to validate.
      */
     public void validate(VirtualItem item) {
@@ -207,7 +207,7 @@
                     fireItemRevealed(item);
                 }
             }
-            
+
             if (item.getData() != null && item.getItemCount() > 0 && item.getExpanded()) {
                 for (int i = 0; i < item.getItemCount(); i++) {
                     validate(item.getItem(new Index(i)));
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTreeModelViewer.java
index e376ec9..8e95ba6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTreeModelViewer.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - initial API and implementation
@@ -18,15 +18,15 @@
 import org.eclipse.ui.IMemento;
 
 /**
- * A virtual tree model viewer.  This viewer does not have a user 
+ * A virtual tree model viewer.  This viewer does not have a user
  * interface.  Instead, clients configure and access the viewer's data through
  * its public methods.
  * <p>
  * Style flags supported by this viewer are:
  * <ul>
- * <li>SWT.VIRTUAL - Indicates that the viewer should be in lazy mode: 
+ * <li>SWT.VIRTUAL - Indicates that the viewer should be in lazy mode:
  * retrieving only elements that are requested.</li>
- * <li>SWT.POP_UP - Indicates that the viewer should ignore requests from the 
+ * <li>SWT.POP_UP - Indicates that the viewer should ignore requests from the
  * model to select, expand, or collapse tree elements.</li>
  * </ul>
  * </p>
@@ -34,7 +34,7 @@
  * @noextend This class is not intended to be sub-classed by clients.
  */
 public class VirtualTreeModelViewer extends InternalVirtualTreeModelViewer {
-    
+
 
     /**
      * Creates a virtual tree model viewer.
@@ -46,17 +46,17 @@
     public VirtualTreeModelViewer(Display display, int style, IPresentationContext context) {
         super(display, style, context, null);
     }
-    
+
     /**
      * Creates a virtual tree model viewer.
      * @param display Display used by the viewer to call the data providers
      * on the UI thread.
      * @param style style flags.
      * @param context Viewer's presentation context.
-     * @param validator Optional validator that is used to determine which items should be 
-     * considered visible when SWT.VIRTUAL style is used.  If <code>null</code> then the 
+     * @param validator Optional validator that is used to determine which items should be
+     * considered visible when SWT.VIRTUAL style is used.  If <code>null</code> then the
      * standard validator is used that updates only the selected items.
-     * 
+     *
      * @since 3.8
      */
     public VirtualTreeModelViewer(Display display, int style, IPresentationContext context, IVirtualItemValidator validator) {
@@ -65,37 +65,37 @@
 
     /**
      * Returns this viewer's presentation context.
-     * 
+     *
      * @return presentation context
      */
     @Override
 	public IPresentationContext getPresentationContext() {
         return super.getPresentationContext();
-    }   
+    }
 
     /**
      * Registers the given listener for model delta notification.
-     * 
+     *
      * @param listener model delta listener
      */
     @Override
 	public void addModelChangedListener(IModelChangedListener listener) {
-        super.addModelChangedListener(listener); 
+        super.addModelChangedListener(listener);
     }
-    
+
     /**
      * Unregisters the given listener from model delta notification.
-     * 
+     *
      * @param listener model delta listener
      */
     @Override
 	public void removeModelChangedListener(IModelChangedListener listener) {
         super.removeModelChangedListener(listener);
-    }   
-    
+    }
+
     /**
      * Registers the specified listener for view update notifications.
-     * 
+     *
      * @param listener listener
      */
     @Override
@@ -105,119 +105,119 @@
 
     /**
      * Removes the specified listener from update notifications.
-     * 
+     *
      * @param listener listener
      */
     @Override
 	public void removeViewerUpdateListener(IViewerUpdateListener listener) {
         super.removeViewerUpdateListener(listener);
     }
-        
+
     /**
      * Returns whether columns can be toggled on/off for this viewer's current
      * input element.
-     * 
+     *
      * @return whether columns can be toggled on/off
      */
     @Override
 	public boolean canToggleColumns() {
         return super.canToggleColumns();
-    }   
-    
+    }
+
     /**
      * Returns the current column presentation for this viewer, or <code>null</code>
      * if none.
-     * 
+     *
      * @return column presentation or <code>null</code>
      */
     @Override
 	public IColumnPresentation getColumnPresentation() {
         return super.getColumnPresentation();
-    }   
-    
+    }
+
     /**
      * Returns identifiers of the visible columns in this viewer, or <code>null</code>
      * if there are currently no columns.
-     *  
+     *
      * @return visible columns identifiers or <code>null</code>
      */
     @Override
 	public String[] getVisibleColumns() {
         return super.getVisibleColumns();
-    }   
-    
+    }
+
     /**
      * Initializes viewer state from the memento
-     * 
+     *
      * @param memento the {@link IMemento} to read from
      */
     @Override
 	public void initState(IMemento memento) {
         super.initState(memento);
     }
-    
+
     /**
      * Save viewer state into the given memento.
-     * 
+     *
      * @param memento the {@link IMemento} to save to
      */
     @Override
 	public void saveState(IMemento memento) {
         super.saveState(memento);
     }
-    
+
     /**
-     * @return Returns true if columns are being displayed currently. 
-     */    
+     * @return Returns true if columns are being displayed currently.
+     */
     @Override
 	public boolean isShowColumns() {
         return super.isShowColumns();
-    }   
-    
+    }
+
     /**
      * Toggles columns on/off for the current column presentation, if any.
-     * 
+     *
      * @param show whether to show columns if the current input supports
      *  columns
      */
     @Override
 	public void setShowColumns(boolean show) {
         super.setShowColumns(show);
-    }   
-    
+    }
+
     /**
-     * Sets the visible columns for this viewer. Id's correspond to 
+     * Sets the visible columns for this viewer. Id's correspond to
      * column identifiers from a column presentation. Use <code>null</code>
      * or an empty collection to display default columns for the current
      * column presentation. Only affects the current column presentation.
-     * 
+     *
      * @param ids column identifiers or <code>null</code>
      */
     @Override
 	public void setVisibleColumns(String[] ids) {
         super.setVisibleColumns(ids);
-    }       
+    }
 
     @Override
 	public void updateViewer(IModelDelta delta) {
         super.updateViewer(delta);
     }
-    
+
     @Override
 	public ViewerLabel getElementLabel(TreePath path, String columnId) {
         return super.getElementLabel(path, columnId);
     }
-    
+
     @Override
 	public VirtualItem[] findItems(Object elementOrTreePath) {
         return super.findItems(elementOrTreePath);
     }
-    
+
     @Override
 	public VirtualItem findItem(TreePath path) {
         return super.findItem(path);
     }
 
-    
-    
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java
index 4abe81e..87ffbd5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractColumnPresentation.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
  *******************************************************************************/
@@ -22,9 +22,9 @@
  * @since 3.2
  */
 public abstract class AbstractColumnPresentation implements IColumnPresentation2 {
-	
+
 	private IPresentationContext fContext;
-	
+
 	/**
 	 * Empty array of strings
 	 */
@@ -45,7 +45,7 @@
 	public void dispose() {
 		fContext = null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IColumnPresentation#getImageDescriptor(java.lang.String)
 	 */
@@ -56,13 +56,13 @@
 
 	/**
 	 * Returns the context this column presentation is installed in.
-	 * 
+	 *
 	 * @return presentation context
 	 */
 	protected IPresentationContext getPresentationContext() {
 		return fContext;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentation2#getInitialColumnWidth(java.lang.String, int, java.lang.String[])
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
index 6c1e961..e70f23d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AbstractModelProxy.java
@@ -33,16 +33,16 @@
  * @since 3.2
  */
 public abstract class AbstractModelProxy implements IModelProxy2 {
-	
+
 	private IPresentationContext fContext;
 	private boolean fInstalled = false;
 	private ITreeModelViewer fViewer;
 	private boolean fDisposed = false;
 	private Job fInstallJob;
-	
-	
+
+
 	private ListenerList<IModelChangedListener> fListeners = new ListenerList<>();
-	
+
 	protected ListenerList<IModelChangedListener> getListeners() {
 		synchronized (fListeners) {
 			return fListeners;
@@ -71,14 +71,14 @@
 
 	/**
 	 * Notifies registered listeners of the given delta.
-	 * 
+	 *
 	 * @param delta model delta to broadcast
 	 */
 	public void fireModelChanged(IModelDelta delta) {
 	    synchronized(this) {
 	        if (!fInstalled || fDisposed) return;
 	    }
-	    
+
 		final IModelDelta root = getRootDelta(delta);
 		for (IModelChangedListener iModelChangedListener : getListeners()) {
 			final IModelChangedListener listener = iModelChangedListener;
@@ -97,10 +97,10 @@
             SafeRunner.run(safeRunnable);
 		}
 	}
-	
+
 	/**
 	 * Returns the root node of the given delta.
-	 * 
+	 *
 	 * @param delta delta node
 	 * @return returns the root of the given delta
 	 */
@@ -130,19 +130,19 @@
 	protected synchronized void setInstalled(boolean installed) {
 	    fInstalled = installed;
 	}
-	
+
 	protected synchronized boolean isInstalled() {
 	    return fInstalled;
 	}
-	
+
 	protected synchronized void setDisposed(boolean disposed) {
 	    fDisposed = disposed;
 	}
-	
+
 	@Override
 	public void initialize(ITreeModelViewer viewer) {
         setDisposed(false);
-        
+
         synchronized(this) {
     	    fViewer = viewer;
     	    fContext = viewer.getPresentationContext();
@@ -159,10 +159,10 @@
                     }
                     return Status.OK_STATUS;
                 }
-    
+
                 /*
                  * (non-Javadoc)
-                 * 
+                 *
                  * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
                  */
                 @Override
@@ -174,10 +174,10 @@
         }
         fInstallJob.schedule();
 	}
-	
+
 	/**
 	 * Returns the context this model proxy is installed in.
-	 * 
+	 *
 	 * @return presentation context, or <code>null</code> if this
 	 *  model proxy has been disposed
 	 */
@@ -193,18 +193,18 @@
 	}
 
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Subclasses should override as required.
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.IModelProxy#installed(org.eclipse.jface.viewers.Viewer)
 	 */
 	@Override
-	public void installed(Viewer viewer) {	
+	public void installed(Viewer viewer) {
 	}
-	
+
 	/**
 	 * Returns the viewer this proxy is installed in.
-	 * 
+	 *
 	 * @return viewer or <code>null</code> if not installed
 	 */
 	protected Viewer getViewer() {
@@ -213,19 +213,19 @@
 
     /**
      * Returns the viewer this proxy is installed in.
-     * 
+     *
      * @return viewer or <code>null</code> if not installed
      */
     protected ITreeModelViewer getTreeModelViewer() {
         return fViewer;
     }
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxy#isDisposed()
 	 */
 	@Override
 	public synchronized boolean isDisposed() {
 		return fDisposed;
-	}	
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java
index 16124ac..bc9b981 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousContentAdapter.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
  *******************************************************************************/
@@ -28,9 +28,9 @@
  * @since 3.2
  */
 public abstract class AsynchronousContentAdapter implements IAsynchronousContentAdapter {
-	
+
 	protected static final Object[] EMPTY = new Object[0];
-	
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousContentAdapter#retrieveChildren(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.provisional.IChildrenRequestMonitor)
@@ -50,10 +50,10 @@
 		job.setRule(getRetrieveChildrenRule(parent, context));
 		job.schedule();
 	}
-    
+
     /**
      * Returns the scheduling rule for jobs retrieving children.
-     * 
+     *
      * @param parent the parent
      * @param context the presentation context
      * @return scheduling rule or <code>null</code>
@@ -61,7 +61,7 @@
     protected ISchedulingRule getRetrieveChildrenRule(Object parent, IPresentationContext context) {
     	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(context);
     }
-    
+
 
     /*
      * (non-Javadoc)
@@ -82,10 +82,10 @@
 		job.setRule(getIsContainerRule(element, context));
 		job.schedule();
 	}
-    
+
     /**
      * Returns the scheduling rule for jobs determining if an element is a container.
-     * 
+     *
      * @param parent the parent
      * @param context the presentation context
      * @return scheduling rule or <code>null</code>
@@ -93,10 +93,10 @@
     protected ISchedulingRule getIsContainerRule(Object parent, IPresentationContext context) {
     	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(context);
     }
-    
+
     /**
      * Computes the children for the given parent in the specified context.
-     * 
+     *
      * @param parent parent to retrieve children for
      * @param context presentation context
      * @param monitor result to report to
@@ -113,12 +113,12 @@
 			}
 			monitor.setStatus(status);
 			monitor.done();
-		}    	
+		}
     }
-    
+
     /**
      * Computes whether the given element is a container.
-     * 
+     *
      * @param parent potential parent
      * @param context presentation context
      * @param monitor result to report to
@@ -133,43 +133,43 @@
 			}
 			monitor.setStatus(status);
 			monitor.done();
-		}    	
-    }    
-        
+		}
+    }
+
     /**
      * Returns the children for the given parent in the specified context.
-     * 
+     *
      * @param parent element to retrieve children for
      * @param context context children will be presented in
      * @return children
      * @throws CoreException if an exception occurs retrieving children
      */
     protected abstract Object[] getChildren(Object parent, IPresentationContext context) throws CoreException;
-    
+
     /**
      * Returns whether the given element has children in the specified context.
-     * 
+     *
      * @param element element that may have children
      * @param context context element will be presented in
      * @return whether the given element has children in the specified context
      * @throws CoreException if an exception occurs determining whether the
      *  element has children
      */
-    protected abstract boolean hasChildren(Object element, IPresentationContext context) throws CoreException;    
+    protected abstract boolean hasChildren(Object element, IPresentationContext context) throws CoreException;
 
     /**
      * Returns whether this adapter supports the given context.
-     * 
+     *
      * @param context the presentation context
      * @return whether this adapter supports the given context
      */
     protected boolean supportsContext(IPresentationContext context) {
 		return supportsPartId(context.getId());
     }
-    
+
     /**
      * Returns whether this adapter provides content in the specified part.
-     * 
+     *
      * @param id part id
      * @return whether this adapter provides content in the specified part
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java
index dae6eb4..99cf6a0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/AsynchronousLabelAdapter.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
  *******************************************************************************/
@@ -33,7 +33,7 @@
  * @since 3.2
  */
 public abstract class AsynchronousLabelAdapter implements IAsynchronousLabelAdapter {
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.viewers.IAsynchronousLabelAdapter#retrieveLabel(java.lang.Object, org.eclipse.debug.ui.viewers.IPresentationContext, org.eclipse.debug.ui.viewers.ILabelRequestMonitor)
 	 */
@@ -61,10 +61,10 @@
 		job.setRule(getLabelRule(element, context));
 		job.schedule();
 	}
-	
+
     /**
      * Returns the scheduling rule for label jobs.
-     * 
+     *
      * @param element the element context
      * @param context the presentation context
      * @return scheduling rule or <code>null</code>
@@ -72,22 +72,22 @@
     protected ISchedulingRule getLabelRule(Object element, IPresentationContext context) {
     	return AsynchronousSchedulingRuleFactory.getDefault().newSerialPerObjectRule(context);
     }
-	
+
 	/**
 	 * Returns whether this label adapter requires to be run in the UI thread.
 	 * By default, label jobs are not run in the UI thread. Subclasses should
 	 * override if required.
 	 * @param object the object context
-	 * 
+	 *
 	 * @return whether this label adapter requires to be run in the UI thread.
 	 */
 	protected boolean requiresUIJob(Object object) {
 		return !DebugElementHelper.requiresUIThread(object);
 	}
-	
+
 	/**
 	 * Computes label attributes for the given element in the specified context.
-	 * 
+	 *
 	 * @param element element to compute label for
 	 * @param context presentation context
 	 * @param monitor monitor to report results to
@@ -117,55 +117,55 @@
 				monitor.done();
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Returns a label for the give element in the specified context.
-	 * 
+	 *
 	 * @param element element to compute label for
 	 * @param context presentation context
 	 * @return label
 	 * @exception CoreException if an exception occurs computing label
 	 */
     protected abstract String[] getLabels(Object element, IPresentationContext context) throws CoreException;
-    
+
     /**
      * Returns an image descriptor for the given element in the specified context
      * or <code>null</code>.
-     * 
+     *
      * @param element element to compute image descriptor for
      * @param context presentation context
      * @return image descriptor or <code>null</code>
      * @throws CoreException if an exception occurs computing image descriptor
      */
     protected abstract ImageDescriptor[] getImageDescriptors(Object element, IPresentationContext context) throws CoreException;
-    
+
     /**
      * Returns font data for the given element in the specified context or <code>null</code>
      * to use the default font.
-     * 
+     *
      * @param element element to compute font data for
      * @param context presentation context
      * @return font data or <code>null</code>
      * @throws CoreException if an exception occurs computing font data
      */
     protected abstract FontData[] getFontDatas(Object element, IPresentationContext context) throws CoreException;
-    
+
     /**
      * Returns a foreground color for the given element in the specified context or <code>null</code>
      * to use the default color.
-     * 
+     *
      * @param element element to compute color for
      * @param context presentation context
      * @return color or <code>null</code>
      * @throws CoreException if an exception occurs computing color
      */
     protected abstract RGB[] getForegrounds(Object element, IPresentationContext context) throws CoreException;
-    
+
     /**
      * Returns a background color for the given element in the specified context or <code>null</code>
      * to use the default color.
-     * 
+     *
      * @param element element to compute color for
      * @param context presentation context
      * @return color or <code>null</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java
index faf3f89..68d47a7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousContentAdapter.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -14,7 +14,7 @@
 
 /**
  * Provides content for elements in an asynchronous viewer. Note that implementations
- * must provide content asynchronously. 
+ * must provide content asynchronously.
  * <p>
  * Clients may implement this interface.
  * </p>
@@ -26,20 +26,20 @@
      * Asynchronously retrieves the children of the given parent reporting to the
      * given monitor. If unable to retrieve children, an exception should be reported
      * to the monitor with an appropriate status.
-     * 
+     *
      * @param parent the element to retrieve children for
      * @param context the context in which children have been requested
      * @param monitor request monitor to report children to
      */
     public void retrieveChildren(Object parent, IPresentationContext context, IChildrenRequestMonitor result);
-    
+
     /**
      * Asynchronously determines whether the given element contains children in the specified
      * context reporting the result to the given monitor. If unable to determine
      * whether the element has children, an exception should be reported to the monitor
      * with an appropriate status.
-     * 
-     * @param element the element on which children may exist 
+     *
+     * @param element the element on which children may exist
      * @param context the context in which children may exist
      * @param monitor request monitor to report the result to
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java
index d17025d..518be81 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IAsynchronousLabelAdapter.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -14,24 +14,24 @@
 
 /**
  * Provides labels for elements. Note that implementations
- * are must provide labels asynchronously. 
+ * are must provide labels asynchronously.
  * <p>
  * Clients may implement this interface.
  * </p>
  * @since 3.2
  */
 public interface IAsynchronousLabelAdapter {
-    
+
     /**
      * Asynchronously retrieves the label of the given object reporting to
      * the given monitor. If unable to retrieve label information, an exception should be
      * reported to the monitor with an appropriate status.
-     *  
+     *
      * @param object the element for which a label is requested
      * @param context the context in which the label has been requested
      * @param monitor request monitor to report the result to
      */
     public void retrieveLabel(Object object, IPresentationContext context, ILabelRequestMonitor result);
-    
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java
index 7b41a6c..3f5646c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IChildrenRequestMonitor.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -23,14 +23,14 @@
 
 	/**
 	 * Adds the given child to this request.
-	 * 
+	 *
 	 * @param child child to add
 	 */
     public void addChild(Object child);
-    
+
     /**
      * Adds the given children to this request.
-     * 
+     *
      * @param children children to add
      */
     public void addChildren(Object[] children);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java
index a73b6bf..be1f3b3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/IContainerRequestMonitor.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -24,9 +24,9 @@
 
 	/**
 	 * Sets whether an element contains children.
-	 * 
+	 *
 	 * @param container whether an element contains children
 	 */
     public void setIsContainer(boolean container);
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java
index eb8a93f..967d5ac 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/provisional/ILabelRequestMonitor.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -27,35 +27,35 @@
 
 	/**
 	 * Sets the text of the label. Cannot be <code>null</code>.
-	 * 
+	 *
 	 * @param text
 	 */
     public void setLabels(String[] text);
-    
+
     /**
      * Sets the font of the label.
-     * 
+     *
      * @param fontData
      */
     public void setFontDatas(FontData[] fontData);
-    
+
     /**
      * Sets the image of the label.
-     * 
+     *
      * @param image
      */
     public void setImageDescriptors(ImageDescriptor[] image);
-    
+
     /**
      * Sets the foreground color of the label.
-     * 
+     *
      * @param foreground
      */
     public void setForegrounds(RGB[] foreground);
-    
+
     /**
      * Sets the background color of the label.
-     * 
+     *
      * @param background
      */
     public void setBackgrounds(RGB[] background);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointContainerProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointContainerProxy.java
index cb74324..05233ac 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointContainerProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointContainerProxy.java
@@ -20,25 +20,25 @@
 

 /**

  * Breakpoint container model proxy.

- * 

+ *

  * @since 3.6

  */

 public class BreakpointContainerProxy extends AbstractModelProxy implements	ICheckboxModelProxy {

-	

+

 	/**

 	 * The breakpoint container

 	 */

 	private IBreakpointContainer fContainer;

-	

+

 	/**

 	 * Constructor.

-	 * 

+	 *

 	 * @param container the breakpoint container.

 	 */

 	public BreakpointContainerProxy(IBreakpointContainer container) {

 		fContainer = container;

 	}

-	

+

 	/* (non-Javadoc)

 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.ICheckboxModelProxy#setChecked(org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.Object, org.eclipse.jface.viewers.TreePath, boolean)

 	 */

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java
index 4cdf6b5..9e80c07 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointManagerProxy.java
@@ -33,7 +33,7 @@
 
 /**
  * Breakpoint manager model proxy.
- * 
+ *
  * @since 3.6
  */
 public class BreakpointManagerProxy extends AbstractModelProxy {
@@ -41,17 +41,17 @@
 	 * The breakpoint manager content provider for this model proxy
 	 */
 	final private BreakpointManagerContentProvider fProvider;
-	
+
 	/**
 	 * The breakpoint manager input for this model proxy
 	 */
 	final private DefaultBreakpointsViewInput fInput;
-	
+
 	/**
 	 * Job to fire posted deltas.
 	 */
     private Job fFireModelChangedJob;
-    
+
     /**
      * Object used for describing a posted delta.
      */
@@ -64,27 +64,27 @@
             fDelta = delta;
         }
     }
-    
+
     /**
      * List of posted deltas ready to be fired.
      */
 	private List<DeltaInfo> fPendingDeltas = new LinkedList<DeltaInfo>();
-    
+
 
 	/**
 	 * Constructor.
-	 * 
+	 *
 	 * @param input the breakpoint manager input
 	 * @param context the presentation context for this model proxy
 	 */
 	public BreakpointManagerProxy(Object input, IPresentationContext context) {
 		super();
-				
+
 		DefaultBreakpointsViewInput bpmInput = null;
 		BreakpointManagerContentProvider bpmProvider = null;
 		if (input instanceof DefaultBreakpointsViewInput) {
 			bpmInput = (DefaultBreakpointsViewInput) input;
-			
+
 			// cache the required data and pass to the provider when this model is installed
 			IElementContentProvider provider = ViewerAdapterService.getContentProvider(input);
 			if (provider instanceof BreakpointManagerContentProvider) {
@@ -94,7 +94,7 @@
 		fInput = bpmInput;
 		fProvider = bpmProvider;
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed(org.eclipse.jface.viewers.Viewer)
@@ -106,7 +106,7 @@
 			fProvider.registerModelProxy(fInput, this);
 		}
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#dispose()
@@ -121,19 +121,19 @@
 	        }
             fPendingDeltas.clear();
 	    }
-        
-		super.dispose();		
+
+		super.dispose();
 	}
-	
+
 	/**
-	 * Posts a given delta to be fired by the proxy.  Posting a delta places it 
+	 * Posts a given delta to be fired by the proxy.  Posting a delta places it
 	 * in a queue which is later emptied by a job that fires the deltas.
 	 * <p>
 	 * If the delta is used only to select a breakpiont and does not change the
-	 * viewer content, the caller should set the <code>select</code> parameter 
-	 * to <code>true</code>.  When a select delta is added to the delta queue, 
-	 * any previous select deltas are removed. 
-	 * 
+	 * viewer content, the caller should set the <code>select</code> parameter
+	 * to <code>true</code>.  When a select delta is added to the delta queue,
+	 * any previous select deltas are removed.
+	 *
 	 * @param delta Delta to be posted to the viewer.
 	 * @param select Flag indicating that the delta is only to change the
 	 * viewer selection.
@@ -148,7 +148,7 @@
         if (viewerControl == null) {
             return;
         }
-        
+
         // If we are processing a select delta, remove the previous select delta.
         if (select) {
 			for (Iterator<DeltaInfo> itr = fPendingDeltas.iterator(); itr.hasNext();) {
@@ -158,16 +158,16 @@
             }
         }
         fPendingDeltas.add(new DeltaInfo(select, delta));
-        
+
         if (fFireModelChangedJob == null) {
 	        fFireModelChangedJob = new WorkbenchJob(viewerControl.getDisplay(), "Select Breakpoint Job") { //$NON-NLS-1$
 	            {
 	                setSystem(true);
 	            }
-	            
+
 	            @Override
 				public IStatus runInUIThread(IProgressMonitor monitor) {
-                    Object[] deltas; 
+                    Object[] deltas;
                     synchronized(BreakpointManagerProxy.this) {
                         deltas = fPendingDeltas.toArray();
                         fPendingDeltas.clear();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointProxy.java
index f27d14e..746976a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/BreakpointProxy.java
@@ -19,7 +19,7 @@
 

 /**

  * Breakpoint model proxy.

- * 

+ *

  * @since 3.6

  */

 public class BreakpointProxy extends AbstractModelProxy implements ICheckboxModelProxy {

@@ -28,16 +28,16 @@
 	 * Breakpoint object

 	 */

 	protected IBreakpoint fBreakpoint;

-	

+

 	/**

 	 * Constructor.

-	 * 

+	 *

 	 * @param breakpoint the breakpoint for this model proxy

 	 */

 	public BreakpointProxy(IBreakpoint breakpoint) {

 		fBreakpoint = breakpoint;

 	}

-	

+

 	/* (non-Javadoc)

 	 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.ICheckboxModelProxy#setChecked(org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.Object, org.eclipse.jface.viewers.TreePath, boolean)

 	 */

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
index 1980833..8a5b036 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugEventHandler.java
@@ -18,33 +18,33 @@
 
 /**
  * Handles debug events for an event update policy in a viewer.
- * 
+ *
  * @since 3.2
  */
 public abstract class DebugEventHandler {
-	
-	private AbstractModelProxy fModelProxy;	
+
+	private AbstractModelProxy fModelProxy;
 
 	/**
 	 * Constructs an event handler for the given model proxy.
-	 * 
+	 *
 	 * @param proxy the backing proxy
 	 */
 	public DebugEventHandler(AbstractModelProxy proxy) {
 		fModelProxy = proxy;
 	}
-	
+
 	/**
 	 * Disposes this event handler
 	 */
 	public synchronized void dispose() {
 		fModelProxy = null;
 	}
-		
+
 	/**
 	 * Returns the model proxy this event handler working for,
 	 * or <code>null</code> if disposed.
-	 * 
+	 *
 	 * @return the backing model proxy
 	 */
 	protected synchronized AbstractModelProxy getModelProxy() {
@@ -53,89 +53,89 @@
 
 	/**
 	 * Returns whether this event handler handles the given event
-	 * 
+	 *
 	 * @param event event to handle
 	 * @return whether this event handler handles the given event
 	 */
 	protected abstract boolean handlesEvent(DebugEvent event);
-	
+
 	/**
-	 * Handles a create event. 
-	 * 
+	 * Handles a create event.
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleCreate(DebugEvent event) {
 		refreshRoot(event);
 	}
-		
+
 	/**
 	 * Handles a terminate event.
-	 * 
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleTerminate(DebugEvent event) {
 		refreshRoot(event);
 	}
-	
+
 	/**
 	 * Handles a suspend event.
-	 * 
+	 *
 	 * @param event the event to handle
-	 */	
+	 */
 	protected void handleSuspend(DebugEvent event) {
 		refreshRoot(event);
 	}
-	
+
 	/**
 	 * Handles a resume event for which a suspend is expected shortly (<500ms).
-	 * 
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleResumeExpectingSuspend(DebugEvent event) {
 		// do nothing unless the suspend times out
 	}
-	
+
 	/**
 	 * Handles a resume event that is not expecting an immediate suspend event
-	 * 
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleResume(DebugEvent event) {
 		refreshRoot(event);
 	}
-	
+
 	/**
-	 * Handles a change event. 
-	 * 
+	 * Handles a change event.
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleChange(DebugEvent event) {
 		refreshRoot(event);
-	}	
+	}
 
 	/**
 	 * Handles an unknown event.
-	 * 
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleOther(DebugEvent event) {
 		refreshRoot(event);
 	}
-	
+
 	/**
 	 * Notification that a pending suspend event was not received for the given
 	 * resume event within the timeout period.
-	 * 
+	 *
 	 * @param event the event to handle
 	 */
 	protected void handleSuspendTimeout(DebugEvent event) {
 		refreshRoot(event);
 	}
-	
+
 	/**
 	 * Handles the given suspend event which caused a timeout. It is
 	 * paired with its original resume event.
-	 * 
+	 *
 	 * @param suspend suspend event
 	 * @param resume resume event
 	 */
@@ -147,17 +147,17 @@
 	 * Fires a model delta to indicate that the launch manager should be refreshed.
 	 * Subclasses should override individual handle events to provide deltas that
 	 * better reflect the actual change in the model.
-	 * 
-	 * @param event the event that triggered the root refresh 
+	 *
+	 * @param event the event that triggered the root refresh
 	 */
 	protected void refreshRoot(DebugEvent event) {
 		ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.CONTENT);
 		fireDelta(delta);
 	}
-	
+
 	/**
 	 * Fires the given delta, unless this handler has been disposed.
-	 * 
+	 *
 	 * @param delta the delta to fire in the backing model proxy
 	 */
 	protected void fireDelta(IModelDelta delta) {
@@ -166,16 +166,16 @@
 			modelProxy.fireModelChanged(delta);
 		}
 	}
-	
+
 	/**
 	 * Returns whether this handler has been disposed.
-	 * 
+	 *
 	 * @return whether this handler has been disposed
 	 */
 	protected synchronized boolean isDisposed() {
 		return fModelProxy == null;
 	}
-	
+
 	protected int indexOf(Object[] list, Object element) {
 		for (int i = 0; i < list.length; i++) {
 			if (element.equals(list[i])) {
@@ -184,5 +184,5 @@
 		}
 		return -1;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
index 4af6b9d..ffbe1b5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetEventHandler.java
@@ -25,7 +25,7 @@
 
 	/**
 	 * Constructs an event handler for a debug target on the given viewer.
-	 * 
+	 *
 	 * @param viewer
 	 */
 	public DebugTargetEventHandler(AbstractModelProxy proxy) {
@@ -75,5 +75,5 @@
 		delta.addNode(target, flags);
 		fireDelta(root);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
index ba61da8..2622665 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DebugTargetProxy.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
  *******************************************************************************/
@@ -26,7 +26,7 @@
 
 /**
  * Default model proxy for a debug target.
- * 
+ *
  * @since 3.2
  */
 public class DebugTargetProxy extends EventHandlerModelProxy {
@@ -93,13 +93,13 @@
                 } catch (DebugException e) {
                     // In case of exception do not fire delta
                     return;
-                } 
+                }
 			}
 			// expand the target if no suspended thread
 			fireModelChanged(delta);
 		}
 	}
-    
+
     protected ModelDelta getNextSuspendedThreadDelta(IThread currentThread, boolean reverse) {
         IDebugTarget target = fDebugTarget;
         if (target != null) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java
index f0fb0f9..970e828 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultExpressionModelProxy.java
@@ -19,9 +19,9 @@
  *
  */
 public class DefaultExpressionModelProxy extends EventHandlerModelProxy {
-	
+
 	private IExpression fExpression;
-	
+
 	public DefaultExpressionModelProxy(IExpression expression) {
 		fExpression = expression;
 	}
@@ -34,7 +34,7 @@
 		super.dispose();
 		fExpression = null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#createEventHandlers()
 	 */
@@ -58,11 +58,11 @@
 
 	/**
 	 * Returns this model's expression, or <code>null</code> if disposed.
-	 * 
+	 *
 	 * @return expression or <code>null</code>
 	 */
 	protected IExpression getExpression() {
 		return fExpression;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
index 0856e46..c64d95c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelProxyFactory.java
@@ -58,7 +58,7 @@
 		if (IDebugUIConstants.ID_EXPRESSION_VIEW.equals(id)) {
 			if (element instanceof IExpressionManager) {
 				return new ExpressionManagerModelProxy();
-			} 
+			}
 			if (element instanceof IWatchExpression) {
 				return new DefaultWatchExpressionModelProxy((IWatchExpression)element);
 			}
@@ -84,7 +84,7 @@
 				return new BreakpointContainerProxy((IBreakpointContainer)element);
 			}
 		}
-		
+
 		if (context instanceof MemoryViewPresentationContext)
 		{
 			if (((MemoryViewPresentationContext)context).getRendering() instanceof AbstractAsyncTableRendering)
@@ -93,7 +93,7 @@
 					return new MemoryBlockProxy((IMemoryBlock)element);
 			}
 		}
-		
+
 		return null;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java
index bc98f89..a5f2c16 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultModelSelectionPolicyFactory.java
@@ -19,7 +19,7 @@
 
 /**
  * Default factory for selection policies.
- * 
+ *
  * @since 3.2
  */
 public class DefaultModelSelectionPolicyFactory implements IModelSelectionPolicyFactory {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
index fcefebc..554992c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultSelectionPolicy.java
@@ -24,17 +24,17 @@
 
 /**
  * Default selection policy for the debug view.
- *  
+ *
  * @since 3.2
  */
 public class DefaultSelectionPolicy implements IModelSelectionPolicy {
-	
+
 	private IDebugElement fDebugElement;
-	
+
 	/**
 	 * Constructs a new selection policy for the given debug
 	 * element.
-	 * 
+	 *
 	 * @param element the backing debug element
 	 */
 	public DefaultSelectionPolicy(IDebugElement element) {
@@ -54,7 +54,7 @@
 					IDebugElement debugElement = (IDebugElement) element;
 					return fDebugElement.getDebugTarget().equals(debugElement.getDebugTarget());
 				}
-			} 
+			}
 		}
 		return false;
 	}
@@ -64,7 +64,7 @@
 	 */
 	@Override
 	public boolean overrides(ISelection existing, ISelection candidate, IPresentationContext context) {
-		if (IDebugUIConstants.ID_DEBUG_VIEW.equals(context.getId())) {	
+		if (IDebugUIConstants.ID_DEBUG_VIEW.equals(context.getId())) {
 			if (existing instanceof IStructuredSelection && candidate instanceof IStructuredSelection) {
 				IStructuredSelection ssExisting = (IStructuredSelection) existing;
 				IStructuredSelection ssCandidate = (IStructuredSelection) candidate;
@@ -73,7 +73,7 @@
 		}
 		return true;
 	}
-	
+
 	protected boolean overrides(Object existing, Object candidate) {
 		if (existing == null) {
 			return true;
@@ -94,14 +94,14 @@
 	 */
 	@Override
 	public boolean isSticky(ISelection selection, IPresentationContext context) {
-		if (IDebugUIConstants.ID_DEBUG_VIEW.equals(context.getId())) {	
+		if (IDebugUIConstants.ID_DEBUG_VIEW.equals(context.getId())) {
 			if (selection instanceof IStructuredSelection) {
 				return isSticky(((IStructuredSelection)selection).getFirstElement());
 			}
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns if the selection should remain on the given selection
 	 * @param element the element to check
@@ -116,14 +116,14 @@
 	}
 
     /**
-     * If an attempt is made to select an invalid element, it usually indicates that the 
-     * currently selected element was removed from the model.  Instead of leaving the 
+     * If an attempt is made to select an invalid element, it usually indicates that the
+     * currently selected element was removed from the model.  Instead of leaving the
      * selection empty, attempt to select the parent element instead.
-     * 
+     *
      * @param selection the selection to replace
      * @param newSelection the selection to use if the given selection is not an {@link ITreeSelection}
      * @return the replaced selection or <code>newSelection</code> if the given selection is not an {@link ITreeSelection}
-     * 
+     *
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IModelSelectionPolicy#replaceInvalidSelection(ISelection, ISelection)
      */
     @Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java
index e667238..df1b0f2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultVariableViewModelProxy.java
@@ -17,7 +17,7 @@
 
 /**
  * Default update for variables view.
- * 
+ *
  * @since 3.2
  */
 public class DefaultVariableViewModelProxy extends EventHandlerModelProxy {
@@ -29,7 +29,7 @@
 
 	/**
 	 * Constructs an update policy on the given target.
-	 * 
+	 *
 	 * @param target
 	 */
 	public DefaultVariableViewModelProxy(IStackFrame frame) {
@@ -47,7 +47,7 @@
 	protected DebugEventHandler[] createEventHandlers() {
 		return new DebugEventHandler[] { new VariablesViewEventHandler(this, fFrame) };
 	}
-	
+
    /* (non-Javadoc)
     * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#containsEvent(org.eclipse.debug.core.DebugEvent)
     */
@@ -65,5 +65,5 @@
 		}
         return false;
     }
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
index d2beb35..451a242 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/DefaultWatchExpressionModelProxy.java
@@ -32,21 +32,21 @@
 
 /**
  * Model proxy for the expressions view
- * 
+ *
  * @see org.eclipse.debug.internal.ui.views.expression.ExpressionView
  * @see org.eclipse.debug.internal.ui.model.elements.ExpressionContentProvider
  * @see org.eclipse.debug.internal.ui.model.elements.ExpressionsViewMementoProvider
- * 
+ *
  * @since 3.2
  */
 public class DefaultWatchExpressionModelProxy extends DefaultExpressionModelProxy implements IDebugContextListener {
-	
+
 	private IWorkbenchWindow fWindow;
-	
+
 	public DefaultWatchExpressionModelProxy(IWatchExpression expression) {
 		super(expression);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed(org.eclipse.jface.viewers.Viewer)
 	 */
@@ -61,7 +61,7 @@
     				for (int i = 0; i < workbenchWindows.length; i++) {
     					IWorkbenchWindow window = workbenchWindows[i];
     					// Virtual viewer may have a null control.
-    					Control control = viewer.getControl(); 
+    					Control control = viewer.getControl();
     					if (control != null && control.getShell().equals(window.getShell())) {
     						fWindow = window;
     						break;
@@ -79,7 +79,7 @@
 			    }
 				return Status.OK_STATUS;
 			}
-		
+
 		};
 		job.setSystem(true);
 		job.schedule();
@@ -139,5 +139,5 @@
 			contextActivated(event.getContext());
 		}
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
index 4e418ec..00c770b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/EventHandlerModelProxy.java
@@ -59,7 +59,7 @@
 
         /**
          * Resume event for which there is a pending suspend.
-         * 
+         *
          * @param resume
          *            event
          */
@@ -70,7 +70,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see java.util.TimerTask#run()
          */
         @Override
@@ -85,7 +85,7 @@
 
     /**
      * Adds the given handler to this event update policy.
-     * 
+     *
      * @param handler
      */
     protected abstract DebugEventHandler[] createEventHandlers();
@@ -111,7 +111,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
      */
     @Override
@@ -156,7 +156,7 @@
 
     /**
      * Returns whether this event handler should process the event.
-     * 
+     *
      * @param event debug event
      * @return whether this event handler should process the event
      */
@@ -166,7 +166,7 @@
 
     /**
      * Dispatches a create event.
-     * 
+     *
      * @param event
      */
     protected void dispatchCreate(DebugEventHandler handler, DebugEvent event) {
@@ -175,7 +175,7 @@
 
     /**
      * Dispatches a terminate event.
-     * 
+     *
      * @param event
      */
     protected void dispatchTerminate(DebugEventHandler handler, DebugEvent event) {
@@ -184,7 +184,7 @@
 
     /**
      * Dispatches a suspend event. Subclasses may override.
-     * 
+     *
      * @param event
      */
     protected void dispatchSuspend(DebugEventHandler handler, DebugEvent event) {
@@ -211,7 +211,7 @@
      * or a step, a timer is started to update the event source if the step or
      * evaluation takes more than 500ms. Otherwise the source is refreshed.
      * Subclasses may override.
-     * 
+     *
      * @param event
      */
     protected void dispatchResume(DebugEventHandler handler, DebugEvent event) {
@@ -235,7 +235,7 @@
 
     /**
      * Dispatches a change event.
-     * 
+     *
      * @param event
      */
     protected void dispatchChange(DebugEventHandler handler, DebugEvent event) {
@@ -244,7 +244,7 @@
 
     /**
      * Dispatches an unknown event.
-     * 
+     *
      * @param event
      */
     protected void dispatchOther(DebugEventHandler handler, DebugEvent event) {
@@ -254,18 +254,18 @@
     /**
      * Notification that a pending suspend event was not received for the given
      * resume event and handler within the timeout period.
-     * 
+     *
      * @param resume
      *            resume event with missing suspend event
      */
     protected void dispatchSuspendTimeout(DebugEventHandler handler, DebugEvent resume) {
         handler.handleSuspendTimeout(resume);
     }
-    
+
     /**
      * Returns the index of the given element in the list or -1 if
      * not present.
-     * 
+     *
      * @param list
      * @param element
      * @return index or -1 if not present
@@ -277,6 +277,6 @@
 			}
 		}
 		return -1;
-	}    
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java
index 0c926de..df90ac6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionEventHandler.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Samrat Dhillon samrat.dhillon@gmail.com - Bug 369012 - [expr] Modifying a variable value using cell editor is not reflected in view. 
+ *     Samrat Dhillon samrat.dhillon@gmail.com - Bug 369012 - [expr] Modifying a variable value using cell editor is not reflected in view.
  *******************************************************************************/
 
 package org.eclipse.debug.internal.ui.viewers.update;
@@ -22,7 +22,7 @@
 
 /**
  * Event handler for an expression.
- * 
+ *
  * @since 3.2
  *
  */
@@ -49,7 +49,7 @@
     		}
     		if ((event.getDetail() & DebugEvent.CONTENT) != 0) {
     			flags = flags | IModelDelta.CONTENT;
-    		} 
+    		}
 	    	delta.addNode(expression, flags);
 			fireDelta(delta);
 		}
@@ -58,7 +58,7 @@
     		int flags = IModelDelta.NO_CHANGE;
     		if (event.getDetail()==DebugEvent.CONTENT) {
     			flags = flags | IModelDelta.CONTENT;
-    		} 
+    		}
 	    	delta.addNode(variable, flags);
 			fireDelta(delta);
 		}
@@ -69,5 +69,5 @@
         ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getExpressionManager(), IModelDelta.CONTENT);
         fireDelta(delta);
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java
index 0b78053..e96ed74 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ExpressionManagerModelProxy.java
@@ -27,11 +27,11 @@
 
 /**
  * Model proxy that fires model delta updates for the ExpressionManager.
- * 
+ *
  * @see org.eclipse.debug.internal.core.ExpressionManager
  */
 public class ExpressionManagerModelProxy extends AbstractModelProxy implements IExpressionsListener2, IPropertyChangeListener {
-        
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#init(org.eclipse.debug.internal.ui.viewers.IPresentationContext)
 	 */
@@ -41,7 +41,7 @@
 		getExpressionManager().addExpressionListener(this);
 		context.addPropertyChangeListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed(org.eclipse.jface.viewers.Viewer)
 	 */
@@ -56,7 +56,7 @@
 	protected IExpressionManager getExpressionManager() {
 		return DebugPlugin.getDefault().getExpressionManager();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.update.EventHandlerModelProxy#dispose()
 	 */
@@ -84,7 +84,7 @@
 		}
 		fireModelChanged(delta);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.core.IExpressionsListener2#expressionsInserted(org.eclipse.debug.core.model.IExpression[], int)
 	 */
@@ -98,7 +98,7 @@
 		}
 		fireModelChanged(delta);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.IExpressionsListener#expressionsAdded(org.eclipse.debug.core.model.IExpression[])
 	 */
@@ -127,9 +127,9 @@
 	 */
 	@Override
 	public void expressionsChanged(IExpression[] expressions) {
-		updateExpressions(expressions, IModelDelta.CONTENT | IModelDelta.STATE);		
+		updateExpressions(expressions, IModelDelta.CONTENT | IModelDelta.STATE);
 	}
-    
+
     private void updateExpressions(IExpression[] expressions, int flags) {
 		ModelDelta delta = new ModelDelta(getExpressionManager(), IModelDelta.NO_CHANGE);
 		for (int i = 0; i < expressions.length; i++) {
@@ -140,20 +140,20 @@
     }
 
     private int getElementsCount() {
-        // Account for the "Add new expression" element only if columns are 
+        // Account for the "Add new expression" element only if columns are
         // displayed.
         return getExpressionManager().getExpressions().length +
             (getPresentationContext().getColumns() != null ? 1 : 0);
     }
-    
+
     @Override
 	public void propertyChange(PropertyChangeEvent event) {
-        // If columns are turned on/off, refresh the view to account for the 
+        // If columns are turned on/off, refresh the view to account for the
         // "Add new expression" element.
         if (IPresentationContext.PROPERTY_COLUMNS.equals(event.getProperty())) {
             fireModelChanged(new ModelDelta(getExpressionManager(), IModelDelta.CONTENT));
        }
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
index e041ab6..35ca574 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchManagerProxy.java
@@ -36,7 +36,7 @@
 		fLaunchManager = DebugPlugin.getDefault().getLaunchManager();
 		fLaunchManager.addLaunchListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed(org.eclipse.jface.viewers.Viewer)
 	 */
@@ -53,7 +53,7 @@
 	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#dispose()
 	 */
 	@Override
-	public synchronized void dispose() {	
+	public synchronized void dispose() {
 		super.dispose();
 		if (fLaunchManager != null) {
 			fLaunchManager.removeLaunchListener(this);
@@ -88,20 +88,20 @@
 	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
 	 */
 	@Override
-	public void launchesChanged(ILaunch[] launches) {	
+	public void launchesChanged(ILaunch[] launches) {
 	}
-	
+
 	/**
-	 * Convenience method for firing a delta 
+	 * Convenience method for firing a delta
 	 * @param launches the launches to set in the delta
 	 * @param launchFlags the flags for the delta
 	 */
 	protected void fireDelta(ILaunch[] launches, int launchFlags) {
 		ModelDelta delta = new ModelDelta(fLaunchManager, IModelDelta.NO_CHANGE);
 		for (int i = 0; i < launches.length; i++) {
-			delta.addNode(launches[i], launchFlags);	
+			delta.addNode(launches[i], launchFlags);
 		}
-		fireModelChanged(delta);		
+		fireModelChanged(delta);
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
index 97ce3f5..b3b90db 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
@@ -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
  *******************************************************************************/
@@ -28,13 +28,13 @@
 
 /**
  * Model proxy for launch object.
- * 
+ *
  * @since 3.3
  */
 public class LaunchProxy extends AbstractModelProxy implements ILaunchesListener2 {
 
 	private ILaunch fLaunch;
-	
+
 	/**
 	 * Set of launch's previous children. When a child is added,
 	 * its model proxy is installed.
@@ -43,13 +43,13 @@
 
 	/**
 	 * Constructs a new model proxy for the given launch.
-	 * 
+	 *
 	 * @param launch
 	 */
 	public LaunchProxy(ILaunch launch) {
 		fLaunch = launch;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#init(org.eclipse.debug.internal.ui.viewers.IPresentationContext)
 	 */
@@ -58,7 +58,7 @@
 		super.init(context);
 		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed(org.eclipse.jface.viewers.Viewer)
 	 */
@@ -72,7 +72,7 @@
 	 * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#dispose()
 	 */
 	@Override
-	public void dispose() {	
+	public void dispose() {
 		super.dispose();
 		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
 		fPrevChildren.clear();
@@ -89,7 +89,7 @@
 				fireDelta(IModelDelta.STATE | IModelDelta.CONTENT | IModelDelta.UNINSTALL);
 				break;
 			}
-		}		
+		}
 	}
 
 	/* (non-Javadoc)
@@ -125,10 +125,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Installs model proxies for any new children in the given launch.
-	 * 
+	 *
 	 * @param launch
 	 */
 	protected void installModelProxies() {
@@ -160,7 +160,7 @@
 			fireModelChanged(root);
 		}
 	}
-	
+
 	/**
 	 * Finds the index of the selected element in the given list
 	 * @param element the element to get the index for
@@ -175,15 +175,15 @@
 		}
 		return -1;
 	}
-	
+
 	/**
 	 * Convenience method to fire a delta
 	 * @param flags the flags to set on the delta
 	 */
 	protected void fireDelta(int flags) {
 		ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
-		delta.addNode(fLaunch, flags);	
-		fireModelChanged(delta);		
+		delta.addNode(fLaunch, flags);
+		fireModelChanged(delta);
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java
index 4945f6f..cd89327 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryBlockProxy.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
  *     Mikhail Khodjaiants - Bug 383687 - Memory view is not updated when using Platform renderings
@@ -20,7 +20,7 @@
 import org.eclipse.jface.viewers.Viewer;
 
 public class MemoryBlockProxy extends EventHandlerModelProxy  {
-	
+
 	private IMemoryBlock fMemoryBlock;
 	private DebugEventHandler fDebugEventHandler = new DebugEventHandler(this)  {
 
@@ -28,7 +28,7 @@
 		protected boolean handlesEvent(DebugEvent event) {
 			if (event.getKind() == DebugEvent.CHANGE && event.getSource() == fMemoryBlock)
 				return true;
-			
+
 			Object src = event.getSource();
 			if (src instanceof IDebugElement)
 			{
@@ -41,7 +41,7 @@
 		@Override
 		protected void handleChange(DebugEvent event) {
 			if (event.getDetail() == DebugEvent.STATE)
-			{	
+			{
 				ModelDelta delta = new ModelDelta(fMemoryBlock, IModelDelta.STATE);
 				fireModelChanged(delta);
 			}
@@ -62,7 +62,7 @@
 		public synchronized void dispose() {
 			super.dispose();
 		}};
-	
+
 	public MemoryBlockProxy(IMemoryBlock mb)
 	{
 		fMemoryBlock = mb;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java
index 8cdfebb..94b0e91 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/MemoryRetrievalProxy.java
@@ -7,9 +7,9 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
- *     
+ *
  *******************************************************************************/
 
 package org.eclipse.debug.internal.ui.viewers.update;
@@ -119,7 +119,7 @@
 	 * Set the initial memory block selection when the proxy is installed. This
 	 * is done to ensure that when the memory view is opened, there is an
 	 * initial selection. Otherwise, the Rendering Pane will show up as blank.
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	protected void setInitialSelection() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
index 7ad0952..36d188f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ProcessProxy.java
@@ -31,7 +31,7 @@
 
 		@Override
 		protected void handleChange(DebugEvent event) {
-			fireProcessDelta(IModelDelta.STATE);        			
+			fireProcessDelta(IModelDelta.STATE);
         }
 
         @Override
@@ -43,8 +43,8 @@
 		protected void handleTerminate(DebugEvent event) {
 			fireProcessDelta(IModelDelta.STATE | IModelDelta.UNINSTALL);
 		}
-        
-        
+
+
     };
 
     private void fireProcessDelta(int flags) {
@@ -54,12 +54,12 @@
                 delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
                 ModelDelta node = delta;
                 node = node.addNode(fProcess.getLaunch(), IModelDelta.NO_CHANGE);
-                node.addNode(fProcess, flags);                  
+                node.addNode(fProcess, flags);
             }
         }
         if (delta != null && !isDisposed()) {
             fireModelChanged(delta);
-        }           
+        }
     }
 
     /* (non-Javadoc)
@@ -103,7 +103,7 @@
     				ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
     				ModelDelta node = delta.addNode(process.getLaunch(), IModelDelta.NO_CHANGE);
     				node = node.addNode(process, IModelDelta.SELECT);
-    				fireModelChanged(delta);					
+    				fireModelChanged(delta);
     			}
 		    }
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/StackFrameEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/StackFrameEventHandler.java
index 427a5c4..f4f339c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/StackFrameEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/StackFrameEventHandler.java
@@ -18,11 +18,11 @@
 
 /**
  * Default stack frame event handler for the debug view.
- * 
+ *
  * @since 3.3
  */
 public class StackFrameEventHandler extends DebugEventHandler {
-	
+
 	ThreadEventHandler fThreadHandler = null;
 
 	/**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
index 4f85910..7936998 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/ThreadEventHandler.java
@@ -31,21 +31,21 @@
  * @since 3.2
  */
 public class ThreadEventHandler extends DebugEventHandler {
-	
+
 	/**
 	 * Queue of suspended threads to choose from when needing
 	 * to select a thread when another is resumed. Threads
 	 * are added in the order they suspend.
 	 */
 	private Set<IThread> fThreadQueue = new LinkedHashSet<IThread>();
-	
-	/** 
+
+	/**
 	 * Map of previous TOS per thread
 	 */
 	private Map<IThread, IStackFrame> fLastTopFrame = new HashMap<IThread, IStackFrame>();
 	/**
 	 * Constructs and event handler for a threads in the given viewer.
-	 * 
+	 *
 	 * @param viewer
 	 */
 	public ThreadEventHandler(AbstractModelProxy proxy) {
@@ -102,7 +102,7 @@
         	fireDeltaUpdatingSelectedFrame(thread, IModelDelta.NO_CHANGE | extras, event);
         }
 	}
-	
+
 	private boolean isEqual(Object o1, Object o2) {
 		if (o1 == o2) {
 			return true;
@@ -163,7 +163,7 @@
                 }
 			} catch (DebugException e) {
 			}
-        } else {	
+        } else {
         	fireDeltaUpdatingSelectedFrame(thread, IModelDelta.STATE | IModelDelta.EXPAND, suspend);
         }
 	}
@@ -174,23 +174,23 @@
 		// don't collapse thread when waiting for long step or evaluation to complete
 		fireDeltaUpdatingThread(thread, IModelDelta.STATE);
 	}
-	
+
 	protected ModelDelta buildRootDelta() {
 		return new ModelDelta(getLaunchManager(), IModelDelta.NO_CHANGE);
 	}
 
 	/**
 	 * Returns the launch manager.
-	 * 
+	 *
 	 * @return the launch manager
 	 */
 	protected ILaunchManager getLaunchManager() {
 		return DebugPlugin.getDefault().getLaunchManager();
 	}
-	
+
 	/**
 	 * Adds nodes into the delta up to but not including the given thread.
-	 * 
+	 *
 	 * @param delta root delta for the view (includes viewer input)
 	 * @param thread thread for which path is requested
 	 * @return
@@ -217,7 +217,7 @@
 		}
 		fireDelta(delta);
 	}
-	
+
 	private void fireDeltaUpdatingSelectedFrame(IThread thread, int flags, DebugEvent event) {
 		ModelDelta delta = buildRootDelta();
 		ModelDelta node = addPathToThread(delta, thread);
@@ -268,10 +268,10 @@
 		}
     	fireDelta(delta);
 	}
-	
+
 	/**
 	 * Returns the index of the given thread, relative to its parent in the view.
-	 * 
+	 *
 	 * @param thread thread
 	 * @return index of the thread, relative to its parent
 	 */
@@ -282,10 +282,10 @@
 		}
 		return -1;
 	}
-	
+
 	/**
 	 * Returns the index of the given frame, relative to its parent in the view.
-	 * 
+	 *
 	 * @param frame stack frame
 	 * @return index of the frame, relative to its thread
 	 */
@@ -296,10 +296,10 @@
 			return -1;
 		}
 	}
-	
+
 	/**
 	 * Returns the number of children the given thread has in the view.
-	 * 
+	 *
 	 * @param thread thread
 	 * @return number of children
 	 */
@@ -310,29 +310,29 @@
 		}
 		return -1;
 	}
-	
+
 	/**
 	 * Returns the number of children the given frame has in the view.
-	 * 
+	 *
 	 * @param frame frame
 	 * @return child count
 	 */
 	protected int childCount(IStackFrame frame) {
 		return 0;
 	}
-	
+
 	private void fireDeltaUpdatingThread(IThread thread, int flags) {
 		ModelDelta delta = buildRootDelta();
 		ModelDelta node = addPathToThread(delta, thread);
 	    node = node.addNode(thread, flags);
     	fireDelta(delta);
-	}	
-	
+	}
+
 	@Override
 	protected boolean handlesEvent(DebugEvent event) {
 		return event.getSource() instanceof IThread;
 	}
-	
+
 	protected synchronized IThread queueSuspendedThread(DebugEvent event) {
 		IThread thread = (IThread) event.getSource();
 		if (!isDisposed()) {
@@ -340,24 +340,24 @@
 		}
 		return thread;
 	}
-	
+
 	protected synchronized IThread removeSuspendedThread(DebugEvent event) {
 		IThread thread = (IThread)event.getSource();
 		fThreadQueue.remove(thread);
 		return thread;
 	}
-	
+
 	protected synchronized IThread queueSuspendedThread(IThread thread) {
 		if (!isDisposed()) {
 			fThreadQueue.add(thread);
 		}
 		return thread;
-	}	
-	
+	}
+
 	protected synchronized void removeQueuedThread(IThread thread) {
 		fThreadQueue.remove(thread);
 	}
-	
+
 	protected synchronized IThread getNextSuspendedThread() {
 		if (!fThreadQueue.isEmpty()) {
 			return fThreadQueue.iterator().next();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
index 6a7823f..3a1a676 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/VariablesViewEventHandler.java
@@ -45,7 +45,7 @@
 					return;
 				}
 			}
-			
+
 			ModelDelta delta = new ModelDelta(fFrame, IModelDelta.CONTENT);
 			fireDelta(delta);
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugModelPresentationContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugModelPresentationContext.java
index 6779bd9..91006d4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugModelPresentationContext.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugModelPresentationContext.java
@@ -16,17 +16,17 @@
 
 /**
  * A presentation context that has a debug model presentation.
- * 
+ *
  * @since 3.3
  */
 public class DebugModelPresentationContext extends PresentationContext {
 
 	private IDebugModelPresentation fPresentation;
-	
+
 	/**
 	 * Constructs a presentation context for the given id using the
 	 * specified model presentation.
-	 * 
+	 *
 	 * @param id context id
 	 * @param part workbench view
 	 * @param presentation debug model presentation
@@ -35,7 +35,7 @@
 		super(id, part);
 		fPresentation = presentation;
 	}
-	
+
 	public IDebugModelPresentation getModelPresentation() {
 		return fPresentation;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
index 4bc7087..1be2ce3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.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
  *******************************************************************************/
@@ -12,15 +12,15 @@
 
 
 import org.eclipse.debug.core.DebugException;
- 
+
 /**
  * A plugable  exception handler.
  */
 public interface IDebugExceptionHandler {
-	
+
 	/**
 	 * Handles the given debug exception.
-	 * 
+	 *
 	 * @param e debug exception
 	 */
 	public abstract void handleException(DebugException e);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
index a123184..d4a931e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java
@@ -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
  *     Wind River - Pawel Piech - Fixed debug context service usage (Bug 258189)
@@ -21,22 +21,22 @@
 
 /**
  * Manages the view context services for each window.
- * 
+ *
  * @since 3.2
  */
 public class ViewContextManager implements IWindowListener {
-		
+
 	/**
 	 * Map of services
 	 */
 	private Map<IWorkbenchWindow, ViewContextService> fWindowToService = new HashMap<IWorkbenchWindow, ViewContextService>();
-	
+
 	// singleton manager
 	private static ViewContextManager fgManager;
-	
+
 	/**
 	 * Returns the singleton view context manager.
-	 * 
+	 *
 	 * @return view manager
 	 */
 	public static ViewContextManager getDefault() {
@@ -45,8 +45,8 @@
 		}
 		return fgManager;
 	}
-	
-	
+
+
 	private ViewContextManager() {
 		IWorkbench workbench = PlatformUI.getWorkbench();
 		IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows();
@@ -56,7 +56,7 @@
 		}
 		workbench.addWindowListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
 	 */
@@ -94,10 +94,10 @@
 			fWindowToService.put(window, service);
 		}
 	}
-	
+
 	/**
 	 * Returns the service for the given window, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param window
 	 * @return view context service or <code>null</code>
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
index a39b75c..125f973 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java
@@ -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
  *******************************************************************************/
@@ -67,69 +67,69 @@
 
 /**
  * Performs view management for a window.
- * 
+ *
  * @since 3.2
  */
 public class ViewContextService implements IDebugContextListener, IPerspectiveListener4, IPreferenceChangeListener, IContextManagerListener {
-	
+
 	/**
 	 * Maps the perspectives in this window to its last activated workbench context
 	 */
 	private final Map<IPerspectiveDescriptor, String> fPerspectiveToActiveContext = new HashMap<IPerspectiveDescriptor, String>();
-	
+
 	/**
-	 * Map of the perspectives to all workbench contexts activated in that perspective 
+	 * Map of the perspectives to all workbench contexts activated in that perspective
 	 */
 	private final Map<IPerspectiveDescriptor, Set<String>> fPerspectiveToActivatedContexts = new HashMap<IPerspectiveDescriptor, Set<String>>();
-	
+
 	/**
 	 * Map of context id's to context view bindings
 	 */
 	private Map<String, DebugContextViewBindings> fContextIdsToBindings;
-    	
+
 	/**
 	 * List of perspectives that debugging is allowed in
 	 */
 	private Set<String> fEnabledPerspectives = new HashSet<String>();
-    
+
     /**
-     * Whether to ignore perspective change call backs (set to 
-     * true when this class is modifying views). 
+     * Whether to ignore perspective change call backs (set to
+     * true when this class is modifying views).
      */
     private boolean fIgnoreChanges = false;
-	
+
 	/**
 	 * The window this service is working for
 	 */
 	private IWorkbenchWindow fWindow;
-	
+
 	private final IContextService fContextService;
-	
+
 	private final IDebugContextService fDebugContextService;
-	
+
 	/**
 	 * Perspective that is currently being de-activated.  Used to determine
-	 * when to ignore active context changes.  
+	 * when to ignore active context changes.
 	 */
 	private IPerspectiveDescriptor fActivePerspective;
-	
+
 	// base debug context
 	public static final String DEBUG_CONTEXT= "org.eclipse.debug.ui.debugging"; //$NON-NLS-1$
-	
+
 	// extension points
 	private static final String ID_CONTEXT_VIEW_BINDINGS= "contextViewBindings"; //$NON-NLS-1$
 
 	// extension elements
     private static final String ELEM_CONTEXT_VIEW_BINDING= "contextViewBinding"; //$NON-NLS-1$
     private static final String ELEM_PERSPECTIVE= "perspective"; //$NON-NLS-1$
-    
+
 	// extension attributes
 	private static final String ATTR_CONTEXT_ID= "contextId"; //$NON-NLS-1$
 	private static final String ATTR_VIEW_ID= "viewId"; //$NON-NLS-1$
 	private static final String ATTR_AUTO_OPEN= "autoOpen"; //$NON-NLS-1$
-	private static final String ATTR_AUTO_CLOSE= "autoClose"; //$NON-NLS-1$	
+	private static final String ATTR_AUTO_CLOSE= "autoClose"; //$NON-NLS-1$
     private static final String ATTR_PERSPECTIVE_ID= "perspectiveId"; //$NON-NLS-1$
-    
+
     // XML tags
     private static final String XML_ELEMENT_VIEW_BINDINGS ="viewBindings"; //$NON-NLS-1$
     private static final String XML_ELEMENT_PERSPECTIVE ="perspective"; //$NON-NLS-1$
@@ -138,10 +138,10 @@
     private static final String XML_ATTR_USER_ACTION = "userAction"; //$NON-NLS-1$
     private static final String XML_VALUE_OPENED = "opened"; //$NON-NLS-1$
     private static final String XML_VALUE_CLOSED = "closed"; //$NON-NLS-1$
-    
+
     // ids of base debug views in debug perspective that should not be auto-closed
 	private static Set<String> fgBaseDebugViewIds = null;
-    
+
     static {
 		fgBaseDebugViewIds = new HashSet<String>();
         fgBaseDebugViewIds.add(IDebugUIConstants.ID_DEBUG_VIEW);
@@ -149,20 +149,20 @@
         fgBaseDebugViewIds.add(IDebugUIConstants.ID_BREAKPOINT_VIEW);
         fgBaseDebugViewIds.add(IConsoleConstants.ID_CONSOLE_VIEW);
     }
-    
+
     private static String[] EMPTY_IDS = new String[0];
-    
+
     /**
      * View bindings for a debug context
      */
     private class DebugContextViewBindings {
-    	
+
     	// context id
     	private final String fId;
-    	
+
     	// list of view bindings id's specific to this context
     	private String[] fViewBindingIds = EMPTY_IDS;
-    	
+
     	// all bindings including inherited bindings, top down in activation order
     	private String[] fAllViewBindingIds = null;
     	// associated binding to activate
@@ -172,28 +172,28 @@
 
     	// id of parent context
     	private String fParentId;
-    	
+
     	/**
     	 * Constructs an empty view binding for the given context.
-    	 * 
+    	 *
     	 * @param id context id
     	 */
     	public DebugContextViewBindings(String id) {
     		fId = id;
     	}
-    	
+
     	/**
     	 * Returns the context id for these view bindings
-    	 * 
+    	 *
     	 * @return context id
     	 */
     	public String getId() {
     		return fId;
     	}
-    	
+
     	/**
     	 * Adds the given view binding to this context
-    	 * 
+    	 *
     	 * @param binding view binding to add
     	 */
     	public void addBinding(ViewBinding binding) {
@@ -203,19 +203,19 @@
     		fAllViewIdToBindings.put(binding.getViewId(), binding);
     		fViewBindingIds = newBindings;
     	}
-    	
+
     	/**
     	 * Sets the parent id of this view bindings
-    	 * 
+    	 *
     	 * @param id parent context id
     	 */
     	protected void setParentId(String id) {
     		fParentId = id;
     	}
-    	
+
     	/**
     	 * Returns the id of parent context
-    	 * 
+    	 *
     	 * @return parent context id
     	 */
     	public DebugContextViewBindings getParentContext() {
@@ -224,7 +224,7 @@
     		}
     		return fContextIdsToBindings.get(fParentId);
     	}
-    	
+
     	/**
     	 * Activates the views in this context hierarchy. Views are activated top down, allowing
     	 * sub-contexts to override settings in a parent context.
@@ -235,17 +235,17 @@
 		public void activateChain(IWorkbenchPage page, IPerspectiveDescriptor perspective, Set<String> allViewIds) {
     		initializeChain();
     		doActivation(page, perspective, allViewIds, fAllConetxtIds);
-    	}	
-    	
+    	}
+
     	public String[] getAllViewBindingsIds() {
     	    initializeChain();
     	    return fAllViewBindingIds;
     	}
-    	
+
     	/**
-    	 * Activates the view bindings for the specified views and the 
+    	 * Activates the view bindings for the specified views and the
     	 * specified contexts in the given page.
-    	 *  
+    	 *
     	 * @param page page to activate views in
     	 * @param perspective the perspective description
     	 * @param allViewIds id's of all the views that are relevant in this context activation
@@ -266,7 +266,7 @@
                 binding.checkZOrder(page, allViewIds);
 			}
     	}
-    	
+
     	/**
     	 * Builds the top down ordered list of bindings for this context allowing sub-contexts
     	 * to override parent settings.
@@ -299,10 +299,10 @@
     			fAllViewBindingIds = orderedIds.toArray(new String[orderedIds.size()]);
     		}
     	}
-    	
+
     	/**
     	 * Deactivates this context only (not parents)
-    	 * 
+    	 *
     	 * @param page workbench page
     	 * @param perspective the perspective description
     	 */
@@ -317,10 +317,10 @@
 				binding.deactivated(page, perspective);
 			}
     	}
-    	
+
     	/**
     	 * Notes when a view is opened/closed manually.
-    	 * 
+    	 *
     	 * @param opened opened or closed
     	 * @param viewId the view identifier
     	 */
@@ -342,11 +342,11 @@
         	if (binding != null) {
         		binding.applyUserSettings(viewElement);
         	}
-        }    	
-    	
+        }
+
         /**
          * Save view binding settings into XML document.
-         * 
+         *
          * @param document the document to save to
          * @param root the root XML element
          * @param alreadyDone views already done
@@ -360,9 +360,9 @@
         			binding.saveBindings(document, root);
         		}
 			}
-        }    	
+        }
     }
-    
+
     /**
      * Information for a view
      */
@@ -380,40 +380,40 @@
          * Set of perspectives this view was auto-opened by view management.
          */
 		private final Set<String> fAutoOpened = new HashSet<String>();
-        
+
         public ViewBinding(IConfigurationElement element) {
             fElement = element;
         }
-        
+
         /**
          * Returns the id of the view this binding pertains to.
-         * 
+         *
          * @return the id of the view
          */
         public String getViewId() {
             return fElement.getAttribute(ATTR_VIEW_ID);
         }
-        
+
         /**
          * Returns whether this view binding is set for auto-open.
-         * 
+         *
          * @return if the view is set to auto-open
          */
         public boolean isAutoOpen() {
             String autoopen = fElement.getAttribute(ATTR_AUTO_OPEN);
             return autoopen == null || "true".equals(autoopen); //$NON-NLS-1$
         }
-        
+
         /**
          * Returns whether this view binding is set for auto-close.
-         * 
+         *
          * @return if the view is set to auto-close
          */
         public boolean isAutoClose() {
             String autoclose = fElement.getAttribute(ATTR_AUTO_CLOSE);
             return autoclose == null || "true".equals(autoclose); //$NON-NLS-1$
         }
-        
+
         /**
          * Returns whether this view was opened by the user in the active perspective.
          * @param perspective the perspective description
@@ -422,19 +422,19 @@
         public boolean isUserOpened(IPerspectiveDescriptor perspective) {
             return fUserOpened.contains(perspective.getId());
         }
-        
+
         /**
          * Returns whether this view was closed by the user in the active perspective
          * @param perspective the description of the perspective
-         * @return if this view was closed by the user in the active perspective 
+         * @return if this view was closed by the user in the active perspective
          */
         public boolean isUserClosed(IPerspectiveDescriptor perspective) {
             return fUserClosed.contains(getActivePerspective().getId());
         }
-        
+
         /**
          * Returns whether this view is part of the active perspective by default
-         * 
+         *
          * TODO: we really need an API to determine which views are
          * in a perspective by default, but it does not seem to exist.
          * @param perspective  the description of the perspective
@@ -447,7 +447,7 @@
             }
             return false;
         }
-        
+
         protected void userOpened() {
             if (isTrackingViews()) {
                 String id = getActivePerspective().getId();
@@ -457,7 +457,7 @@
                 saveViewBindings();
             }
         }
-        
+
         protected void userClosed() {
             if (isTrackingViews()) {
                 String id = getActivePerspective().getId();
@@ -467,19 +467,19 @@
                 saveViewBindings();
             }
         }
-        
+
         /**
          * Returns whether the preference is set to track user view open/close.
-         * 
+         *
          * @return if the service is set to track user view open/close
          */
         protected boolean isTrackingViews() {
             return DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS);
         }
-        
+
         /**
          * Context has been activated, open/show as required.
-         * 
+         *
          * @param page the workbench page
          * @param perspective the perspective description
          */
@@ -502,11 +502,11 @@
                 }
             }
         }
-        
+
         /**
          * Context has been activated. Check the view stack to see if this view
          * should be made visible.
-         * 
+         *
          * @param page the page to check
          * @param relevantViews the array of view identifiers
          */
@@ -537,11 +537,11 @@
                     }
         		}
         	}
-        }        
-        
+        }
+
         /**
          * Context has been deactivated, close as required.
-         * 
+         *
          * @param page the workbench page
          * @param perspective the perspective description
          */
@@ -563,7 +563,7 @@
 
         /**
          * Save view binding settings into XML document.
-         * 
+         *
          * @param document the document to save to
          * @param root the root XML element
          */
@@ -576,7 +576,7 @@
                 root.appendChild(viewElement);
             }
         }
-        
+
 		private void appendPerspectives(Document document, Element parent, Set<String> perpectives, String xmlValue) {
             String[] ids = perpectives.toArray(new String[perpectives.size()]);
             for (int i = 0; i < ids.length; i++) {
@@ -587,7 +587,7 @@
                 parent.appendChild(element);
             }
         }
-        
+
         public void applyUserSettings(Element viewElement) {
             NodeList list = viewElement.getChildNodes();
             int length = list.getLength();
@@ -608,17 +608,17 @@
                         }
                     }
                 }
-            }       
+            }
         }
     }
-    
+
     private IDebugContextService getDebugContextService() {
     	return fDebugContextService;
     }
-	
+
 	/**
 	 * Creates a service for the given window
-	 * 
+	 *
 	 * @param window the window to attach this service to
 	 */
 	ViewContextService(IWorkbenchWindow window) {
@@ -642,7 +642,7 @@
 		    }
 		}
 	}
-	
+
 	public void dispose() {
 		fWindow.removePerspectiveListener(this);
 		fWindow = null;  // avoid leaking a window reference (bug 321658).
@@ -654,7 +654,7 @@
 		fContextService.removeContextManagerListener(this);
         fActivePerspective = null;
 	}
-	
+
 	/**
 	 * Loads extensions which map context id's to view bindings.
 	 */
@@ -681,7 +681,7 @@
 		}
 		linkParentContexts();
 	}
-    
+
     /**
      * Applies user settings that modify view binding extensions.
      */
@@ -704,13 +704,13 @@
                             }
                         }
                     }
-                }                
+                }
             } catch (CoreException e) {
                 DebugUIPlugin.log(e);
             }
         }
     }
-	
+
 	/**
 	 * Load the collection of perspectives in which view management will occur from the preference store.
 	 */
@@ -723,10 +723,10 @@
             fEnabledPerspectives = parseList(preference);
 	    }
 	}
-	
+
 	/**
 	 * Returns whether this service's window's active perspective supports view management.
-	 * 
+	 *
 	 * @return whether this service's window's active perspective supports view management
 	 */
 	private boolean isEnabledPerspective() {
@@ -735,11 +735,11 @@
 			return fEnabledPerspectives.contains(perspective.getId());
 		}
 		return false;
-	}	
-	
+	}
+
 	/**
 	 * Returns the active perspective in this service's window, or <code>null</code>
-	 * 
+	 *
 	 * @return active perspective or <code>null</code>
 	 */
 	private IPerspectiveDescriptor getActivePerspective() {
@@ -749,11 +749,11 @@
 
         return fActivePerspective;
 	}
-	
+
 	/**
 	 * Parses the comma separated string into a list of strings
 	 * @param listString the comma separated string to parse into a list object
-	 * 
+	 *
 	 * @return list
 	 */
 	public static Set<String> parseList(String listString) {
@@ -765,13 +765,13 @@
 		}
 		return list;
 	}
-	
+
 	/**
-     * Calculates the default set of perspectives enabled for view management 
+     * Calculates the default set of perspectives enabled for view management
      * based on the contextViewBindings extension point.
-     * 
+     *
      * @return set of enabled perspectives.
-     * 
+     *
      * @since 3.5
      */
 	public static Set<String> getDefaultEnabledPerspectives() {
@@ -787,7 +787,7 @@
                 }
             }
         }
-        
+
         return perspectives;
     }
 
@@ -819,10 +819,10 @@
                                                 break;
                                             }
 									    }
-									    
+
 									    if (needToActivate) {
 											Set<String> allViewIds = getAllContextsViewIDs(workbenchContexts);
-									        
+
     										// if all contexts already activate and last context is already active context == done
                                             for (int i = 0; i < workbenchContexts.size(); i++) {
     											String contextId = workbenchContexts.get(i);
@@ -831,21 +831,21 @@
     											}
     										}
     									}
-									}									
+									}
 								}
 							} catch (CoreException e) {
 								DebugUIPlugin.log(e);
 							}
-						}												
-					}						
+						}
+					}
 				}
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns whether the given context is the active context in the active perspective.
-	 * 
+	 *
 	 * @param contextId the id of the context
 	 * @return if the given id is the id for the currently active context
 	 */
@@ -857,12 +857,12 @@
 		}
 		return false;
 	}
-	
+
 	/**
-	 * Returns whether the given context is activated in the active perspective. 
-	 * 
+	 * Returns whether the given context is activated in the active perspective.
+	 *
 	 * @param contextId the context id
-	 * @return if the given context is activated in the active perspective 
+	 * @return if the given context is activated in the active perspective
 	 */
 	private boolean isActivated(String contextId) {
 		IPerspectiveDescriptor activePerspective = getActivePerspective();
@@ -874,7 +874,7 @@
 		}
 		return false;
 	}
-	
+
 	private void addActivated(String contextId) {
 		IPerspectiveDescriptor activePerspective = getActivePerspective();
 		if (activePerspective != null) {
@@ -886,7 +886,7 @@
 			contexts.add(contextId);
 		}
 	}
-	
+
 	private void removeActivated(String contextId) {
 		IPerspectiveDescriptor activePerspective = getActivePerspective();
 		if (activePerspective != null) {
@@ -894,7 +894,7 @@
 			if (contexts != null) {
 				contexts.remove(contextId);
 			}
-		}		
+		}
 	}
 
 	@Override
@@ -908,7 +908,7 @@
 	 * @see org.eclipse.ui.IPerspectiveListener3#perspectiveOpened(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
 	 */
 	@Override
-	public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {        
+	public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
 	}
 
 	/* (non-Javadoc)
@@ -924,10 +924,10 @@
 	@Override
 	public void perspectiveDeactivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
 	}
-	
+
 	/**
 	 * Closes all auto-opened views.
-	 * 
+	 *
 	 * @param perspective the perspective descriptor
 	 */
 	private void clean(IPerspectiveDescriptor perspective) {
@@ -967,7 +967,7 @@
                     }
                 }
 			}
-        }	
+        }
 	}
 
 	/* (non-Javadoc)
@@ -990,10 +990,10 @@
 	@Override
 	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
 	}
-	
+
 	/**
 	 * Activates all parent contexts of the given context, top down.
-	 * 
+	 *
 	 * @param contextId the identifier of the {@link DebugContextViewBindings} to activate
 	 * @param perspective the perspective description
 	 */
@@ -1001,7 +1001,7 @@
 		if (fWindow == null) {
 			return; // disposed
 		}
-	    
+
 		IWorkbenchPage page = fWindow.getActivePage();
 		if (page != null) {
 			DebugContextViewBindings bindings= fContextIdsToBindings.get(contextId);
@@ -1010,12 +1010,12 @@
 			}
 		}
 	}
-	
+
 	private Set<String> getAllContextsViewIDs(List<String> contextsIds) {
 		if (fWindow == null) {
 			return Collections.EMPTY_SET; // disposed
 		}
-        
+
 		TreeSet<String> viewIds = new TreeSet<String>();
         for (int i = 0; i < contextsIds.size(); i++) {
             DebugContextViewBindings bindings= fContextIdsToBindings.get(contextsIds.get(i));
@@ -1028,9 +1028,9 @@
         }
         return viewIds;
 	}
-	
+
 	/**
-	 * Links each debug context view bindings with its parent context bindings 
+	 * Links each debug context view bindings with its parent context bindings
 	 */
 	private void linkParentContexts() {
 		for (Entry<String, DebugContextViewBindings> entry : fContextIdsToBindings.entrySet()) {
@@ -1044,12 +1044,12 @@
 				}
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Sets the active context in the given perspective, or removes
 	 * when <code>null</code>.
-	 * 
+	 *
 	 * @param perspective the perspective descriptor
 	 * @param contextId the context identifier
 	 */
@@ -1081,25 +1081,25 @@
 			contextActivated(DebugUITools.getDebugContextManager().getContextService(fWindow).getActiveContext());
 		}
 	}
-	
+
 	private void deactivate(String contextId, IPerspectiveDescriptor perspective) {
 	    if (fWindow == null)
 		 {
 			return;  // disposed
 		}
-	    
+
 		IWorkbenchPage page = fWindow.getActivePage();
 		if (page != null) {
 			DebugContextViewBindings bindings = fContextIdsToBindings.get(contextId);
 			if (bindings != null) {
 				bindings.deactivate(page, perspective);
 			}
-		}		
+		}
 	}
-	
+
 	/**
 	 * Returns a set of contexts disabled in the given event, possibly empty.
-	 * 
+	 *
 	 * @param event the event
 	 * @return disabled context id's
 	 */
@@ -1110,18 +1110,18 @@
 			prev.removeAll(activeContextIds);
 		}
 		return prev;
-	}	
+	}
 
 	/**
 	 * Returns whether the given context has view bindings.
-	 * 
+	 *
 	 * @param id the context id
 	 * @return whether the given context has view bindings
 	 */
 	private boolean isViewContext(String id) {
 		return fContextIdsToBindings.containsKey(id);
 	}
-    
+
     /**
      * Save view binding settings that differ from extension settings
      */
@@ -1146,20 +1146,20 @@
             fIgnoreChanges = false;
         }
 
-    }    
-    
+    }
+
     /**
      * Returns the perspectives in which debugging is enabled.
-     * 
-     * @return the array of perspective identifiers in which debugging is enabled 
+     *
+     * @return the array of perspective identifiers in which debugging is enabled
      */
     public String[] getEnabledPerspectives() {
     	return fEnabledPerspectives.toArray(new String[fEnabledPerspectives.size()]);
     }
-    
+
     /**
      * Show the view without effecting user preferences
-     * 
+     *
      * @param viewId the id of the view to show
      */
     public void showViewQuiet(String viewId) {
@@ -1167,7 +1167,7 @@
 		 {
 			return;  // disposed;
 		}
-        
+
 		IWorkbenchPage page = fWindow.getActivePage();
 		if (page != null) {
 			try {
@@ -1181,7 +1181,7 @@
 			} finally {
 				fIgnoreChanges = false;
 			}
-		}    	
+		}
     }
 
 	/* (non-Javadoc)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
index 565ff48..a1df06c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java
@@ -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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -40,45 +40,45 @@
 	 * Child breakpoints - inserting new element into this collection should use the insertBreakpoint method
 	 */
 	final private List<IBreakpoint> fBreakpoints = new ArrayList<IBreakpoint>();
-    
+
     /**
      * Child containers - inserting new element into this container should use the insertChildContainer method
      */
 	final private List<BreakpointContainer> fChildContainers = new ArrayList<BreakpointContainer>();
-	
+
     /**
      * The category for this container
      */
     private IAdaptable fCategory;
-    
+
     /**
      * The breakpoint organizer for this container
      */
     private IBreakpointOrganizer fOrganizer;
-    
+
     /**
      * The nested breakpoint organizer
      */
     private IBreakpointOrganizer[] fNesting;
-    
+
     /**
      * A flag to indicate this is the default container
      */
     private boolean fDefaultContainer;
-    
+
     /**
      * Parent container
      */
     private BreakpointContainer fParent;
-    
+
     /**
      * The comparator, will be use to compare the order for inserting new element into this container
      */
     private ElementComparator fComparator;
-    
+
     /**
      * Constructor, intended to be call when creating the root container.
-     * 
+     *
      * @param organizers the breakpoint organizer for this container
      * @param comparator the element comparator, can be <code>null</code>. If <code>null</code> than new element
      * will be added to the end of the list.
@@ -87,39 +87,39 @@
     	fNesting = organizers;
     	fComparator = comparator;
     }
-    
+
     /**
      * Constructor, intended to be call within this class only.
-     * 
+     *
      * @param parent the parent breakpoint container
      * @param category the category for this container
      * @param organizer the organizer for this container
      * @param comparator the element comparator
      * @param nesting the nested breakpoint organizer
      */
-    private BreakpointContainer(BreakpointContainer parent, IAdaptable category, IBreakpointOrganizer organizer, 
-    		ElementComparator comparator, IBreakpointOrganizer[] nesting) {     	
+    private BreakpointContainer(BreakpointContainer parent, IAdaptable category, IBreakpointOrganizer organizer,
+    		ElementComparator comparator, IBreakpointOrganizer[] nesting) {
     	this(category, organizer, nesting);
     	fParent = parent;
     	fComparator = comparator;
     }
-    
+
     /**
      * Constructor, intended to be call when reorganizing the content.
-     * 
+     *
      * @param category the breakpoint category
      * @param organizer the breakpoint organizer
      * @param nesting the nested breakpoint organizer
      */
-    BreakpointContainer(IAdaptable category, IBreakpointOrganizer organizer, IBreakpointOrganizer[] nesting) {    	
+    BreakpointContainer(IAdaptable category, IBreakpointOrganizer organizer, IBreakpointOrganizer[] nesting) {
     	fCategory = category;
     	fOrganizer = organizer;
     	fNesting = nesting;
     }
-    
+
     /**
      * Initialize the default containers.
-     * 
+     *
      * @param parentDelta the parent delta, addition child delta will be added to the parent
      */
     public void initDefaultContainers(ModelDelta parentDelta) {
@@ -144,11 +144,11 @@
     			}
     		}
     	}
-    }    
-    
+    }
+
     /**
      * Insert the breakpoint to this container.
-     * 
+     *
      * @param breakpoint the new breakpoint
      * @return the index of the breakpoint in the cache, -1 if the breakpoint already exist
      */
@@ -166,12 +166,12 @@
     		index = 0;
     	}
     	fBreakpoints.add(index, breakpoint);
-    	return index;   	
+    	return index;
     }
-    
+
     /**
      * Insert the child container this container.
-     * 
+     *
      * @param container the child container
      * @return the index of the container in the cache, -1 if the child container already exist
      */
@@ -182,46 +182,46 @@
 				break;
 			}
     	}
-    	
+
     	if (index < 0) {
 			index = 0;
 		}
     	fChildContainers.add(index, container);
-    	
+
     	return index;
     }
-    
-    
+
+
     /**
      * Returns the element comparator.
-     * 
+     *
      * @return the element comparator
      */
     public ElementComparator getElementComparator() {
     	return fComparator;
-    }    
-    
+    }
+
     /**
      * Returns the parent container, can be <code>null</code>.
-     * 
+     *
      * @return the parent container
      */
     public BreakpointContainer getParent() {
     	return fParent;
     }
-    
+
     /**
      * Determine whether there is any nested container.
-     * 
+     *
      * @return true if has nested container
      */
     private boolean hasNesting() {
     	return fNesting != null && fNesting.length > 0;
     }
-    
+
     /**
      * Get the categories for the breakpoint with the given organizer.
-     * 
+     *
      * @param breakpoint the breakpoint
      * @param organizer the organizer
      * @return the categories
@@ -233,10 +233,10 @@
 		}
     	return categories;
     }
-    
+
     /**
      * Find existing breakpoint container in the container array the given category.
-     * 
+     *
      * @param containers the container array
      * @param category the category
      * @return the breakpoint container, can be <code>null</code>.
@@ -249,36 +249,36 @@
     	}
     	return null;
     }
-    
+
     // TODO [pchuong]: can be remove if BreakpointsContentProvider no longer uses this class
     void addBreakpoint(IBreakpoint breakpoint) {
     	addBreakpoint(breakpoint, new ModelDelta(null, IModelDelta.NO_CHANGE));
-    }    
-    
+    }
+
     /**
-     * Add a breakpoint to the container, additional delta will be added to the root delta. 
-     * 
+     * Add a breakpoint to the container, additional delta will be added to the root delta.
+     *
      * @param breakpoint the breakpoint to added
      * @param rootDelta the root delta of this container
      * @see #removeBreakpoint
      */
-    public void addBreakpoint(IBreakpoint breakpoint, ModelDelta rootDelta) {    	
+    public void addBreakpoint(IBreakpoint breakpoint, ModelDelta rootDelta) {
     	final int bpIndex = insertBreakpoint(breakpoint);
     	if (bpIndex < 0) {
 			return;
 		}
-    	
+
         if (hasNesting()) {
             IBreakpointOrganizer organizer = fNesting[0];
-            
+
             // get the breakpoint categories from the organizer
-            IAdaptable[] categories = getCategories(breakpoint, organizer);            
-            
+            IAdaptable[] categories = getCategories(breakpoint, organizer);
+
             for (int i = 0; i < categories.length; ++i) {
             	ModelDelta childDelta = null;
             	IAdaptable category = categories[i];
-            	BreakpointContainer container = findExistingContainer(fChildContainers, category);            	
-            	
+            	BreakpointContainer container = findExistingContainer(fChildContainers, category);
+
             	// create a new container if it doesn't exist
             	if (container == null) {
             		IBreakpointOrganizer[] nesting = null;
@@ -289,7 +289,7 @@
             		container = new BreakpointContainer(this, category, organizer, fComparator, nesting);
             		insertChildContainer(container);
             		childDelta = rootDelta.addNode(container, fChildContainers.indexOf(container), IModelDelta.INSERTED|IModelDelta.INSTALL, -1);
-            	
+
             	} else {
 					childDelta = rootDelta.addNode(container, fChildContainers.indexOf(container), IModelDelta.STATE, -1);
             	}
@@ -297,23 +297,23 @@
            		container.addBreakpoint(breakpoint, childDelta);
            		childDelta.setChildCount(container.getChildren().length);
             }
-        
+
         } else {
-        	// TODO [pchuong]: There seems to be some kind of problem when the INSERTED flag is used, 
+        	// TODO [pchuong]: There seems to be some kind of problem when the INSERTED flag is used,
         	//				   there is a additional checkbox added to the end of the tree.
         	//				   Also the tree seems to have a strange visual effect when using the INSERTED
         	//				   flag for the child node instead of ADDED flag. Note: all breakpoint delta
         	//				   is using the ADDED flag in this class.
        		rootDelta.addNode(breakpoint, bpIndex, IModelDelta.ADDED|IModelDelta.INSTALL, 0);
        		// rootDelta.addNode(breakpoint, bpIndex, IModelDelta.INSERTED|IModelDelta.INSTALL, 0);
-       		
+
         	rootDelta.setFlags(rootDelta.getFlags() | IModelDelta.EXPAND);
         }
     }
-    
+
     /**
      * Remove a breakpoint from the container, additional delta will be added to the root delta.
-     * 
+     *
      * @param breakpoint the breakpoint to remove
      * @param rootDelta the root delta of this container
      * @return if the breakpoint was successfully removed
@@ -321,10 +321,10 @@
      */
     public boolean removeBreakpoint(IBreakpoint breakpoint, ModelDelta rootDelta) {
     	boolean removed = fBreakpoints.remove(breakpoint);
-    	
+
     	if (removed) {
     		boolean addRemoveBpDelta = getContainers().length == 0;
-        	
+
 			Iterator<BreakpointContainer> it = fChildContainers.iterator();
     		while (it.hasNext()) {
     			BreakpointContainer container = it.next();
@@ -335,25 +335,25 @@
     				if ((!container.isDefaultContainer()) && (container.getBreakpoints().length <= 1)) {
 	    				it.remove();
 	    				childDelta = rootDelta.addNode(container, IModelDelta.REMOVED|IModelDelta.UNINSTALL);
-	    				 
+
 	    			} else {
 	    				childDelta = rootDelta.addNode(container, IModelDelta.STATE);
 	    			}
     				// remove the breakpoint from the nested containers
 	    			container.removeBreakpoint(breakpoint, childDelta);
     			}
-    		} 
-    		
+    		}
+
     		if (addRemoveBpDelta) {
     			rootDelta.addNode(breakpoint, IModelDelta.REMOVED|IModelDelta.UNINSTALL);
     		}
     	}
     	return removed;
-    } 
-    
+    }
+
     /**
      * A helper method to copy the organizers between two containers.
-     * 
+     *
      * @param destContainer the destination container
      * @param sourceContainer the source container
      */
@@ -362,10 +362,10 @@
     	destContainer.fOrganizer = sourceContainer.fOrganizer;
 		destContainer.fCategory = sourceContainer.fCategory;
     }
-    
+
     /**
      * A helper method to update the breakpoint cache of the container and it's ancestors.
-     * 
+     *
      * @param container the breakpoint container
      * @param breakpoints the breakpoint to update
      * @param add true if breakpoint should be added to the cache, otherwise remove the breakpoint from the cache
@@ -379,10 +379,10 @@
     		updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, add);
     	}
     }
-    
+
     /**
      * A helper method to add a breakpoint to an existing container.
-     * 
+     *
      * @param destContainer the destination container
      * @param breakpoint the breakpoint to add
      * @param destContainerDelta the destination container delta, additional delta will be added to this delta
@@ -390,18 +390,18 @@
     static public void addBreakpoint(BreakpointContainer destContainer, IBreakpoint breakpoint, ModelDelta destContainerDelta) {
     	int index = destContainer.insertBreakpoint(breakpoint);
     	Assert.isTrue(index >= 0);
-    	
+
 		List<IBreakpoint> breakpoints = destContainer.fBreakpoints;
     	destContainerDelta.addNode(breakpoint, index/*breakpoints.indexOf(breakpoint)*/, IModelDelta.ADDED|IModelDelta.INSTALL, 0);
     	destContainerDelta.setFlags(destContainerDelta.getFlags() | IModelDelta.EXPAND);
 
-    	// add the breakpoints to the parent containers.    	
+    	// add the breakpoints to the parent containers.
     	updateSelfAndAncestorsBreakpointCache(destContainer.getParent(), breakpoints, true);
     }
-    
+
     /**
      * A helper method to add a child container to an existing container.
-     * 
+     *
      * @param destContainer the destination container
      * @param sourceContainer the source container
      * @param destContainerDelta the delta of the destination container, additional delta will be added to this delta
@@ -409,21 +409,21 @@
     static public void addChildContainer(BreakpointContainer destContainer, BreakpointContainer sourceContainer, ModelDelta destContainerDelta) {
     	destContainer.insertChildContainer(sourceContainer);
     	sourceContainer.fParent = destContainer;
-    	
+
     	// add the breakpoints to the parent containers.
 		List<IBreakpoint> breakpoints = Arrays.asList(sourceContainer.getBreakpoints());
     	updateSelfAndAncestorsBreakpointCache(destContainer, breakpoints, true);
-    	
+
     	int index = destContainer.fChildContainers.indexOf(sourceContainer);
     	int size = sourceContainer.getChildren().length;
     	ModelDelta childDelta  = destContainerDelta.addNode(sourceContainer, index, IModelDelta.INSERTED|IModelDelta.INSTALL|IModelDelta.EXPAND, size);
-    	
+
     	appendContainerDelta(sourceContainer, childDelta);
     }
-    
+
     /**
      * A helper method to append delta to the breakpoint container. This method is used by addContainer only.
-     * 
+     *
      * @param container the container to append child delta
      * @param containerDelta the delta of the breakpoint container, additional delta will be added to this delta
      */
@@ -431,21 +431,21 @@
     	Object[] children = container.getChildren();
     	for (int i = 0; i < children.length; ++i) {
     		boolean isBreakpoint = children[0] instanceof IBreakpoint;
-    		int numChild =  isBreakpoint ? 0 : children.length;     		
-    		int flag = isBreakpoint ? IModelDelta.ADDED|IModelDelta.INSTALL 
+    		int numChild =  isBreakpoint ? 0 : children.length;
+    		int flag = isBreakpoint ? IModelDelta.ADDED|IModelDelta.INSTALL
     				: IModelDelta.INSERTED|IModelDelta.INSTALL|IModelDelta.EXPAND;
     		ModelDelta childDelta = containerDelta.addNode(children[i], i, flag, numChild);
-    		
-    		if (children[i] instanceof BreakpointContainer) {    
-    			BreakpointContainer childContainer = (BreakpointContainer) children[i];			
+
+    		if (children[i] instanceof BreakpointContainer) {
+    			BreakpointContainer childContainer = (BreakpointContainer) children[i];
     			appendContainerDelta(childContainer, childDelta);
-    		} 
+    		}
     	}
     }
-    
+
     /**
      * A helper method to remove the breakpoint from the container.
-     * 
+     *
      * @param container the container to remove the breakpoint
      * @param breakpoint the breakpoint to remove
      * @param containerDelta the delta of the breakpoint container, additional delta will be added to this delta
@@ -456,10 +456,10 @@
     	breakpoints.add(breakpoint);
     	updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, false);
     }
-    
+
     /**
      * Remove all child elements including the given container itself.
-     * 
+     *
      * @param container the breakpoint container
      * @param delta the parent delta
      */
@@ -469,7 +469,7 @@
     		parent.fChildContainers.remove(container);
     		delta = delta.addNode(container, IModelDelta.UNINSTALL|IModelDelta.REMOVED);
     	}
-    	
+
     	if (container.fChildContainers.size() == 0) {
 			List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>();
 			Iterator<IBreakpoint> iterator = container.fBreakpoints.iterator();
@@ -477,67 +477,67 @@
 				IBreakpoint obj = iterator.next();
 				breakpoints.add(obj);
 				delta.addNode(obj, IModelDelta.UNINSTALL|IModelDelta.REMOVED);
-				iterator.remove();				
+				iterator.remove();
     		}
-    		
+
 	    	// remove the breakpoints from the parent containers.
-			updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, false);     		
+			updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, false);
     		return;
     	}
-    	
+
 		Iterator<BreakpointContainer> iterator = container.fChildContainers.iterator();
     	while (iterator.hasNext()) {
-    		BreakpointContainer childContainer = iterator.next();    		
-    		ModelDelta childDelta = delta.addNode(childContainer, IModelDelta.REMOVED|IModelDelta.UNINSTALL);    		
+    		BreakpointContainer childContainer = iterator.next();
+    		ModelDelta childDelta = delta.addNode(childContainer, IModelDelta.REMOVED|IModelDelta.UNINSTALL);
     		iterator.remove();
     		removeAll(childContainer, childDelta);
     	}
     }
-    
+
     /**
      * Returns whether this is the default container.
-     * 
+     *
      * @return true if it is a default container
      */
     boolean isDefaultContainer() {
     	return fDefaultContainer;
     }
-    
+
     /**
      * Returns the breakpoints in this container
-     * 
+     *
      * @return the breakpoints in this container
      */
     @Override
 	public IBreakpoint[] getBreakpoints() {
         return fBreakpoints.toArray(new IBreakpoint[fBreakpoints.size()]);
     }
-    
+
     /**
      * Returns this container's category.
-     * 
+     *
      * @return container category
      */
     @Override
 	public IAdaptable getCategory() {
         return fCategory;
     }
-    
+
     /**
      * Returns children as breakpoints or nested containers.
-     * 
+     *
      * @return children as breakpoints or nested containers
      */
     public Object[] getChildren() {
         if (fChildContainers.isEmpty()) {
             return getBreakpoints();
         }
-        return getContainers(); 
-    }    
+        return getContainers();
+    }
 
     /**
      * Returns the index of the given child element (breakpoint or container.
-     * 
+     *
      * @param child Child to calculate index of.
      * @return index of child
      */
@@ -547,40 +547,40 @@
         }
         return fChildContainers.indexOf(child);
     }
-    
+
     /**
      * Returns the containers nested in this container, possibly empty.
-     * 
+     *
      * @return the containers nested in this container, can be empty.
      */
     public BreakpointContainer[] getContainers() {
         return fChildContainers.toArray(new BreakpointContainer[fChildContainers.size()]);
     }
-    
+
     /**
      * Returns this container's organizer.
-     * 
+     *
      * @return this container's organizer
      */
     @Override
 	public IBreakpointOrganizer getOrganizer() {
         return fOrganizer;
     }
-    
+
     /**
      * Returns whether this container contains the given breakpoint.
-     * 
+     *
      * @param breakpoint the breakpoint to check
      * @return true if this container contains the given breakpoint
      */
     @Override
 	public boolean contains(IBreakpoint breakpoint) {
         return fBreakpoints.contains(breakpoint);
-    }    
-    
+    }
+
     /**
      * Returns the child containers for the given breakpoint.
-     *  
+     *
      * @param breakpoint the breakpoint to get containers for
      * @return child containers
      */
@@ -604,7 +604,7 @@
         }
         return new BreakpointContainer[0];
     }
-    
+
 	/*
 	 * (non-Javadoc)
 	 * @see java.lang.Object#equals(java.lang.Object)
@@ -615,11 +615,11 @@
         	BreakpointContainer container = (BreakpointContainer) obj;
             // With Group by "Advanced" the same category can contain a different subset of breakpoints,
             // therefore to have the same category is not enough to be equal.
-            if (! (fParent != null && container.fParent != null && fParent.equals(container.fParent) || 
+            if (! (fParent != null && container.fParent != null && fParent.equals(container.fParent) ||
             		fParent == null && container.fParent == null) ) {
                 return false;
             }
-        	if (getCategory() != null && container.getCategory() != null) {        		
+        	if (getCategory() != null && container.getCategory() != null) {
         		return getCategory().equals(container.getCategory());
         	} else {
         		return true;
@@ -642,10 +642,10 @@
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#getChildren(java.lang.Object, int, int, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate)
 	 */
 	@Override
-	protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {		
+	protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 		return getElements(getChildren(), index, length);
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#supportsContextId(java.lang.String)
@@ -653,8 +653,8 @@
 	@Override
 	protected boolean supportsContextId(String id) {
 		return id.equals(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-	}	
-	
+	}
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java
index 1aededf..9120325 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -92,7 +92,7 @@
             if (adapter != null) {
                 return adapter.getForeground(category);
             }
-        }        
+        }
         return null;
     }
 
@@ -108,7 +108,7 @@
             if (adapter != null) {
                 return adapter.getBackground(category);
             }
-        }        
+        }
         return null;
     }
 
@@ -124,7 +124,7 @@
             if (adapter != null) {
                 return adapter.getFont(category);
             }
-        }        
+        }
         return null;
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java
index b7a88d7..8281f8c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java
index 36b0647..907f0d2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java
@@ -26,25 +26,25 @@
  * A contributed breakpoint organizer.
  */
 public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBreakpointOrganizerDelegateExtension {
-	
+
 	private IConfigurationElement fElement;
 	private IBreakpointOrganizerDelegate fDelegate;
 	private ImageDescriptor fDescriptor;
-	
+
 	// attributes
 	public static final String ATTR_LABEL = "label"; //$NON-NLS-1$
 	public static final String ATTR_CLASS = "class"; //$NON-NLS-1$
 	public static final String ATTR_ID = "id"; //$NON-NLS-1$
 	public static final String ATTR_ICON = "icon"; //$NON-NLS-1$
     public static final String ATTR_OTHERS_LABEL = "othersLabel"; //$NON-NLS-1$
-	
+
 	public BreakpointOrganizerExtension(IConfigurationElement element) {
 		fElement = element;
 	}
-	
+
 	/**
 	 * Returns the image descriptor for this organizer.
-	 * 
+	 *
 	 * @return image descriptor
 	 */
 	@Override
@@ -55,32 +55,32 @@
 				fDescriptor = ImageDescriptor.getMissingImageDescriptor();
 			}
 		}
-		return fDescriptor;		
+		return fDescriptor;
 	}
-	
+
 	/**
 	 * Returns this organizer's label.
-	 * 
+	 *
 	 * @return this organizer's label
 	 */
 	@Override
 	public String getLabel() {
 		return fElement.getAttribute(ATTR_LABEL);
 	}
-    
+
     /**
      * Returns this organizer's identifier.
-     * 
+     *
      * @return this organizer's identifier
      */
     @Override
 	public String getIdentifier() {
         return fElement.getAttribute(ATTR_ID);
     }
-	
+
 	/**
 	 * Returns this organizer's delegate, instantiating it if required.
-	 * 
+	 *
 	 * @return this organizer's delegate
 	 */
 	protected IBreakpointOrganizerDelegate getOrganizer() {
@@ -168,7 +168,7 @@
 	public String getOthersLabel() {
         String attribute = fElement.getAttribute(ATTR_OTHERS_LABEL);
         if (attribute == null) {
-            return DebugUIViewsMessages.OtherBreakpointOrganizer_0; 
+            return DebugUIViewsMessages.OtherBreakpointOrganizer_0;
         }
         return attribute;
     }
@@ -209,6 +209,6 @@
 				removeBreakpoint(breakpoints[i], category);
 			}
 		}
-		
+
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
index eb09e90..a83b56c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java
@@ -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
  *******************************************************************************/
@@ -38,9 +38,9 @@
  * @since 3.1
  */
 public class BreakpointOrganizerManager {
-	
+
 	private static BreakpointOrganizerManager fgManager;
-	
+
 	// map for lookup by id
 	private Map<String, IBreakpointOrganizer> fOrganizers = new HashMap<String, IBreakpointOrganizer>();
     // cached sorted list by label
@@ -57,7 +57,7 @@
 		}
 		return fgManager;
 	}
-	
+
 	/**
 	 * Creates and initializes a new breakpoint container factory.
 	 */
@@ -67,10 +67,10 @@
         start("org.eclipse.debug.ui.workingSetOrganizer"); //$NON-NLS-1$
         start("org.eclipse.debug.ui.breakpointWorkingSetOrganizer"); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Forces instantiation of organizer delegate.
-	 * 
+	 *
 	 * @param organizerId organizer to start
 	 */
 	private void start(String organizerId) {
@@ -81,9 +81,9 @@
             }
         };
         organizer.addPropertyChangeListener(listener);
-        organizer.removePropertyChangeListener(listener);		
+        organizer.removePropertyChangeListener(listener);
 	}
-    
+
     /**
      * Loads all contributed breakpoint organizers.
      */
@@ -97,8 +97,8 @@
                 fOrganizers.put(organizer.getIdentifier(), organizer);
             }
         }
-    }    
-	
+    }
+
     /**
      * Validates the given organizer. Checks that certain required attributes
      * are available.
@@ -109,11 +109,11 @@
         String id = organizer.getIdentifier();
         String label = organizer.getLabel();
         return id != null && id.length() > 0 && label != null && label.length() > 0;
-    }    
-	
+    }
+
     /**
      * Returns all contributed breakpoint organizers.
-     * 
+     *
      * @return all contributed breakpoint organizers
      */
     public IBreakpointOrganizer[] getOrganizers() {
@@ -132,7 +132,7 @@
     	}
     	return fSorted.toArray(new IBreakpointOrganizer[fSorted.size()]);
     }
-    
+
     /**
      * Returns the specified breakpoint organizer or <code>null</code>
      * @param id organizer identifier
@@ -141,7 +141,7 @@
     public IBreakpointOrganizer getOrganizer(String id) {
         return fOrganizers.get(id);
     }
-    
+
     /**
      * Shuts down the organizer manager, disposing organizers.
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java
index 3ff9bc6..e563bf9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.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
  *******************************************************************************/
@@ -20,15 +20,15 @@
  * Adapter to save and restore breakpoints for a working set.
  */
 public class BreakpointPersistableElementAdapter implements IPersistableElement {
-    
+
     private IBreakpoint fBreakpoint;
-    
+
     public static final String TAG_MARKER_ID = "TAG_MARKER_ID"; //$NON-NLS-1$
     public static final String TAG_RESOURCE_FACTORY_ID = "TAG_RESOURCE_FACTORY_ID"; //$NON-NLS-1$
-    
+
     /**
      * Constructs a new persitable element adapter for the given breakpoint.
-     * 
+     *
      * @param breakpoint the backing {@link IBreakpoint}
      */
     public BreakpointPersistableElementAdapter(IBreakpoint breakpoint) {
@@ -58,7 +58,7 @@
                 memento.putString(TAG_MARKER_ID, longString);
                 memento.putString(TAG_RESOURCE_FACTORY_ID, pe.getFactoryId());
                 pe.saveState(memento);
-            }            
+            }
         }
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
index ec22c8f..46ebc1f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java
@@ -45,23 +45,23 @@
 
 /**
  * Breakpoint organizers for breakpoint working sets.
- * 
+ *
  * @since 3.1
  */
 public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate implements IBreakpointOrganizerDelegateExtension, IPropertyChangeListener, IBreakpointsListener {
 
 	private IWorkingSetManager fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
-	
+
 	/**
 	 * A cache for mapping markers to the working set they belong to
 	 * @since 3.2
 	 */
 	private BreakpointWorkingSetCache fCache = null;
-	
+
 	// Cache of the default working set, so we can know when it changes name
 	private static IWorkingSet fDefaultWorkingSet = null;
-	
-	
+
+
 	/**
 	 * Constructs a working set breakpoint organizer. Listens for changes in
 	 * working sets and fires property change notification.
@@ -76,7 +76,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint)
 	 */
 	@Override
@@ -101,7 +101,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
 	 */
 	@Override
@@ -115,7 +115,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 	 */
 	@Override
@@ -169,7 +169,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
 	 */
 	@Override
@@ -198,7 +198,7 @@
 			addBreakpointsToSet(list.toArray(new IBreakpoint[list.size()]), set);
 		}
 	}
-	
+
 	private void queueToSet(IBreakpoint breakpoint, IWorkingSet set, Map<IWorkingSet, List<IBreakpoint>> queue) {
 		List<IBreakpoint> list = queue.get(set);
 		if (list == null) {
@@ -207,12 +207,12 @@
 		}
 		list.add(breakpoint);
 	}
-	
+
 	/**
 	 * Adds a breakpoint to a working set
 	 * @param breakpoints the breakpoints to add
 	 * @param set the set to add it to or <code>null</code> if none
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private void addBreakpointsToSet(IBreakpoint[] breakpoints, IWorkingSet set) {
@@ -228,17 +228,17 @@
 				IBreakpoint breakpoint = breakpoints[i];
 				if (!collection.contains(breakpoint)) {
 					list.add(breakpoint);
-					fCache.addEntry(breakpoint.getMarker(), set.getName()); //fix for bug 103731	
+					fCache.addEntry(breakpoint.getMarker(), set.getName()); //fix for bug 103731
 					fCache.flushMarkerCache(breakpoint.getMarker());
 				}
 			}
 			set.setElements(list.toArray(new IAdaptable[list.size()]));
 		}
-	}	
-	
+	}
+
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsRemoved(org.eclipse.debug.core.model.IBreakpoint[],
 	 *      org.eclipse.core.resources.IMarkerDelta[])
 	 */
@@ -257,7 +257,7 @@
 
 	/**
 	 * Removes deleted breakpoints from the given working set.
-	 * 
+	 *
 	 * @param workingSet
 	 *            breakpoint working set
 	 */
@@ -289,7 +289,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsChanged(org.eclipse.debug.core.model.IBreakpoint[],
 	 *      org.eclipse.core.resources.IMarkerDelta[])
 	 */
@@ -300,7 +300,7 @@
 	/**
 	 * Returns the active default breakpoint working set, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return the active default breakpoint working set, or <code>null</code>
 	 */
 	public static IWorkingSet getDefaultWorkingSet() {
@@ -315,7 +315,7 @@
 	/**
 	 * Sets the active default breakpoint working set, or <code>null</code> if
 	 * none.
-	 * 
+	 *
 	 * @param set
 	 *            default working set or <code>null</code>
 	 */
@@ -341,7 +341,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint,
 	 *      org.eclipse.core.runtime.IAdaptable)
 	 */
@@ -356,7 +356,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint,
 	 *      org.eclipse.core.runtime.IAdaptable)
 	 */
@@ -371,7 +371,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addBreakpoint(org.eclipse.debug.core.model.IBreakpoint,
 	 *      org.eclipse.core.runtime.IAdaptable)
 	 */
@@ -379,14 +379,14 @@
 	public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
 		addBreakpoints(new IBreakpoint[]{breakpoint}, category);
 	}
-	
+
 	/**
 	 * Gets the working set names from the marker
-	 * 
+	 *
 	 * @param marker them marker to get the names from
 	 * @param type the type attribute to look up
 	 * @return the listing of markers or an empty String array, never <code>null</code>
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	private String[] getWorkingsetAttributeFromMarker(IMarker marker, String type) {
@@ -402,7 +402,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint,
 	 *      org.eclipse.core.runtime.IAdaptable)
 	 */
@@ -426,7 +426,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories()
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
index f900316..f071ae5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java
@@ -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
  *******************************************************************************/
@@ -22,11 +22,11 @@
 
 /**
  * Breakpoint organizers for breakpoint types.
- * 
+ *
  * @since 3.1
  */
 public class BreakpointTypeOrganizer extends AbstractBreakpointOrganizerDelegate {
-	
+
 	private Map<String, IAdaptable[]> fTypes = new HashMap<String, IAdaptable[]>();
 
     /* (non-Javadoc)
@@ -49,7 +49,7 @@
     	}
     	return null;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
index 6d843d2..2b021c9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java
@@ -27,7 +27,7 @@
  * Class to cache the breakpoint to working set information in its underlying
  * marker as breakpoints are moved between breakpoint working sets. It resolves
  * the need for constant attribute lookup and parsing to fix bug 103731
- * 
+ *
  * @since 3.2
  */
 public class BreakpointWorkingSetCache {
@@ -38,14 +38,14 @@
 	 * value: vector of working sets the marker belongs to
 	 */
 	HashMap<IMarker, Vector<Object>> fCache = null;
-	
+
 	/**
 	 * Default constructor
 	 */
 	public BreakpointWorkingSetCache() {
 		fCache = new HashMap<IMarker, Vector<Object>>(15);
 	}
-	
+
 	/**
 	 * Adds an entry into the cache
 	 * @param marker the marker to add the workingset information about
@@ -64,7 +64,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Removes an item from the list contained under the marker key, not the marker entry
 	 * @param marker the marker key to remove the item from
@@ -76,7 +76,7 @@
 			list.remove(entry);
 		}
 	}
-	
+
 	/**
 	 * Flushes the cache of only the specified marker
 	 * @param marker the marker whose cache is to be flushed
@@ -102,5 +102,5 @@
 			catch(CoreException e) {DebugPlugin.log(e);}
 		}
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java
index b82c799..194bc91 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java
@@ -23,7 +23,7 @@
  * Consulted by workbench pull down actions that add/remove selected elements to/from
  * working sets. Allows breakpoint working sets to select which elements are applicable
  * for adding/removing.
- *  
+ *
  * @since 3.3
  */
 public class BreakpointWorkingSetElementAdapter implements IWorkingSetElementAdapter {
@@ -34,18 +34,18 @@
 	@Override
 	public IAdaptable[] adaptElements(IWorkingSet ws, IAdaptable[] elements) {
 		for (int i = 0; i < elements.length; i++) {
-	        IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class);			
+	        IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class);
 			if (breakpoint != null) {
 				return selectBreakpoints(elements);
 			}
 		}
 		return elements;
 	}
-	
+
 	private IAdaptable[] selectBreakpoints(IAdaptable[] elements) {
 		List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(elements.length);
 		for (int i = 0; i < elements.length; i++) {
-            IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class);            
+            IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class);
 			if (breakpoint != null) {
 				breakpoints.add(breakpoint);
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
index f141d63..3ef157f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java
@@ -47,14 +47,14 @@
 /**
  * The Breakpoint working set page allows the user to create
  * and edit a Breakpoint working set.
- * 
+ *
  * @since 3.1
  */
 public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetPage {
 
-	final private static String PAGE_TITLE= DebugUIViewsMessages.BreakpointWorkingSetPage_0; 
+	final private static String PAGE_TITLE= DebugUIViewsMessages.BreakpointWorkingSetPage_0;
 	final private static String PAGE_ID= "breakpointWorkingSetPage"; //$NON-NLS-1$
-	
+
 	private Text fWorkingSetName;
 	private EmbeddedBreakpointsViewer fTViewer;
 	private boolean fFirstCheck;
@@ -65,7 +65,7 @@
 	 */
 	public BreakpointWorkingSetPage() {
 		super(PAGE_ID, PAGE_TITLE, DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_WIZBAN_DEBUG));
-		setDescription(DebugUIViewsMessages.BreakpointWorkingSetPage_1); 
+		setDescription(DebugUIViewsMessages.BreakpointWorkingSetPage_1);
 		fFirstCheck= true;
 	}
 
@@ -80,7 +80,7 @@
 		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 		setControl(composite);
 		Label label= new Label(composite, SWT.WRAP);
-		label.setText(DebugUIViewsMessages.BreakpointWorkingSetPage_2); 
+		label.setText(DebugUIViewsMessages.BreakpointWorkingSetPage_2);
 		GridData gd= new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
 		label.setLayoutData(gd);
 		fWorkingSetName= new Text(composite, SWT.SINGLE | SWT.BORDER);
@@ -95,11 +95,11 @@
 		);
 		fWorkingSetName.setFocus();
 		label= new Label(composite, SWT.WRAP);
-		label.setText(DebugUIViewsMessages.BreakpointWorkingSetPage_3); 
+		label.setText(DebugUIViewsMessages.BreakpointWorkingSetPage_3);
 		gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
 		label.setLayoutData(gd);
 		IViewPart viewpart = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().findView(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-		IStructuredSelection selection; 
+		IStructuredSelection selection;
 		if (viewpart == null) {
 			selection = new StructuredSelection();
 		} else {
@@ -190,31 +190,31 @@
 	 * validates the current input of the page to determine if the finish button can be enabled
 	 */
 	private void validateInput() {
-		String errorMessage= null; 
+		String errorMessage= null;
 		String newText= fWorkingSetName.getText();
 
 		if (newText.equals(newText.trim()) == false) {
 			errorMessage = DebugUIViewsMessages.BreakpointWorkingSetPage_4;
-		} 
+		}
 		if (newText.equals(IInternalDebugCoreConstants.EMPTY_STRING)) {
 			if (fFirstCheck) {
 				setPageComplete(false);
 				fFirstCheck= false;
 				return;
-			}		
-			errorMessage= DebugUIViewsMessages.BreakpointWorkingSetPage_5; 
+			}
+			errorMessage= DebugUIViewsMessages.BreakpointWorkingSetPage_5;
 		}
 		fFirstCheck= false;
 		if (errorMessage == null && (fWorkingSet == null || newText.equals(fWorkingSet.getName()) == false)) {
 			IWorkingSet[] workingSets= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSets();
 			for (int i= 0; i < workingSets.length; i++) {
 				if (newText.equals(workingSets[i].getName())) {
-					errorMessage= DebugUIViewsMessages.BreakpointWorkingSetPage_6; 
+					errorMessage= DebugUIViewsMessages.BreakpointWorkingSetPage_6;
 				}
 			}
 		}
 		setErrorMessage(errorMessage);
 		setPageComplete(errorMessage == null);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java
index 6d08738..1d6b122 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java
@@ -38,21 +38,21 @@
 	public boolean isSorterProperty(Object element,String propertyId) {
 		return propertyId.equals(IBasicPropertyConstants.P_TEXT);
 	}
-	
+
 	/**
 	 * Returns a negative, zero, or positive number depending on whether
 	 * the first element is less than, equal to, or greater than
 	 * the second element.
 	 * <p>
 	 * Group breakpoints by debug model
-	 * 	within debug model, group breakpoints by type 
+	 * 	within debug model, group breakpoints by type
 	 * 		within type groups, sort by line number (if applicable) and then
 	 * 		alphabetically by label
-	 * 
+	 *
 	 * @param viewer the viewer
 	 * @param e1 the first element
 	 * @param e2 the second element
-	 * @return a negative number if the first element is less than the 
+	 * @return a negative number if the first element is less than the
 	 *  second element; the value <code>0</code> if the first element is
 	 *  equal to the second element; and a positive number if the first
 	 *  element is greater than the second element
@@ -87,21 +87,21 @@
 			if (!marker2.exists()) {
 				return 0;
 			}
-			type2= marker2.getType();	
+			type2= marker2.getType();
 		} catch (CoreException e) {
 			DebugUIPlugin.log(e);
 		}
-	
+
 		result= type1.compareTo(type2);
 		if (result != 0) {
 			return result;
 		}
 
-		// model and type are the same		
+		// model and type are the same
 		ILabelProvider lprov = (ILabelProvider) ((StructuredViewer)viewer).getLabelProvider();
 		String name1= lprov.getText(e1);
 		String name2= lprov.getText(e2);
-		
+
 		result = numericalStringCompare(name1, name2);
 
 		if (result != 0) {
@@ -114,14 +114,14 @@
 		// Note: intentionally using line 0 if not a line breakpoint or if ILineBreakpoint.getLineNumber throws.
 		if (b1 instanceof ILineBreakpoint) {
 			try {
-				l1 = ((ILineBreakpoint)b1).getLineNumber();	
+				l1 = ((ILineBreakpoint)b1).getLineNumber();
 			} catch (CoreException e) {
 				DebugUIPlugin.log(e);
 			}
 		}
 		if (b2 instanceof ILineBreakpoint) {
 			try {
-				l2 = ((ILineBreakpoint)b2).getLineNumber();	
+				l2 = ((ILineBreakpoint)b2).getLineNumber();
 			} catch (CoreException e) {
 				DebugUIPlugin.log(e);
 			}
@@ -131,20 +131,20 @@
 		}
 		return result;
 	}
-	
+
 	/**
 	 * Utility routine to order strings with respect to numerical values.
-	 * 
+	 *
 	 * E.g.
 	 * <p><code>
 	 * "0", "1", "9", "11"
      * <p></code>
 	 *
-	 * Note that String.compareTo orders "11" before "9". 
+	 * Note that String.compareTo orders "11" before "9".
 	 *
 	 * The function also supports mixed numbers and values. It uses the string comparison except when both strings differ by a number only,
-	 * in this case the numerical value is compared. 
-	 * E.g. 
+	 * in this case the numerical value is compared.
+	 * E.g.
 	 * <p><code>
      * stringNumberCompareTo("a_01", "a_1") returns 0.
      * <p></code>
@@ -152,7 +152,7 @@
      *
 	 * @param n1 the first string to compare
 	 * @param n2 the second string to compare
-	 * @return 
+	 * @return
 	 * 			< 0, negative - if n1 < n2
 	 * 			== 0, zero - if n1 == n2 (with a a special comparison, not identical or equals)
 	 * 			> 0, negative - if n1 > n2
@@ -164,23 +164,23 @@
 		for (; index1 < n1.length() && index2 < n2.length(); ) {
 		    char c1 = n1.charAt(index1);
 		    char c2 = n2.charAt(index2);
-		    
+
 			if (c1 != c2) {
 				// Strings are different starting at index.
 				// If both strings have a number at this location, compare it.
 				boolean isDig1 = Character.isDigit(c1);
 				boolean isDig2 = Character.isDigit(c2);
-				
+
 				if (isDig1 && isDig2 || digitLen > 0 && (isDig1 || isDig2)) {
 					// Have 2 numbers if either the different characters are both digits or if there are common digits before the difference.
-					DecimalFormat format = new DecimalFormat();					
+					DecimalFormat format = new DecimalFormat();
 					ParsePosition p1 = new ParsePosition(index1 - digitLen);
 					Number num1 = format.parse(n1, p1);
 					ParsePosition p2 = new ParsePosition(index2 - digitLen);
 					Number num2 = format.parse(n2, p2);
 					if (num1 == null || num2 == null) {
 						// Failed to parse number. Should not happen
-						return c1 - c2;						
+						return c1 - c2;
 					}
 					int cmp;
 					if (num1 instanceof Long && num2 instanceof Long) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
index 72c065a..6b79da3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java
@@ -31,12 +31,12 @@
  * Content provider for the breakpoints view
  */
 public class BreakpointsContentProvider implements ITreeContentProvider, IPropertyChangeListener {
-    
+
     private IBreakpointOrganizer[] fOrganizers = null;
     private BreakpointsViewer fViewer;
     private Object[] fElements;
     private boolean fDisposed = false;
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
      */
@@ -94,13 +94,13 @@
             reorganize();
         }
     }
-    
+
     /**
      * Sets the nested order of breakpoint organizers, or <code>null</code>
      * if none.
-     * 
+     *
      * @param organizers the nested order of breakpoint organizers, or <code>null</code>
-     * if none 
+     * if none
      */
     public void setOrganizers(IBreakpointOrganizer[] organizers) {
     	// remove previous listeners
@@ -138,17 +138,17 @@
                             break;
                         }
                     }
-                    
+
                 }
             }
             fViewer.getControl().setRedraw(true);
         }
     }
-    
+
     /**
      * Returns the root containers containing the given breakpoint, or <code>null</code>
      * if none
-     * 
+     *
      * @param breakpoint the breakpoint to get containers for
      * @return root containers containing the given breakpoint or <code>null</code>
      */
@@ -165,18 +165,18 @@
         }
         return null;
     }
-    
+
     /**
      * Returns the nested order of breakpoint organizers being used, or <code>null</code>
      * if none.
-     * 
+     *
      * @return the nested order of breakpoint organizers being used, or <code>null</code>
      * if none
      */
     IBreakpointOrganizer[] getOrganizers() {
         return fOrganizers;
     }
-    
+
     /**
      * Organizes the breakpoints based on nested categories, if any.
      */
@@ -237,10 +237,10 @@
 			reorganize();
 		}
 	}
-    
+
     /**
      * Returns the existing containers the given breakpoint is contained in, or <code>null</code>.
-     * 
+     *
      * @param breakpoint the breakpoint to get containers for
      * @return the existing containers the given breakpoint is contained in, or <code>null</code>
      */
@@ -269,7 +269,7 @@
 
     /**
      * Returns whether content is grouped by categories.
-     * 
+     *
      * @return whether content is grouped by categories
      */
     protected boolean isShowingGroups() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java
index ef2443b..6123c01 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java
@@ -28,7 +28,7 @@
  * A drag adapter for the breakpoints viewer
  */
 public class BreakpointsDragAdapter extends DragSourceAdapter implements TransferDragSourceListener {
-    
+
     /**
      * the associated viewer for the adapter
      */
@@ -37,7 +37,7 @@
 
     private BreakpointsView fView;
     private TreePath[] fTreePaths = null;
-    
+
     /**
      * Constructor
      * @param viewer the associated viewer, which acts as the selection provider and therefore <b>must</b> implement <code>ISelectionProvider</code>
@@ -59,7 +59,7 @@
 	public Transfer getTransfer() {
         return LocalSelectionTransfer.getTransfer();
     }
-    
+
     /* non Java-doc
      * @see org.eclipse.swt.dnd.DragSourceListener#dragStart
      */
@@ -69,7 +69,7 @@
         LocalSelectionTransfer.getTransfer().setSelection(selection);
         LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL);
         if (fViewer instanceof BreakpointsViewer) {
-        	BreakpointsViewer viewer = (BreakpointsViewer)fViewer; 
+        	BreakpointsViewer viewer = (BreakpointsViewer)fViewer;
 	        fItems = viewer.getSelectedItems();
 	        event.doit = viewer.canDrag(fItems);
         } else {
@@ -78,13 +78,13 @@
         	} else {
         		fTreePaths = new TreePath[0];
         	}
-	        event.doit = fView.canDrag(fTreePaths); 	
+	        event.doit = fView.canDrag(fTreePaths);
         }
     }
-   
+
     /* non Java-doc
      * @see org.eclipse.swt.dnd.DragSourceListener#dragSetData
-     */     
+     */
     @Override
 	public void dragSetData(DragSourceEvent event) {
         // For consistency set the data to the selection even though
@@ -95,20 +95,20 @@
 
     /* non Java-doc
      * @see org.eclipse.swt.dnd.DragSourceListener#dragFinished
-     */ 
+     */
     @Override
 	public void dragFinished(DragSourceEvent event) {
         if (event.detail == DND.DROP_MOVE) {
             // remove from source on move operation
             if (fViewer instanceof BreakpointsViewer) {
-            	BreakpointsViewer viewer = (BreakpointsViewer)fViewer; 
+            	BreakpointsViewer viewer = (BreakpointsViewer)fViewer;
             	viewer.performDrag(fItems);
             } else {
-            	fView.performDrag(fTreePaths);            	
+            	fView.performDrag(fTreePaths);
             }
         }
         fItems = null;
         LocalSelectionTransfer.getTransfer().setSelection(null);
         LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
-    }   
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
index 5f2276f..16d0268 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java
@@ -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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -34,7 +34,7 @@
 	private Item fTarget = null;
 	private TreePath fPath = null;
 	private BreakpointsView fView;
-	
+
     /**
      * Constructor
      * @param viewer the backing viewer
@@ -87,7 +87,7 @@
 		}
 		return fTarget;
 	}
-	
+
     /**
      * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java
index 63b8756..a1ff4cc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java
@@ -29,7 +29,7 @@
 
     private WorkbenchLabelProvider fWorkbenchLabelProvider;
     private IDebugModelPresentation fPresentation;
-    
+
     /**
      * Constructs a new label provide for the breakpoints view.
      */
@@ -37,7 +37,7 @@
         fWorkbenchLabelProvider = new WorkbenchLabelProvider();
         fPresentation = DebugUITools.newDebugModelPresentation();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
      */
@@ -47,7 +47,7 @@
         fPresentation.dispose();
         super.dispose();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
      */
@@ -64,12 +64,12 @@
                 return DebugUIPlugin.getImageDescriptorRegistry().get(descriptor);
             }
         }
-        return image;        
+        return image;
     }
-    
+
 	/**
      * Computes and return common adornment flags for the given category.
-     * 
+     *
      * @return adornment flags defined in CompositeDebugImageDescriptor
      */
     private int computeAdornmentFlags() {
@@ -77,8 +77,8 @@
             return CompositeDebugImageDescriptor.SKIP_BREAKPOINT;
         }
         return 0;
-    }    
-    
+    }
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
      */
@@ -100,10 +100,10 @@
         }
         return fWorkbenchLabelProvider.getFont(element);
     }
-    
+
     /**
      * Returns the debug model presentation used by this label provider.
-     * 
+     *
      * @return the debug model presentation used by this label provider
      */
     public IDebugModelPresentation getPresentation() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
index 368ae32..557eaeb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
@@ -84,25 +84,25 @@
 /**
  * This class implements the breakpoints view.
  */
-public class BreakpointsView extends VariablesView implements IBreakpointManagerListener {	
+public class BreakpointsView extends VariablesView implements IBreakpointManagerListener {
 	private static final String ACTION_GOTO_MARKER				= "GotoMarker";				//$NON-NLS-1$
 	private static final String ACTION_SKIP_BREAKPOINTS			= "SkipBreakpoints";		//$NON-NLS-1$
 	private static final String ACTION_SHOW_MODEL_BREAKPOINT	= "ShowBreakpointsForModel";//$NON-NLS-1$
 	private static final String ACTION_REMOVE_FROM_GROUP 		= "RemoveFromGroup"; 		//$NON-NLS-1$
-	
-	
+
+
 	private static final String KEY_VALUE						= "value";					//$NON-NLS-1$
 
-	private Clipboard fClipboard;	
+	private Clipboard fClipboard;
 	private IBreakpointOrganizer[] fOrganizers;
 
 	/**
-	 * Flag used to determine whether the viewer input is being set for the 
+	 * Flag used to determine whether the viewer input is being set for the
 	 * fist time.  If this is the case the view contents are expanded.
 	 * (bug 297762)
 	 */
 	private boolean fFirstInputSet = false;
-	
+
 	private UndoActionHandler fUndoAction;
 	private RedoActionHandler fRedoAction;
 
@@ -111,7 +111,7 @@
 	public void dispose() {
 		if (fClipboard != null) {
 			fClipboard.dispose();
-		}		
+		}
 		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointManagerListener(this);
 
 		fUndoAction.dispose();
@@ -119,7 +119,7 @@
 
 		super.dispose();
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey()
@@ -128,7 +128,7 @@
 	protected String getDetailPanePreferenceKey() {
 		return IDebugPreferenceConstants.BREAKPOINTS_DETAIL_PANE_ORIENTATION;
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getHelpContextId()
@@ -153,11 +153,11 @@
 	 */
 	@Override
 	public Viewer createViewer(Composite parent) {
-		TreeModelViewer viewer = (TreeModelViewer) super.createViewer(parent);		
-		
+		TreeModelViewer viewer = (TreeModelViewer) super.createViewer(parent);
+
 		initBreakpointOrganizers(getMemento());
 
-		IPresentationContext presentationContext = viewer.getPresentationContext(); 
+		IPresentationContext presentationContext = viewer.getPresentationContext();
 		presentationContext.setProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_ORGANIZERS, fOrganizers);
         presentationContext.setProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_ELEMENT_COMPARATOR, new ElementComparator(presentationContext));
 
@@ -176,7 +176,7 @@
 				 * Undo double slashes.
 				 */
 				@Override
-				public String getText(Object element) {					
+				public String getText(Object element) {
 			    	IDebugModelPresentation lp= getConfiguredPresentation(element);
 			    	if (lp != null) {
 			    		return lp.getText(element);
@@ -187,7 +187,7 @@
 		}
 		return fModelPresentation;
 	}
-	
+
 	/**
 	 * Returns the tree model viewer.
 	 * @return the backin gviewer
@@ -195,7 +195,7 @@
 	public TreeModelViewer getTreeModelViewer() {
 		return (TreeModelViewer) getViewer();
 	}
-	
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#configureToolBar(org.eclipse.jface.action.IToolBarManager)
@@ -203,7 +203,7 @@
 	@Override
 	protected void configureToolBar(IToolBarManager tbm) {
 		tbm.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP));
-		tbm.add(getAction(ACTION_SHOW_MODEL_BREAKPOINT)); 
+		tbm.add(getAction(ACTION_SHOW_MODEL_BREAKPOINT));
 		tbm.add(getAction(ACTION_GOTO_MARKER));
 		tbm.add(getAction(ACTION_SKIP_BREAKPOINTS));
 		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
@@ -252,7 +252,7 @@
         DebugPlugin.getDefault().getBreakpointManager().addBreakpointManagerListener(this);
 
 		fClipboard = new Clipboard(getSite().getShell().getDisplay());
-		        
+
 		PasteBreakpointsAction paste = new PasteBreakpointsAction(this);
 		setAction(PASTE_ACTION, paste);
 		paste.setActionDefinitionId(ActionFactory.PASTE.getCommandId());
@@ -260,11 +260,11 @@
 		setGlobalAction(PASTE_ACTION, paste);
         getViewer().addSelectionChangedListener(paste);
         paste.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-		        
+
 		SelectionListenerAction remove = new RemoveFromWorkingSetAction(this);
 		setAction(ACTION_REMOVE_FROM_GROUP, remove);
 		getViewer().addSelectionChangedListener(remove);
-		
+
 		IUndoContext undoContext= DebugUITools.getBreakpointsUndoContext();
 		fUndoAction= new UndoActionHandler(getSite(), undoContext);
 		fUndoAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_UNDO);
@@ -279,7 +279,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @seeorg.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel()
 	 */
 	@Override
@@ -289,7 +289,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId()
 	 */
 	@Override
@@ -299,13 +299,13 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#contextActivated(org.eclipse.jface.viewers.ISelection)
 	 */
 	@Override
 	protected void contextActivated(ISelection selection) {
 	    IPresentationContext presentationContext = getTreeModelViewer().getPresentationContext();
-	    
+
 		if (selection == null || selection.isEmpty()) {
 			Object input = new DefaultBreakpointsViewInput(presentationContext);
 			super.contextActivated(new StructuredSelection(input));
@@ -319,7 +319,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#setViewerInput(java.lang.Object)
 	 */
 	@Override
@@ -332,23 +332,23 @@
 		if (current != null && current.equals(context)) {
 			return;
 		}
-		
+
 		showViewer();
 		getViewer().setInput(context);
-		
+
 		// Expand all elements when the view is first shown. (bug 297762)
 		if (!fFirstInputSet) {
 		    fFirstInputSet = true;
 		    expandAllElementsInViewer();
 		}
 	}
-		
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#viewerInputUpdateComplete(org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerInputUpdate)
 	 */
 	@Override
-	protected void viewerInputUpdateComplete(IViewerInputUpdate update) {		
+	protected void viewerInputUpdateComplete(IViewerInputUpdate update) {
 		// handles non-standard debug model
 	    IStatus status = update.getStatus();
         if ( (status == null || status.isOK()) && update.getElement() != null) {
@@ -357,17 +357,17 @@
             setViewerInput(new DefaultBreakpointsViewInput(getTreeModelViewer().getPresentationContext()));
         }
 	}
-	
-	
+
+
 	/**
 	 * Returns whether this view is currently tracking the selection from the debug view.
-	 * 
+	 *
 	 * @return whether this view is currently tracking the debug view's selection
 	 */
 	public boolean isTrackingSelection() {
         final TreeModelViewer viewer = getTreeModelViewer();
         if (viewer != null) {
-            return Boolean.TRUE.equals( 
+            return Boolean.TRUE.equals(
                 viewer.getPresentationContext().getProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_TRACK_SELECTION) );
         }
         return false;
@@ -375,7 +375,7 @@
 
 	/**
 	 * Sets whether this view should track the selection from the debug view.
-	 * 
+	 *
 	 * @param trackSelection whether or not this view should track the debug view's selection.
 	 */
 	public void setTrackSelection(boolean trackSelection) {
@@ -383,14 +383,14 @@
 		final TreeModelViewer viewer = getTreeModelViewer();
 		if (viewer != null) {
 			viewer.getPresentationContext().setProperty(
-			    IBreakpointUIConstants.PROP_BREAKPOINTS_TRACK_SELECTION, 
+			    IBreakpointUIConstants.PROP_BREAKPOINTS_TRACK_SELECTION,
 			    trackSelection ? Boolean.TRUE : Boolean.FALSE);
 		}
 	}
-	
+
 	/**
 	 * Initializes the persisted breakpoints organizers.
-	 * @param memento the memento to read 
+	 * @param memento the memento to read
 	 */
 	private void initBreakpointOrganizers(IMemento memento) {
 		if (memento != null) {
@@ -410,7 +410,7 @@
                         }
                     }
                     fOrganizers = organziers.toArray(new IBreakpointOrganizer[organziers.size()]);
-                    
+
                     for (int i = 0; i < fOrganizers.length; i++) {
 						fOrganizers[i].addPropertyChangeListener(this);
 					}
@@ -418,7 +418,7 @@
 			}
 		}
 	}
-	
+
     /**
      * Initializes drag and drop for the breakpoints viewer
      * @param viewer the viewer to add drag and drop support to
@@ -431,7 +431,7 @@
         // Drag
         viewer.addDragSupport(ops, new Transfer[] {LocalSelectionTransfer.getTransfer()}, new BreakpointsDragAdapter(viewer, this));
     }
- 
+
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#saveViewerState(org.eclipse.ui.IMemento)
@@ -452,10 +452,10 @@
         }
 		super.saveViewerState(memento);
 	}
-	
+
 	/**
 	 * Preserves the selection.
-	 * 
+	 *
 	 * @param selection the selection
 	 */
 	public void preserveSelection(IStructuredSelection selection) {
@@ -494,23 +494,23 @@
 
 	/**
 	 * Sets the breakpoint organizers for this view.
-	 * 
+	 *
 	 * @param organizers the organizers, can be <code>null</code>.
 	 */
 	public void setBreakpointOrganizers(IBreakpointOrganizer[] organizers) {
 		fOrganizers = organizers;
-		
+
 		TreeModelViewer viewer = getTreeModelViewer();
 		if (viewer != null) {
 			// update the presentation context organizer
-			viewer.getPresentationContext().setProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_ORGANIZERS, fOrganizers);			
+			viewer.getPresentationContext().setProperty(IBreakpointUIConstants.PROP_BREAKPOINTS_ORGANIZERS, fOrganizers);
 		}
 		System.out.println();
 	}
 
 	/**
 	 * Sets the breakpoint filter for this view.
-	 * @param filter the selection to act as a filter 
+	 * @param filter the selection to act as a filter
 	 */
 	public void setFilterSelection(boolean filter) {
 		TreeModelViewer viewer = getTreeModelViewer();
@@ -536,16 +536,16 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Expands all elements in the viewer.
 	 */
 	public void expandAllElementsInViewer() {
-        Display display = getSite().getShell().getDisplay(); 
-        
+        Display display = getSite().getShell().getDisplay();
+
         final VirtualTreeModelViewer virtualViewer = new VirtualTreeModelViewer(
             display, 0, ((ITreeModelViewer)getViewer()).getPresentationContext());
-        
+
         virtualViewer.setAutoExpandLevel(-1);
         virtualViewer.addViewerUpdateListener(new IViewerUpdateListener() {
             @Override
@@ -567,17 +567,17 @@
         });
         virtualViewer.setInput(getViewer().getInput());
 	}
-	
-	
+
+
 	/**
 	 * Returns the breakpoint organizers for this view.
-	 * 
+	 *
 	 * @return the breakpoint organizers.
 	 */
 	public IBreakpointOrganizer[] getBreakpointOrganizers() {
 		return fOrganizers;
 	}
-	
+
 	/**
      * Returns whether the given selection can be pasted into the given target.
      * <p>
@@ -588,11 +588,11 @@
      * <li>Breakpoints can only be pasted into containers, not other breakpoints</li>
      * </ul>
      * </p>
-     * 
+     *
      * @param target target of the paste
      * @param selection the selection to paste
      * @return whether the given selection can be pasted into the given target
-     * 
+     *
      * TODO Remove in favor of using <code>TreeItem</code>s and <code>TreePath</code>s to determine paste targets
      */
     public boolean canPaste(Object target, ISelection selection) {
@@ -611,21 +611,21 @@
             }
     	}
         return true;
-    }   
-	
-    /** 
+    }
+
+    /**
      * Pastes the selection into the given target
-     * 
+     *
      * @param target target of the paste, either a IBreakpointContainer,
      * or a Breakpoint within a IBreakpointContainer
      * @param selection breakpoints
      * @return whether successful
-     * 
-     * TODO remove in favor of using <code>TreeItem</code> as paste target 
+     *
+     * TODO remove in favor of using <code>TreeItem</code> as paste target
      */
     public boolean performPaste(Object target, ISelection selection) {
         if (target instanceof IBreakpointContainer && selection instanceof IStructuredSelection) {
-            IBreakpointContainer container = (IBreakpointContainer) target;            
+            IBreakpointContainer container = (IBreakpointContainer) target;
             Object[] objects = ((IStructuredSelection)selection).toArray();
             for (int i = 0; i < objects.length; i++) {
                 IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(objects[i], IBreakpoint.class);
@@ -637,10 +637,10 @@
         }
         return false;
     }
-    
+
 	/**
      * Returns the container from within the specified path that is the container the breakpoint can be removed from
-	 * @param path the path to get the container from 
+	 * @param path the path to get the container from
      * @return the first found container that includes the breakpoint that allows removal, or <code>null</code> if none found
      * @since 3.3
      */
@@ -650,11 +650,11 @@
         	if (breakpoint != null) {
 		    	IBreakpointContainer container = null;
 		    	for(int i = path.getSegmentCount()-2; i > -1; i--) {
-		    	    Object segment = path.getSegment(i); 
+		    	    Object segment = path.getSegment(i);
 		    	    if (segment instanceof IBreakpointContainer) {
     		    		container = (IBreakpointContainer) segment;
-    		    		if(container.contains(breakpoint) && 
-    		    			container.getOrganizer() != null && 
+    		    		if(container.contains(breakpoint) &&
+    		    			container.getOrganizer() != null &&
     		    			container.getOrganizer().canRemove(breakpoint, container.getCategory())) {
     		    			return container;
     		    		}
@@ -667,7 +667,7 @@
 
     /**
      * Returns the addable breakpoint container of the specified tree path
-     * @param path the path to get the container for 
+     * @param path the path to get the container for
      * @return the first found addable container for the specified tree path or <code>null</code> if none found
      * @since 3.3
      */
@@ -681,7 +681,7 @@
 	    	if (breakpoint != null) {
 		    	IBreakpointContainer container = null;
 		    	for (int i = path.getSegmentCount()-2; i > -1; i--) {
-                    Object segment = path.getSegment(i); 
+                    Object segment = path.getSegment(i);
                     if (segment instanceof IBreakpointContainer) {
                         container = (IBreakpointContainer) segment;
     		    		if (container.contains(breakpoint) && container.getOrganizer().canAdd(breakpoint, container.getCategory())) {
@@ -697,7 +697,7 @@
 	 * This method is used to determine if there is an addable parent container available for the specified drop target.
 	 * <p>
 	 * A drop target can be either a <code>IBreakpointContainer</code> or an <code>IBreakpoint</code>. This method always checks the entire hierarchy
-	 * of the tree path for the specified target in the event one of the parent element does not support dropping. 
+	 * of the tree path for the specified target in the event one of the parent element does not support dropping.
 	 * </p>
 	 * @param path the path
 	 * @param breakpoint the breakpoint
@@ -718,7 +718,7 @@
 		}
 		return true;
 	}
-	
+
     /**
      * Returns if the selected item in the tree can be dragged
      * <p>
@@ -746,10 +746,10 @@
     	}
     	return true;
     }
-    
+
     /**
      * Performs the actual removal of breakpoints from their respective (removable) containers on a successful drag operation
-     * @param paths the tree paths to drag 
+     * @param paths the tree paths to drag
      * @since 3.3
      */
     void performDrag(TreePath[] paths) {
@@ -785,8 +785,8 @@
 				}
 			}
     	}
-    }	
-    
+    }
+
 	/**
      * Performs the actual addition of the selected breakpoints to the specified target
      * @param target the target to add the selection of breakpoints to
@@ -802,7 +802,7 @@
     	if (container == null) {
 			return false;
 		}
-    	
+
     	IBreakpointOrganizer organizer = container.getOrganizer();
 		List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(selection.size());
 		for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
@@ -814,7 +814,7 @@
     	if (organizer instanceof IBreakpointOrganizerDelegateExtension) {
     		IBreakpointOrganizerDelegateExtension extension = (IBreakpointOrganizerDelegateExtension) organizer;
     		extension.addBreakpoints(
-    		    breakpoints.toArray(new IBreakpoint[breakpoints.size()]), 
+    		    breakpoints.toArray(new IBreakpoint[breakpoints.size()]),
     		    container.getCategory());
     	} else {
 	    	for (int i = 0; i < breakpoints.size(); i++) {
@@ -835,7 +835,7 @@
      * </ul>
      * </p>
      * @param target the target for the drop
-     * @param selection the selection to see if we can drop 
+     * @param selection the selection to see if we can drop
      * @return true if the specified element can be dropped into the specified target, false otherwise
      * @since 3.3
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
index 4ffb30c..4c3d619 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java
@@ -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
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
@@ -39,47 +39,47 @@
  * Breakpoints viewer.
  */
 public class BreakpointsViewer extends CheckboxTreeViewer {
-	
+
     /**
      * Constructs a new breakpoints viewer with the given tree.
-     * 
+     *
      * @param tree the backing tree widget
      */
     public BreakpointsViewer(Tree tree) {
         super(tree);
     }
-    
+
     /**
      * Returns the selected items.
-     * 
+     *
      * @return selected items
      */
     public Item[] getSelectedItems() {
         return getSelection(getControl());
     }
-    
+
     /**
      * Returns the item associated with the given element, or <code>null</code>.
-     * 
+     *
      * @param element element in breakpoints view
      * @return item associated with the given element, or <code>null</code>
      */
     public Widget searchItem(Object element) {
         return findItem(element);
     }
-    
+
     /**
      * Refreshes the given item in the tree.
-     * 
+     *
      * @param item item to refresh
      */
     public void refreshItem(TreeItem item) {
         updateItem(item, item.getData());
     }
-    
+
     /**
      * Returns a collection of currently visible breakpoints.
-     * 
+     *
      * @return collection of currently visible breakpoints
      */
     public IBreakpoint[] getVisibleBreakpoints() {
@@ -98,7 +98,7 @@
     /**
      * Adds expanded breakpoints to the list. Traverses children of the given
      * tree item if any.
-     * 
+     *
      * @param item the item to get breakpoints from
      * @param list collection of visible breakpoints
      */
@@ -118,7 +118,7 @@
 
     /**
      * Sets the selection to a specific tree item
-     * 
+     *
      * @param item the item to set as the current tree selection
      */
     protected void setSelection(TreeItem item) {
@@ -151,7 +151,7 @@
     	}
     	return null;
     }
-	
+
     /**
      * Returns the addable breakpoint container of the specified breakpoint
      * @param item the item to get the container for
@@ -175,7 +175,7 @@
     	}
     	return null;
     }
-    
+
     /**
      * Returns if the selected item in the tree can be dragged
      * <p>
@@ -203,7 +203,7 @@
     	}
     	return true;
     }
-    
+
     /**
      * Performs the actual removal of breakpoints from their respective (removable) containers on a successful drag operation
      * @param items the items involved in the drag
@@ -245,7 +245,7 @@
 			}
     	}
     }
-    
+
     /**
      * Determines if the specified element can be dropped into the specified target
      * <p>
@@ -277,7 +277,7 @@
 	 * This method is used to determine if there is an addable parent container available for the specified drop target.
 	 * <p>
 	 * A drop target can be either a <code>BreakpointContainer</code> or an <code>IBreakpoint</code>. This method always checks the entire hierarchy
-	 * of the tree path for the specified target in the event one of the parent element does not support dropping. 
+	 * of the tree path for the specified target in the event one of the parent element does not support dropping.
 	 * </p>
 	 * @param target the target to check
 	 * @param breakpoint the breakpoint we would like to drop
@@ -334,7 +334,7 @@
     	expandToLevel(target.getData(), ALL_LEVELS);
     	return true;
     }
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.Viewer#refresh()
 	 */
@@ -352,11 +352,11 @@
 		for (int i = 0; i < items.length; i++) {
 			updateCheckedState(items[i]);
 		}
-	}    
-    
+	}
+
     /**
      * Update the checked state up the given element and all of its children.
-     * 
+     *
      * @param element the element to update
      */
 	public void updateCheckedState(Object element) {
@@ -368,7 +368,7 @@
             }
         }
 	}
-   
+
 	/**
 	 * finds all occurrences of a widget to update
 	 * @param element the element to search for when finding occurrences
@@ -382,7 +382,7 @@
         }
         return list.toArray(new Widget[0]);
     }
-    
+
     /**
      * performs the actual search for items in the tree
      * @param list the list to add matches to
@@ -398,10 +398,10 @@
         	findAllOccurrences(items[i], element, list);
         }
     }
-    
+
     /**
      * Update the checked state up the given element and all of its children.
-     * 
+     *
      * @param item the item to update
      */
     public void updateCheckedState(TreeItem item) {
@@ -445,5 +445,5 @@
                 updateCheckedState(items[i]);
             }
         }
-    }        
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java
index 8537258..4d00ee6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java
@@ -29,40 +29,40 @@
 
 /**
  * Breakpoint element comparator.
- * 
+ *
  * @since 3.6
  */
 public class ElementComparator implements Comparator<Object> {
 	final private static String SPACE = " "; //$NON-NLS-1$
-	
+
 	protected DebugModelPresentationContext fContext;
-	
+
 	public ElementComparator(IPresentationContext context) {
 		if (context instanceof DebugModelPresentationContext) {
 			fContext = (DebugModelPresentationContext) context;
 		}
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
 	 */
 	@Override
 	public int compare(Object arg0, Object arg1) {
-        IBreakpoint bp0 = (IBreakpoint)DebugPlugin.getAdapter(arg0, IBreakpoint.class);            
-        IBreakpoint bp1 = (IBreakpoint)DebugPlugin.getAdapter(arg1, IBreakpoint.class);            
+        IBreakpoint bp0 = (IBreakpoint)DebugPlugin.getAdapter(arg0, IBreakpoint.class);
+        IBreakpoint bp1 = (IBreakpoint)DebugPlugin.getAdapter(arg1, IBreakpoint.class);
 	    if (bp0 != null && bp1 != null) {
 			return doCompare(bp0, bp1);
 		} else if (arg0 instanceof IBreakpointContainer && arg1 instanceof IBreakpointContainer) {
 			return doCompare((IBreakpointContainer) arg0, (IBreakpointContainer) arg1);
-		} else {		
+		} else {
 			return -1; // just return -1 if the two objects are not IBreakpoint type
 		}
 	}
-    
+
 	/**
 	 * Compares two breakpoint containers.
-	 * 
+	 *
 	 * @param c1
 	 * @param c2
 	 * @return
@@ -78,21 +78,21 @@
 	    } else if (c2.getCategory() instanceof OtherBreakpointCategory) {
 	        return -1;
 	    }
-	    
+
 	    // Rest of categories should be listed alphabetically.
 		if (fContext != null) {
 			String name1 = fContext.getModelPresentation().getText(c1);
 			String name2 = fContext.getModelPresentation().getText(c2);
-			
+
 			return name1.compareTo(name2);
 		}
-		
+
 		return -1;
-	}	
-	
+	}
+
 	/**
 	 * Compares two breakpoints.
-	 * 
+	 *
 	 * @param b1
 	 * @param b2
 	 * @return
@@ -118,12 +118,12 @@
 		}
 		String text1 = IInternalDebugCoreConstants.EMPTY_STRING;
 		String text2 = IInternalDebugCoreConstants.EMPTY_STRING;
-		
+
 		text1 += b1.getModelIdentifier();
 		text2 += b2.getModelIdentifier();
-		
 
-		try {		
+
+		try {
 			if (marker1.exists() && marker2.exists()) {
 				text1 += SPACE + marker1.getType();
 				text2 += SPACE + marker2.getType();
@@ -131,17 +131,17 @@
 		} catch (CoreException e) {
 			DebugUIPlugin.log(e);
 		}
-	
+
 		int result = text1.compareTo(text2);
 		if (result != 0) {
 			return result;
 		}
-	
-		// model and type are the same	
+
+		// model and type are the same
 		if (fContext != null) {
 			String name1 = fContext.getModelPresentation().getText(b1);
 			String name2 = fContext.getModelPresentation().getText(b2);
-	
+
 			boolean lineBreakpoint = false;
 			try {
 				lineBreakpoint = marker1.isSubtypeOf(IBreakpoint.LINE_BREAKPOINT_MARKER);
@@ -149,17 +149,17 @@
 			}
 			if (lineBreakpoint) {
 				return compareLineBreakpoints(b1, b2, name1,name2);
-			} 
-			
+			}
+
 			return name1.compareTo(name2);
 		}
-		
+
 		return result;
 	}
-	
+
 	/**
 	 * Compares two line breakpoints.
-	 * 
+	 *
 	 * @param b1
 	 * @param b2
 	 * @param name1
@@ -176,12 +176,12 @@
 					int l1 = 0;
 					int l2 = 0;
 					try {
-						l1 = ((ILineBreakpoint)b1).getLineNumber();	
+						l1 = ((ILineBreakpoint)b1).getLineNumber();
 					} catch (CoreException e) {
 						DebugUIPlugin.log(e);
 					}
 					try {
-						l2 = ((ILineBreakpoint)b2).getLineNumber();	
+						l2 = ((ILineBreakpoint)b2).getLineNumber();
 					} catch (CoreException e) {
 						DebugUIPlugin.log(e);
 					}
@@ -190,6 +190,6 @@
 			}
 		}
 		return name1.compareTo(name2);
-	}     
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java
index 656899b..df31a71 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
 
 /**
  * Breakpoint organizers for files.
- * 
+ *
  * @since 3.1
  */
 public class FileBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java
index 5aaef21..49b25a2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.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
  *******************************************************************************/
@@ -18,7 +18,7 @@
 
 /**
  * Breakpoint organizers for projects.
- * 
+ *
  * @since 3.1
  */
 public class ProjectBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
index 972e41e..05a7476 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java
@@ -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
  *******************************************************************************/
@@ -26,18 +26,18 @@
 
 /**
  * Breakpoint organizers for resource working sets.
- * 
+ *
  * @since 3.1
  */
 public class WorkingSetBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate implements IPropertyChangeListener {
-    
+
     IWorkingSetManager fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
-    
+
     /**
      * Constructs a working set breakpoint organizer. Listens for changes in
      * working sets and fires property change notification.
      */
-    public WorkingSetBreakpointOrganizer() {    
+    public WorkingSetBreakpointOrganizer() {
         fWorkingSetManager.addPropertyChangeListener(this);
     }
 
@@ -83,7 +83,7 @@
         fWorkingSetManager = null;
         super.dispose();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java
index 7dd94a2..ed32a15 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java
@@ -25,18 +25,18 @@
  * Represents a breakpoint category for a specific working set.
  */
 public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdapter, IWorkbenchAdapter2 {
-    
+
     private IWorkingSet fWorkingSet;
 
     /**
      * Constructs a new workings set category for the given working set.
-     * 
+     *
      * @param workingSet
      */
     public WorkingSetCategory(IWorkingSet workingSet) {
         fWorkingSet = workingSet;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
      */
@@ -60,7 +60,7 @@
 	public String getLabel(Object o) {
         StringBuffer name = new StringBuffer(fWorkingSet.getName());
         if (isDefault()) {
-            name.append(DebugUIViewsMessages.WorkingSetCategory_0); 
+            name.append(DebugUIViewsMessages.WorkingSetCategory_0);
         }
         return name.toString();
     }
@@ -72,10 +72,10 @@
 	public Object getParent(Object o) {
         return null;
     }
-    
+
     /**
      * Returns the working set for this category.
-     * 
+     *
      * @return
      */
     public IWorkingSet getWorkingSet() {
@@ -93,7 +93,7 @@
         }
         return false;
     }
-    
+
     /* (non-Javadoc)
      * @see java.lang.Object#hashCode()
      */
@@ -133,16 +133,16 @@
         }
         return null;
     }
-    
+
     /**
      * Whether this is the default breakpoint working set.
-     * 
+     *
      * @return whether this is the default breakpoint working set
      */
     private boolean isDefault() {
         return fWorkingSet.equals(BreakpointSetOrganizer.getDefaultWorkingSet());
     }
-    
+
     @Override
 	public String toString() {
         return fWorkingSet.getName();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
index d00a405..92d9e86 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
@@ -39,10 +39,10 @@
 	private List<IConsoleLineTracker> fListeners = new ArrayList<IConsoleLineTracker>(2);
 
 	/**
-	 * The console this notifier is tracking 
+	 * The console this notifier is tracking
 	 */
 	private ProcessConsole fConsole = null;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.console.IPatternMatchListenerDelegate#connect(org.eclipse.ui.console.TextConsole)
 	 */
@@ -56,11 +56,11 @@
 	            lineTrackers[i].init(fConsole);
                 addConsoleListener(lineTrackers[i]);
             }
-	        
+
 	        fConsole.addPropertyChangeListener(this);
 	    }
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.console.IPatternMatchListener#disconnect()
 	 */
@@ -95,19 +95,19 @@
         fConsole = null;
         fListeners = null;
     }
-	
+
 	/**
      * Adds the given listener to the list of listeners notified when a line of
      * text is appended to the console.
-     * 
-     * @param listener the listener to add 
+     *
+     * @param listener the listener to add
      */
 	public void addConsoleListener(IConsoleLineTracker listener) {
         if (!fListeners.contains(listener)) {
 			fListeners.add(listener);
 		}
 	}
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.console.IPatternMatchListener#matchFound(org.eclipse.ui.console.PatternMatchEvent)
      */
@@ -118,11 +118,11 @@
             int lineOfOffset = document.getLineOfOffset(event.getOffset());
             String delimiter = document.getLineDelimiter(lineOfOffset);
             int strip = delimiter==null ? 0 : delimiter.length();
-            Region region = new Region(event.getOffset(), event.getLength()-strip); 
+            Region region = new Region(event.getOffset(), event.getLength()-strip);
             lineAppended(region);
         } catch (BadLocationException e) {}
     }
-    
+
     public void lineAppended(IRegion region) {
         int size = fListeners.size();
         for (int i=0; i<size; i++) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java
index 5ad0c05..3642541 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.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 - Initial API and implementation
  *******************************************************************************/
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
index 794264c..8d2bb38 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
@@ -30,7 +30,7 @@
 	public void dispose() {
 		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.texteditor.IUpdate#update()
 	 */
@@ -56,11 +56,11 @@
 		ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
 		RemoveAllTerminatedAction.removeTerminatedLaunches(launches);
 	}
-	
+
 	public ConsoleRemoveAllTerminatedAction() {
-		super(ConsoleMessages.ConsoleRemoveAllTerminatedAction_0); 
+		super(ConsoleMessages.ConsoleRemoveAllTerminatedAction_0);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONSOLE_REMOVE_ALL_TERMINATED);
-		setToolTipText(ConsoleMessages.ConsoleRemoveAllTerminatedAction_1); 
+		setToolTipText(ConsoleMessages.ConsoleRemoveAllTerminatedAction_1);
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_REMOVE_ALL));
 		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_ALL));
 		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_REMOVE_ALL));
@@ -98,5 +98,5 @@
 	@Override
 	public void launchesTerminated(ILaunch[] launches) {
 		update();
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java
index aa4a60c..c398288 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java
@@ -35,7 +35,7 @@
 public class ConsoleRemoveLaunchAction extends Action implements IViewActionDelegate, IConsoleListener, ILaunchesListener2 {
 
     private ILaunch fLaunch;
-    
+
     // only used when a view action delegate
     private IConsoleView fConsoleView;
 
@@ -49,7 +49,7 @@
         DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
         ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this);
     }
-    
+
     public ConsoleRemoveLaunchAction(ILaunch launch) {
     	this();
         fLaunch = launch;
@@ -82,7 +82,7 @@
     @Override
 	public void init(IViewPart view) {
     	if (view instanceof IConsoleView) {
-			fConsoleView = (IConsoleView) view;			
+			fConsoleView = (IConsoleView) view;
 		}
     	update();
     }
@@ -133,7 +133,7 @@
 	@Override
 	public void launchesChanged(ILaunch[] launches) {
 	}
-	
+
 	protected ILaunch getLaunch() {
 		if (fConsoleView == null) {
 			return fLaunch;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java
index 4d2babb..6f1f6e7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java
@@ -19,14 +19,14 @@
 
 /**
  * ConsoleShowPreferencesAction Displays the Console's Preference page
- * 
+ *
  * @since 3.2
  */
 public class ConsoleShowPreferencesAction extends Action implements IViewActionDelegate {
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
      */
     @Override
@@ -34,7 +34,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
      */
     @Override
@@ -44,7 +44,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
      *      org.eclipse.jface.viewers.ISelection)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
index 61d9751..ec31c36 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
@@ -38,16 +38,16 @@
 	private IWorkbenchWindow fWindow;
 
 	/**
-	 * Creates a terminate action for the console 
+	 * Creates a terminate action for the console
 	 * @param window the window
 	 * @param console the console
 	 */
 	public ConsoleTerminateAction(IWorkbenchWindow window, ProcessConsole console) {
-		super(ConsoleMessages.ConsoleTerminateAction_0); 
+		super(ConsoleMessages.ConsoleTerminateAction_0);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONSOLE_TERMINATE_ACTION);
 		fConsole = console;
 		fWindow = window;
-		setToolTipText(ConsoleMessages.ConsoleTerminateAction_1); 
+		setToolTipText(ConsoleMessages.ConsoleTerminateAction_1);
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_TERMINATE));
 		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TERMINATE));
 		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_TERMINATE));
@@ -60,10 +60,10 @@
 	 */
 	@Override
 	public void update() {
-		IProcess process = fConsole.getProcess(); 
+		IProcess process = fConsole.getProcess();
 		setEnabled(process.canTerminate());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
@@ -75,10 +75,10 @@
         DebugCommandService service = DebugCommandService.getService(fWindow);
         service.executeCommand(ITerminateHandler.class, targets.toArray(), null);
 	}
-	
+
 	/**
 	 * Collects targets associated with a process.
-	 * 
+	 *
 	 * @param process the process to collect {@link IDebugTarget}s for
 	 * @return associated targets
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
index 016e174..d49af15 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
@@ -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
  *******************************************************************************/
@@ -87,7 +87,7 @@
 
 /**
  * A console for a system process with standard I/O streams.
- * 
+ *
  * @since 3.0
  */
 @SuppressWarnings("deprecation")
@@ -106,7 +106,7 @@
 	private String fStdInFile = null;
 
     private boolean fStreamsClosed = false;
-    
+
     /**
      * Proxy to a console document
      */
@@ -152,7 +152,7 @@
             Path path = new Path(file);
             IFile ifile = root.getFileForLocation(path);
             String message = null;
-            
+
             try {
                 String fileLoc = null;
                 if (ifile != null) {
@@ -165,11 +165,11 @@
                         ifile.create(new ByteArrayInputStream(new byte[0]), true, new NullProgressMonitor());
                     }
                 }
-                
+
                 File outputFile = new File(file);
                 fFileOutputStream = new FileOutputStream(outputFile, append);
                 fileLoc = outputFile.getAbsolutePath();
-                
+
 				message = MessageFormat.format(ConsoleMessages.ProcessConsole_1, new Object[] { fileLoc });
                 addPatternMatchListener(new ConsoleLogFilePatternMatcher(fileLoc));
             } catch (FileNotFoundException e) {
@@ -177,7 +177,7 @@
             } catch (CoreException e) {
                 DebugUIPlugin.log(e);
             }
-            if (message != null) { 
+            if (message != null) {
 				try (IOConsoleOutputStream stream = newOutputStream()) {
                     stream.write(message);
                 } catch (IOException e) {
@@ -231,7 +231,7 @@
 
     /**
      * Computes and returns the image descriptor for this console.
-     * 
+     *
      * @return an image descriptor for this console or <code>null</code>
      */
     protected ImageDescriptor computeImageDescriptor() {
@@ -250,7 +250,7 @@
 
     /**
      * Computes and returns the current name of this console.
-     * 
+     *
      * @return a name for this console
      */
     protected String computeName() {
@@ -467,7 +467,7 @@
 
     /**
      * Notify listeners when name changes.
-     * 
+     *
      * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
      */
     @Override
@@ -487,7 +487,7 @@
     }
 
     /**
-     * resets the name of this console to the original computed name 
+     * resets the name of this console to the original computed name
      */
     private void resetName() {
         final String newName = computeName();
@@ -526,7 +526,7 @@
         }
         streamMonitor = streamsProxy.getOutputStreamMonitor();
         if (streamMonitor != null) {
-            connect(streamMonitor, IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM, 
+            connect(streamMonitor, IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM,
             		store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT));
         }
         InputReadJob readJob = new InputReadJob(streamsProxy);
@@ -541,13 +541,13 @@
 	public void connect(IStreamMonitor streamMonitor, String streamIdentifier) {
         connect(streamMonitor, streamIdentifier, false);
     }
-    
+
     /**
      * Connects the given stream monitor to a new output stream with the given identifier.
-     * 
+     *
      * @param streamMonitor stream monitor
      * @param streamIdentifier stream identifier
-     * @param activateOnWrite whether the stream should displayed when written to 
+     * @param activateOnWrite whether the stream should displayed when written to
      */
 	@SuppressWarnings("resource")
 	private void connect(IStreamMonitor streamMonitor, String streamIdentifier, boolean activateOnWrite) {
@@ -616,14 +616,14 @@
             this.fStreamId = streamIdentifier;
             this.fStreamMonitor = monitor;
             this.fStream = stream;
-            fStreamMonitor.addListener(this);  
+            fStreamMonitor.addListener(this);
             //fix to bug 121454. Ensure that output to fast processes is processed.
             streamAppended(null, monitor);
         }
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see org.eclipse.debug.core.IStreamListener#streamAppended(java.lang.String,
          *      org.eclipse.debug.core.model.IStreamMonitor)
          */
@@ -720,7 +720,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
          */
         @Override
@@ -750,7 +750,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.ui.console.IConsole#getImageDescriptor()
      */
     @Override
@@ -767,7 +767,7 @@
         public ConsoleLogFilePatternMatcher(String filePath) {
             fFilePath = escape(filePath);
         }
-        
+
     	private String escape(String path) {
     		StringBuffer buffer = new StringBuffer(path);
     		int index = buffer.indexOf("\\"); //$NON-NLS-1$
@@ -777,7 +777,7 @@
     		}
     		return buffer.toString();
     	}
-    	
+
         @Override
 		public String getPattern() {
             return fFilePath;
@@ -816,7 +816,7 @@
         ConsoleLogFileHyperlink(String filePath) {
             fFilePath = filePath;
         }
-        
+
         @Override
 		public void linkActivated() {
             IEditorInput input;
@@ -831,7 +831,7 @@
             } else {
                 input = new FileEditorInput(ifile);
             }
-            
+
             IWorkbenchPage activePage = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage();
             try {
                 activePage.openEditor(input, EditorsUI.DEFAULT_TEXT_EDITOR_ID, true);
@@ -845,16 +845,16 @@
 		public void linkExited() {
         }
     }
-    
+
     class StorageEditorInput extends PlatformObject implements IStorageEditorInput {
         private File fFile;
         private IStorage fStorage;
-        
+
         public StorageEditorInput(IStorage storage, File file) {
             fStorage = storage;
             fFile = file;
         }
-        
+
         @Override
 		public IStorage getStorage() {
             return fStorage;
@@ -879,13 +879,13 @@
 		public String getToolTipText() {
             return getStorage().getFullPath().toOSString();
         }
-        
+
         @Override
 		public boolean equals(Object object) {
             return object instanceof StorageEditorInput &&
              getStorage().equals(((StorageEditorInput)object).getStorage());
         }
-        
+
         @Override
 		public int hashCode() {
             return getStorage().hashCode();
@@ -903,5 +903,5 @@
 	@Override
 	public String getHelpContextId() {
 		return IDebugHelpContextIds.PROCESS_CONSOLE;
-	} 
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
index c1cc89c..b5d735b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java
@@ -42,23 +42,23 @@
  * The singleton manager is accessible from the debug UI plugin.
  */
 public class ProcessConsoleManager implements ILaunchListener {
-    
+
     /**
      * Console document content provider extensions, keyed by extension id
      */
 	private Map<String, IConfigurationElement> fColorProviders;
-    
+
     /**
      * The default color provider. Used if no color provider is contributed
      * for the given process type.
      */
     private IConsoleColorProvider fDefaultColorProvider;
-    
+
     /**
-     * Console line trackers; keyed by process type to list of trackers (1:N) 
+     * Console line trackers; keyed by process type to list of trackers (1:N)
      */
 	private Map<String, List<IConfigurationElement>> fLineTrackers;
-    
+
     /**
      * Map of processes for a launch to compute removed processes
      */
@@ -75,40 +75,40 @@
 	public void launchRemoved(ILaunch launch) {
         removeLaunch(launch);
     }
-    
+
     protected void removeLaunch(ILaunch launch) {
-        IProcess[] processes= launch.getProcesses(); 
+        IProcess[] processes= launch.getProcesses();
         for (int i= 0; i < processes.length; i++) {
             IProcess iProcess = processes[i];
             removeProcess(iProcess);
-        }		
+        }
         if (fProcesses != null) {
             fProcesses.remove(launch);
         }
     }
-    
+
     /**
      * Removes the console and document associated with the given process.
-     * 
+     *
      * @param iProcess process to clean up
      */
     private void removeProcess(IProcess iProcess) {
         IConsole console = getConsole(iProcess);
-        
+
         if (console != null) {
             IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
             manager.removeConsoles(new IConsole[]{console});
         }
     }
-    
+
     /**
      * Returns the console for the given process, or <code>null</code> if none.
-     * 
+     *
      * @param process
      * @return the console for the given process, or <code>null</code> if none
      */
     public IConsole getConsole(IProcess process) {
-        IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager(); 
+        IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
         IConsole[] consoles = manager.getConsoles();
         for (int i = 0; i < consoles.length; i++) {
             IConsole console = consoles[i];
@@ -121,7 +121,7 @@
         }
         return null;
     }
-    
+
     /**
      * @see ILaunchListener#launchAdded(ILaunch)
      */
@@ -129,7 +129,7 @@
 	public void launchAdded(ILaunch launch) {
         launchChanged(launch);
     }
-    
+
     /**
      * @see ILaunchListener#launchChanged(ILaunch)
      */
@@ -160,7 +160,7 @@
             }
         }
     }
-    
+
     /**
      * Returns the document for the process, or <code>null</code>
      * if none.
@@ -168,8 +168,8 @@
     public IDocument getConsoleDocument(IProcess process) {
         ProcessConsole console = (ProcessConsole) getConsole(process);
         return (console != null ? console.getDocument() : null);
-    } 
-    
+    }
+
     /**
      * Called by the debug ui plug-in on startup.
      * The console document manager starts listening for
@@ -178,18 +178,18 @@
      */
     public void startup() {
         ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-        launchManager.addLaunchListener(this);	
-        
+        launchManager.addLaunchListener(this);
+
         //set up the docs for launches already registered
         ILaunch[] launches= launchManager.getLaunches();
         for (int i = 0; i < launches.length; i++) {
             launchAdded(launches[i]);
         }
     }
-    
+
     /**
      * Called by the debug ui plug-in on shutdown.
-     * The console document manager de-registers as a 
+     * The console document manager de-registers as a
      * launch listener and kills all existing console documents.
      */
     public void shutdown() {
@@ -204,11 +204,11 @@
             fProcesses.clear();
         }
     }
-          
+
     /**
      * Returns a new console document color provider extension for the given
      * process type, or <code>null</code> if none.
-     * 
+     *
      * @param type corresponds to <code>IProcess.ATTR_PROCESS_TYPE</code>
      * @return IConsoleColorProvider
      */
@@ -228,7 +228,7 @@
                 Object colorProvider = extension.createExecutableExtension("class"); //$NON-NLS-1$
                 if (colorProvider instanceof IConsoleColorProvider) {
                     return (IConsoleColorProvider)colorProvider;
-                } 
+                }
                 DebugUIPlugin.logErrorMessage(MessageFormat.format(
                 		"Extension {0} must specify an instanceof IConsoleColorProvider for class attribute.", //$NON-NLS-1$
 						new Object[] { extension.getDeclaringExtension().getUniqueIdentifier() }));
@@ -241,8 +241,8 @@
             fDefaultColorProvider = new ConsoleColorProvider();
         }
         return fDefaultColorProvider;
-    } 
-    
+    }
+
     /**
      * Returns the Line Trackers for a given process type.
      * @param process The process for which line trackers are required.
@@ -250,7 +250,7 @@
      */
     public IConsoleLineTracker[] getLineTrackers(IProcess process) {
         String type = process.getAttribute(IProcess.ATTR_PROCESS_TYPE);
-        
+
         if (fLineTrackers == null) {
 			synchronized (fLineTrackersLock) { // can't use fLineTrackers as lock as it is null here
 				fLineTrackers = new HashMap<String, List<IConfigurationElement>>();
@@ -268,14 +268,14 @@
 				}
 			}
         }
-        
+
 		ArrayList<IConsoleLineTracker> trackers = new ArrayList<IConsoleLineTracker>();
         if (type != null) {
 			List<IConfigurationElement> lineTrackerExtensions;
 			synchronized (fLineTrackers) {// need to synchronize as the update to list might be still happening
 				lineTrackerExtensions = fLineTrackers.get(type);
 			}
-            if(lineTrackerExtensions != null) {   
+            if(lineTrackerExtensions != null) {
 				for (IConfigurationElement element : lineTrackerExtensions) {
 					try {
 						trackers.add((IConsoleLineTracker) element.createExecutableExtension("class")); //$NON-NLS-1$
@@ -287,11 +287,11 @@
         }
         return trackers.toArray(new IConsoleLineTracker[0]);
     }
-    
+
     /**
      * Returns the processes that have been removed from the given
      * launch, or <code>null</code> if none.
-     * 
+     *
      * @param launch launch that has changed
      * @return removed processes or <code>null</code>
      */
@@ -317,10 +317,10 @@
         fProcesses.put(launch, curr);
         return removed;
     }
-    
+
     /**
      * Returns whether the given object is contained in the list.
-     * 
+     *
      * @param list list to search
      * @param object object to search for
      * @return whether the given object is contained in the list
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java
index 4052537..9f85f91 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java
@@ -53,11 +53,11 @@
 
 /**
  * Creates and manages process console specific actions
- * 
+ *
  * @since 3.1
  */
 public class ProcessConsolePageParticipant implements IConsolePageParticipant, IShowInSource, IShowInTargetList, IDebugEventSetListener, IDebugContextListener {
-	
+
 	// actions
 	private ConsoleTerminateAction fTerminate;
     private ConsoleRemoveLaunchAction fRemoveTerminated;
@@ -70,14 +70,14 @@
     private IPageBookViewPage fPage;
 
     private IConsoleView fView;
-    
+
     private EOFHandler fEOFHandler;
     private String fContextId = "org.eclipse.debug.ui.console"; //$NON-NLS-1$;
     private IContextActivation fActivatedContext;
     private IHandlerActivation fActivatedHandler;
 	/**
 	 * Handler to send EOF
-	 */	
+	 */
 	private class EOFHandler extends AbstractHandler {
         @Override
 		public Object execute(ExecutionEvent event) throws org.eclipse.core.commands.ExecutionException {
@@ -91,9 +91,9 @@
             }
             return null;
         }
-		
-	}    
-    		
+
+	}
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.console.IConsolePageParticipant#init(IPageBookViewPage, IConsole)
      */
@@ -101,26 +101,26 @@
 	public void init(IPageBookViewPage page, IConsole console) {
         fPage = page;
         fConsole = (ProcessConsole) console;
-        
+
         fRemoveTerminated = new ConsoleRemoveLaunchAction(fConsole.getProcess().getLaunch());
         fRemoveAllTerminated = new ConsoleRemoveAllTerminatedAction();
         fTerminate = new ConsoleTerminateAction(page.getSite().getWorkbenchWindow(), fConsole);
         fStdOut = new ShowStandardOutAction();
         fStdErr = new ShowStandardErrorAction();
-        
+
         fView = (IConsoleView) fPage.getSite().getPage().findView(IConsoleConstants.ID_CONSOLE_VIEW);
-        
+
         DebugPlugin.getDefault().addDebugEventListener(this);
         DebugUITools.getDebugContextManager().getContextService(fPage.getSite().getWorkbenchWindow()).addDebugContextListener(this);
-        
+
         // contribute to toolbar
         IActionBars actionBars = fPage.getSite().getActionBars();
         configureToolBar(actionBars.getToolBarManager());
-        
+
         // create handler and submissions for EOF
         fEOFHandler = new EOFHandler();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.console.IConsolePageParticipant#dispose()
      */
@@ -193,7 +193,7 @@
         IProcess process = getProcess();
         if (process == null) {
             return null;
-        } 
+        }
         IDebugTarget target = process.getAdapter(IDebugTarget.class);
         ISelection selection = null;
         if (target == null) {
@@ -234,12 +234,12 @@
                         }
                     }
                 };
-                
-                DebugUIPlugin.getStandardDisplay().asyncExec(r);           
+
+                DebugUIPlugin.getStandardDisplay().asyncExec(r);
             }
         }
     }
-    
+
     protected IProcess getProcess() {
         return fConsole != null ? fConsole.getProcess() : null;
     }
@@ -284,6 +284,6 @@
 	            fView.display(fConsole);
 	        }
 		}
-		
+
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java
index 478cc0e..79fb709 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.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
  *******************************************************************************/
@@ -17,7 +17,7 @@
 
 /**
  * Tests if a process type matches the expected value.
- * 
+ *
  * @since 3.1
  */
 public class ProcessTypePropertyTester extends PropertyTester {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java
index a13a0cf..a72f597 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java
@@ -20,11 +20,11 @@
 /**
  * Toggles preference show the console when output is written
  * to standard error stream.
- * 
+ *
  * @since 3.3
  */
 public class ShowStandardErrorAction extends ShowWhenContentChangesAction {
-	
+
 	/**
 	 * Constructs an action to toggle console auto activation preferences
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java
index 71fd9fd..daa7ece 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java
@@ -20,11 +20,11 @@
 /**
  * Toggles preference show the console when output is written
  * to standard output stream.
- * 
+ *
  * @since 3.3
  */
 public class ShowStandardOutAction extends ShowWhenContentChangesAction {
-	
+
 	/**
 	 * Constructs an action to toggle console auto activation preferences
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java
index fca78dd..760cd93 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java
@@ -20,17 +20,17 @@
 /**
  * Abstract action for toggling preference to automatically show
  * the console when a streams content changes.
- * 
+ *
  * @since 3.3
  */
 public abstract class ShowWhenContentChangesAction extends Action implements IPropertyChangeListener{
-	
+
 	/**
 	 * Constructs an action to toggle console auto activation preferences
 	 */
 	public ShowWhenContentChangesAction(String name) {
 		super(name, IAction.AS_CHECK_BOX);
-		setToolTipText(name);  
+		setToolTipText(name);
 		getPreferenceStore().addPropertyChangeListener(this);
 		update();
 	}
@@ -45,9 +45,9 @@
              update();
         }
 	}
-	
+
 	protected abstract String getKey();
-	
+
 	private void update() {
 		IPreferenceStore store = getPreferenceStore();
 		if (store.getBoolean(getKey())) {
@@ -77,7 +77,7 @@
 		store.setValue(getKey(), show);
 		store.addPropertyChangeListener(this);
 	}
-	
+
 	/**
 	 * Must be called to dispose this action.
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
index 7a66716..a6ae957 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java
@@ -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:
  * 	   Wind River Systems - Pawel Piech - Initial Implementation - Drag/Drop to Expressions View (Bug 184057), Integration with non-standard debug models (Bug 209883)
  *     IBM Corporation - further implementation and documentation
@@ -48,7 +48,7 @@
  * Drop Adapter allowing expressions, variables and text to be dropped in the Expression View.
  * When IVariables or text is dropped new watch expressions are created at the drop location.
  * When IExpressions are dropped, they are moved to the drop location
- * 
+ *
  * @see org.eclipse.debug.internal.ui.views.variables.VariablesDragAdapter
  * @see ExpressionManager
  * @since 3.4
@@ -59,7 +59,7 @@
     private TransferData fCurrentTransferType = null;
 	private boolean fInsertBefore;
 	private int fDropType;
-	
+
 	private static final int DROP_TYPE_DEFAULT = 0;
 	private static final int DROP_TYPE_VARIABLE = 1;
 	private static final int DROP_TYPE_EXPRESSION = 2;
@@ -84,7 +84,7 @@
 	public void dragEnter(DropTargetEvent event) {
     	fDropType = DROP_TYPE_DEFAULT;
         event.detail = DND.DROP_NONE;
-        
+
     	for (int i = 0; i < event.dataTypes.length; i++) {
             if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataTypes[i])) {
                 if (isExpressionDrop()){
@@ -113,7 +113,7 @@
 
         super.dragEnter(event);
     }
-    
+
     /**
      * @return whether the selection transfer contains only IExpressions
      */
@@ -145,7 +145,7 @@
 	}
 
    /**
-     * @return whether the selection transfer contains only objects adaptable 
+     * @return whether the selection transfer contains only objects adaptable
      * to IWatchExpressionFactoryAdapter2
      */
     private boolean isWatchAdaptableElementDrop() {
@@ -153,7 +153,7 @@
 		Iterator<?> iterator = selection.iterator();
         while (iterator.hasNext()) {
             Object element = iterator.next();
-            if (!(element instanceof IAdaptable && 
+            if (!(element instanceof IAdaptable &&
                 ((IAdaptable)element).getAdapter(IWatchExpressionFactoryAdapter2.class) != null))
             {
                 return false;
@@ -198,7 +198,7 @@
 	 * @return whether the drop is valid
 	 */
 	private boolean validateExpressionDrop(Object target){
-		return target instanceof IExpression || 
+		return target instanceof IExpression ||
 		       ((target instanceof IAdaptable) && ((IAdaptable)target).getAdapter(IExpression.class) != null);
 	}
 
@@ -210,9 +210,9 @@
 	    }
 	    return null;
 	}
-	
+
 	/**
-	 * Validates if the drop is valid by validating the local selection transfer 
+	 * Validates if the drop is valid by validating the local selection transfer
 	 * to ensure that a watch expression can be created for each contained IVariable.
 	 * @param target target of the drop
 	 * @return whether the drop is valid
@@ -222,7 +222,7 @@
 		if (target != null && getTargetExpression(target) == null) {
 		    return false;
 		}
-		
+
 	    IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection();
 	    int enabled = 0;
 	    int size = -1;
@@ -248,7 +248,7 @@
 	}
 
 	/**
-     * Validates if the drop is valid by validating the local selection transfer 
+     * Validates if the drop is valid by validating the local selection transfer
      * to ensure that a watch expression can be created for each contained element.
      * @param target target of the drop
      * @return whether the drop is valid
@@ -258,7 +258,7 @@
         if (target != null && getTargetExpression(target) == null) {
             return false;
         }
-        
+
         IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection();
         int enabled = 0;
         int size = -1;
@@ -290,7 +290,7 @@
 
 	/**
 	 * Returns whether the factory adapter for the given variable is currently enabled.
-	 * 
+	 *
 	 * @param variable the variable to ask for the adapter
 	 * @return whether the factory is enabled
 	 */
@@ -305,7 +305,7 @@
 
    /**
      * Returns whether the factory adapter for the given element is currently enabled.
-     * 
+     *
      * @param element the element to ask for the adapter
      * @return whether the factory is enabled
      */
@@ -363,7 +363,7 @@
 			for (int i = 0; i < selectionElements.length; i++) {
 			    expressions[i] = getTargetExpression(selectionElements[i]);
 			}
-	    	
+
 	    	IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();
 	    	if (manager instanceof ExpressionManager){
 	    		((ExpressionManager)manager).moveExpressions(expressions, targetExpression, fInsertBefore);
@@ -371,15 +371,15 @@
 	    	return true;
 		}
 		return false;
-		
+
 	}
 
 	/**
-     * If the dragged data is a structured selection, get any IVariables in it 
+     * If the dragged data is a structured selection, get any IVariables in it
      * and create expressions for each of them.  Insert the created expressions
      * at the currently selected target or add them to the end of the collection
      * if no target is selected.
-     * 
+     *
      * @param selection Structured selection containing IVariables
      * @return whether the drop was successful
      */
@@ -420,7 +420,7 @@
      * Performs the drop when text was dragged.  Creates a new watch expression from
      * the text.  Inserts the expression at the currently selected target or adds it
      * to the end of the collection if no target is selected.
-     * 
+     *
      * @param text string to use to create the expression
      * @return whether the drop was successful
      */
@@ -441,13 +441,13 @@
     	DebugUIPlugin.log(new Status(IStatus.ERROR,DebugUIPlugin.getUniqueIdentifier(),"Drop failed.  Watch expression could not be created for the text " + text)); //$NON-NLS-1$
     	return false;
     }
-    
+
     /**
      * Creates a new watch expression from an IVariable using the watch expression factory
      * adapter for that variable.
-     * 
+     *
      * @param variable the variable to use to create the watch expression
-     * @return the string to be used to create expression, return <code>null</code> 
+     * @return the string to be used to create expression, return <code>null</code>
      * if no expression is to be created
      */
     private String createExpressionString(Object element) {
@@ -457,7 +457,7 @@
                 IWatchExpressionFactoryAdapter factory = getFactory(variable);
                 String exp = variable.getName();
                 if (factory != null) {
-                	//if a factory exists, use it to create expression, 
+                	//if a factory exists, use it to create expression,
                 	//otherwise just use variable name
                     exp = factory.createWatchExpression(variable);
                 }
@@ -466,7 +466,7 @@
                 IWatchExpressionFactoryAdapter2 factory2 = getFactory2(element);
                 if (factory2 != null) {
                     return factory2.createWatchExpression(element);
-                } 
+                }
             }
         } catch (CoreException e) {
             DebugUIPlugin.log(e.getStatus());
@@ -476,7 +476,7 @@
 
     /**
      * Creates a new watch expression from a string using the default expression manager.
-     * 
+     *
      * @param exp the string to use to create the expression
      */
     private IExpression createExpression(String exp) {
@@ -491,21 +491,21 @@
         expression.setExpressionContext(context);
         return expression;
     }
-    
-   
+
+
     /**
      * Returns the factory adapter for the given variable or <code>null</code> if none.
-     * 
+     *
      * @param variable
      * @return factory or <code>null</code>
      */
     private IWatchExpressionFactoryAdapter getFactory(IVariable variable) {
-        return variable.getAdapter(IWatchExpressionFactoryAdapter.class);      
+        return variable.getAdapter(IWatchExpressionFactoryAdapter.class);
     }
 
     /**
      * Returns the factory adapter for the given element or <code>null</code> if none.
-     * 
+     *
      * @param element
      * @return factory or <code>null</code>
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
index d7e811e..2a0fd26 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
@@ -12,7 +12,7 @@
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.views.expression;
 
- 
+
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.debug.core.DebugPlugin;
@@ -51,34 +51,34 @@
 import org.eclipse.ui.IWorkbenchCommandConstants;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.actions.ActionFactory;
- 
+
 /**
  * Displays expressions and their values with a detail
  * pane.
  */
 public class ExpressionView extends VariablesView {
-	
+
     private PasteWatchExpressionsAction fPasteAction;
     private EditWatchExpressinInPlaceAction fEditInPlaceAction;
-    
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getHelpContextId()
 	 */
 	@Override
 	protected String getHelpContextId() {
-		return IDebugHelpContextIds.EXPRESSION_VIEW;		
-	}	
-	
+		return IDebugHelpContextIds.EXPRESSION_VIEW;
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#configureToolBar(org.eclipse.jface.action.IToolBarManager)
 	 */
 	@Override
 	protected void configureToolBar(IToolBarManager tbm) {
 		super.configureToolBar(tbm);
-		tbm.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP));		
+		tbm.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP));
 		tbm.add(new Separator(IDebugUIConstants.EXPRESSION_GROUP));
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
 	 */
@@ -89,7 +89,7 @@
 		menu.add(getAction(FIND_ACTION));
         ChangeVariableValueAction changeValueAction = (ChangeVariableValueAction)getAction("ChangeVariableValue"); //$NON-NLS-1$
         if (changeValueAction.isApplicable()) {
-            menu.add(changeValueAction); 
+            menu.add(changeValueAction);
         }
 		menu.add(new Separator());
 		IAction action = new AvailableLogicalStructuresAction(this);
@@ -135,7 +135,7 @@
         }
         updateAction(FIND_ACTION);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey()
 	 */
@@ -149,7 +149,7 @@
 	 */
 	@Override
 	protected String getToggleActionLabel() {
-		return VariablesViewMessages.ExpressionView_4; 
+		return VariablesViewMessages.ExpressionView_4;
 	}
 
 	/* (non-Javadoc)
@@ -158,8 +158,8 @@
 	@Override
 	protected String getPresentationContextId() {
 		return IDebugUIConstants.ID_EXPRESSION_VIEW;
-	}	
-	
+	}
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#initDragAndDrop(org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer)
      */
@@ -168,7 +168,7 @@
         viewer.addDragSupport(DND.DROP_MOVE, new Transfer[] {LocalSelectionTransfer.getTransfer()}, new SelectionDragAdapter(viewer));
         viewer.addDropSupport(DND.DROP_MOVE|DND.DROP_COPY, new Transfer[] {LocalSelectionTransfer.getTransfer(), TextTransfer.getInstance()}, new ExpressionDropAdapter(getSite(), viewer));
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createActions()
      */
@@ -180,17 +180,17 @@
     	fEditInPlaceAction = new EditWatchExpressinInPlaceAction(this);
         configure(fEditInPlaceAction, IWorkbenchCommandConstants.FILE_RENAME, ActionFactory.RENAME.getId(), null);
     }
-    
+
     @Override
 	public void dispose() {
         fEditInPlaceAction.dispose();
         super.dispose();
     }
-    
+
     /**
      * Configures the action to override the global action, and registers the
      * action with this view.
-     * 
+     *
      * @param action
      * 		action
      * @param defId
@@ -209,11 +209,11 @@
     	    action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(imgId));
     	}
     }
-    
+
     /**
      * Returns whether the given selection can be pasted into the expressions
      * view.
-     * 
+     *
      * @return whether the given selection can be pasted into the given target
      */
     public boolean canPaste() {
@@ -223,10 +223,10 @@
     	}
     	return false;
     }
-       
+
     /**
      * Pastes the selection into the given target
-     * 
+     *
      * @return whether successful
      */
     public boolean performPaste() {
@@ -241,7 +241,7 @@
     	}
     	return false;
     }
-    
+
     // TODO: duplicate code from WatchExpressionAction
     protected IDebugElement getContext() {
         IAdaptable object = DebugUITools.getPartDebugContext(getSite());
@@ -253,7 +253,7 @@
         }
         return context;
     }
-    
+
     protected String getClipboardText() {
     	Clipboard clipboard = new Clipboard(Display.getDefault());
     	try {
@@ -264,5 +264,5 @@
     	}
     }
 
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java
index 39825b0..c5ec83c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.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
  *******************************************************************************/
@@ -16,9 +16,9 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Action that controls the preference for whether elements should be 
+ * Action that controls the preference for whether elements should be
  * automatically expanded in the breadcrumb drop down viewers.
- * 
+ *
  * @since 3.5
  */
 class BreadcrumbDropDownAutoExpandAction extends Action {
@@ -27,19 +27,19 @@
 
 	/**
 	 * Creates a new action to set the debug view mode.
-	 * 
+	 *
 	 * @param view Reference to the debug view.
      * in auto mode.
 	 */
 	public BreadcrumbDropDownAutoExpandAction(LaunchView view) {
 		super(IInternalDebugCoreConstants.EMPTY_STRING, AS_CHECK_BOX);
 		fLaunchView = view;
-				
+
 		setText(LaunchViewMessages.BreadcrumbDropDownAutoExpandAction_label);
-		setToolTipText(LaunchViewMessages.BreadcrumbDropDownAutoExpandAction_tooltip);  
-		setDescription(LaunchViewMessages.BreadcrumbDropDownAutoExpandAction_description);  
+		setToolTipText(LaunchViewMessages.BreadcrumbDropDownAutoExpandAction_tooltip);
+		setDescription(LaunchViewMessages.BreadcrumbDropDownAutoExpandAction_description);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DEBUG_VIEW_DROP_DOWN_AUTOEXPAND_ACTION);
-		
+
 		setChecked(fLaunchView.getBreadcrumbDropDownAutoExpand());
 	}
 
@@ -48,7 +48,7 @@
 	 */
 	@Override
 	public void run() {
-		fLaunchView.setBreadcrumbDropDownAutoExpand(isChecked()); 
-	}	
+		fLaunchView.setBreadcrumbDropDownAutoExpand(isChecked());
+	}
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java
index 997f2a8..9ae17da 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.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
  *     Pawel Piech - Wind River - adapted to use in Debug view
@@ -20,13 +20,13 @@
 
 /**
  * Fake part to used to create the breadcrumb page.
- * 
+ *
  * @since 3.5
  */
 class BreadcrumbWorkbenchPart implements IWorkbenchPart {
 
     private IWorkbenchPartSite fSite = null;
-    
+
     /* (non-Javadoc)
      * @see java.lang.Object#equals(java.lang.Object)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
index 928c937..c9c19a6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java
@@ -91,28 +91,28 @@
  * DebugElementAdapterFactory
  */
 public class DebugElementAdapterFactory implements IAdapterFactory {
-	
+
 	private static IModelProxyFactory fgModelProxyFactoryAdapter = new DefaultModelProxyFactory();
 	private static ISourceDisplay fgStackFrameSourceDisplayAdapter = new StackFrameSourceDisplayAdapter();
 	private static IModelSelectionPolicyFactory fgModelSelectionPolicyFactoryAdapter = new DefaultModelSelectionPolicyFactory();
-    
+
     private static IAsynchronousLabelAdapter fgDebugLabelAdapter = new AsynchronousDebugLabelAdapter();
     private static IAsynchronousLabelAdapter fgMemoryBlockLabelAdapter = new MemoryBlockLabelAdapter();
     private static IAsynchronousLabelAdapter fgTableRenderingLineLabelAdapter = new MemorySegmentLabelAdapter();
-    
+
     private static IElementLabelProvider fgLPDebugElement = new DebugElementLabelProvider();
     private static IElementLabelProvider fgLPVariable = new VariableLabelProvider();
     private static IElementLabelProvider fgLPExpression = new ExpressionLabelProvider();
     private static IElementLabelProvider fgLPRegisterGroup = new RegisterGroupLabelProvider();
-    private static IElementLabelProvider fgLPMemoryBlock = new MemoryBlockLabelProvider();     
+    private static IElementLabelProvider fgLPMemoryBlock = new MemoryBlockLabelProvider();
     private static IElementLabelProvider fgLPBreakpoint = new BreakpointLabelProvider();
-    private static IElementLabelProvider fgLPBreakpointContainer = new BreakpointContainerLabelProvider(); 
+    private static IElementLabelProvider fgLPBreakpointContainer = new BreakpointContainerLabelProvider();
     private static IElementEditor fgEEVariable = new VariableEditor();
     private static IElementEditor fgEEWatchExpression = new WatchExpressionEditor();
-    
+
     private static IAsynchronousContentAdapter fgAsyncMemoryRetrieval = new MemoryRetrievalContentAdapter();
     private static IAsynchronousContentAdapter fgAsyncMemoryBlock = new MemoryBlockContentAdapter();
-    
+
     private static IElementContentProvider fgCPLaunchManger = new LaunchManagerContentProvider();
     private static IElementContentProvider fgCPLaunch = new LaunchContentProvider();
     private static IElementContentProvider fgCPProcess = new ProcessContentProvider();
@@ -120,14 +120,14 @@
     private static IElementContentProvider fgCPThread = new ThreadContentProvider();
     private static IElementContentProvider fgCPFrame = new StackFrameContentProvider();
     private static IElementContentProvider fgCPVariable = new VariableContentProvider();
-    private static IElementContentProvider fgCPExpressionManager = new ExpressionManagerContentProvider();  
+    private static IElementContentProvider fgCPExpressionManager = new ExpressionManagerContentProvider();
     private static IElementContentProvider fgCPExpression = new ExpressionContentProvider();
     private static IElementContentProvider fgCPRegisterGroup = new RegisterGroupContentProvider();
     private static IElementContentProvider fgCPMemoryRetrieval = new MemoryRetrievalContentProvider();
-    private static IElementContentProvider fgCPMemoryBlock = new MemoryBlockContentProvider();   
+    private static IElementContentProvider fgCPMemoryBlock = new MemoryBlockContentProvider();
     private static IElementContentProvider fgCPBreakpointManager = new BreakpointManagerContentProvider();
 	private static IElementContentProvider fgCPBreakpoint = new BreakpointContentProvider();
-    
+
     private static IElementMementoProvider fgMPFrame = new StackFrameMementoProvider();
     private static IElementMementoProvider fgMPVariable = new VariableMementoProvider();
     private static IElementMementoProvider fgMPExpression = new ExpressionMementoProvider();
@@ -137,12 +137,12 @@
     private static IElementMementoProvider fgMPBreakpointManagerInput = new BreakpointManagerInputMementoProvider();
     private static IElementMementoProvider fgMPBreakpointContainer = new BreakpointContainerMementoProvider();
     private static IElementMementoProvider fgMPBreakpoint = new BreakpointMementoProvider();
-    
+
     private static IColumnPresentationFactory fgVariableColumnFactory = new VariableColumnFactoryAdapter();
-    
+
     private static IViewerInputProvider fgDefaultViewerInputProvider = new DefaultViewerInputProvider();
     private static IViewerInputProvider fgStackFrameViewerInputProvider = new StackFrameViewerInputProvider();
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
      */
@@ -152,7 +152,7 @@
         if (adapterType.isInstance(adaptableObject)) {
 			return (T) adaptableObject;
 		}
-        
+
         if (adapterType.equals(IAsynchronousContentAdapter.class)) {
             if (adaptableObject instanceof IMemoryBlockRetrieval) {
 				return (T) fgAsyncMemoryRetrieval;
@@ -161,7 +161,7 @@
 				return (T) fgAsyncMemoryBlock;
             }
         }
-        
+
         if (adapterType.equals(IElementContentProvider.class)) {
             if (adaptableObject instanceof ILaunchManager) {
 				return (T) fgCPLaunchManger;
@@ -190,7 +190,7 @@
             }
             if (adaptableObject instanceof IExpressionManager) {
 				return (T) fgCPExpressionManager;
-            }           
+            }
             if (adaptableObject instanceof IExpression) {
 				return (T) fgCPExpression;
             }
@@ -199,26 +199,26 @@
             }
             if (adaptableObject instanceof IMemoryBlock) {
 				return (T) fgCPMemoryBlock;
-            }            
+            }
             if (adaptableObject instanceof DefaultBreakpointsViewInput) {
 				return (T) fgCPBreakpointManager;
             }
             if (adaptableObject instanceof IBreakpoint) {
 				return (T) fgCPBreakpoint;
             }
-        }        
-        
+        }
+
         if (adapterType.equals(IAsynchronousLabelAdapter.class)) {
         	if (adaptableObject instanceof IMemoryBlock) {
 				return (T) fgMemoryBlockLabelAdapter;
         	}
-        	
+
         	if (adaptableObject instanceof MemorySegment) {
 				return (T) fgTableRenderingLineLabelAdapter;
         	}
 			return (T) fgDebugLabelAdapter;
         }
-        
+
         if (adapterType.equals(IElementLabelProvider.class)) {
         	if (adaptableObject instanceof IVariable) {
 				return (T) fgLPVariable;
@@ -231,16 +231,16 @@
         	}
         	if (adaptableObject instanceof IMemoryBlock) {
 				return (T) fgLPMemoryBlock;
-        	} 
+        	}
         	if (adaptableObject instanceof IBreakpoint) {
 				return (T) fgLPBreakpoint;
         	}
         	if (adaptableObject instanceof IBreakpointContainer) {
 				return (T) fgLPBreakpointContainer;
-        	}     	
+        	}
 			return (T) fgLPDebugElement;
-        }        
-        
+        }
+
         if (adapterType.equals(IModelProxyFactory.class)) {
         	if (adaptableObject instanceof ILaunch || adaptableObject instanceof IDebugTarget ||
         			adaptableObject instanceof IProcess || adaptableObject instanceof ILaunchManager ||
@@ -253,25 +253,25 @@
 				return (T) fgModelProxyFactoryAdapter;
 			}
         }
-        
+
         if (adapterType.equals(ISourceDisplay.class)) {
         	if (adaptableObject instanceof IStackFrame) {
 				return (T) fgStackFrameSourceDisplayAdapter;
         	}
         }
-        
+
         if (adapterType.equals(IModelSelectionPolicyFactory.class)) {
         	if (adaptableObject instanceof IDebugElement) {
 				return (T) fgModelSelectionPolicyFactoryAdapter;
         	}
         }
-        
+
         if (adapterType.equals(IColumnPresentationFactory.class)) {
             if (adaptableObject instanceof IStackFrame || adaptableObject instanceof IExpressionManager) {
 				return (T) fgVariableColumnFactory;
             }
-        }   
-        
+        }
+
         if (adapterType.equals(IElementMementoProvider.class)) {
         	if (adaptableObject instanceof IStackFrame) {
 				return (T) fgMPFrame;
@@ -301,7 +301,7 @@
 				return (T) fgMPBreakpointManagerInput;
         	}
         }
-        
+
         if (adapterType.equals(IElementEditor.class)) {
         	if (adaptableObject instanceof IVariable) {
 				return (T) fgEEVariable;
@@ -310,15 +310,15 @@
 				return (T) fgEEWatchExpression;
             }
         }
-        
+
         if (adapterType.equals(IViewerInputProvider.class)) {
         	if (adaptableObject instanceof IStackFrame) {
 				return (T) fgStackFrameViewerInputProvider;
         	} else {
 				return (T) fgDefaultViewerInputProvider;
         	}
-        }         
-        
+        }
+
         return null;
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
index 04acbd1..cb012b8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java
@@ -27,7 +27,7 @@
 /**
  * Translates images, colors, and fonts into image descriptors, RGBs, and font
  * data for workbench adapters. Also provides labels.
- * 
+ *
  * @since 3.1
  */
 public class DebugElementHelper {
@@ -51,7 +51,7 @@
 
 	/**
 	 * Returns an image descriptor for the given debug element.
-	 * 
+	 *
 	 * @param object object for which an image descriptor is required
 	 */
 	public static ImageDescriptor getImageDescriptor(Object object) {
@@ -61,7 +61,7 @@
 
 	/**
 	 * Returns an image descriptor for the given debug element.
-	 * 
+	 *
 	 * @param presentation presentation to obtain image from
 	 * @param object object for which an image descriptor is required
 	 * @since 3.3
@@ -85,7 +85,7 @@
 
 	/**
 	 * Returns a label for the given debug element.
-	 * 
+	 *
 	 * @param o object for which a label is required
 	 */
 	public static String getLabel(Object o) {
@@ -94,7 +94,7 @@
 
 	/**
 	 * Returns a model presentation to use to retrieve lables & images.
-	 * 
+	 *
 	 * @return a model presentation to use to retrieve lables & images
 	 */
 	public static DelegatingModelPresentation getPresentation() {
@@ -107,7 +107,7 @@
 	/**
 	 * Returns the RGB of the foreground color for the given element, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element object for which a foreground color is required
 	 * @return the RGB of the foreground color for the given element, or
 	 *         <code>null</code> if none
@@ -123,7 +123,7 @@
 	/**
 	 * Returns the RGB of the foreground color for the given element, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element object for which a foreground color is required
 	 * @param presentation presentation to obtain color from
 	 * @return the RGB of the foreground color for the given element, or
@@ -147,7 +147,7 @@
 	/**
 	 * Returns the RGB of the background color for the given element, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element object for which a background color is required
 	 * @return the RGB of the background color for the given element, or
 	 *         <code>null</code> if none
@@ -163,7 +163,7 @@
 	/**
 	 * Returns the RGB of the background color for the given element, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element object for which a background color is required
 	 * @param presentation presentation to use to retrieve color
 	 * @return the RGB of the background color for the given element, or
@@ -187,7 +187,7 @@
 	/**
 	 * Returns the font data for the given element, or <code>null</code> if
 	 * none.
-	 * 
+	 *
 	 * @param element object for which font data is required
 	 * @return the font data for the given element, or <code>null</code> if none
 	 */
@@ -202,7 +202,7 @@
 	/**
 	 * Returns the font data for the given element, or <code>null</code> if
 	 * none.
-	 * 
+	 *
 	 * @param element object for which font data is required
 	 * @param presentation presentation to obtain font from
 	 * @return the font data for the given element, or <code>null</code> if none
@@ -225,7 +225,7 @@
 	/**
 	 * Returns whether the UI thread is required for computing the label for the
 	 * given object.
-	 * 
+	 *
 	 * @param object object a label is being computed for
 	 * @return whether the UI thread is required
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java
index 38f9c69..becca2d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.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
  *******************************************************************************/
@@ -17,38 +17,38 @@
 
 /**
  * Action that controls whether Debug actions are shown in Launch view.
- * 
+ *
  * @since 3.8
  */
 class DebugToolBarAction extends Action {
 
 	private final LaunchView fLaunchView;
-	
+
 	/**
 	 * Creates a new action to set the debug view mode.
-	 * 
+	 *
 	 * @param view Reference to the debug view.
 	 */
 	public DebugToolBarAction(LaunchView view) {
 		super(IInternalDebugCoreConstants.EMPTY_STRING, AS_CHECK_BOX);
 		fLaunchView = view;
-		
+
         setText(LaunchViewMessages.DebugToolBarAction_View_label);
-        setToolTipText(LaunchViewMessages.DebugToolBarAction_View_tooltip);  
-        setDescription(LaunchViewMessages.DebugToolBarAction_View_description);  
+        setToolTipText(LaunchViewMessages.DebugToolBarAction_View_tooltip);
+        setDescription(LaunchViewMessages.DebugToolBarAction_View_description);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DEBUG_TOOLBAR_VIEW_ACTION);
 	}
 
 	public void setShowingDebugToolbar(boolean showingToolbar) {
 	    setChecked(showingToolbar);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
 	@Override
 	public void run() {
-		fLaunchView.setDebugToolbarInView(isChecked()); 
-	}	
+		fLaunchView.setDebugToolbarInView(isChecked());
+	}
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java
index 712f051..3da6ebb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.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
  *******************************************************************************/
@@ -21,9 +21,9 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Action that controls the view mode for Debug view (auto vs. breadcrumb, vs. 
- * tree view). 
- * 
+ * Action that controls the view mode for Debug view (auto vs. breadcrumb, vs.
+ * tree view).
+ *
  * @since 3.5
  */
 class DebugViewModeAction extends Action {
@@ -34,7 +34,7 @@
 
 	/**
 	 * Creates a new action to set the debug view mode.
-	 * 
+	 *
 	 * @param view Reference to the debug view.
 	 * @param mode The mode to be set by this action.
 	 * @param parent The view's parent control used to calculate view size
@@ -45,29 +45,29 @@
 		fLaunchView = view;
 		fParent = parent;
 		fMode = mode;
-				
+
 		if (mode == IDebugPreferenceConstants.DEBUG_VIEW_MODE_AUTO) {
 			setText(LaunchViewMessages.DebugViewModeAction_Auto_label);
-			setToolTipText(LaunchViewMessages.DebugViewModeAction_Auto_tooltip);  
+			setToolTipText(LaunchViewMessages.DebugViewModeAction_Auto_tooltip);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_AUTO));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_AUTO));
-			setDescription(LaunchViewMessages.DebugViewModeAction_Auto_description);  
+			setDescription(LaunchViewMessages.DebugViewModeAction_Auto_description);
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DEBUG_VIEW_MODE_AUTO_ACTION);
 		} else if (mode == IDebugPreferenceConstants.DEBUG_VIEW_MODE_FULL) {
-			setText(LaunchViewMessages.DebugViewModeAction_Full_label);  
-			setToolTipText(LaunchViewMessages.DebugViewModeAction_Full_tooltip);  
+			setText(LaunchViewMessages.DebugViewModeAction_Full_label);
+			setToolTipText(LaunchViewMessages.DebugViewModeAction_Full_tooltip);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_HIDE));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_HIDE));
-			setDescription(LaunchViewMessages.DebugViewModeAction_Full_description);  
+			setDescription(LaunchViewMessages.DebugViewModeAction_Full_description);
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DEBUG_VIEW_MODE_FULL_ACTION);
 		} else {
 			setText(LaunchViewMessages.DebugViewModeAction_Compact_label);
-			setToolTipText(LaunchViewMessages.DebugViewModeAction_Compact_tooltip);  
-			setDescription(LaunchViewMessages.DebugViewModeAction_Compact_description); 
+			setToolTipText(LaunchViewMessages.DebugViewModeAction_Compact_tooltip);
+			setDescription(LaunchViewMessages.DebugViewModeAction_Compact_description);
 			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DEBUG_VIEW_COMPACT_LAYOUT));
 			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DEBUG_VIEW_COMPACT_LAYOUT));
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.DEBUG_VIEW_MODE_COMPACT_ACTION);
-		} 		
+		}
 	}
 
 	/* (non-Javadoc)
@@ -75,9 +75,9 @@
 	 */
 	@Override
 	public void run() {
-		fLaunchView.setViewMode(fMode, fParent); 
-	}	
-	
+		fLaunchView.setViewMode(fMode, fParent);
+	}
+
 	/**
 	 * Returns the view mode set by this action.
 	 * @return the mode of the action
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java
index 6f5cc4c..2c0c299 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java
@@ -16,15 +16,15 @@
  * A decoration in an editor, created by the debugger.
  */
 public abstract class Decoration {
-	
+
 	/**
 	 * Removes this decoration
 	 */
 	public abstract void remove();
-	
+
 	/**
 	 * Returns the thread this decoration decorates.
-	 * 
+	 *
 	 * @return thread associated with this decoration
 	 */
 	public abstract IThread getThread();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
index d44ec65..e3fac72 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
@@ -30,7 +30,7 @@
 
 	/**
 	 * Adds the given decoration for the given stack frame.
-	 * 
+	 *
 	 * @param decoration
 	 * @param frame
 	 */
@@ -48,7 +48,7 @@
 
 	/**
 	 * Removes any decorations for the given debug target.
-	 * 
+	 *
 	 * @param target to remove editor decorations for
 	 */
 	public static void removeDecorations(IDebugTarget target) {
@@ -57,7 +57,7 @@
 
 	/**
 	 * Removes any decorations for the given thread
-	 * 
+	 *
 	 * @param thread thread to remove decorations for
 	 */
 	public static void removeDecorations(IThread thread) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java
index 0caeab2..e7f41e3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
index 1973cff..f3b492b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
@@ -136,11 +136,11 @@
 import org.eclipse.ui.progress.UIJob;
 import org.eclipse.ui.texteditor.IUpdate;
 
-public class LaunchView extends AbstractDebugView 
-    implements ISelectionChangedListener, IPerspectiveListener2, IPageListener, IShowInTarget, IShowInSource, 
+public class LaunchView extends AbstractDebugView
+    implements ISelectionChangedListener, IPerspectiveListener2, IPageListener, IShowInTarget, IShowInSource,
     IShowInTargetList, IPartListener2, IViewerUpdateListener, IContextManagerListener, IModelChangedListener
 {
-	
+
 	public static final String ID_CONTEXT_ACTIVITY_BINDINGS = "contextActivityBindings"; //$NON-NLS-1$
 
     private static final String TERMINATE = "terminate"; //$NON-NLS-1$
@@ -160,48 +160,48 @@
     private static final String STEP_INTO = "step_into"; //$NON-NLS-1$
 
     public static final String TERMINATE_AND_REMOVE = "terminate_and_remove"; //$NON-NLS-1$
-    
+
     private static final String TERMINATE_ALL = "terminate_all"; //$NON-NLS-1$
 
     public static final String TERMINATE_AND_RELAUNCH = "terminate_relaunch"; //$NON-NLS-1$
-    
+
     private static final String TOGGLE_STEP_FILTERS = "toggle_step_filters"; //$NON-NLS-1$
 
     private static final String RESTART = "restart"; //$NON-NLS-1$
 
     private static final int BREADCRUMB_TRIGGER_HEIGHT_DEFAULT = 30; // pixels
-    
+
     private static final int BREADCRUMB_TRIGGER_RANGE = 5; // pixels
-    
+
     private static final int BREADCRUMB_STICKY_RANGE = 20; // pixels
-    
+
 	/**
 	 * Whether this view is in the active page of a perspective.
 	 */
-	private boolean fIsActive = true; 	
-		
+	private boolean fIsActive = true;
+
 	/**
 	 * Model presentation or <code>null</code> if none
 	 */
 	private IDebugModelPresentation fPresentation = null;
-	
+
 	private IPresentationContext fPresentationContext;
-	
+
 	private EditLaunchConfigurationAction fEditConfigAction = null;
 	private AddToFavoritesAction fAddToFavoritesAction = null;
 	private EditSourceLookupPathAction fEditSourceAction = null;
 	private LookupSourceAction fLookupAction = null;
 
 	/**
-	 * Current view mode (auto vs. breadcrumb, vs. tree view).  
-	 * 
+	 * Current view mode (auto vs. breadcrumb, vs. tree view).
+	 *
 	 * @since 3.5
 	 */
     private String fCurrentViewMode = IDebugPreferenceConstants.DEBUG_VIEW_MODE_AUTO;
-    
+
     /**
      * Actions for selecting the view mode (auto vs. breadcrumb, vs. tree view).
-     * 
+     *
      * @since 3.5
      */
     private DebugViewModeAction[] fDebugViewModeActions;
@@ -210,25 +210,25 @@
      * Action which shows or hides the Debug view toolbar.
      */
     private DebugToolBarAction fDebugToolBarAction;
-    
+
     /**
      * Action that controls the breadcrumb drop-down auto-expand behavior.
-     * 
+     *
      * @since 3.5
      */
     private BreadcrumbDropDownAutoExpandAction fBreadcrumbDropDownAutoExpandAction;
-    
+
     /**
      * Context service for this view.  Used to track whether debug toolbar
      * action set is active.
-     * 
+     *
      * @since 3.8
      */
     private IContextService fContextService;
-    
+
     /**
      * Preference name for the view's memento.
-     * 
+     *
      * @since 3.5
      */
     private String PREF_STATE_MEMENTO = "pref_state_memento."; //$NON-NLS-1$
@@ -236,7 +236,7 @@
     /**
      * Key for a view preference for whether the elements in breadcrumb's
      * drop-down viewer should be automatically expanded.
-     * 
+     *
      * @since 3.5
      */
     private static final String BREADCRUMB_DROPDOWN_AUTO_EXPAND = DebugUIPlugin.getUniqueIdentifier() + ".BREADCRUMB_DROPDOWN_AUTO_EXPAND"; //$NON-NLS-1$
@@ -244,26 +244,26 @@
     /**
      * Preference for whether the elements in breadcrumb's
      * drop-down viewer should be automatically expanded.
-     * 
+     *
      * @since 3.5
      */
     private boolean fBreadcrumbDropDownAutoExpand = false;
-    
+
     /**
      * Action handlers. Maps action identifiers to IHandler's.
-     * 
+     *
      * @since 3.6
      */
 	private Map<String, IHandler2> fHandlers = new HashMap<String, IHandler2>();
-    
+
     private boolean fDebugToolbarInView = true;
-    
+
 	private Set<String> fDebugToolbarPerspectives = new TreeSet<String>();
-    
+
 	/**
-	 * Page-book page for the breadcrumb viewer.  This page is activated in 
-	 * Debug view when the height of the view is reduced to just one line. 
-     * 
+	 * Page-book page for the breadcrumb viewer.  This page is activated in
+	 * Debug view when the height of the view is reduced to just one line.
+     *
      * @since 3.5
 	 */
 	private class BreadcrumbPage extends Page {
@@ -282,7 +282,7 @@
 	        super.init(pageSite);
             pageSite.setSelectionProvider(fCrumb.getSelectionProvider());
 	    }
-	    
+
 	    @Override
 		public Control getControl() {
 	        return fControl;
@@ -292,7 +292,7 @@
 		public void setFocus() {
 	        fCrumb.activate();
 	    }
-	    
+
 	    IDebugContextProvider getContextProvider() {
 	        return fCrumb.getContextProvider();
 	    }
@@ -300,7 +300,7 @@
 	    int getHeight() {
 	        return fCrumb.getHeight();
 	    }
-	    
+
 	    @Override
 		public void dispose() {
 	        fCrumb.dispose();
@@ -308,13 +308,13 @@
 	}
 
 	private BreadcrumbPage fBreadcrumbPage;
-	
+
 	class TreeViewerContextProvider extends AbstractDebugContextProvider implements IModelChangedListener {
-		
+
 		private ISelection fContext = null;
 		private TreeModelViewer fViewer = null;
 		private Visitor fVisitor = new Visitor();
-		
+
 		class Visitor implements IModelDeltaVisitor {
 			@Override
 			public boolean visit(IModelDelta delta, int depth) {
@@ -332,12 +332,12 @@
 					}
 				}
 				return true;
-			}	
+			}
 		}
-		
+
 		/**
 		 * Returns a tree path for the node, *not* including the root element.
-		 * 
+		 *
 		 * @param node
 		 *            model delta
 		 * @return corresponding tree path
@@ -352,51 +352,51 @@
 			}
 			return new TreePath(list.toArray());
 		}
-		
+
 		public TreeViewerContextProvider(TreeModelViewer viewer) {
 			super(LaunchView.this);
 			fViewer = viewer;
 			fViewer.addModelChangedListener(this);
 		}
-		
-		protected void dispose() { 
+
+		protected void dispose() {
 			fContext = null;
 			fViewer.removeModelChangedListener(this);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.ui.contexts.IDebugContextProvider#getActiveContext()
 		 */
 		@Override
 		public synchronized ISelection getActiveContext() {
 			return fContext;
-		}	
-		
+		}
+
 		protected void activate(ISelection selection) {
 			synchronized (this) {
 				fContext = selection;
 			}
 			fire(new DebugContextEvent(this, selection, DebugContextEvent.ACTIVATED));
 		}
-		
+
         protected void possibleChange(TreePath element, int type) {
             DebugContextEvent event = null;
             synchronized (this) {
                 if (fContext instanceof ITreeSelection) {
                     ITreeSelection ss = (ITreeSelection) fContext;
-                    TreePath[] ssPaths = ss.getPaths(); 
+                    TreePath[] ssPaths = ss.getPaths();
                     for (int i = 0; i < ssPaths.length; i++) {
                         if (ssPaths[i].startsWith(element, null)) {
                             if (ssPaths[i].getSegmentCount() == element.getSegmentCount()) {
                                 event = new DebugContextEvent(this, fContext, type);
                             } else {
-                                // if parent of the currently selected element 
+                                // if parent of the currently selected element
                                 // changes, issue event to update STATE only
                                 event = new DebugContextEvent(this, fContext, DebugContextEvent.STATE);
 							}
 						}
 					}
-				} 
+				}
 			}
 			if (event == null) {
 				return;
@@ -434,35 +434,35 @@
 		public void modelChanged(IModelDelta delta, IModelProxy proxy) {
 			delta.accept(fVisitor);
 		}
-		
+
 	}
-	
+
 	/**
 	 * Context provider
 	 */
 	private TreeViewerContextProvider fTreeViewerDebugContextProvider;
 
 	/**
-	 * The PageBookView, which is a base class of this class does not make it 
-	 * easy to control which page is currently active.  It is intended that the 
-	 * page book pages are associated with workbench parts, and the parts are 
-	 * in turn associated with PageRec records.  
+	 * The PageBookView, which is a base class of this class does not make it
+	 * easy to control which page is currently active.  It is intended that the
+	 * page book pages are associated with workbench parts, and the parts are
+	 * in turn associated with PageRec records.
 	 * <p>
-	 * PageRec is needed in order to properly active a page book page, by 
+	 * PageRec is needed in order to properly active a page book page, by
 	 * calling showPageRec(), so in this class we need to add some hooks in
-	 * order to obtain the page record for the tree viewer page and the 
-	 * breadcrumb page.</p><p> 
-	 * For the default page, we override the showPageRec() 
+	 * order to obtain the page record for the tree viewer page and the
+	 * breadcrumb page.</p><p>
+	 * For the default page, we override the showPageRec()
 	 * to determine if the default page is being shown and if it is, we save
 	 * its record for later use.  showPageRec() is always called for the default
 	 * page after it is created.  For the breadcrumb page, we use the page book
-	 * view mechanism to create the page based on a workbench part, but we have 
+	 * view mechanism to create the page based on a workbench part, but we have
 	 * to create a dummy part in order for this to work.
-	 * </p>    
+	 * </p>
 	 * <p>
 	 * See bug 262845 and 262870.
 	 * </p>
-	 * 
+	 *
 	 * @see #createPartControl(Composite)
 	 * @see BreadcrumbWorkbenchPart
 	 * @eee #doCreatePage(IWorkbenchPart)
@@ -483,7 +483,7 @@
 	private class ContextProviderProxy extends AbstractDebugContextProvider implements IDebugContextListener {
 	    private IDebugContextProvider fActiveProvider;
 	    private IDebugContextProvider[] fProviders;
-	    
+
 	    ContextProviderProxy(IDebugContextProvider[] providers) {
 	        super(LaunchView.this);
 	        fProviders = providers;
@@ -492,7 +492,7 @@
 	            fProviders[i].addDebugContextListener(this);
 	        }
 	    }
-	    
+
 	    void setActiveProvider(IDebugContextProvider provider) {
             if (!provider.equals(fActiveProvider)) {
     	        ISelection activeContext = getActiveContext();
@@ -503,7 +503,7 @@
     	        }
             }
 	    }
-	    
+
         @Override
 		public ISelection getActiveContext() {
             ISelection activeContext = fActiveProvider.getActiveContext();
@@ -519,7 +519,7 @@
 	            fire(new DebugContextEvent(this, event.getContext(), event.getFlags()));
 	        }
 	    }
-        
+
         void dispose() {
             for (int i = 0; i < fProviders.length; i++) {
                 fProviders[i].removeDebugContextListener(this);
@@ -528,9 +528,9 @@
             fActiveProvider = null;
         }
 	}
-	
+
 	private ContextProviderProxy fContextProviderProxy;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
 	 */
@@ -538,7 +538,7 @@
 	protected String getHelpContextId() {
 		return IDebugHelpContextIds.DEBUG_VIEW;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
 	 */
@@ -549,8 +549,8 @@
 		fAddToFavoritesAction = new AddToFavoritesAction();
 		fEditSourceAction = new EditSourceLookupPathAction(this);
 		fLookupAction = new LookupSourceAction(this);
-		setAction(FIND_ACTION, new VirtualFindAction((TreeModelViewer) getViewer())); 
-        
+		setAction(FIND_ACTION, new VirtualFindAction((TreeModelViewer) getViewer()));
+
         addCapabilityAction(new TerminateCommandAction(), TERMINATE);
         addCapabilityAction(new DisconnectCommandAction(), DISCONNECT);
         addCapabilityAction(new SuspendCommandAction(), SUSPEND);
@@ -569,30 +569,30 @@
         addCapabilityAction(new TerminateAllAction(), TERMINATE_ALL);
         addCapabilityAction(new ToggleStepFiltersAction(), TOGGLE_STEP_FILTERS);
 	}
-	
+
 	/**
 	 * Sets the handler associated with the given action identifier.
-	 * 
+	 *
 	 * @param id action identifier
 	 * @param handler handler
 	 */
 	private void setHandler(String id, IHandler2 handler) {
 		fHandlers.put(id, handler);
 	}
-	
+
 	/**
 	 * Returns the handler associated with the given action identifier or <code>null</code>.
-	 * 
+	 *
 	 * @param id action identifier
 	 * @return handler or <code>null</code>
 	 */
 	public IHandler2 getHandler(String id) {
 		return fHandlers.get(id);
 	}
-	
+
 	/**
 	 * Initializes the action and associates it with the given id.
-	 * 
+	 *
 	 * @param capability
 	 * @param actionID
 	 */
@@ -600,23 +600,23 @@
 		capability.init(this);
 		setAction(actionID, capability);
 	}
-	
+
 	/**
 	 * Disposes the given action.
-	 * 
+	 *
 	 * @param actionID
 	 */
 	private void disposeCommandAction(String actionID) {
 		DebugCommandAction action = (DebugCommandAction) getAction(actionID);
 		action.dispose();
 	}
-	
+
 	/**
  	 * Override the default implementation to create the breadcrumb page.
-	 * 
+	 *
 	 * @since 3.5
 	 * @see #fDefaultPageRec
-	 */	
+	 */
 	@Override
 	public void createPartControl(final Composite parent) {
 	    super.createPartControl(parent);
@@ -626,8 +626,8 @@
 
 	    // Add view as a selection listener to the site.
 	    getSite().getSelectionProvider().addSelectionChangedListener(this);
-	    
-	    // Set the tree viewer as the selection provider to the default page.  
+
+	    // Set the tree viewer as the selection provider to the default page.
 	    // The page book view handles switching the between page selection
 	    // providers as needed.
 	    ((IPageBookViewPage)getDefaultPage()).getSite().setSelectionProvider(getViewer());
@@ -635,7 +635,7 @@
 	    // Call the PageBookView part listener to indirectly create the breadcrumb page.
 	    // This call eventually calls doCreatePage() implemented below.
 	    partActivated(new BreadcrumbWorkbenchPart(getSite()));
-        
+
         fContextProviderProxy = new ContextProviderProxy(
             new IDebugContextProvider[] {fTreeViewerDebugContextProvider, fBreadcrumbPage.getContextProvider()});
         DebugUITools.getDebugContextManager().getContextService(getSite().getWorkbenchWindow()).addDebugContextProvider(fContextProviderProxy);
@@ -648,10 +648,10 @@
         for (int i = 0; i < fDebugViewModeActions.length; i++) {
             fDebugViewModeActions[i].setChecked(fDebugViewModeActions[i].getMode().equals(mode));
         }
-        
+
         createDebugToolBarInViewActions(parent);
-        
-        // Add a resize listener for the view to activate breadcrumb as needed. 
+
+        // Add a resize listener for the view to activate breadcrumb as needed.
         parent.addControlListener(new ControlListener() {
             @Override
 			public void controlMoved(ControlEvent e) {
@@ -666,35 +666,35 @@
                 }
             }
         });
-        
-        fContextService.addContextManagerListener(this);        
+
+        fContextService.addContextManagerListener(this);
 	}
 
 	/**
-	 * Copies the view's global action handlers created by createActions(), 
+	 * Copies the view's global action handlers created by createActions(),
 	 * into the page site's action bars.  This is necessary because the page
 	 * book view resets the view site's global actions after each page switch
 	 * (see bug 264618).
-	 * 
+	 *
 	 * @param page Page to copy the global actions into.
-	 * 
+	 *
 	 * @since 3.5
 	 */
 	private void setGlobalActionBarsToPage(IPageBookViewPage page) {
 	    IActionBars pageActionBars = page.getSite().getActionBars();
-        // Set the view site action bars created by createActions() to the 
+        // Set the view site action bars created by createActions() to the
         // default page site.
         IActionBars bars = getViewSite().getActionBars();
         pageActionBars.setGlobalActionHandler(FIND_ACTION, bars.getGlobalActionHandler(FIND_ACTION));
-        pageActionBars.setGlobalActionHandler(COPY_ACTION, bars.getGlobalActionHandler(COPY_ACTION)); 
+        pageActionBars.setGlobalActionHandler(COPY_ACTION, bars.getGlobalActionHandler(COPY_ACTION));
 	}
-	
+
     /**
      * Override the default implementation to create the breadcrumb page.
-     * 
+     *
      * @since 3.5
      * @see #fDefaultPageRec
-     */ 
+     */
 	@Override
 	protected PageRec doCreatePage(IWorkbenchPart part) {
 	    if (part instanceof BreadcrumbWorkbenchPart) {
@@ -706,13 +706,13 @@
 	    }
 	    return null;
 	}
-	
+
     /**
      * Override the default implementation to create the breadcrumb page.
-     * 
+     *
      * @since 3.5
      * @see #fDefaultPageRec
-     */ 
+     */
 	@Override
 	protected boolean isImportant(IWorkbenchPart part) {
 	    return part instanceof BreadcrumbWorkbenchPart;
@@ -721,36 +721,36 @@
     /**
      * Override the default implementation to gain access at the default
      * page record.
-     * 
+     *
      * @since 3.5
      * @see #fDefaultPageRec
-     */ 
+     */
 	@Override
 	protected void showPageRec(PageRec pageRec) {
 	    if (pageRec.page == getDefaultPage()) {
 	        fDefaultPageRec = pageRec;
 	    }
-	        
+
 	    super.showPageRec(pageRec);
-	}	    
+	}
 
 	/**
 	 * Creates actions for controlling view mode.
-	 * 
+	 *
 	 * @param parent The view's parent control used to calculate view size
      * in auto mode.
 	 */
     private void createViewModeActions(final Composite parent) {
         IActionBars actionBars = getViewSite().getActionBars();
         IMenuManager viewMenu = actionBars.getMenuManager();
-        
+
         fDebugViewModeActions = new DebugViewModeAction[3];
         fDebugViewModeActions[0] = new DebugViewModeAction(this, IDebugPreferenceConstants.DEBUG_VIEW_MODE_AUTO, parent);
         fDebugViewModeActions[1] = new DebugViewModeAction(this, IDebugPreferenceConstants.DEBUG_VIEW_MODE_FULL, parent);
         fDebugViewModeActions[2] = new DebugViewModeAction(this, IDebugPreferenceConstants.DEBUG_VIEW_MODE_COMPACT, parent);
         fBreadcrumbDropDownAutoExpandAction = new BreadcrumbDropDownAutoExpandAction(this);
         viewMenu.add(new Separator());
-        
+
         final MenuManager modeSubmenu = new MenuManager(LaunchViewMessages.LaunchView_ViewModeMenu_label);
         modeSubmenu.setRemoveAllWhenShown(true);
         modeSubmenu.add(fDebugViewModeActions[0]);
@@ -759,7 +759,7 @@
         modeSubmenu.add(new Separator());
         modeSubmenu.add(fBreadcrumbDropDownAutoExpandAction);
         viewMenu.add(modeSubmenu);
-        
+
         modeSubmenu.addMenuListener(new IMenuListener() {
             @Override
 			public void menuAboutToShow(IMenuManager manager) {
@@ -774,34 +774,34 @@
 
     /**
      * Creates actions for controlling view mode.
-     * 
+     *
      * @param parent The view's parent control used to calculate view size
      * in auto mode.
      */
     private void createDebugToolBarInViewActions(final Composite parent) {
         IActionBars actionBars = getViewSite().getActionBars();
         IMenuManager viewMenu = actionBars.getMenuManager();
-        
+
         fDebugToolBarAction = new DebugToolBarAction(this);
         viewMenu.add(fDebugToolBarAction);
         updateCheckedDebugToolBarAction();
     }
 
-    
+
     /**
-     * Sets the current view mode.  If needed, the active view page is changed. 
-     * 
+     * Sets the current view mode.  If needed, the active view page is changed.
+     *
      * @param mode New mode to set.
      * @param parent The view's parent control used to calculate view size
      * in auto mode.
-     * 
+     *
      * @since 3.5
      */
     void setViewMode(String mode, Composite parent) {
         if (fCurrentViewMode.equals(mode)) {
             return;
         }
-        
+
         fCurrentViewMode = mode;
         if (IDebugPreferenceConstants.DEBUG_VIEW_MODE_COMPACT.equals(mode)) {
             showBreadcrumbPage();
@@ -814,11 +814,11 @@
     }
 
    /**
-    * Based on the current view size, select the active view page 
+    * Based on the current view size, select the active view page
     * (tree viewer vs. breadcrumb).
-    * 
+    *
     * @param parent View pane control.
-    * 
+    *
     * @since 3.5
     */
    private void autoSelectViewPage(Composite parent) {
@@ -830,17 +830,17 @@
        }
        if (parent.getClientArea().height < breadcrumbHeight + BREADCRUMB_TRIGGER_RANGE) {
            showBreadcrumbPage();
-       } 
-       else if (parent.getClientArea().height > breadcrumbHeight + BREADCRUMB_STICKY_RANGE) 
+       }
+       else if (parent.getClientArea().height > breadcrumbHeight + BREADCRUMB_STICKY_RANGE)
        {
            showTreeViewerPage();
        }
    }
-   
+
 
     /**
      * Shows the tree viewer in the Debug view.
-     * 
+     *
      * @since 3.5
      */
 	void showTreeViewerPage() {
@@ -855,7 +855,7 @@
 
 	/**
  	 * Shows the breadcrumb in the Debug view.
- 	 * 
+ 	 *
  	 * @since 3.5
 	 */
 	void showBreadcrumbPage() {
@@ -867,13 +867,13 @@
                 setFocus();
             }
             fBreadcrumbPage.fCrumb.debugContextChanged(new DebugContextEvent(
-                fTreeViewerDebugContextProvider, 
-                fTreeViewerDebugContextProvider.getActiveContext(), 
+                fTreeViewerDebugContextProvider,
+                fTreeViewerDebugContextProvider.getActiveContext(),
                 DebugContextEvent.ACTIVATED));
             fContextProviderProxy.setActiveProvider(fBreadcrumbPage.getContextProvider());
         }
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(org.eclipse.swt.widgets.Composite)
 	 */
@@ -884,15 +884,15 @@
 		TreeModelViewer viewer = new TreeModelViewer(parent,
 				SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL,
 				fPresentationContext);
-        
+
         viewer.addSelectionChangedListener(fTreeViewerSelectionChangedListener);
         viewer.addViewerUpdateListener(this);
         viewer.addModelChangedListener(this);
-        
+
 		viewer.setInput(DebugPlugin.getDefault().getLaunchManager());
 		//setEventHandler(new LaunchViewEventHandler(this));
 		fTreeViewerDebugContextProvider = new TreeViewerContextProvider(viewer);
-		
+
 		return viewer;
 	}
 
@@ -901,7 +901,7 @@
 		site.getWorkbenchWindow().addPageListener(this);
 		site.getWorkbenchWindow().addPerspectiveListener(this);
 	}
-	
+
 	private void preferenceInit(IViewSite site) {
         PREF_STATE_MEMENTO = PREF_STATE_MEMENTO + site.getId();
         IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
@@ -920,7 +920,7 @@
             Boolean auto = mem.getBoolean(BREADCRUMB_DROPDOWN_AUTO_EXPAND);
             if(auto != null) {
                 setBreadcrumbDropDownAutoExpand(auto.booleanValue());
-            } 
+            }
         }
 
         String preference = DebugUIPlugin.getDefault().getPreferenceStore().getString(
@@ -931,7 +931,7 @@
         IPerspectiveDescriptor perspective = getSite().getPage().getPerspective();
         fDebugToolbarInView = isDebugToolbarShownInPerspective(perspective);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite)
 	 */
@@ -972,11 +972,11 @@
             } catch (IOException e) {
             }
         }
-        
+
         StringBuffer buffer= new StringBuffer();
 		for (Iterator<String> itr = fDebugToolbarPerspectives.iterator(); itr.hasNext();) {
-            buffer.append(itr.next()).append(',');          
-        } 
+            buffer.append(itr.next()).append(',');
+        }
         getPreferenceStore().setValue(IDebugPreferenceConstants.DEBUG_VIEW_TOOLBAR_HIDDEN_PERSPECTIVES, buffer.toString());
 
         super.partDeactivated(part);
@@ -989,7 +989,7 @@
     public void saveViewerState(IMemento memento) {
         memento.putBoolean(BREADCRUMB_DROPDOWN_AUTO_EXPAND, getBreadcrumbDropDownAutoExpand());
     }
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager)
 	 */
@@ -1006,25 +1006,25 @@
 		if (fDebugToolbarInView) {
 		    addDebugToolbarActions(tbm);
 		}
-	}	
+	}
 
    protected void addDebugToolbarActions(IToolBarManager tbm) {
         tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(RESUME));
         tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(SUSPEND));
         tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE));
         tbm.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(DISCONNECT));
-        
+
         tbm.appendToGroup(IDebugUIConstants.STEP_INTO_GROUP, getAction(STEP_INTO));
         tbm.appendToGroup(IDebugUIConstants.STEP_OVER_GROUP, getAction(STEP_OVER));
         tbm.appendToGroup(IDebugUIConstants.STEP_RETURN_GROUP, getAction(STEP_RETURN));
 
         tbm.appendToGroup(IDebugUIConstants.EMPTY_STEP_GROUP, getAction(DROP_TO_FRAME));
-        
+
         tbm.appendToGroup(IDebugUIConstants.RENDER_GROUP, getAction(TOGGLE_STEP_FILTERS));
-   }   
-	
+   }
+
    /**
-    * Removes the toolbar actions contributed by this view from the toolbar 
+    * Removes the toolbar actions contributed by this view from the toolbar
     * manager.
     * @param tbm
     */
@@ -1033,30 +1033,30 @@
        tbm.remove(new ActionContributionItem(getAction(SUSPEND)));
        tbm.remove(new ActionContributionItem(getAction(TERMINATE)));
        tbm.remove(new ActionContributionItem(getAction(DISCONNECT)));
-       
+
        tbm.remove(new ActionContributionItem(getAction(STEP_INTO)));
        tbm.remove(new ActionContributionItem(getAction(STEP_OVER)));
        tbm.remove(new ActionContributionItem(getAction(STEP_RETURN)));
-       
+
        tbm.remove(new ActionContributionItem(getAction(DROP_TO_FRAME)));
-       
+
        tbm.remove(new ActionContributionItem(getAction(TOGGLE_STEP_FILTERS)));
    }
-	   
+
    public boolean isDebugToolbarInView() {
        return fDebugToolbarInView;
    }
-   
+
    public boolean isDebugToolbarShownInPerspective(IPerspectiveDescriptor perspective) {
        return perspective == null || fDebugToolbarPerspectives.contains(perspective.getId());
    }
-   
+
    public void setDebugToolbarInView(boolean show) {
        if (show == isDebugToolbarInView()) {
            return;
        }
        fDebugToolbarInView = show;
-       
+
        // Update the perspectives set.
        IPerspectiveDescriptor perspective = getSite().getPage().getPerspective();
        if (perspective != null) {
@@ -1075,12 +1075,12 @@
            removeDebugToolbarActions(tbm);
        }
        getViewSite().getActionBars().updateActionBars();
-       
+
        // Update system property used by contributed actions.
        System.setProperty(IDebugUIConstants.DEBUG_VIEW_TOOBAR_VISIBLE, Boolean.toString(show));
    }
-   
-   
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
 	 */
@@ -1116,11 +1116,11 @@
 		}
 		super.dispose();
 	}
-		
+
 	private void disposeActions() {
         PropertyDialogAction properties = (PropertyDialogAction) getAction("Properties"); //$NON-NLS-1$
         properties.dispose();
-        
+
         disposeCommandAction(TERMINATE);
         disposeCommandAction(DISCONNECT);
         disposeCommandAction(SUSPEND);
@@ -1139,7 +1139,7 @@
     /**
 	 * The selection has changed in the viewer. Show the
 	 * associated source code if it is a stack frame.
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
 	 */
 	@Override
@@ -1160,11 +1160,11 @@
 		Object o= ss.getFirstElement();
 		if (o == null || o instanceof IStackFrame) {
 			return;
-		} 
+		}
 		StructuredViewer viewer = (StructuredViewer) getViewer();
 		viewer.refresh(o);
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
 	 */
@@ -1183,7 +1183,7 @@
 	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
 		setActive(page.findView(getSite().getId()) != null);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPerspectiveListener2#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IWorkbenchPartReference, java.lang.String)
 	 */
@@ -1215,7 +1215,7 @@
 	@Override
 	public void pageOpened(IWorkbenchPage page) {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDebugView#getPresentation(java.lang.String)
 	 */
@@ -1223,15 +1223,15 @@
 	public IDebugModelPresentation getPresentation(String id) {
 		return ((DelegatingModelPresentation)fPresentation).getPresentation(id);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
 	 */
 	@Override
 	protected void fillContextMenu(IMenuManager menu) {
         TreeSelection sel = (TreeSelection) fTreeViewerDebugContextProvider.getActiveContext();
-        Object element = sel != null && sel.size() > 0 ? sel.getFirstElement() : null; 
-		
+        Object element = sel != null && sel.size() > 0 ? sel.getFirstElement() : null;
+
 		menu.add(new Separator(IDebugUIConstants.EMPTY_EDIT_GROUP));
 		menu.add(new Separator(IDebugUIConstants.EDIT_GROUP));
 		menu.add(getAction(FIND_ACTION));
@@ -1260,10 +1260,10 @@
 		action.setEnabled(action.isApplicableForSelection() && !(element instanceof ILaunch));
 		menu.add(action);
 		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        
+
         menu.appendToGroup(IDebugUIConstants.LAUNCH_GROUP, getAction(TERMINATE_AND_REMOVE));
         menu.appendToGroup(IDebugUIConstants.LAUNCH_GROUP, getAction(TERMINATE_ALL));
-		
+
         menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(RESUME));
         menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(SUSPEND));
         menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE));
@@ -1272,37 +1272,37 @@
             menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(RESTART));
         }
         menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(DISCONNECT));
-        
+
         menu.appendToGroup(IDebugUIConstants.STEP_INTO_GROUP, getAction(STEP_INTO));
         menu.appendToGroup(IDebugUIConstants.STEP_OVER_GROUP, getAction(STEP_OVER));
         menu.appendToGroup(IDebugUIConstants.STEP_RETURN_GROUP, getAction(STEP_RETURN));
-        
+
         menu.appendToGroup(IDebugUIConstants.EMPTY_STEP_GROUP, getAction(DROP_TO_FRAME));
-        
+
         menu.appendToGroup(IDebugUIConstants.RENDER_GROUP, getAction(TOGGLE_STEP_FILTERS));
     }
-	
+
 	@Override
 	public void contextManagerChanged(ContextManagerEvent event) {
 	    if (event.isActiveContextsChanged()) {
 			Set<?> oldContexts = event.getPreviouslyActiveContextIds();
 			Set<?> newContexts = event.getContextManager().getActiveContextIds();
-	        if (oldContexts.contains(IDebugUIConstants.DEBUG_TOOLBAR_ACTION_SET) != 
-	            newContexts.contains(IDebugUIConstants.DEBUG_TOOLBAR_ACTION_SET)) 
+	        if (oldContexts.contains(IDebugUIConstants.DEBUG_TOOLBAR_ACTION_SET) !=
+	            newContexts.contains(IDebugUIConstants.DEBUG_TOOLBAR_ACTION_SET))
 	        {
 	            updateCheckedDebugToolBarAction();
 	        }
 	    }
 	}
-	
+
 	private void updateCheckedDebugToolBarAction() {
 	    fDebugToolBarAction.setChecked(isDebugToolbarInView());
 	}
-	
+
 	/**
 	 * Updates the enabled state of the given action based on the selection
 	 * and adds to the menu if enabled.
-	 * 
+	 *
 	 * @param menu menu to add the action to
 	 * @param action action to add if enabled
 	 * @param selection selection to update enabled state for
@@ -1311,33 +1311,33 @@
 		action.selectionChanged(selection);
 		if (action.isEnabled()) {
 			menu.add(action);
-		}		
+		}
 	}
-		
+
 	/**
 	 * Sets whether this view is in the active page of a
 	 * perspective. Since a page can have more than one
 	 * perspective, this view only show's source when in
 	 * the active perspective/page.
-	 * 
+	 *
 	 * @param active whether this view is in the active page of a
 	 * perspective
 	 */
 	protected void setActive(boolean active) {
 		fIsActive = active;
-	} 
+	}
 
 	/**
 	 * Returns whether this view is in the active page of
 	 * the active perspective and has been fully created.
-	 * 
+	 *
 	 * @return whether this view is in the active page of
 	 * the active perspective and has been fully created.
 	 */
 	protected boolean isActive() {
 		return fIsActive && getViewer() != null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.IShowInTarget#show(org.eclipse.ui.part.ShowInContext)
 	 */
@@ -1370,9 +1370,9 @@
 	 */
 	@Override
 	public ShowInContext getShowInContext() {
-		if (isActive()) { 
+		if (isActive()) {
 			IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection();
-			if (selection.size() == 1) { 
+			if (selection.size() == 1) {
 				Object object = selection.getFirstElement();
 				if (object instanceof IAdaptable) {
 					IAdaptable adaptable = (IAdaptable) object;
@@ -1385,15 +1385,15 @@
 		}
 		return null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds()
 	 */
 	@Override
 	public String[] getShowInTargetIds() {
-		if (isActive()) { 
+		if (isActive()) {
 			IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection();
-			if (selection.size() == 1) { 
+			if (selection.size() == 1) {
 				Object object = selection.getFirstElement();
 				if (object instanceof IAdaptable) {
 					IAdaptable adaptable = (IAdaptable) object;
@@ -1447,7 +1447,7 @@
 	public void partActivated(IWorkbenchPartReference partRef) {
 		// Ensure that the system property matches the debug toolbar state.
 		// Bug 385400
-		System.setProperty(IDebugUIConstants.DEBUG_VIEW_TOOBAR_VISIBLE, 
+		System.setProperty(IDebugUIConstants.DEBUG_VIEW_TOOBAR_VISIBLE,
 				Boolean.toString(isDebugToolbarShownInPerspective(getSite().getPage().getPerspective())) );
 	}
 
@@ -1487,7 +1487,7 @@
 		super.becomesVisible();
 		getViewer().refresh();
 	}
-	
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#updateComplete(org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
      */
@@ -1500,7 +1500,7 @@
         }
     }
 
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#updateStarted(org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor)
      */
@@ -1513,7 +1513,7 @@
      */
     @Override
 	public synchronized void viewerUpdatesBegin() {
-        IWorkbenchSiteProgressService progressService = 
+        IWorkbenchSiteProgressService progressService =
             getSite().getAdapter(IWorkbenchSiteProgressService.class);
         if (progressService != null) {
             progressService.incrementBusy();
@@ -1525,48 +1525,48 @@
      */
     @Override
 	public synchronized void viewerUpdatesComplete() {
-        IWorkbenchSiteProgressService progressService = 
+        IWorkbenchSiteProgressService progressService =
             getSite().getAdapter(IWorkbenchSiteProgressService.class);
         if (progressService != null) {
             progressService.decrementBusy();
-        }       
-    }   
-	
+        }
+    }
+
     @Override
 	public void modelChanged(IModelDelta delta, IModelProxy proxy) {
         updateFindAction();
     }
-    
+
     private void updateFindAction() {
         IAction action= getAction(FIND_ACTION);
         if (action instanceof IUpdate) {
             ((IUpdate) action).update();
         }
     }
-    
+
     /**
      * Returns whether the breadcrumb viewer is currently visible in the view.
-     * 
+     *
      * @since 3.5
      */
     boolean isBreadcrumbVisible() {
         return fBreadcrumbPage.equals(getCurrentPage());
     }
-    
+
     /**
-     * Returns whether the elements in breadcrumb's drop-down viewer should be 
+     * Returns whether the elements in breadcrumb's drop-down viewer should be
      * automatically expanded.
-     * 
+     *
      * @since 3.5
      */
     boolean getBreadcrumbDropDownAutoExpand() {
         return fBreadcrumbDropDownAutoExpand;
     }
-    
+
     /**
-     * Sets whether the elements in breadcrumb's drop-down viewer should be 
+     * Sets whether the elements in breadcrumb's drop-down viewer should be
      * automatically expanded.
-     * 
+     *
      * @since 3.5
      */
     void setBreadcrumbDropDownAutoExpand(boolean expand) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
index 00597db..0c74d79 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation = bug fixing
@@ -69,26 +69,26 @@
         Input(TreePath path) {
             fPath = path;
         }
-        
+
         @Override
 		public boolean equals(Object obj) {
-            return obj instanceof Input && 
+            return obj instanceof Input &&
                 ((fPath == null && ((Input)obj).fPath == null) ||
                  (fPath != null && fPath.equals( ((Input)obj).fPath )));
         }
-        
+
         @Override
 		public int hashCode() {
             return fPath == null ? 0 : fPath.hashCode();
         }
     }
-    
+
     private static class ContentProvider implements ITreePathContentProvider {
 
         private static final Object[] EMPTY_ELEMENTS_ARRAY = new Object[0];
-        
-        public Input fInput;  
-        
+
+        public Input fInput;
+
         @Override
 		public Object[] getChildren(TreePath parentPath) {
             if (hasChildren(parentPath)) {
@@ -107,9 +107,9 @@
 		public boolean hasChildren(TreePath parentPath) {
             if ( parentPath.getSegmentCount() == 0) {
                 return fInput != null;
-            } else if (fInput != null && 
-                       fInput.fPath != null && 
-                       fInput.fPath.getSegmentCount() > parentPath.getSegmentCount()) 
+            } else if (fInput != null &&
+                       fInput.fPath != null &&
+                       fInput.fPath.getSegmentCount() > parentPath.getSegmentCount())
             {
                 for (int i = 0; i < parentPath.getSegmentCount(); i++) {
                     if (i >= fInput.fPath.getSegmentCount()) {
@@ -129,8 +129,8 @@
 
         @Override
 		public Object[] getElements(Object inputElement) {
-            if (fInput != null && 
-                fInput.fPath != null) 
+            if (fInput != null &&
+                fInput.fPath != null)
             {
                 return getChildren(TreePath.EMPTY);
             } else {
@@ -152,7 +152,7 @@
             }
         }
     }
-        
+
     private class LabelProvider extends BaseLabelProvider implements ITreePathLabelProvider {
         @Override
 		public void updateLabel(ViewerLabel label, TreePath elementPath) {
@@ -171,31 +171,31 @@
                     label.setFont(treeViewerLabel.getFont());
                     label.setForeground(treeViewerLabel.getForeground());
                     label.setBackground(treeViewerLabel.getBackground());
-                    
+
                 }
-            }            
+            }
         }
     }
-    
+
     private final LaunchView fView;
     private final TreeModelViewer fTreeViewer;
     private final IDebugContextProvider fTreeViewerContextProvider;
     private Input fBreadcrumbInput;
-    static final private Object fgEmptyDebugContextElement = new Object(); 
+    static final private Object fgEmptyDebugContextElement = new Object();
     private BreadcrumbViewer fViewer;
     private boolean fRefreshBreadcrumb = false;
-    
+
     private class BreadcrumbContextProvider extends AbstractDebugContextProvider implements IDebugContextListener, ISelectionChangedListener {
-        
+
         private ISelection fBreadcrumbSelection = null;
-        
+
         BreadcrumbContextProvider() {
             super(fView);
             fViewer.addSelectionChangedListener(this);
             fBreadcrumbSelection = fViewer.getSelection();
             fTreeViewerContextProvider.addDebugContextListener(this);
         }
-        
+
         @Override
 		public ISelection getActiveContext() {
             if (fBreadcrumbSelection != null && !fBreadcrumbSelection.isEmpty()) {
@@ -205,17 +205,17 @@
                 return treeViewerSelection != null ? treeViewerSelection : StructuredSelection.EMPTY;
             }
         }
-        
+
         void dispose() {
             fViewer.removeSelectionChangedListener(this);
             fTreeViewerContextProvider.removeDebugContextListener(this);
         }
-        
+
         @Override
 		public void debugContextChanged(DebugContextEvent event) {
             fire(new DebugContextEvent(this, getActiveContext(), event.getFlags()));
         }
-        
+
         @Override
 		public void selectionChanged(SelectionChangedEvent event) {
             ISelection oldContext = getActiveContext();
@@ -227,7 +227,7 @@
     }
 
     private BreadcrumbContextProvider fBreadcrumbContextProvider;
-    
+
     public LaunchViewBreadcrumb(LaunchView view, TreeModelViewer treeViewer, IDebugContextProvider contextProvider) {
         fView = view;
         fTreeViewer = treeViewer;
@@ -236,7 +236,7 @@
         fBreadcrumbInput = new Input( getPathForSelection(fTreeViewerContextProvider.getActiveContext()) );
         fTreeViewerContextProvider.addDebugContextListener(this);
     }
-    
+
     @Override
 	protected void activateBreadcrumb() {
     }
@@ -260,7 +260,7 @@
             }
         };
 
-        // Force the layout of the breadcrumb viewer so that we may calcualte 
+        // Force the layout of the breadcrumb viewer so that we may calcualte
         // its proper size.
         parent.pack(true);
 
@@ -268,11 +268,11 @@
         fViewer.setLabelProvider(new LabelProvider());
 
         createMenuManager();
-        
+
         fViewer.setInput(getCurrentInput());
-        
+
         fBreadcrumbContextProvider = new BreadcrumbContextProvider();
-        
+
         return fViewer;
     }
 
@@ -306,7 +306,7 @@
             }
         });
     }
-   
+
     @Override
 	protected Object getCurrentInput() {
         return fBreadcrumbInput;
@@ -333,12 +333,12 @@
     @Override
 	public void debugContextChanged(DebugContextEvent event) {
         if (fView.isBreadcrumbVisible()) {
-            fBreadcrumbInput = new Input(getPathForSelection(event.getContext())); 
+            fBreadcrumbInput = new Input(getPathForSelection(event.getContext()));
             if ((event.getFlags() & DebugContextEvent.ACTIVATED) != 0) {
                 setInput(getCurrentInput());
-                
+
                 // If the context was activated, then clear the selection in breadcrumb
-                // so that the activated context will become the active context for the 
+                // so that the activated context will become the active context for the
                 // window.
                 fViewer.setSelection(StructuredSelection.EMPTY);
             } else {
@@ -346,11 +346,11 @@
             }
         }
     }
-    
+
     @Override
 	public void labelUpdateStarted(ILabelUpdate update) {
     }
-    
+
     @Override
 	public void labelUpdateComplete(ILabelUpdate update) {
         if (fBreadcrumbInput != null && fBreadcrumbInput.fPath != null) {
@@ -361,11 +361,11 @@
             }
         }
     }
-    
+
     @Override
 	public void labelUpdatesBegin() {
     }
-    
+
     @Override
 	public void labelUpdatesComplete() {
         boolean refresh = false;
@@ -384,36 +384,36 @@
             }.schedule();
         }
     }
-    
+
     IDebugContextProvider getContextProvider() {
         return fBreadcrumbContextProvider;
     }
-    
+
     int getHeight() {
         return fViewer.getControl().getSize().y;
     }
-    
+
     void clearSelection() {
         fViewer.setSelection(StructuredSelection.EMPTY);
     }
-    
+
     private TreePath getPathForSelection(ISelection selection) {
         if (selection instanceof ITreeSelection && !selection.isEmpty()) {
             return ((ITreeSelection)selection).getPaths()[0];
         }
         return null;
     }
-    
+
     public Control createDropDownControl(Composite parent, final IBreadcrumbDropDownSite site, TreePath paramPath) {
-        
+
         TreeViewerDropDown dropDownTreeViewer = new TreeViewerDropDown() {
-            
+
             SubTreeModelViewer fDropDownViewer;
-            
+
             @Override
 			protected TreeViewer createTreeViewer(Composite composite, int style, final TreePath path) {
                 fDropDownViewer = new SubTreeModelViewer(
-                    composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL | SWT.POP_UP, 
+                    composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL | SWT.POP_UP,
                     fTreeViewer.getPresentationContext());
 
                 Object launchViewInput = fTreeViewer.getInput();
@@ -421,12 +421,12 @@
 
                 ViewerFilter[] filters = fTreeViewer.getFilters();
                 fDropDownViewer.setFilters(filters);
-                
+
                 ModelDelta stateDelta = new ModelDelta(launchViewInput, IModelDelta.NO_CHANGE);
                 fTreeViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND | IModelDelta.SELECT);
-                
+
                 // If we do not want to expand the elements in the drop-down.
-                // Prune the delta to only select the element in the 
+                // Prune the delta to only select the element in the
                 // top-most list.
                 if (!fView.getBreadcrumbDropDownAutoExpand()) {
                     final ModelDelta prunedDelta = new ModelDelta(launchViewInput, IModelDelta.NO_CHANGE);
@@ -442,19 +442,19 @@
                                 // Build up the delta copy along the path of the drop-down element.
                                 copy = copy.addNode(
                                     delta.getElement(), delta.getIndex(), delta.getFlags(), delta.getChildCount());
-                            } 
-                            
-                            // If the delta is for the drop-down element, set its select flag and stop traversing 
+                            }
+
+                            // If the delta is for the drop-down element, set its select flag and stop traversing
                             // the delta..
                             if (deltaPath.equals(path)) {
                                 copy.setFlags(IModelDelta.SELECT | IModelDelta.REVEAL);
                                 return false;
                             }
-                            
+
                             // Continue traversing the delta.
                             return true;
                         }
-                        
+
                         private TreePath getViewerTreePath(IModelDelta node) {
 							ArrayList<Object> list = new ArrayList<Object>();
                             IModelDelta parentDelta = node.getParentDelta();
@@ -468,9 +468,9 @@
                     });
                     stateDelta = prunedDelta;
                 }
-                
+
                 fDropDownViewer.updateViewer(stateDelta);
-                
+
                 fDropDownViewer.addLabelUpdateListener(new ILabelUpdateListener() {
                     @Override
 					public void labelUpdateComplete(ILabelUpdate update) {}
@@ -499,16 +499,16 @@
                 if (fTreeViewer.getControl().isDisposed()) {
                     return;
                 }
-                
+
                 if (selection != null && (selection instanceof ITreeSelection) && !selection.isEmpty()) {
                     // Create the path to the root element of the drop-down viewer.  Need to calcualte
-                    // indexes and counts for the delta in order for the selection from the drop-down 
+                    // indexes and counts for the delta in order for the selection from the drop-down
                     // viewer to work properly.
                     TreeModelContentProvider contentProvider = (TreeModelContentProvider)fTreeViewer.getContentProvider();
                     TreePath path = TreePath.EMPTY;
                     int count = fTreeViewer.getChildCount(path);
                     count = contentProvider.viewToModelCount(path, count);
-                    ModelDelta rootDelta = 
+                    ModelDelta rootDelta =
                         new ModelDelta(fTreeViewer.getInput(), -1, IModelDelta.NO_CHANGE, count);
                     TreePath rootPath = fDropDownViewer.getRootPath();
                     ModelDelta delta = rootDelta;
@@ -521,10 +521,10 @@
                         count = contentProvider.viewToModelCount(path, count);
                         delta = delta.addNode(rootPath.getSegment(i), index, IModelDelta.NO_CHANGE, count);
                     }
-                    
+
                     // Create the delta and save the drop-down viewer's state to it.
                     fDropDownViewer.saveElementState(TreePath.EMPTY, delta, IModelDelta.EXPAND | IModelDelta.SELECT);
-                    
+
                     // Add the IModelDelta.FORCE flag to override the current selection in view.
                     rootDelta.accept(new IModelDeltaVisitor(){
                         @Override
@@ -536,23 +536,23 @@
                         }
                     });
 
-                    // If elements in the drop-down were auto-expanded, then collapse the drop-down's sub tree in the 
+                    // If elements in the drop-down were auto-expanded, then collapse the drop-down's sub tree in the
                     // full viewer.  After the drop-down's full expansion state is saved out to the tree viewer, the
-                    // tree viewer will accurately reflect the state changes made by the user. 
+                    // tree viewer will accurately reflect the state changes made by the user.
                     if (fView.getBreadcrumbDropDownAutoExpand()) {
                         fTreeViewer.collapseToLevel(rootPath, AbstractTreeViewer.ALL_LEVELS);
-                    }                    
-                    
+                    }
+
                     // Save the state of the drop-down out into the tree viewer.
                     fTreeViewer.updateViewer(rootDelta);
                     fViewer.setSelection(StructuredSelection.EMPTY);
                     site.close();
                 }
-                    
+
                 super.openElement(selection);
             }
         };
-        
+
 
         return dropDownTreeViewer.createDropDown(parent, site, paramPath);
     }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java
index cffa5ec..494856b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation = bug fixing
@@ -24,15 +24,15 @@
 import org.eclipse.swt.widgets.Widget;
 
 /**
- * Copy action for debug view.  This action is specialized from the standard 
+ * Copy action for debug view.  This action is specialized from the standard
  * copy action in a couple of ways:
  * <ul>
- *   <li>If debug view is in debug mode, then the selected element in 
+ *   <li>If debug view is in debug mode, then the selected element in
  *   breadcrumb is translated into the tree viewer, and then copied</li>
- *   <li> If an item is selected all the item's children are copied into 
+ *   <li> If an item is selected all the item's children are copied into
  *   clipbard.</li>
  * </ul>
- * 
+ *
  * @since 3.5
  */
 public class LaunchViewCopyToClipboardActionDelegate extends VirtualCopyToClipboardActionDelegate {
@@ -76,10 +76,10 @@
         	}
         } else if (item instanceof Tree) {
         	collectChildItems(set, ((Tree)item).getItems());
-        } 
+        }
         return set.toArray(new TreeItem[set.size()]);
     }
-    
+
 	private void collectChildItems(Set<Widget> set, TreeItem[] items) {
     	if (items == null) {
     		return;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java
index 06b9c4d..5abc9ad 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.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
  *******************************************************************************/
@@ -23,11 +23,11 @@
 
 /**
  * Editor used when no source if found for a stack frame.
- * 
+ *
  * @since 2.1
  */
 public class SourceNotFoundEditor extends EditorPart implements IReusableEditor {
-	
+
 	/**
 	 * Text widget used for this editor
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java
index 6d94c48..70e456e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java
@@ -25,16 +25,16 @@
 
 /**
  * Editor input for a stack frame for which source could not be located.
- * 
+ *
  * @since 2.1
  */
 public class SourceNotFoundEditorInput extends PlatformObject implements IEditorInput {
-	
+
 	/**
 	 * Associated stack frame
 	 */
 	private IStackFrame fFrame;
-	
+
 	/**
 	 * Stack frame text (cached on creation)
 	 */
@@ -43,7 +43,7 @@
 	/**
 	 * Constructs an editor input for the given stack frame,
 	 * to indicate source could not be found.
-	 * 
+	 *
 	 * @param frame stack frame
 	 */
 	public SourceNotFoundEditorInput(IStackFrame frame) {
@@ -77,7 +77,7 @@
 		try {
 			return fFrame.getName();
 		} catch (DebugException e) {
-			return DebugUIViewsMessages.SourceNotFoundEditorInput_Source_Not_Found_1; 
+			return DebugUIViewsMessages.SourceNotFoundEditorInput_Source_Not_Found_1;
 		}
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java
index 639f708..511cfbf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.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
  *******************************************************************************/
@@ -18,11 +18,11 @@
  * A reminder to remove any annotations created by an editor presentation
  */
 public class StandardDecoration extends Decoration {
-	
+
 	private IThread fThread;
 	private IEditorPart fEditor;
 	private IDebugEditorPresentation fPresentation;
-	
+
 	public StandardDecoration(IDebugEditorPresentation presentation, IEditorPart editorPart, IThread thread) {
 		fThread = thread;
 		fEditor = editorPart;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/TerminateAndRemoveHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/TerminateAndRemoveHandler.java
index f2de925..a94ec1f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/TerminateAndRemoveHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/TerminateAndRemoveHandler.java
@@ -18,7 +18,7 @@
  * @since 3.6
  */
 public class TerminateAndRemoveHandler extends DebugActionHandler {
-	
+
 	public TerminateAndRemoveHandler() {
 		super(LaunchView.TERMINATE_AND_REMOVE);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
index 09164c3..53e2351 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java
@@ -72,7 +72,7 @@
 
 	/**
 	 * Create the content of the view pane
-	 * 
+	 *
 	 * @param parent the parent composite
 	 * @param paneId the id of the pane to create
 	 * @param label the label for the new pane
@@ -324,7 +324,7 @@
 	/**
 	 * Helper method to dispose of a tab folder, and of any tab items it
 	 * contains. Must be called from the UI thread.
-	 * 
+	 *
 	 * @param tabFolder the {@link CTabFolder} to dispose
 	 * */
 	private void disposeOfFolder(CTabFolder tabFolder) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
index 8d1ecc1..a7a180c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
@@ -52,7 +52,7 @@
 
 /**
  * Action for adding memory block.
- * 
+ *
  * @since 3.0
  */
 public class AddMemoryBlockAction extends Action implements IDebugContextListener, IDebugEventSetListener {
@@ -98,7 +98,7 @@
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION));
 		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_ADD));
 		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".addMemoryMonitorAction_context"); //$NON-NLS-1$		
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".addMemoryMonitorAction_context"); //$NON-NLS-1$
 
 		// listen for context changed
 		DebugUITools.addPartDebugContextListener(fSite.getSite(), this);
@@ -321,7 +321,7 @@
 	/**
 	 * Return the last memory block added to memory block manager via this
 	 * action.
-	 * 
+	 *
 	 * @return Returns the fLastMemoryBlock.
 	 */
 	public IMemoryBlock getLastMemoryBlock() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java
index c6fcd7a..e7dc1e7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
- *                 display memory blocks that do not reference IDebugTarget     
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
+ *                 display memory blocks that do not reference IDebugTarget
  *     Ted Williams - WindRiver - Bug 215432 - [Memory View] Memory View: Workflow Enhancements
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.views.memory;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java
index b1da6cc..06597ce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java
index 6756edd..46aa62b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.views.memory;
@@ -593,7 +593,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void addNew() {
 		WorkbenchJob job = new WorkbenchJob("populate dialog") { //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java
index 69d7446..d0974bd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java
index 61933c8..4a54366 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.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
  *******************************************************************************/
@@ -14,7 +14,7 @@
 /**
  * Functions to allow user to control the Memory View or the Memory Rendering
  * View
- * 
+ *
  * @since 3.0
  */
 public interface IMemoryView {
@@ -30,7 +30,7 @@
 
 	/**
 	 * Move specified view tab to the top
-	 * 
+	 *
 	 * @param viewTab
 	 */
 	public void moveToTop(IMemoryViewTab viewTab);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java
index b092ff3..85481db 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.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
  *******************************************************************************/
@@ -18,17 +18,17 @@
 
 /**
  * Represent a view pane in the memory view.
- * 
+ *
  * This is an internal interface for mananging the view panes within the Memory
  * View
- * 
+ *
  * @since 3.1
  */
 public interface IMemoryViewPane {
 
 	/**
 	 * Create the view pane with the given parent composite, and pane id.
-	 * 
+	 *
 	 * @param parent
 	 * @param paneId
 	 * @param label
@@ -61,7 +61,7 @@
 	/**
 	 * Add the given selection listener to the view pane. The selection listener
 	 * gets notified when the selection from the view pane has changed.
-	 * 
+	 *
 	 * @param listener
 	 */
 	public void addSelectionListener(ISelectionChangedListener listener);
@@ -69,7 +69,7 @@
 	/**
 	 * Remove the selection listener from the view pane. The listener will no
 	 * longer get notified when selection is changed.
-	 * 
+	 *
 	 * @param listener
 	 */
 	public void removeSelctionListener(ISelectionChangedListener listener);
@@ -86,7 +86,7 @@
 
 	/**
 	 * Called when the view pane becomes visible or hidden
-	 * 
+	 *
 	 * @param visible visibility state of teh view pane
 	 */
 	public void setVisible(boolean visible);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java
index 0b5f388..1b89e22 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.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
  *******************************************************************************/
@@ -15,10 +15,10 @@
 
 /**
  * Represent a view tab in the Memory View or Memory Rendering View
- * 
+ *
  * Refer to AbstractMemoryViewTab. This is an internal interface. This class is
  * not intended to be implemented by clients.
- * 
+ *
  * @since 3.0
  */
 public interface IMemoryViewTab {
@@ -39,14 +39,14 @@
 
 	/**
 	 * Sets the enablament state of the view tab.
-	 * 
+	 *
 	 * @param enabled
 	 */
 	public void setEnabled(boolean enabled);
 
 	/**
 	 * Set view tab's label
-	 * 
+	 *
 	 * @param label
 	 */
 	public void setTabLabel(String label);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java
index 7af713e..3f10532 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
index 0adc1a3..9ae970c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java
@@ -7,9 +7,9 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
- *     
+ *
  *******************************************************************************/
 
 package org.eclipse.debug.internal.ui.views.memory;
@@ -349,7 +349,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void updateRetrieval() {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
index a404159..fa33472 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
@@ -70,7 +70,7 @@
 import org.osgi.service.prefs.BackingStoreException;
 
 /**
- * 
+ *
  * @since 3.0
  */
 public class MemoryView extends ViewPart implements IMemoryRenderingSite2 {
@@ -459,7 +459,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void createMemoryBlocksTreeViewPane(Composite parent) {
 
@@ -501,7 +501,7 @@
 
 	/**
 	 * @return an activate listener for the given view pane
-	 * 
+	 *
 	 */
 	private Listener createDeactivateListener(final IMemoryViewPane viewPane) {
 		Listener deactivateListener = new Listener() {
@@ -534,7 +534,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	public void createRenderingViewPane(final String paneId) {
 		final RenderingViewPane renderingPane = new RenderingViewPane(this);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
index 92c3d66..659c664 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java
@@ -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
  *******************************************************************************/
@@ -14,7 +14,7 @@
 
 /**
  * Class for managing the secondary ids for Memory View
- * 
+ *
  */
 public class MemoryViewIdRegistry {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java
index 8980ef6..88e58f6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
index 4669b9a..d4e9493 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java
@@ -27,7 +27,7 @@
 
 /**
  * Synchronization service for the memory view.
- * 
+ *
  * @since 3.1
  */
 public class MemoryViewSynchronizationService implements IMemoryRenderingSynchronizationService, IMemoryBlockListener, IPropertyChangeListener {
@@ -70,7 +70,7 @@
 		/**
 		 * If the property matches one of the filters, the property is valid and
 		 * the view should be notified about its change.
-		 * 
+		 *
 		 * @param property the property
 		 * @return if the property is specified in the filter
 		 */
@@ -89,7 +89,7 @@
 		/**
 		 * Set property filters, indicating what property change events the
 		 * listener is interested in.
-		 * 
+		 *
 		 * @param filters the property filters or <code>null</code>
 		 */
 		public void setPropertyFilters(String[] filters) {
@@ -216,7 +216,7 @@
 
 	/**
 	 * Fire property change events
-	 * 
+	 *
 	 * @param evt the event to fire
 	 */
 	public void firePropertyChanged(final PropertyChangeEvent evt) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
index 1f7dd7c..2715b97 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
@@ -34,7 +34,7 @@
 /**
  * Represents a tab in the Memory View. This is where memory renderings are
  * hosted in the Memory View.
- * 
+ *
  * @since 3.1
  */
 public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, Listener {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java
index 2031204..48be9f4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.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
  *******************************************************************************/
@@ -23,11 +23,11 @@
  * by SELECT, and the added element is an memory blok, then the udpate policy
  * asks the Memory View if the it is currently pinned to a memory block. If the
  * view is currently pinned, then the SELECT delta is ignored.
- * 
+ *
  * If the ADDED delta and SELECT delta are recieved in separate nodes, then the
  * delta will be handled as-is and would not take the pinning state of the
  * memory view into account.
- * 
+ *
  */
 public class MemoryViewTreeViewer extends TreeModelViewer {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
index e8579f7..b53c5e6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
@@ -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
  *******************************************************************************/
@@ -35,7 +35,7 @@
 
 /**
  * Util class for Memory View
- * 
+ *
  * @since 3.0
  */
 public class MemoryViewUtil {
@@ -106,7 +106,7 @@
 
 	/**
 	 * Helper function to open an error dialog.
-	 * 
+	 *
 	 * @param title
 	 * @param message
 	 * @param e
@@ -143,7 +143,7 @@
 	/**
 	 * Checks to see if the event is valid for activating cell editing in a view
 	 * tab
-	 * 
+	 *
 	 * @param event
 	 * @return true if the edit event is valid for activating the cell editor
 	 */
@@ -175,14 +175,14 @@
 
 	/**
 	 * Return the memory block retrieval of the given object
-	 * 
+	 *
 	 * @param object
 	 * @return the memory block retrieval of the given object or
 	 *         <code>null</code> if no memory block retrieval can be found
-	 * 
+	 *
 	 *         Returning null for the memory block retrieval will result in
 	 *         errors in operations that follow.
-	 * 
+	 *
 	 *         Non-standard debug models must provide a memory block retrieval
 	 *         via <code>getAdapter(IMemoryBlockRetrieval.class</code>
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
index 937f260..31dc040 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
@@ -45,7 +45,7 @@
 	/**
 	 * the predefined width of the wrapping label for the expression to enter
 	 * combo
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	private static final int LABEL_WIDTH = 210;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java
index c4ee61c..970877c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.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
  *******************************************************************************/
@@ -20,7 +20,7 @@
  * Action for pinning the display of the memory view to the current memory
  * block. The view would not change selection when a new memory block is added
  * if the diplay is pinned.
- * 
+ *
  */
 public class PinMemoryBlockAction implements IViewActionDelegate {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java
index 558cd48..ef87fa2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
 /**
  * Fire properties changes events in ISafeRunnable to ensure that exceptions are
  * caught and handled.
- * 
+ *
  * @since 3.1
  */
 public class PropertyChangeNotifier implements ISafeRunnable {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java
index d0fb67e..38acb2e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.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
  *******************************************************************************/
@@ -22,10 +22,10 @@
  * Remove Memory Rendering action This action serves two purposes: - remove
  * memory rendering from Memory Rendering Pane - quck way to remove a memory
  * block from Memory Rendering Pane
- * 
+ *
  * When user clicks on the this tool bar action, it simply removes the top view
  * tab from Memory Rendering Pane.
- * 
+ *
  * @since 3.0
  */
 public class RemoveMemoryRenderingAction extends Action {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java
index 43a7413..31be797 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
 
 /**
  * @since 3.0
- * 
+ *
  */
 public class RemoveRenderingContextAction implements IViewActionDelegate {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
index 3628aa7..310738b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java
@@ -7,9 +7,9 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
- *     ARM - Bug 192028 [Memory View] Memory view does not 
+ *     ARM - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
  *     WindRiver - Bug 216509 [Memory View] typo, s/isMeomryBlockRemoved/isMemoryBlockRemoved
  *     Wind River Systems - Ted Williams - [Memory View] Memory View: Workflow Enhancements (Bug 215432)
@@ -65,9 +65,9 @@
 /**
  * Represents a rendering view pane in the Memory View. This hosts the memory
  * view tabs in the view.
- * 
+ *
  * @since 3.1
- * 
+ *
  */
 public class RenderingViewPane extends AbstractMemoryViewPane implements IMemoryRenderingContainer {
 
@@ -88,7 +88,7 @@
 	/**
 	 * @param parent is the view hosting this view pane
 	 * @param paneId is the identifier assigned by the Memory View
-	 * 
+	 *
 	 *            Pane id is assigned with the following format. Rendering view
 	 *            pane created has its id assigned to
 	 *            org.eclipse.debug.ui.MemoryView.RenderingViewPane.#. # is a
@@ -100,7 +100,7 @@
 	 *            org.eclipse.debug.ui.MemoryView.RenderingViewPane.2. and so
 	 *            on. View pane are created from left to right by the Memory
 	 *            View.
-	 * 
+	 *
 	 */
 	public RenderingViewPane(IViewPart parent) {
 		super(parent);
@@ -1098,7 +1098,7 @@
 
 	/**
 	 * Reset the memory renderings within this view pane.
-	 * 
+	 *
 	 * @param memoryBlock - reset renderings associated with the given memory
 	 *            block
 	 * @param resetVisible - reset what's currently visible if the parameter is
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
index 04cb9bb..a2bbbb8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
@@ -28,7 +28,7 @@
 /**
  * The popup menu action for a memory rendering used to reset the current
  * selection to the default first memory position
- * 
+ *
  * @since 3.2.0
  */
 public class ResetMemoryBlockAction implements IViewActionDelegate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java
index 01dc151..258862d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java
index 89b298b..420092c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java
@@ -24,7 +24,7 @@
  * This is the retargettable add memory block action in the Memory View. All
  * AddMemoryBlock actions in the view will use this action to make sure that
  * clients can override the "Add Memory Monitor" dialog.
- * 
+ *
  */
 public class RetargetAddMemoryBlockAction extends AddMemoryBlockAction {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java
index 8cd837b..5e7cd39 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java
index 26cc15d..bc52103 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java
@@ -4,10 +4,10 @@
  * 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
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
  *                 display memory blocks that do not reference IDebugTarget
  *******************************************************************************/
 
@@ -57,7 +57,7 @@
 	/**
 	 * A job that updates the enablement of the of the backing action delegate
 	 * in the UI thread
-	 * 
+	 *
 	 * @since 3.3.0
 	 */
 	class UpdateActionEnablementJob extends UIJob {
@@ -294,7 +294,7 @@
 
 	/**
 	 * Returns the current memory blocks tree viewer, or <code>null</code>
-	 * 
+	 *
 	 * @return the memory blocks tree viewer or <code>null</code>
 	 */
 	private StructuredViewer getViewer() {
@@ -413,7 +413,7 @@
 
 	/**
 	 * Returns the current memory block
-	 * 
+	 *
 	 * @return the current memory block or <code>null</code>
 	 */
 	private IMemoryBlock getCurrentMemoryBlock() {
@@ -438,7 +438,7 @@
 
 	/**
 	 * Decorate the label for the specified <code>IMemoryBlock</code>
-	 * 
+	 *
 	 * @param memBlk
 	 * @param label
 	 * @return the decorated label for the specified <code>IMemoryBlock</code>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
index 80ea1e4..4a3ac88 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
@@ -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
  *******************************************************************************/
@@ -23,11 +23,11 @@
  * responsible for defining properties to be synchronized and notifying the
  * synchronizer of properties changes. This is only for keeping track of values
  * of synchronized properties and firing events when properties are changed.
- * 
+ *
  * Memory block serves as a key for synchronization. Views displaying the same
  * memory block can be synchronized. Views displaying different memory block
  * cannot be synchronized.
- * 
+ *
  * @since 3.0
  */
 public class SynchronizeInfo {
@@ -37,7 +37,7 @@
 
 	/**
 	 * Create a new synchronization info object for the memory block
-	 * 
+	 *
 	 * @param block
 	 */
 	public SynchronizeInfo(IMemoryBlock block) {
@@ -47,7 +47,7 @@
 
 	/**
 	 * Set a property and its value to the info object
-	 * 
+	 *
 	 * @param propertyId
 	 * @param value
 	 */
@@ -63,7 +63,7 @@
 
 	/**
 	 * Returns the value of the property from the info object
-	 * 
+	 *
 	 * @param propertyId
 	 * @return value of the property
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java
index 429b22e..63091bb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.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
  *******************************************************************************/
@@ -12,9 +12,9 @@
 
 /**
  * Toggles the visiblity of a view pane.
- * 
+ *
  * @since 3.1
- * 
+ *
  */
 public class ToggleMemoryMonitorsAction extends ToggleViewPaneAction {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java
index bd99fa2..9c5861f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.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
  *******************************************************************************/
@@ -14,9 +14,9 @@
 
 /**
  * Toggles the visibility of the rendering view pane 2.
- * 
+ *
  * @since 3.1
- * 
+ *
  */
 public class ToggleSplitPaneAction extends ToggleViewPaneAction {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java
index c340b3b..f7887fb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
index b160853..1639da7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java
@@ -50,7 +50,7 @@
  * be persisted when the memory view is disposed. If the view is opened again,
  * the same set of renderings will be created in the view pane if the renderings
  * are still valid.
- * 
+ *
  * @since 3.1
  */
 public class ViewPaneRenderingMgr implements IDebugEventSetListener {
@@ -283,7 +283,7 @@
 
 	/**
 	 * Convert renderings to xml text
-	 * 
+	 *
 	 * @return
 	 * @throws IOException
 	 * @throws ParserConfigurationException
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
index 8e8c779..8efa996 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java
@@ -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
  *******************************************************************************/
@@ -20,9 +20,9 @@
 
 /**
  * Handles selection changes in a rendering view pane.
- * 
+ *
  * @since 3.1
- * 
+ *
  */
 public class ViewPaneSelectionProvider implements ISelectionProvider {
 	ArrayList<ISelectionChangedListener> fListeners = new ArrayList<ISelectionChangedListener>();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java
index f129ae2..0a37ab9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.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
  *     Wind River Systems - Ted Williams - [Memory View] Memory View: Workflow Enhancements (Bug 215432)
@@ -19,7 +19,7 @@
 
 /**
  * Controls view tab enablement based on tab folder selection
- * 
+ *
  * @since 3.0
  */
 public class ViewTabEnablementManager implements SelectionListener {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java
index 946a2c5..5073b9f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java
@@ -26,9 +26,9 @@
  * @since 3.1
  */
 public class ASCIIRendering extends AbstractAsyncTextRendering{
-	
+
 	private final int numCharsPerByte = 1;
-	
+
 
 	public ASCIIRendering(String renderingId)
 	{
@@ -36,12 +36,12 @@
 		String codepage = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE);
 		setCodePage(codepage);
 	}
-	
+
 	@Override
 	public void dispose() {
 		super.dispose();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.AbstractMemoryRendering#getNumCharsPerByte()
 	 */
@@ -49,7 +49,7 @@
 	public int getNumCharsPerByte() {
 		return numCharsPerByte;
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
@@ -60,9 +60,9 @@
 		BigInteger address,
 		MemoryByte[] currentValues,
 		String data) {
-		
+
 		byte[] bytes =  super.getBytes(renderingId, address, currentValues, data);
-		
+
 		// undo the replacement of 1's to 0's.
 		for (int i=0; i<bytes.length && i < currentValues.length; i++)
 		{
@@ -71,9 +71,9 @@
 				bytes[i] = 0;
 			}
 		}
-		
+
 		return bytes;
-		
+
 	}
 
 	/* (non-Javadoc)
@@ -84,7 +84,7 @@
 		String renderingId,
 		BigInteger address,
 		MemoryByte[] data) {
-		
+
 		MemoryByte[] copy = new MemoryByte[data.length];
 
 		// If a byte equals zero, it represents null in a string
@@ -102,7 +102,7 @@
 			}
 			copy[i].setFlags(data[i].getFlags());
 		}
-		
+
 		return super.getString(renderingId, address, copy);
 	}
 
@@ -111,18 +111,18 @@
 	 */
 	@Override
 	public void propertyChange(PropertyChangeEvent event) {
-		
+
 		// handle code page changed event
 		if (event.getProperty().equals(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE))
 		{
 			String codePage = (String)event.getNewValue();
 			setCodePage(codePage);
-			
+
 			if (isVisible())
 				// just update labels, don't need to reget memory
 				updateLabels();
 		}
-		
+
 		super.propertyChange(event);
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java
index d242860..88d19da 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java
index dda837e..802a5d1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java
@@ -32,7 +32,7 @@
 
 	/**
 	 * Format view tab based on the bytes per line and column.
-	 * 
+	 *
 	 * @param bytesPerLine - number of bytes per line, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
 	 * @param columnSize - number of bytes per column, possible values: (1 / 2 / 4 / 8 / 16) * addressableSize
 	 * @return true if format is successful, false, otherwise
@@ -41,7 +41,7 @@
 
 	/**
 	 * Returns the addressible size of this rendering's memory block in bytes.
-	 * 
+	 *
 	 * @return the addressible size of this rendering's memory block in bytes
 	 */
 	abstract public int getAddressableSize();
@@ -53,28 +53,28 @@
 
 	/**
 	 * Returns the number of addressable units per row.
-	 *  
+	 *
 	 * @return number of addressable units per row
 	 */
 	abstract public int getAddressableUnitPerLine();
 
 	/**
 	 * Returns the number of addressable units per column.
-	 * 
+	 *
 	 * @return number of addressable units per column
 	 */
 	abstract public int getAddressableUnitPerColumn();
 
 	/**
 	 * Returns the number of bytes displayed in a single column cell.
-	 * 
+	 *
 	 * @return the number of bytes displayed in a single column cell
 	 */
 	abstract public int getBytesPerColumn();
 
 	/**
 	 * Returns the number of bytes displayed in a row.
-	 * 
+	 *
 	 * @return the number of bytes displayed in a row
 	 */
 	abstract public int getBytesPerLine();
@@ -99,7 +99,7 @@
 	/**
 	 * Moves the cursor to the specified address.
 	 * Will load more memory if the address is not currently visible.
-	 * 
+	 *
 	 * @param address address to position cursor at
 	 * @throws DebugException if an exception occurrs
 	 */
@@ -108,7 +108,7 @@
 
 	/**
 	 * Returns the currently selected address in this rendering.
-	 * 
+	 *
 	 * @return the currently selected address in this rendering
 	 */
 	@Override
@@ -116,15 +116,15 @@
 
 	/**
 	 * Returns the currently selected content in this rendering as a String.
-	 * 
+	 *
 	 * @return the currently selected content in this rendering
 	 */
 	abstract public String getSelectedAsString();
 
 	/**
 	 * Returns the currently selected content in this rendering as MemoryByte.
-	 * 
-	 * @return the currently selected content in array of MemoryByte.  
+	 *
+	 * @return the currently selected content in array of MemoryByte.
 	 * Returns an empty array if the selected address is out of buffered range.
 	 */
 	@Override
@@ -133,7 +133,7 @@
 	/**
 	 * Returns the number of characters a byte will convert to
 	 * or -1 if unknown.
-	 * 
+	 *
 	 * @return the number of characters a byte will convert to
 	 *  or -1 if unknown
 	 */
@@ -148,7 +148,7 @@
 	 * Returns text for the given memory bytes at the specified address for the specified
 	 * rendering type. This is called by the label provider for.
 	 * Subclasses must override.
-	 * 
+	 *
 	 * @param renderingTypeId rendering type identifier
 	 * @param address address where the bytes belong to
 	 * @param data the bytes
@@ -166,7 +166,7 @@
 	 * Subclasses must convert the string value to an array of bytes.  The bytes will
 	 * be passed to the debug adapter for memory block modification.
 	 * Returns <code>null</code> if the bytes cannot be formatted properly.
-	 * 
+	 *
 	 * @param renderingTypeId rendering type identifier
 	 * @param address address the bytes begin at
 	 * @param currentValues current values of the data in bytes format
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java
index a8cab1a..eeb6c77 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java
@@ -22,22 +22,22 @@
  *
  */
 public abstract class AbstractIntegerRendering extends AbstractAsyncTableRendering {
-	
+
 	private int fDisplayEndianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-	
+
 	public AbstractIntegerRendering(String renderingId){
 		super(renderingId);
 	}
-	
+
 	@Override
 	public void init(IMemoryRenderingContainer container, IMemoryBlock block) {
 		super.init(container, block);
-		
+
 		// default to big endian for simple memory block
 		if (!(block instanceof IMemoryBlockExtension))
 			fDisplayEndianess = RenderingsUtil.BIG_ENDIAN;
 	}
-	
+
 	/**
 	 * @return Returns the currentEndianess.
 	 */
@@ -54,10 +54,10 @@
 
 	protected int getBytesEndianess(MemoryByte[] data) {
 		int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
-		
+
 		if (!data[0].isEndianessKnown())
 			return endianess;
-		
+
 		if (data[0].isBigEndian())
 			endianess = RenderingsUtil.BIG_ENDIAN;
 		else
@@ -67,7 +67,7 @@
 			// if endianess is not known for a byte, return unknown
 			if (!data[i].isEndianessKnown())
 				return RenderingsUtil.ENDIANESS_UNKNOWN;
-			
+
 			int byteEndianess = data[i].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
 			if (byteEndianess != endianess)
 			{
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java
index b489787..e87bc0c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.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
  *******************************************************************************/
@@ -22,21 +22,21 @@
 
 /**
  * Abstract label provider for an ITableMemoryViewTab
- * 
+ *
  * @since 3.0
  */
 abstract public class AbstractTableRenderingLabelProvider extends LabelProvider implements ITableLabelProvider{
 
 	protected AbstractTableRendering fRendering;
-	
+
 	/**
-	 * 
+	 *
 	 * Constructor for MemoryViewLabelProvider
 	 */
 	public AbstractTableRenderingLabelProvider() {
 		super();
 	}
-	
+
 	public AbstractTableRenderingLabelProvider(AbstractTableRendering rendering){
 		fRendering = rendering;
 	}
@@ -55,28 +55,28 @@
 	 */
 	@Override
 	public Image getColumnImage(Object element, int columnIndex) {
-		
+
 		if (columnIndex == 0)
 		{
-			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
+			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
 		}
 		else if (columnIndex > (fRendering.getBytesPerLine()/fRendering.getBytesPerColumn()))
 		{
-			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
+			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
 		}
 		else
-		{	
+		{
 			// if memory in the range has changed, return delta icon
 			int startOffset = (columnIndex-1)*fRendering.getBytesPerColumn();
 			int endOffset = startOffset + fRendering.getBytesPerColumn() - 1;
 			if (((TableRenderingLine)element).isRangeChange(startOffset, endOffset)) {
 				return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED);
 			}
-			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
+			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
 		}
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
 	 */
@@ -87,7 +87,7 @@
 		if (columnIndex == 0)
 		{
 			columnLabel = ((TableRenderingLine)element).getAddress();
-			
+
 			// consult model presentation for address presentation
 		}
 		else if (columnIndex > (fRendering.getBytesPerLine()/fRendering.getBytesPerColumn()))
@@ -95,14 +95,14 @@
 			columnLabel = " "; //$NON-NLS-1$
 		}
 		else
-		{	
+		{
 			int start = (columnIndex-1)*fRendering.getBytesPerColumn();
 			int end = start + fRendering.getBytesPerColumn();
 
 			MemoryByte[] bytes = ((TableRenderingLine)element).getBytes(start, end);
 			BigInteger address = new BigInteger(((TableRenderingLine)element).getAddress(), 16);
-			address = address.add(BigInteger.valueOf(start)); 
-			
+			address = address.add(BigInteger.valueOf(start));
+
 			columnLabel = fRendering.getString(fRendering.getRenderingId(), address, bytes);
 		}
 		return columnLabel;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
index a4f0562..ecec354 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java
@@ -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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
index 8541489..15eb8b6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java
@@ -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
  *******************************************************************************/
@@ -20,7 +20,7 @@
 /**
  * Copy action for <code>AbstractAsyncTableRendering</code>. Only copy what is
  * visible in the view.
- * 
+ *
  */
 public class AsyncCopyTableRenderingAction extends CopyTableRenderingToClipboardAction {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
index d132fbe..799bdca 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java
@@ -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
  *******************************************************************************/
@@ -22,7 +22,7 @@
 /**
  * Print action for <code>AbstractAsyncTableRendering</code>. Only print what is
  * visible in the view.
- * 
+ *
  */
 public class AsyncPrintTableRenderingAction extends PrintTableRenderingAction {
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java
index 8cc3fee..0080981 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java
@@ -39,13 +39,13 @@
 
     private AbstractAsyncTableRendering fRendering;
     private boolean fMBSupportsValueModification = false;
-    
+
     private ICellModifier fCustomModifier;
 
     public AsyncTableRenderingCellModifier(AbstractAsyncTableRendering rendering, ICellModifier customModifier) {
         fRendering = rendering;
         fCustomModifier = customModifier;
-        
+
         Job job = new Job("AsyncTableRenderingCellModifier"){ //$NON-NLS-1$
 
 			@Override
@@ -59,7 +59,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
      *      java.lang.String)
      */
@@ -78,7 +78,7 @@
             if (TableRenderingLine.P_ADDRESS.equals(property)) {
                 return false;
             }
-            
+
             // property is stored as number of addressable unit away from the
             // line address
             // to calculate offset to the memory line array, offset =
@@ -93,7 +93,7 @@
             {
             	BigInteger address = line.getAddress().add(BigInteger.valueOf(offset));
             	MemoryRenderingElement mElement = new MemoryRenderingElement(fRendering, address, bytes);
-            	return fCustomModifier.canModify(mElement, null);       
+            	return fCustomModifier.canModify(mElement, null);
             }
 
             for (int i = 0; i < bytes.length; i++) {
@@ -120,13 +120,13 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
      *      java.lang.String)
      */
     @Override
 	public Object getValue(Object element, String property) {
-    	
+
         // give back the value of the column
 
         if (!(element instanceof MemorySegment))
@@ -137,16 +137,16 @@
             if (TableRenderingLine.P_ADDRESS.equals(property))
                 return line.getAddress();
 
-            int offsetToLineBuffer = Integer.valueOf(property, 16).intValue() * getAddressableSize();            
+            int offsetToLineBuffer = Integer.valueOf(property, 16).intValue() * getAddressableSize();
             MemoryByte[] memory = line.getBytes(offsetToLineBuffer, fRendering.getBytesPerColumn());
 
             int offsetFromLineAddress = Integer.valueOf(property, 16).intValue();
             BigInteger address = line.getAddress().add(BigInteger.valueOf(offsetFromLineAddress));
-            
+
             if (fCustomModifier != null)
             {
             	MemoryRenderingElement mElement = new MemoryRenderingElement(fRendering, address, memory);
-            	return fCustomModifier.getValue(mElement, null);       
+            	return fCustomModifier.getValue(mElement, null);
             }
 
             // ask the rendering for a string representation of the bytes
@@ -159,28 +159,28 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
      *      java.lang.String, java.lang.Object)
      */
     @Override
 	public void modify(Object element, final String property, final Object value) {
-    	
+
         MemorySegment segment = null;
         if (element instanceof TableItem) {
         	Object data = ((TableItem)element).getData();
         	if (data != null && data instanceof MemorySegment)
         		segment = (MemorySegment)data;
-        	
+
         } else if (element instanceof MemorySegment){
         	segment = (MemorySegment) element;
         }
-        
+
         if (segment == null)
         	return;
-        
+
         final MemorySegment line = segment;
-        
+
         Job job = new Job("Set Values"){ //$NON-NLS-1$
 
 			@Override
@@ -211,15 +211,15 @@
 						fCustomModifier.modify(mElement, null, value);
 						return Status.OK_STATUS;
 					}
-					
+
 					if (!(value instanceof String))
 					{
 						DebugUIPlugin.logErrorMessage("Cell modifier cannot handle non-string values."); //$NON-NLS-1$
 						return Status.OK_STATUS;
 					}
-					
-	              byte[] bytes = null;	                
-			      String oldValue = (String) getValue(line, property);		                
+
+	              byte[] bytes = null;
+			      String oldValue = (String) getValue(line, property);
 		          if (!oldValue.equals(value)) {
 		                bytes = fRendering.getBytes(fRendering.getRenderingId(), address, oldArray, (String) value);
 
@@ -245,13 +245,13 @@
 		                // return if value has not changed
 		            	 return Status.OK_STATUS;
 		            }
-		            
+
 		            final byte[] newByteValues = bytes;
-		            
+
 		            if (memoryBlk instanceof IMemoryBlockExtension)
 		                ((IMemoryBlockExtension) memoryBlk).setValue(offsetFromMBBase, newByteValues);
 		            else
-		                memoryBlk.setValue(offsetFromMBBase.longValue(), newByteValues);				
+		                memoryBlk.setValue(offsetFromMBBase.longValue(), newByteValues);
 		        } catch (DebugException e) {
 		            MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, DebugUIMessages.MemoryViewCellModifier_failed, e);
 		        } catch (NumberFormatException e) {
@@ -279,7 +279,7 @@
 
         return lineAddress.subtract(memoryAddr).add(BigInteger.valueOf(lineOffset));
     }
-    
+
     private boolean isValueModificationSupported()
     {
     	return fMBSupportsValueModification;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java
index 32ea601..0ad7c3d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.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
  *******************************************************************************/
@@ -37,23 +37,23 @@
 {
 	@Override
 	public void modelChanged(IModelDelta node, IModelProxy proxy) {
-		
+
 		// clear current cache as it becomes invalid when the memory block is changed
 		AbstractVirtualContentTableModel model = getTableViewer().getVirtualContentModel();
-		
+
 		if (model != null)
 		{
 			IContentChangeComputer computer = null;
 			if (model instanceof IContentChangeComputer)
 				computer = (IContentChangeComputer)model;
-			
+
 			clearCache(computer);
-			
+
 			if (!containsEvent())
 			{
 				return;
 			}
-			
+
 			if (node.getElement() instanceof IMemoryBlock && (node.getFlags() & IModelDelta.CONTENT) != 0)
 			{
 				if (computer != null && getTableViewer() != null)
@@ -72,17 +72,17 @@
 				notifyRendering(node, proxy);
 				handleMemoryBlockChanged((IMemoryBlock)node.getElement(), node);
 				return;
-				
+
 			}
 			else if (node.getElement() instanceof IMemoryBlock && (node.getFlags() & IModelDelta.STATE) != 0)
 			{
 				// override handling of state change event
 				// let the super class deals with the rest of the changes
 				handleMemoryBlockChanged((IMemoryBlock)node.getElement(), node);
-				return;				
-			}				
+				return;
+			}
 		}
-		
+
 		super.modelChanged(node, proxy);
 	}
 
@@ -102,7 +102,7 @@
 				listener.modelChanged(node, proxy);
 		}
 	}
-	
+
 	protected void handleMemoryBlockChanged(IMemoryBlock mb, IModelDelta delta)
 	{
 		try {
@@ -115,7 +115,7 @@
 					if ((delta.getFlags() & IModelDelta.CONTENT) != 0)
 					{
 						TableRenderingContentDescriptor descriptor = rendering.getAdapter(TableRenderingContentDescriptor.class);
-						
+
 						if (descriptor != null)
 						{
 							final BigInteger address = getMemoryBlockBaseAddress(mb);
@@ -123,7 +123,7 @@
 							{
 								descriptor.updateContentBaseAddress();
 								UIJob job = new UIJob("go to address"){ //$NON-NLS-1$
-			
+
 									@Override
 									public IStatus runInUIThread(IProgressMonitor monitor) {
 										try {
@@ -154,7 +154,7 @@
 				getTableViewer().handlePresentationFailure(null, e.getStatus());
 		}
 	}
-	
+
 	private BigInteger getMemoryBlockBaseAddress(IMemoryBlock mb) throws DebugException
 	{
 		if (mb instanceof IMemoryBlockExtension)
@@ -162,14 +162,14 @@
 		else
 			return BigInteger.valueOf(mb.getStartAddress());
 	}
-	
+
 	private AsyncTableRenderingViewer getTableViewer()
 	{
 		if (getViewer() instanceof AsyncTableRenderingViewer)
 			return (AsyncTableRenderingViewer)getViewer();
 		return null;
 	}
-	
+
 	private boolean containsEvent()
 	{
 		if (getViewer().getPresentationContext() instanceof MemoryViewPresentationContext)
@@ -184,7 +184,7 @@
 		}
 		return true;
 	}
-	
+
 	protected AbstractAsyncTableRendering getTableRendering(MemoryViewPresentationContext context)
 	{
 		IMemoryRendering memRendering = context.getRendering();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java
index 64c70ba..8069d25 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java
@@ -62,11 +62,11 @@
 public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer {
 
 	private AbstractAsyncTableRendering fRendering;
-	
+
 	// selection keys
 	private Object fPendingSelection;
 	private Object fSelectionKey;
-	
+
 	// cursor and associated listeners
 	private TableCursor fTableCursor;
 	private KeyAdapter fCursorKeyAdapter;
@@ -78,40 +78,40 @@
 	private TableEditor fCursorEditor;
 	private KeyAdapter fEditorKeyListener;
 	private CellEditorListener fCellEditorListener;
-	
+
 	private class CellEditorListener implements ICellEditorListener {
 
 		private CellEditor fEditor;
 		private int fRow;
 		private int fCol;
-		
+
 		public CellEditorListener(int row, int col, CellEditor editor) {
 			fEditor = editor;
 			fRow = row;
 			fCol = col;
 		}
-		
+
 		@Override
 		public void applyEditorValue() {
 			fEditor.removeListener(this);
-			modifyValue(fRow, fCol, fEditor.getValue());			
+			modifyValue(fRow, fCol, fEditor.getValue());
 		}
 
 		@Override
 		public void cancelEditor() {
 			fEditor.removeListener(this);
 		}
-		
+
 		@Override
 		public void editorValueChanged(boolean oldValidState,
 				boolean newValidState) {
 		}
-		
+
 		public int getRow()
 		{
 			return fRow;
 		}
-		
+
 		public int getCol()
 		{
 			return fCol;
@@ -120,17 +120,17 @@
 
 	private boolean fPendingFormatViewer;
 
-	
+
 	public AsyncTableRenderingViewer(AbstractAsyncTableRendering rendering, Composite parent, int style) {
 		super(parent, style);
 		fRendering = rendering;
-		
+
 		getTable().addMouseListener(new MouseAdapter() {
 			@Override
 			public void mouseDown(MouseEvent e) {
 				handleTableMouseEvent(e);
 			}});
-		
+
 		createCursor(getTable());
 	}
 
@@ -138,49 +138,49 @@
 	public AbstractUpdatePolicy createUpdatePolicy() {
 		return new AsyncTableRenderingUpdatePolicy();
 	}
-	
+
 	public AbstractAsyncTableRendering getRendering()
 	{
 		return fRendering;
 	}
-	
+
 	private void createCursor(Table table)
 	{
 		fTableCursor = new TableCursor(table, SWT.NONE);
-		
+
 		Display display = fTableCursor.getDisplay();
-		
+
 		// set up cursor color
 		fTableCursor.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION));
 		fTableCursor.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
-		
+
 		fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-		
+
 		fCursorKeyAdapter = new KeyAdapter() {
 			@Override
 			public void keyPressed(KeyEvent e)
 			 {
 			 	handleCursorKeyPressed(e);
-			 }	
+			 }
 		};
-		
+
 		fTableCursor.addKeyListener(fCursorKeyAdapter);
-		
+
 		fCursorTraverseListener = new TraverseListener() {
 			@Override
 			public void keyTraversed(TraverseEvent e) {
 				handleCursorTraverseEvt(e);
 			}};
-					
+
 		fTableCursor.addTraverseListener(fCursorTraverseListener);
-		
+
 		fCursorMouseListener = new MouseAdapter() {
 			@Override
 			public void mouseDown(MouseEvent e) {
 				handleCursorMouseEvent(e);
 			}};
 		fTableCursor.addMouseListener(fCursorMouseListener);
-		
+
 		// cursor may be disposed before disposed is called
 		// remove listeners whenever the cursor is disposed
 		fTableCursor.addDisposeListener(new DisposeListener() {
@@ -193,7 +193,7 @@
 				fTableCursor.removeMouseListener(fCursorMouseListener);
 				fTableCursor.removeSelectionListener(fCursorSelectionListener);
 			}});
-		
+
 		fCursorSelectionListener = new SelectionAdapter() {
 					@Override
 					public void widgetSelected(SelectionEvent e) {
@@ -201,19 +201,19 @@
 					}
 				};
 		fTableCursor.addSelectionListener(fCursorSelectionListener);
-		fCursorEditor = new TableEditor (getTable());	
+		fCursorEditor = new TableEditor (getTable());
 	}
-	
+
 	private void handleCursorKeyPressed(KeyEvent event)
 	{
 		if (event.character == '\r' && event.getSource() instanceof TableCursor)
 		{
 			activateCellEditor(null);
 			return;
-		}		
-		
+		}
+
 		if (MemoryViewUtil.isValidEditEvent(event.keyCode))
-		{	
+		{
 			// activate edit as soon as user types something at the cursor
 			if (event.getSource() instanceof TableCursor)
 			{
@@ -226,20 +226,20 @@
 			}
 		}
 	}
-	
+
 	private void handleCursorMouseEvent(MouseEvent e){
 		if (e.button == 1)
 		{
 			int col = fTableCursor.getColumn();
 			if (col > 0 && col <= (getNumCol()))
 				activateCellEditor(null);
-		}			
+		}
 	}
-	
+
 	private void handleCursorTraverseEvt(TraverseEvent e){
 		if (fTableCursor.getRow() == null)
 			return;
-		
+
 		Table table = (Table)fTableCursor.getParent();
 		int row = table.indexOf(fTableCursor.getRow());
 		int col = fTableCursor.getColumn();
@@ -249,7 +249,7 @@
 			{
 				return;
 			}
-			
+
 			row = row +1;
 			col = 0;
 			fTableCursor.setSelection(row, col);
@@ -260,24 +260,24 @@
 			{
 				return;
 			}
-			
+
 			row = row - 1;
 			col = getNumCol()+1;
 			fTableCursor.setSelection(row, col);
-		}			
-		
+		}
+
 		handleCursorMoved();
 	}
-	
+
 	/**
 	 * Update selected address.
 	 * Load more memory if required.
 	 */
 	private void handleCursorMoved()
-	{	
+	{
 		fSelectionKey = getSelectionKeyFromCursor();
 		fPendingSelection = null;
-		
+
 		if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) {
 			DebugUIPlugin.trace(Thread.currentThread().getName() + " cursor moved selection is: " + ((BigInteger)fSelectionKey).toString(16)); //$NON-NLS-1$
 		}
@@ -285,15 +285,15 @@
 		handleScrollBarSelection();
 		fireSelectionChanged(fSelectionKey);
 	}
-	
+
 	private int getNumCol() {
-		
+
 		int bytesPerLine = fRendering.getBytesPerLine();
 		int columnSize = fRendering.getBytesPerColumn();
-		
+
 		return bytesPerLine/columnSize;
 	}
-	
+
 	/**
 	 * Sets the cursor at the specified address
 	 * @param key selection key
@@ -303,32 +303,32 @@
 		fPendingSelection = key;
 		attemptSetKeySelection();
 	}
-	
+
 	public Object getSelectionKey()
 	{
 		return fSelectionKey;
 	}
-	
+
 	private synchronized void attemptSetKeySelection()
 	{
 		if (fPendingSelection != null) {
             doAttemptSetKeySelection(fPendingSelection);
 		}
-		
+
 	}
-	
+
 	synchronized private Object doAttemptSetKeySelection(final Object key)
-	{	
+	{
 		if (getBufferTopKey() == null || getBufferEndKey() == null)
 			return key;
-		
+
 		// calculate selected row address
 		int[] location = getCoordinatesFromKey(key);
 		if(location.length == 0)
 		{
 			return key;
 		}
-		
+
 		UIJob uiJob = new UIJob("Set Cursor Selection"){ //$NON-NLS-1$
 
 			@Override
@@ -339,10 +339,10 @@
 					}
 					if (fPendingSelection != null && fPendingSelection != key)
 						return Status.OK_STATUS;
-					
+
 					if (fTableCursor.isDisposed())
 						return Status.OK_STATUS;
-					
+
 					// by the time this is called, the location may not be valid anymore
 					int[] newLocation = getCoordinatesFromKey(key);
 					if (newLocation.length == 0)
@@ -351,28 +351,28 @@
 						fPendingSelection = selectionKey;
 						return Status.OK_STATUS;
 					}
-					
+
 					fSelectionKey = key;
 					fPendingSelection = null;
-					
+
 					if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) {
 						DebugUIPlugin.trace(getRendering() + " set cursor selection, row is " + getTable().getItem(newLocation[0]).getData()); //$NON-NLS-1$
 						DebugUIPlugin.trace(getRendering() + " set cursor selection, model is " + getVirtualContentModel().getElement(newLocation[0])); //$NON-NLS-1$
 					}
-					
+
 					fTableCursor.setSelection(newLocation[0], newLocation[1]);
 					showTableCursor(true);
-					
+
 					// show the column for the selection
 					getTable().showColumn(getTable().getColumn(newLocation[1]));
-					
+
 					int topIndex = getTable().getTopIndex();
 					Object topKey = getVirtualContentModel().getKey(topIndex);
 					setTopIndexKey(topKey);
-					
-					
+
+
 				} catch (RuntimeException e) {
-					
+
 					// by the time this is called, the selection may no longer
 					// get the latest selection and try to set selection again
 					Object selectionKey = getSelectionKey();
@@ -381,15 +381,15 @@
 				}
 				return Status.OK_STATUS;
 			}};
-			
+
 		uiJob.setSystem(true);
 		uiJob.schedule();
-		
+
 		return null;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * @param key the element
 	 * @return the coordinates of the key
 	 * Element[0] is the row index
@@ -398,44 +398,44 @@
 	private int[] getCoordinatesFromKey(Object key)
 	{
 		final int row = indexOf(key);
-		
+
 		if (row == -1)
 		{
 			return new int[0];
 		}
-		
+
 		Object element = getVirtualContentModel().getElement(row);
 		final int col = columnOf(element, key);
-		
+
 		if (col == -1)
 		{
 			return new int[0];
 		}
 		return new int[]{row, col};
 	}
-	
+
 	private Object getSelectionKeyFromCursor()
-	{	
-		int idx = getTable().indexOf(fTableCursor.getRow());		
+	{
+		int idx = getTable().indexOf(fTableCursor.getRow());
 		int col = fTableCursor.getColumn();
-		
+
 		return getVirtualContentModel().getKey(idx, col);
 	}
-	
+
 	private Object getBufferTopKey()
 	{
 		return getKey(0);
 	}
-	
+
 	private Object getBufferEndKey()
 	{
 		AbstractVirtualContentTableModel model = getVirtualContentModel();
-		
+
 		if (model != null)
 			return getKey(model.getElements().length-1);
 		return null;
 	}
-	
+
 	public int indexOf(Object key)
 	{
 		int idx = -1;
@@ -444,7 +444,7 @@
 			idx = model.indexOfKey(key);
 		return idx;
 	}
-	
+
 	private int columnOf(Object element, Object key)
 	{
 		int idx = -1;
@@ -455,7 +455,7 @@
 		}
 		return idx;
 	}
-	
+
 	public Object getKey(int index)
 	{
 		AbstractVirtualContentTableModel model = getVirtualContentModel();
@@ -466,20 +466,20 @@
 		}
 		return null;
 	}
-	
+
 	public Object getKey(int row, int col)
-	{		
+	{
 		AbstractVirtualContentTableModel model = getVirtualContentModel();
 		if (model != null)
 			return model.getKey(row, col);
 		return null;
 	}
-	
-	
+
+
 	@Override
 	protected synchronized void preservingSelection(Runnable updateCode) {
 		Object oldTopIndexKey = null;
-		
+
 		if (getPendingSetTopIndexKey() == null) {
 			// preserve selection
 			oldTopIndexKey = getTopIndexKey();
@@ -504,22 +504,22 @@
 				oldSelectionKey = fPendingSelection;
 			else
 				oldSelectionKey = getSelectionKey();
-			
+
 			if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING)
 			{
 				if (oldTopIndexKey != null) {
 					DebugUIPlugin.trace(getRendering() + " preserve selection: " + ((BigInteger)oldSelectionKey).toString(16)); //$NON-NLS-1$
 				}
-				else { 
+				else {
 					DebugUIPlugin.trace("selection key is null, nothing to preserve"); //$NON-NLS-1$
 				}
 			}
-			
+
 			// perform the update
 			updateCode.run();
-			
+
 		} finally {
-			
+
 			if (oldSelectionKey != null)
 			{
 				if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) {
@@ -527,7 +527,7 @@
 				}
 				setSelection(oldSelectionKey);
 			}
-			
+
 			if (getPendingSetTopIndexKey() != null)
 			{
 				if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) {
@@ -540,37 +540,37 @@
 			else if (oldTopIndexKey != null)
 			{
 				setTopIndex(oldTopIndexKey);
-				
+
 				if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) {
 					DebugUIPlugin.trace(getRendering() + " finished top index: " + ((BigInteger)oldTopIndexKey).toString(16)); //$NON-NLS-1$
 				}
 			}
 		}
 	}
-	
+
 	@Override
 	public void dispose()
 	{
 		super.dispose();
-		
+
 		if (fTableCursor != null && !fTableCursor.isDisposed())
 		{
 			fCursorEditor.dispose();
 			fCursorEditor = null;
-			
+
 			fTableCursor.removeTraverseListener(fCursorTraverseListener);
 			fTableCursor.removeKeyListener(fCursorKeyAdapter);
 			fTableCursor.removeMouseListener(fCursorMouseListener);
 			fTableCursor.removeSelectionListener(fCursorSelectionListener);
-			
+
 			fTableCursor.dispose();
 			fTableCursor = null;
 		}
 	}
-	
+
 	public void showTableCursor(final boolean show)
 	{
-		
+
 		Display display = DebugUIPlugin.getDefault().getWorkbench().getDisplay();
 		if (Thread.currentThread() == display.getThread())
 		{
@@ -583,7 +583,7 @@
 		else
 		{
 			UIJob job = new UIJob("show table cursor"){ //$NON-NLS-1$
-	
+
 				@Override
 				public IStatus runInUIThread(IProgressMonitor monitor) {
 					if (!fTableCursor.isDisposed())
@@ -593,7 +593,7 @@
 					}
 					return Status.OK_STATUS;
 				}};
-				
+
 			job.setSystem(true);
 			job.schedule();
 		}
@@ -605,7 +605,7 @@
 		TableItem selectedRow = null;
 		int colNum = -1;
 		int numCol = getColumnProperties().length;
-		
+
 		for (int j=0; j<tableItems.length; j++)
 		{
 			TableItem item = tableItems[j];
@@ -625,11 +625,11 @@
 			if (colNum >= 0)
 				break;
 		}
-		
+
 		// if column position cannot be determined, return
 		if (colNum < 1)
 			return;
-		
+
 		// handle user mouse click onto table
 		// move cursor to new position
 		if (selectedRow != null)
@@ -637,13 +637,13 @@
 			int row = getTable().indexOf(selectedRow);
 			showTableCursor(true);
 			fTableCursor.setSelection(row, colNum);
-			
+
 			// manually call this since we don't get an event when
 			// the table cursor changes selection.
 			handleCursorMoved();
-			
+
 			fTableCursor.setFocus();
-		}			
+		}
 	}
 
 	/**
@@ -716,7 +716,7 @@
 
 				// add listeners for the editor control
 				addListeners(control);
-				
+
 				fCellEditorListener = new CellEditorListener(row, col, editor);
 				editor.addListener(fCellEditorListener);
 
@@ -725,19 +725,19 @@
 			}
 		}
 	}
-	
+
 	private void deactivateEditor(CellEditor editor)
 	{
 		removeListeners(editor.getControl());
 		fTableCursor.moveAbove(editor.getControl());
 		fTableCursor.setFocus();
 	}
-	
+
 	/*
 	 * @param editor
 	 */
 	private void addListeners(Control control) {
-		
+
 		fEditorKeyListener = new KeyAdapter() {
 			@Override
 			public void keyPressed(KeyEvent e) {
@@ -747,12 +747,12 @@
 
 		control.addKeyListener(fEditorKeyListener);
 	}
-	
+
 	/**
 	 * @param event the key event
 	 */
 	private void handleKeyEventInEditor(KeyEvent event) {
-		
+
 		final KeyEvent e = event;
 		Display.getDefault().asyncExec(new Runnable()
 		{
@@ -765,17 +765,17 @@
 					Control control = (Control)obj;
 					int row = fCellEditorListener.getRow();
 					int col = fCellEditorListener.getCol();
-					
+
 					try
 					{
 						switch (e.keyCode)
 						{
 							case 0:
 								doHandleKeyEvent(row, col);
-								break;	
+								break;
 							case SWT.ESC:
 								cancelEditing(row, col);
-								break;	
+								break;
 							default :
 								doHandleKeyEvent(row, col);
 							break;
@@ -783,36 +783,36 @@
 					}
 					catch (NumberFormatException e1)
 					{
-						MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
+						MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title,
 							DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-						
+
 						fTableCursor.setSelection(row, col);
 						handleCursorMoved();
-				
+
 						removeListeners(control);
 					}
 				}
 			}
 		});
 	}
-	
+
 	private void doHandleKeyEvent(int row, int col)
 	{
 		int numCharsPerByte = fRendering.getNumCharsPerByte();
 		if (numCharsPerByte > 0)
-		{						
+		{
 			Object value = getCellEditors()[col].getValue();
 			if (getCellEditors()[col] instanceof TextCellEditor && value instanceof String)
 			{
 				String str = (String)value;
-				
+
 				if (str.length() > fRendering.getBytesPerColumn()*numCharsPerByte)
-				{											
+				{
 					String newValue = str;
-					
+
 					CellEditor editor = getCellEditors()[col];
 					editor.setValue(newValue.substring(0,fRendering.getBytesPerColumn()* numCharsPerByte));
-					
+
 					// We want to call modify value here to avoid race condition.
 					// Relying on the editor event to modify the cell may introduce a race condition since
 					// we try to activate another cell editor in this method.  If we happen to use same cell
@@ -820,9 +820,9 @@
 					// We may write the wrong value in that case.  Calling modify here allows us to capture the value
 					// now and send that to the model.
 					fCellEditorListener.cancelEditor();
-					deactivateEditor(editor);			
+					deactivateEditor(editor);
 					modifyValue(fCellEditorListener.getRow(), fCellEditorListener.getCol(), editor.getValue());
-					
+
 					// if cursor is at the end of a line, move to next line
 					if (col >= getNumCol())
 					{
@@ -833,38 +833,38 @@
 					{
 						col++;
 					}
-					
-					fTableCursor.setSelection(row, col);									
+
+					fTableCursor.setSelection(row, col);
 					handleCursorMoved();
-														
+
 					activateCellEditor(newValue.substring(fRendering.getBytesPerColumn()*numCharsPerByte));
 				}
 			}
 		}
 	}
-	
+
 	private void cancelEditing(int row, int col)
 	{
 		// if user has pressed escape, do not commit the changes
 		// remove listener to avoid getting notified on the modify value
 		fCellEditorListener.cancelEditor();
 		deactivateEditor(getCellEditors()[col]);
-		
+
 		fTableCursor.setSelection(row, col);
 		handleCursorMoved();
-		
+
 		// cursor needs to have focus to remove focus from cell editor
-		fTableCursor.setFocus();		
+		fTableCursor.setFocus();
 	}
-	
+
 	/**
 	 * @param control the control to remove the default key listener from
 	 */
 	private void removeListeners(Control control) {
-		
+
 		control.removeKeyListener(fEditorKeyListener);
 	}
-	
+
 	/**
 	 * Modify value and send new value to debug adapter
 	 * @param row the row
@@ -873,27 +873,27 @@
 	 * @throws NumberFormatException if trying to set a number value fails
 	 */
 	private void modifyValue(int row, int col, Object newValue) throws NumberFormatException
-	{	
+	{
 		if (newValue instanceof String && ((String)newValue).length() == 0)
-		{	
+		{
 			// do not do anything if user has not entered anything
 			return;
 		}
-		
+
 		if (row >= 0 && row < getTable().getItemCount())
 		{
 			TableItem tableItem = getTable().getItem(row);
-	
+
 			Object property = getColumnProperties()[col];
 			getCellModifier().modify(tableItem, (String)property, newValue);
 		}
 	}
-	
+
 	public TableCursor getCursor()
 	{
 		return fTableCursor;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ContentViewer#getLabelProvider()
 	 * Implemented minimum to work with PrintTableRendering action.
@@ -913,7 +913,7 @@
 			public String getColumnText(Object element, int columnIndex) {
 				int idx = getVirtualContentModel().indexOfElement(element);
 				if (idx >= 0 )
-				{	
+				{
 					TableItem item = getTable().getItem(idx);
 					return item.getText(columnIndex);
 				}
@@ -937,19 +937,19 @@
 			public void removeListener(ILabelProviderListener listener) {
 			}};
 	}
-	
+
 	public void formatViewer()
 	{
 		if (getModel() == null || !hasPendingUpdates())
 			doFormatViewer();
-		else 
+		else
 			// do not format in the middle of an update
 			// set pending update and will format when update is completed
 			fPendingFormatViewer = true;
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void doFormatViewer() {
 		fPendingFormatViewer = false;
@@ -966,7 +966,7 @@
 				}
 			}});
 	}
-	
+
 	private void fireSelectionChanged(Object selectionKey)
 	{
 		if (selectionKey != null)
@@ -980,7 +980,7 @@
 	public void handlePresentationFailure(IStatusMonitor monitor, IStatus status) {
 		super.handlePresentationFailure(monitor, status);
 	}
-	
+
 	@Override
 	public void refresh(boolean getContent)
 	{
@@ -1002,10 +1002,10 @@
 				}});
 		}
 	}
-	
+
 	@Override
 	protected void tableTopIndexSetComplete() {
-		
+
 		if (!fTableCursor.isDisposed())
 		{
 			// TODO:  work around swt bug, must force a table cursor redraw after top index is changed
@@ -1025,7 +1025,7 @@
 	public AsynchronousModel getModel() {
 		return super.getModel();
 	}
-	
+
 	// TODO:  need pluggable model to be truly flexible
 	@Override
 	protected AbstractVirtualContentTableModel createVirtualContentTableModel() {
@@ -1035,12 +1035,12 @@
 	@Override
 	protected void updateComplete(IStatusMonitor monitor) {
 		super.updateComplete(monitor);
-		
+
 		if (!hasPendingUpdates() && !fTableCursor.isDisposed())
 		{
 			attemptSetKeySelection();
 			fTableCursor.redraw();
-			
+
 			// if the viewer has pending top index, then more updates will come in
 			// and the cursor should not be redrawn yet.
 			if (!hasPendingSetTopIndex())
@@ -1058,7 +1058,7 @@
 					}});
 			}
 		}
-		
+
 		if (!hasPendingUpdates() && fPendingFormatViewer)
 		{
 			formatViewer();
@@ -1069,7 +1069,7 @@
 	@Override
 	protected void clear(Widget item) {
 		super.clear(item);
-		
+
 		// this table viewer assumes that #getData will return null
 		// set data to null when clearing an item.
 		// only visible item will get SET DATA event again and at that time
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java
index 8c16264..18b1aa5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.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
  *******************************************************************************/
@@ -20,7 +20,7 @@
 
 /**
  * @since 3.0
- * 
+ *
  */
 public abstract class BasicDebugViewContentProvider implements IStructuredContentProvider, IDebugEventSetListener {
 
@@ -34,7 +34,7 @@
 	public void dispose() {
 		fDisposed= true;
 	}
-	
+
 	/**
 	 * Returns whether this content provider has already
 	 * been disposed.
@@ -43,7 +43,7 @@
 	protected boolean isDisposed() {
 		return fDisposed;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 	 */
@@ -60,7 +60,7 @@
 			}
 		}
 	}
-	
+
 	protected void syncExec(Runnable r) {
 		if (fViewer != null) {
 			Control ctrl= fViewer.getControl();
@@ -69,7 +69,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Refreshes the viewer - must be called in UI thread.
 	 */
@@ -78,7 +78,7 @@
 			fViewer.refresh();
 		}
 	}
-			
+
 	/**
 	 * Refresh the given element in the viewer - must be called in UI thread.
 	 * @param element the element to refresh in the viewer
@@ -88,7 +88,7 @@
 			 fViewer.refresh(element);
 		}
 	}
-	
+
 	/**
 	 * Handle debug events on the main thread.
 	 * @param event the debug event
@@ -109,7 +109,7 @@
 				}
 			}
 		};
-		
+
 		asyncExec(r);
 	}
 
@@ -121,7 +121,7 @@
 		for (int i=0; i < events.length; i++)
 			handleDebugEvent(events[i]);
 	}
-	
+
 	/**
 	 * Performs an update based on the event
 	 * @param event the debug event
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java
index 77e707a..09e3fce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.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
  *******************************************************************************/
@@ -23,7 +23,7 @@
 public class BigEndianAction implements IObjectActionDelegate {
 
 	AbstractIntegerRendering fRendering;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -39,7 +39,7 @@
 
 		if (fRendering == null)
 			return;
-		
+
 		if (fRendering.getDisplayEndianess() != RenderingsUtil.BIG_ENDIAN){
 			fRendering.setDisplayEndianess(RenderingsUtil.BIG_ENDIAN);
 			fRendering.refresh();
@@ -51,21 +51,21 @@
 	 */
 	@Override
 	public void selectionChanged(IAction action, ISelection selection) {
-		
+
 		if (selection == null)
 			return;
-		
+
 		if (selection instanceof IStructuredSelection)
 		{
 			Object obj = ((IStructuredSelection)selection).getFirstElement();
 			if (obj == null)
 				return;
-			
+
 			if (obj instanceof AbstractIntegerRendering)
 			{
 				fRendering = (AbstractIntegerRendering)obj;
 			}
-			
+
 			int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
 			if (fRendering.getDisplayEndianess() == RenderingsUtil.ENDIANESS_UNKNOWN)
 			{
@@ -94,7 +94,7 @@
 			}
 			else
 				endianess = fRendering.getDisplayEndianess();
-			
+
 			if (endianess == RenderingsUtil.BIG_ENDIAN)
 				action.setChecked(true);
 			else
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java
index 7c3b7fc..e0ddb88 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java
@@ -34,16 +34,16 @@
 
 /**
  * Toobar Copy View Tab to Clipboard action
- * 
+ *
  * @since 3.0
  */
 public class CopyTableRenderingToClipboardAction extends Action
 {
 	private final String COLUMN_SEPERATOR = "  "; //$NON-NLS-1$
-	
+
 	protected AbstractBaseTableRendering fRendering;
 	protected StructuredViewer fViewer;
-	
+
 	public CopyTableRenderingToClipboardAction(AbstractBaseTableRendering rendering, StructuredViewer viewer)
 	{
 		super();
@@ -61,31 +61,31 @@
 		if (itemList.length == 0) return null;
 
 		StringBuffer tableContents = new StringBuffer();
-		
+
 		Table table = (Table)fViewer.getControl();
 		int numColumns = table.getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();		
+		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();
 		TableColumn columns[] = table.getColumns();
-		
+
 		// get title of view tab
 		String label = fRendering.getLabel();
 		tableContents.append(label);
 		tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
 		tableContents.append(COLUMN_SEPERATOR);
-		
+
 		int charsPerByte = fRendering.getNumCharsPerByte();
 		if (charsPerByte < 0)
 			charsPerByte = 4;
-		
+
 		//get the column headers and line them up properly
 		for (int k=0; k < numColumns; k++) {
-			
+
 			StringBuffer columnLabel = new StringBuffer(columns[k].getText());
 			int numBytes = 0;
 			int numChars = 0;
-			
+
 			if (k > 0)
-			{	
+			{
 				numBytes = fRendering.getBytesPerColumn();
 				numChars = numBytes * charsPerByte;
 			}
@@ -106,7 +106,7 @@
 					}
 					else
 						numBytes = descriptor.getAddressSize();
-					
+
 					// check address size
 					if (numBytes <= 0)
 						numBytes = 4;
@@ -116,30 +116,30 @@
 					numBytes = 4;
 				}
 				numChars = numBytes*2;
-				
+
 			}
-			
+
 			 while (columnLabel.length() < numChars)
 			 {
 				 columnLabel.append(" "); //$NON-NLS-1$
 			 }
-				
-			tableContents.append(columnLabel);	
+
+			tableContents.append(columnLabel);
 			tableContents.append(COLUMN_SEPERATOR);
 		}
-		
+
 		tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
 		StringBuffer temp;
-			
+
 		//get the column contents from all the rows
 		for (int i=0; i < itemList.length; i++) {
 			for (int j=0; j < numColumns; j++) {
 				tableContents.append(COLUMN_SEPERATOR);
-				
+
 				temp = new StringBuffer(labelProvider.getColumnText(itemList[i].getData(), j));
-				
+
 				if (j>0)
-				{	
+				{
 					int numBytes = fRendering.getBytesPerColumn();
 					int numChars = numBytes * charsPerByte;
 					while (temp.length() < numChars)
@@ -147,28 +147,28 @@
 						temp.append(" "); //$NON-NLS-1$
 					}
 				}
-				
+
 				tableContents.append(temp);
 			}
 			tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
 		}
 		return tableContents.toString();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
 	@Override
 	public void run() {
-		
+
 		if (fRendering == null)
 			return;
-		
+
 		if (! (fViewer.getControl() instanceof Table))
 			return;
-		
+
 		Table table = (Table)fViewer.getControl();
-		
+
 		if (table == null)
 			return;
 		Clipboard clip= null;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java
index afedc2b..666ebf3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java
@@ -4,11 +4,11 @@
  *  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
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
- *                 display memory blocks that do not reference IDebugTarget     
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
+ *                 display memory blocks that do not reference IDebugTarget
  *     Wind River Systems - Ted Williams - [Memory View] Memory View: Workflow Enhancements (Bug 215432)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.views.memory.renderings;
@@ -65,12 +65,12 @@
 
 	private ListViewer fViewer;
 	private Label fMemoryBlockLabel;
-	private IMemoryRenderingContainer fContainer; 
+	private IMemoryRenderingContainer fContainer;
 	private Composite fCanvas;
 	private String fLabel;
-	
+
 	private String fTabLabel;
-	
+
 	public CreateRendering(IMemoryRenderingContainer container)
 	{
 		super("org.eclipse.debug.internal.ui.views.createrendering"); //$NON-NLS-1$
@@ -79,7 +79,7 @@
 
 	class MemoryRenderingLabelProvider implements ILabelProvider
 	{
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
 		 */
@@ -95,7 +95,7 @@
 		@Override
 		public String getText(Object element) {
 			if (element instanceof IMemoryRenderingType)
-			{	
+			{
 				String label = ((IMemoryRenderingType)element).getLabel();
 				return label;
 			}
@@ -132,7 +132,7 @@
 		}
 
 	}
-	
+
 	class MemoryRenderingContentProvider implements IStructuredContentProvider
 	{
 
@@ -150,7 +150,7 @@
 		 */
 		@Override
 		public void dispose() {
-			
+
 		}
 
 		/* (non-Javadoc)
@@ -159,9 +159,9 @@
 		@Override
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		}
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -172,54 +172,54 @@
 		compositeLayout.numColumns = 2;
 		compositeLayout.makeColumnsEqualWidth = false;
 		fCanvas.setLayout(compositeLayout);
-		
+
 		GridData comositeSpec= new GridData();
 		comositeSpec.grabExcessVerticalSpace= true;
 		comositeSpec.grabExcessHorizontalSpace= true;
 		comositeSpec.horizontalAlignment= GridData.FILL;
 		comositeSpec.verticalAlignment= GridData.CENTER;
 		fCanvas.setLayoutData(comositeSpec);
-		
+
 		fMemoryBlockLabel = new Label(fCanvas, SWT.BORDER);
-		
+
 		String memoryBlockLabel = " "; //$NON-NLS-1$
 		memoryBlockLabel = getLabel();
-		
-		fMemoryBlockLabel.setText("  " + DebugUIMessages.CreateRenderingTab_Memory_monitor + memoryBlockLabel + "  "); //$NON-NLS-1$ //$NON-NLS-2$ 
+
+		fMemoryBlockLabel.setText("  " + DebugUIMessages.CreateRenderingTab_Memory_monitor + memoryBlockLabel + "  "); //$NON-NLS-1$ //$NON-NLS-2$
 		GridData textLayout = new GridData();
 		textLayout.verticalAlignment=GridData.CENTER;
 		textLayout.horizontalAlignment=GridData.BEGINNING;
 		fMemoryBlockLabel.setLayoutData(textLayout);
 
 		Label renderingLabel = new Label(fCanvas, SWT.NONE);
-		renderingLabel.setText(DebugUIMessages.CreateRenderingTab_Select_renderings_to_create); 
+		renderingLabel.setText(DebugUIMessages.CreateRenderingTab_Select_renderings_to_create);
 		GridData renderingLayout = new GridData();
 		renderingLayout.horizontalAlignment = GridData.BEGINNING;
 		renderingLayout.verticalAlignment = GridData.CENTER;
 		renderingLayout.horizontalSpan = 2;
 		renderingLabel.setLayoutData(renderingLayout);
-		
+
 		fViewer = new ListViewer(fCanvas);
 		fViewer.setContentProvider(new MemoryRenderingContentProvider());
 		fViewer.setLabelProvider(new MemoryRenderingLabelProvider());
 		fViewer.setInput(getMemoryBlock());
-		
+
 		if (fViewer.getElementAt(0) != null)
 		{
 			fViewer.getList().select(0);
 		}
-		
+
 		GridData listLayout = new GridData(GridData.FILL_BOTH);
 		listLayout.horizontalSpan = 1;
 		fViewer.getControl().setLayoutData(listLayout);
-		
+
 		fViewer.addDoubleClickListener(new IDoubleClickListener (){
 
 			@Override
 			public void doubleClick(DoubleClickEvent event) {
 				addRenderings();
 			}});
-		
+
 		// listen for enter being pressed
 		fViewer.getList().addKeyListener(new KeyAdapter() {
 			@Override
@@ -227,14 +227,14 @@
 				if (e.character == SWT.CR)
 					addRenderings();
 			}});
-		
+
 		Button addButton = new Button(fCanvas, SWT.NONE);
-		addButton.setText(DebugUIMessages.CreateRenderingTab_Add_renderings); 
+		addButton.setText(DebugUIMessages.CreateRenderingTab_Add_renderings);
 		GridData buttonLayout = new GridData();
 		buttonLayout.horizontalAlignment = GridData.BEGINNING;
 		buttonLayout.verticalAlignment = GridData.BEGINNING;
 		addButton.setLayoutData(buttonLayout);
-		
+
 		addButton.addSelectionListener(new SelectionListener() {
 
 			@Override
@@ -246,44 +246,44 @@
 			public void widgetDefaultSelected(SelectionEvent e) {
 				addRenderings();
 			}});
-		
+
 		DebugUITools.getMemoryRenderingManager().addListener(this);
-		
-		return fCanvas;		
+
+		return fCanvas;
 	}
-	
+
 	private void addRenderings()
-	{									
+	{
 		ISelection selection = fViewer.getSelection();
 		Object[] renderings = null;
-		
+
 		if (selection instanceof IStructuredSelection)
 		{
 			IStructuredSelection strucSelection = (IStructuredSelection)selection;
-			
+
 			renderings = strucSelection.toArray();
 		}
-		
+
 		if (renderings == null)
 		{
 			Status stat = new Status(
 					IStatus.ERROR,DebugUIPlugin.getUniqueIdentifier(),
-					DebugException.INTERNAL_ERROR, DebugUIMessages.CreateRenderingTab_0, null); 
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.CreateRenderingTab_1, DebugUIMessages.CreateRenderingTab_2, stat); // 
+					DebugException.INTERNAL_ERROR, DebugUIMessages.CreateRenderingTab_0, null);
+			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.CreateRenderingTab_1, DebugUIMessages.CreateRenderingTab_2, stat); //
 			return;
 		}
-										
+
 		// ask for debug target and memory block retrieval
 		IMemoryBlockRetrieval standardMemRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(getMemoryBlock());
-		
+
 		if (standardMemRetrieval == null)
 			return;
-				
+
 		// make a copy of the container, may be diposed when a rendering is added
 		IMemoryRenderingContainer container = fContainer;
 		// add memory renderings to Memory Rendering Manager
 		for (int i=0; i<renderings.length; i++)
-		{	
+		{
 			if (renderings[i] instanceof IMemoryRenderingType)
 			{
 				try {
@@ -294,11 +294,11 @@
 						container.addMemoryRendering(rendering);
 					}
 				} catch (CoreException e) {
-					
-					MemoryViewUtil.openError(DebugUIMessages.CreateRendering_0, DebugUIMessages.CreateRendering_1, e);  // 
+
+					MemoryViewUtil.openError(DebugUIMessages.CreateRendering_0, DebugUIMessages.CreateRendering_1, e);  //
 				}
-			}					
-		}		
+			}
+		}
 	}
 
 	/* (non-Javadoc)
@@ -333,26 +333,26 @@
 			fTabLabel = DebugUIMessages.CreateRendering_2;
 			updateRenderingLabel();
 		}
-		
+
 		return fTabLabel;
 	}
-	
+
 	@Override
 	public Image getImage() {
 		return DebugUIPlugin.getImageDescriptorRegistry().get(
 				DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION));
 	}
-	
+
 	@Override
 	public void becomesVisible() {
 		// Do nothing, do not want to connect/disconnect from clients
 	}
-	
+
 	@Override
 	public void becomesHidden() {
 		// Do nothing, do not want to connect/disconnect from clients
 	}
-	
+
 	protected void updateRenderingLabel()
 	{
 		Job job = new Job("Update Rendering Label"){ //$NON-NLS-1$
@@ -361,9 +361,9 @@
 			protected IStatus run(IProgressMonitor monitor) {
 				fLabel = CreateRendering.super.getLabel();
 				fTabLabel = DebugUIMessages.CreateRenderingTab_label ;
-				
+
 				firePropertyChangedEvent(new PropertyChangeEvent(CreateRendering.this, IBasicPropertyConstants.P_TEXT, null, fTabLabel));
-				
+
 				WorkbenchJob wbJob = new WorkbenchJob("Create Rendering Update Label"){ //$NON-NLS-1$
 
 					@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java
index 0445ba2..b54a492 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.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
  *******************************************************************************/
@@ -56,13 +56,13 @@
 	public void selectionChanged(IAction action, ISelection selection) {
 		if (selection == null)
 			return;
-		
+
 		if (selection instanceof IStructuredSelection)
 		{
 			Object obj = ((IStructuredSelection)selection).getFirstElement();
 			if (obj == null)
 				return;
-			
+
 			if (obj instanceof AbstractIntegerRendering)
 			{
 				fRendering = (AbstractIntegerRendering)obj;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java
index 721d86c..aea3012 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.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
  *******************************************************************************/
@@ -33,7 +33,7 @@
 	private TextViewer fTextViewer;
 	private String fRenderingId;
 	private Throwable fException;
-	
+
 	/**
 	 * @param renderingId - id of rendering that the memory view has failed
 	 * to create.
@@ -44,35 +44,35 @@
 		fRenderingId = renderingId;
 		fException = exception;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	public Control createControl(Composite parent) {
-		fTextViewer = new TextViewer(parent, SWT.READ_ONLY);		
+		fTextViewer = new TextViewer(parent, SWT.READ_ONLY);
 		fTextViewer.setDocument(new Document());
 		StyledText styleText = fTextViewer.getTextWidget();
-		
-		styleText.setText("\r\n\r\n" + DebugUIMessages.EmptyViewTab_Unable_to_create + "\n" + getRenderingName() + "\n\n" + DebugUIMessages.ErrorRendering_0 + fException.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$  
-		
-		
+
+		styleText.setText("\r\n\r\n" + DebugUIMessages.EmptyViewTab_Unable_to_create + "\n" + getRenderingName() + "\n\n" + DebugUIMessages.ErrorRendering_0 + fException.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+
 		return fTextViewer.getControl();
 	}
-	
+
 
 	/**
-	 * 
+	 *
 	 */
 	private String getRenderingName() {
-		
+
 		if (DebugUITools.getMemoryRenderingManager().getRenderingType(fRenderingId)!= null)
 		{
 			String name =
 				DebugUITools.getMemoryRenderingManager()
 				.getRenderingType(fRenderingId)
 				.getLabel();
-			
+
 			return name;
 		}
 		return "Unknown"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java
index 5e0c045..494eb44 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java
@@ -20,10 +20,10 @@
 public class FormatTableRenderingAction extends Action {
 
 	private AbstractBaseTableRendering fRendering;
-	
+
 	int fColumnSize = -1;
 	int fRowSize = -1;
-	
+
 	public FormatTableRenderingAction(AbstractBaseTableRendering rendering)
 	{
 		fRendering = rendering;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java
index fdae555..2b1ba3c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java
@@ -47,13 +47,13 @@
 
 		// possible number of addressable units per column
 		private int[] fColumnSizes = new int[] {1, 2, 4, 8, 16, 32, 64, 128};
-		
+
 		// possible number of addressable units per column
 		private int[] fRowSizes = new int[] {1, 2, 4, 8, 16, 32, 64, 128};
-		
+
 		private Combo fColumnControl;
 		private Combo fRowControl;
-		
+
 		private int fCurrentColIdx = -1;
 		private int fCurrentRowIdx = -1;
 		private Control fPreivewPage;
@@ -67,7 +67,7 @@
 		private Label fMsgLabel;
 		private boolean fDisableCancel = false;
 		private String fMsg;
-		
+
 
 		public FormatTableRenderingDialog(AbstractBaseTableRendering rendering, Shell parentShell) {
 			super(parentShell);
@@ -75,12 +75,12 @@
 			fRendering = rendering;
 			fMsg = DebugUIMessages.FormatTableRenderingAction_1;
 		}
-		
+
 		@Override
 		protected Control createDialogArea(Composite parent) {
 			getShell().setText(DebugUIMessages.FormatTableRenderingAction_0);
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".FormatTableRenderingDialog_context"); //$NON-NLS-1$
-			
+
 			Composite composite = new Composite(parent, SWT.NONE);
 			GridLayout layout = new GridLayout();
 			layout.numColumns = 3;
@@ -92,16 +92,16 @@
 			data.horizontalAlignment = SWT.FILL;
 			data.verticalAlignment = SWT.FILL;
 			composite.setLayoutData(data);
-			
+
 			fMsgLabel = new Label(composite, SWT.NONE);
 			fMsgLabel.setText(fMsg);
-			
+
 			data = new GridData();
 			data.grabExcessHorizontalSpace = true;
 			data.horizontalAlignment = SWT.BEGINNING;
 			data.horizontalSpan = 3;
 			fMsgLabel.setLayoutData(data);
-			
+
 			Label rowLabel = new Label(composite, SWT.NONE);
 			rowLabel.setText(DebugUIMessages.FormatTableRenderingAction_2);
 			fRowControl = new Combo(composite, SWT.READ_ONLY);
@@ -109,7 +109,7 @@
 			{
 				fRowControl.add(String.valueOf(fRowSizes[i]));
 			}
-			
+
 			fRowControl.addSelectionListener(new SelectionListener() {
 
 				@Override
@@ -125,15 +125,15 @@
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {
 				}});
-			
+
 			data = new GridData();
 			data.grabExcessHorizontalSpace = false;
 			data.horizontalAlignment = SWT.BEGINNING;
 			fRowControl.setLayoutData(data);
-			
+
 			Label unit = new Label(composite, SWT.NONE);
-			unit.setText(DebugUIMessages.FormatTableRenderingAction_3);		
-			
+			unit.setText(DebugUIMessages.FormatTableRenderingAction_3);
+
 			Label columnLabel = new Label(composite, SWT.NONE);
 			columnLabel.setText(DebugUIMessages.FormatTableRenderingAction_4);
 			fColumnControl = new Combo(composite, SWT.READ_ONLY);
@@ -141,7 +141,7 @@
 			{
 				fColumnControl.add(String.valueOf(fColumnSizes[i]));
 			}
-			
+
 			fColumnControl.addSelectionListener(new SelectionListener() {
 
 				@Override
@@ -157,17 +157,17 @@
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {
 				}});
-			
+
 			data = new GridData();
 			data.grabExcessHorizontalSpace = false;
 			data.horizontalAlignment = SWT.BEGINNING;
 			fColumnControl.setLayoutData(data);
-			
+
 			unit = new Label(composite, SWT.NONE);
 			unit.setText(DebugUIMessages.FormatTableRenderingAction_5);
-			
+
 			populateDialog();
-			
+
 			fDefaultButton = new Button(composite, SWT.NONE);
 			fDefaultButton.setText(DebugUIMessages.FormatTableRenderingAction_8);
 			data = new GridData();
@@ -176,7 +176,7 @@
 			data.horizontalAlignment = SWT.END;
 			data.horizontalSpan = 3;
 			fDefaultButton.setLayoutData(data);
-			
+
 			fDefaultButton.addSelectionListener(new SelectionListener() {
 
 				@Override
@@ -186,9 +186,9 @@
 
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {
-					
+
 				}});
-			
+
 			Group group = new Group(composite, SWT.NONE);
 			group.setText(DebugUIMessages.FormatTableRenderingAction_7);
 			group.setLayout(new GridLayout());
@@ -199,7 +199,7 @@
 			data.verticalAlignment = SWT.FILL;
 			data.horizontalSpan = 3;
 			group.setLayoutData(data);
-			
+
 			fPreviewPageBook = new PageBook(group, SWT.NONE);
 			data = new GridData();
 			data.grabExcessHorizontalSpace = true;
@@ -207,46 +207,46 @@
 			data.horizontalAlignment = SWT.FILL;
 			data.verticalAlignment = SWT.FILL;
 			fPreviewPageBook.setLayoutData(data);
-			
+
 			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
 			int colSize = fColumnSizes[fColumnControl.getSelectionIndex()];
 
 			fPreivewPage = createPreviewPage(fPreviewPageBook, rowSize, colSize);
 			fPreviewPageBook.showPage(fPreivewPage);
-			
+
 			Label defaultRow = new Label(composite, SWT.NONE);
 			defaultRow.setText(DebugUIMessages.FormatTableRenderingDialog_0);
 			fDefaultRowValue = new Text(composite, SWT.READ_ONLY);
-			
+
 			int defRow = getDefaultRowSize();
-						
+
 			fDefaultRowValue.setText(String.valueOf(defRow));
 			Label def = new Label(composite, SWT.NONE);
 			def.setText(DebugUIMessages.FormatTableRenderingDialog_1);
-			
+
 			data = new GridData();
 			data.grabExcessHorizontalSpace = true;
 			data.grabExcessVerticalSpace = true;
 			data.horizontalAlignment = SWT.BEGINNING;
 			def.setLayoutData(data);
-			
-			
+
+
 			Label defaultCol = new Label(composite, SWT.NONE);
 			defaultCol.setText(DebugUIMessages.FormatTableRenderingDialog_2);
 			fDefaultColValue = new Text(composite, SWT.READ_ONLY);
-			
+
 			int defCol = getDefaultColumnSize();
-			
+
 			fDefaultColValue.setText(String.valueOf(defCol));
 			def = new Label(composite, SWT.NONE);
 			def.setText(DebugUIMessages.FormatTableRenderingDialog_3);
-			
+
 			data = new GridData();
 			data.grabExcessHorizontalSpace = true;
 			data.grabExcessVerticalSpace = true;
 			data.horizontalAlignment = SWT.BEGINNING;
 			def.setLayoutData(data);
-			
+
 			Button restoreButton = new Button(composite, SWT.NONE);
 			restoreButton.setText(DebugUIMessages.FormatTableRenderingAction_6);
 			restoreButton.addSelectionListener(new SelectionListener() {
@@ -263,7 +263,7 @@
 			data.horizontalSpan = 3;
 			data.verticalAlignment = SWT.CENTER;
 			restoreButton.setLayoutData(data);
-			
+
 			return composite;
 		}
 
@@ -274,7 +274,7 @@
 			fRowSize = fRowSizes[fRowControl.getSelectionIndex()];
 			super.okPressed();
 		}
-		
+
 		private void populateDialog()
 		{
 			int currentColSize = fRendering.getAddressableUnitPerColumn();
@@ -295,84 +295,84 @@
 			control.select(idx);
 			return idx;
 		}
-		
+
 		private Control createPreviewPage(Composite parent, int rowSize, int colSize)
-		{			
+		{
 			if (!isValid(rowSize, colSize))
-			{	
+			{
 				Label label = new Label(parent, SWT.NONE);
 				StringBuffer errorMsg = new StringBuffer();
 				errorMsg.append(DebugUIMessages.FormatTableRenderingAction_9);
 				errorMsg.append("\n"); //$NON-NLS-1$
 				errorMsg.append(DebugUIMessages.FormatTableRenderingAction_11);
-				
+
 				if (colSize > rowSize)
 				{
 					errorMsg.append("\n"); //$NON-NLS-1$
 					errorMsg.append(DebugUIMessages.FormatTableRenderingAction_13);
 				}
-				
+
 				label.setText(errorMsg.toString());
-				
+
 				return label;
 			}
-			
+
 			Table table = new Table(parent, SWT.BORDER);
 			table.setHeaderVisible(true);
-			
+
 			int numCol = rowSize/colSize;
-			
+
 			TableColumn addressCol = new TableColumn(table, SWT.NONE);
-			
+
 			TableColumn[] columns = new TableColumn[numCol];
 			for (int i=0; i<columns.length; i++)
 			{
 				columns[i] = new TableColumn(table, SWT.NONE);
 			}
-			
+
 			StringBuffer buf = new StringBuffer();
 			for (int j=0; j<colSize; j++)
 			{
 				buf.append("X"); //$NON-NLS-1$
 			}
-			
+
 			for (int i = 0; i < 4; i++) {
 				TableItem tableItem = new TableItem(table, SWT.NONE);
-				
+
 				String[] text = new String[numCol + 1];
 				text[0] = DebugUIMessages.FormatTableRenderingAction_15;
 				for (int j=1; j<text.length; j++)
 				{
-					text[j] = buf.toString(); 
+					text[j] = buf.toString();
 				}
-				
+
 				tableItem.setText(text);
 			}
-			
+
 			addressCol.pack();
 			for (int i=0; i<columns.length; i++)
 			{
 				columns[i].pack();
 			}
-			
-			
+
+
 			return table;
 		}
-		
+
 		private boolean isValid(int rowSize, int colSize)
 		{
 			if (rowSize % colSize != 0)
 				return false;
-			
+
 			if (colSize > rowSize)
 				return false;
-			
+
 			return true;
 		}
 
 		private void refreshPreviewPage() {
 			fPreivewPage.dispose();
-			
+
 			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
 			int colSize = fColumnSizes[fColumnControl.getSelectionIndex()];
 			fPreivewPage = createPreviewPage(fPreviewPageBook, rowSize, colSize);
@@ -387,8 +387,8 @@
 			{
 				button.setEnabled(false);
 				fDefaultButton.setEnabled(false);
-				
-				
+
+
 			}
 			else
 			{
@@ -406,7 +406,7 @@
 			String colPrefId = IDebugPreferenceConstants.PREF_COLUMN_SIZE + ":" + modelId; //$NON-NLS-1$
 			return colPrefId;
 		}
-		
+
 		private int getDefaultRowSize()
 		{
 			int size = -1;
@@ -416,12 +416,12 @@
 				if (elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL))
 					return getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL);
 			}
-			
+
 			size = getDefaultRowSize(fRendering.getMemoryBlock().getModelIdentifier());
-			
+
 			return size;
 		}
-		
+
 		private int getDefaultColumnSize()
 		{
 			int size = -1;
@@ -435,7 +435,7 @@
 			size = getDefaultColumnSize(fRendering.getMemoryBlock().getModelIdentifier());
 			return size;
 		}
-		
+
 		private int getDefaultRowSize(String modelId)
 		{
 			int row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
@@ -444,11 +444,11 @@
 				DebugUITools.getPreferenceStore().setValue(getRowPrefId(modelId), IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
 				row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
 			}
-			
+
 			return row;
-			
+
 		}
-		
+
 		private int getDefaultColumnSize(String modelId)
 		{
 			int col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
@@ -464,9 +464,9 @@
 		private void saveDefaults() {
 			int columnSize = fColumnSizes[fColumnControl.getSelectionIndex()];
 			int rowSize = fRowSizes[fRowControl.getSelectionIndex()];
-			
+
 			IPersistableDebugElement elmt = fRendering.getMemoryBlock().getAdapter(IPersistableDebugElement.class);
-			
+
 			if (elmt != null && elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_ROW_SIZE_BY_MODEL)
 				&& elmt.supportsProperty(fRendering, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL))
 			{
@@ -482,37 +482,37 @@
 				// save preference
 				// find model id
 				String modelId = fRendering.getMemoryBlock().getModelIdentifier();
-				
+
 				// constrcut preference id
 				String rowPrefId = getRowPrefId(modelId);
 				String colPrefId = getColumnPrefId(modelId);
-				
+
 				// save setting
 				IPreferenceStore prefStore = DebugUITools.getPreferenceStore();
 				prefStore.setValue(rowPrefId, rowSize);
 				prefStore.setValue(colPrefId, columnSize);
 			}
-			
+
 			fDefaultColValue.setText(String.valueOf(getDefaultColumnSize()));
 			fDefaultRowValue.setText(String.valueOf(getDefaultRowSize()));
-			
+
 			fDefaultRowValue.getParent().layout();
 		}
 
 		private void restoreDefaults() {
 
-			// Determine the default values by using the following search order: 
+			// Determine the default values by using the following search order:
 			// IPersistableDebugElement, workspace preference, plugin defaults
-			// issue: 248486 
+			// issue: 248486
 			int defaultRowSize = getDefaultRowSize();
 			int defaultColSize = getDefaultColumnSize();
-			
+
 			populateControl(defaultRowSize, fRowSizes, fRowControl);
 			populateControl(defaultColSize, fColumnSizes, fColumnControl);
-			
+
 			fCurrentRowIdx = fRowControl.getSelectionIndex();
 			fCurrentColIdx = fColumnControl.getSelectionIndex();
-			
+
 			refreshPreviewPage();
 			updateButtons();
 		}
@@ -524,7 +524,7 @@
 		public int getRowSize() {
 			return fRowSize;
 		}
-		
+
 		public void setCurrentRowColSizes(int row, int col)
 		{
 			fCurrentColIdx = populateControl(col, fColumnSizes, fColumnControl);
@@ -539,14 +539,14 @@
 			updateButtons();
 			return ret;
 		}
-		
+
 		public void openError(String msg)
 		{
 			fDisableCancel = true;
 			fMsg = msg;
 			open();
 		}
-		
+
 		private int getDefaultFromPersistableElement(String propertyId) {
 			int defaultValue = -1;
 			IPersistableDebugElement elmt = fRendering.getMemoryBlock().getAdapter(IPersistableDebugElement.class);
@@ -559,7 +559,7 @@
 						IStatus status = DebugUIPlugin.newErrorStatus("Model returned invalid type on " + propertyId, null); //$NON-NLS-1$
 						DebugUIPlugin.log(status);
 					}
-					
+
 					if (valueMB != null)
 					{
 						Integer value = (Integer)valueMB;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java
index bfa2453..0380b37 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java
@@ -39,22 +39,22 @@
 
 /**
  * Go To Address Action for table rendering
- * 
+ *
  * @since 3.0
  */
 public class GoToAddressAction extends Action
 {
     private IMemoryRenderingContainer fContainer;
 	private IRepositionableMemoryRendering fRendering;
-	
+
 	public GoToAddressAction(IMemoryRenderingContainer container, IRepositionableMemoryRendering rendering)
-	{		
+	{
 		super(DebugUIMessages.GoToAddressAction_title);
 		fContainer = container;
 		setToolTipText(DebugUIMessages.GoToAddressAction_title);
-		
+
 		fRendering = rendering;
-		
+
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".GoToAddressAction_context"); //$NON-NLS-1$
 	}
 	/* (non-Javadoc)
@@ -64,36 +64,36 @@
 	public void run()
 	{
 		try
-		{	
+		{
 			Shell shell= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-		
+
 			// create dialog to ask for expression/address to block
 			GoToAddressDialog dialog = new GoToAddressDialog(shell);
 			dialog.open();
-		
+
 			int returnCode = dialog.getReturnCode();
-		
+
 			if (returnCode == Window.CANCEL)
 			{
 				return;
 			}
-		
+
 			// get expression from dialog
 			String expression = dialog.getExpression();
-			
+
 			expression = parseExpression(expression);
-			
+
 			doGoToAddress(expression);
 		}
 		// open error in case of any error
 		catch (DebugException e)
 		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
+			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed,
 				DebugUIMessages.GoToAddressAction_Go_to_address_failed, e);
 		}
 		catch (NumberFormatException e1)
 		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
+			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed,
 				DebugUIMessages.GoToAddressAction_Address_is_invalid, null);
 		}
 	}
@@ -104,7 +104,7 @@
 	public String parseExpression(String expression) {
 		expression = expression.toUpperCase();
 		expression = expression.trim();
-		
+
 		if (expression.startsWith("0X")) //$NON-NLS-1$
 		{
 			expression = expression.substring(2);
@@ -118,7 +118,7 @@
 	public void doGoToAddress(String expression) throws DebugException, NumberFormatException {
 		// convert expression to address
 		BigInteger address = new BigInteger(expression, 16);
-		
+
 		// look at this address and figure out if a new memory block should
 		// be opened.
 		IMemoryBlock mb = fRendering.getMemoryBlock();
@@ -127,15 +127,15 @@
 			IMemoryBlockExtension mbExt = (IMemoryBlockExtension)mb;
 			BigInteger mbStart = mbExt.getMemoryBlockStartAddress();
 			BigInteger mbEnd = mbExt.getMemoryBlockEndAddress();
-			
+
 			if (mbStart != null)
 			{
 				// if trying to go beyond the start address
 				// of the memory block
 				if (address.compareTo(mbStart) < 0)
 				{
-					IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(mbExt);					
-					
+					IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(mbExt);
+
 					// add a new memory block and then the same rendering as fRendering
 					// in the same container.
 					if (retrieval != null && retrieval instanceof IMemoryBlockRetrievalExtension)
@@ -152,7 +152,7 @@
 				if (address.compareTo(mbEnd) > 0)
 				{
 					IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(mbExt);
-										
+
 					// add a new memory block and then the same rendering as fRendering
 					// in the same container.
 					if (retrieval != null && retrieval instanceof IMemoryBlockRetrievalExtension)
@@ -163,34 +163,34 @@
 				}
 			}
 		}
-		
+
 		// go to specified address
 		fRendering.goToAddress(address);
 	}
-	
+
 	private void addNewMemoryBlock(String expression, IMemoryBlockRetrievalExtension retrieval)
 	{
 		Object elem = DebugUITools.getPartDebugContext(fContainer.getMemoryRenderingSite().getSite());
-		
+
 		if (!(elem instanceof IDebugElement))
 			return;
-		 
+
 		try {
 			if (retrieval != null)
-			{	
+			{
 				IMemoryBlockExtension mbext = retrieval.getExtendedMemoryBlock(expression, elem);
 				if (mbext != null)
 				{
 					IMemoryBlock[] memArray = new IMemoryBlock[]{mbext};
 					DebugPlugin.getDefault().getMemoryBlockManager().addMemoryBlocks(memArray);
 				}
-				
+
 				IMemoryRenderingType renderingType = DebugUITools.getMemoryRenderingManager().getRenderingType(fRendering.getRenderingId());
-				
+
 				if (renderingType != null)
 				{
 					IMemoryRendering rendering = renderingType.createRendering();
-					
+
 					if (rendering != null && fRendering instanceof AbstractMemoryRendering)
 					{
 						rendering.init(((AbstractMemoryRendering)fRendering).getMemoryRenderingContainer(), mbext);
@@ -199,11 +199,11 @@
 				}
 			}
 		} catch (DebugException e) {
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
+			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed,
 			DebugUIMessages.GoToAddressAction_Go_to_address_failed, e);
 		} catch (CoreException e)
 		{
-			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed, 
+			MemoryViewUtil.openError(DebugUIMessages.GoToAddressAction_Go_to_address_failed,
 			DebugUIMessages.GoToAddressAction_Go_to_address_failed, e);
 		}
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java
index 2fd4ef7..29ca117 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressComposite.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
  *******************************************************************************/
@@ -26,7 +26,7 @@
 import org.eclipse.ui.PlatformUI;
 
 public class GoToAddressComposite {
-	
+
 	private Text fExpression;
 	private Button fOKButton;
 	private Button fCancelButton;
@@ -48,7 +48,7 @@
 		layout.marginHeight = 0;
 		layout.marginLeft = 0;
 		fComposite.setLayout(layout);
-		
+
 		fGoToCombo = new Combo(fComposite, SWT.READ_ONLY);
 		fGoToCombo.add(DebugUIMessages.GoToAddressComposite_0);
 		fGoToCombo.add(DebugUIMessages.GoToAddressComposite_4);
@@ -57,26 +57,26 @@
 
 		fExpression = new Text(fComposite, SWT.SINGLE | SWT.BORDER);
 		fExpression.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
+
 		fHexButton = new Button(fComposite, SWT.CHECK);
 		fHexButton.setText(DebugUIMessages.GoToAddressComposite_6);
 		fHexButton.setSelection(true);
-		
+
 		fOKButton = new Button(fComposite, SWT.NONE);
 		fOKButton.setText(DebugUIMessages.GoToAddressComposite_1);
-		
+
 		fCancelButton = new Button(fComposite, SWT.NONE);
 		fCancelButton.setText(DebugUIMessages.GoToAddressComposite_2);
-		
+
 		return fComposite;
 	}
-	
+
 	public int getHeight()
 	{
 		int height = fComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
 		return height;
 	}
-	
+
 	public Button getButton(int id)
 	{
 		if (id == IDialogConstants.OK_ID)
@@ -85,46 +85,46 @@
 			return fCancelButton;
 		return null;
 	}
-	
+
 	public String getExpressionText()
 	{
 		return fExpression.getText();
 	}
-	
+
 	public Text getExpressionWidget()
 	{
 		return fExpression;
 	}
-	
+
 	public boolean isGoToAddress()
 	{
 		return fGoToCombo.getSelectionIndex() == 0;
 	}
-	
+
 	public boolean isOffset()
 	{
 		return fGoToCombo.getSelectionIndex() == 1;
 	}
-	
+
 	public boolean isJump()
 	{
 		return fGoToCombo.getSelectionIndex() == 2;
 	}
-	
+
 	public boolean isHex()
 	{
 		return fHexButton.getSelection();
 	}
-	
+
 	public BigInteger getGoToAddress(BigInteger baseAddress, BigInteger selectedAddress) throws NumberFormatException
 	{
 		boolean add = true;
 		String expression = getExpressionText();
 		boolean hex = isHex();
 		int radix = hex?16:10;
-		
+
 		expression = expression.trim();
-		
+
 		if (isGoToAddress())
 		{
 			expression = expression.toUpperCase();
@@ -133,7 +133,7 @@
 				expression = expression.substring(2);
 				radix = 16;
 			}
-			
+
 			return new BigInteger(expression, radix);
 		}
 
@@ -146,15 +146,15 @@
 			expression = expression.substring(1);
 			add = false;
 		}
-		
+
 		expression = expression.toUpperCase();
 		if (expression.startsWith("0X")) //$NON-NLS-1$
 		{
 			expression = expression.substring(2);
 			radix = 16;
 		}
-		
-		BigInteger gotoAddress = new BigInteger(expression, radix); 
+
+		BigInteger gotoAddress = new BigInteger(expression, radix);
 
 		BigInteger address = baseAddress;
 		if (isJump())
@@ -162,12 +162,12 @@
 
 		if (address == null)
 			throw new NumberFormatException(DebugUIMessages.GoToAddressComposite_7);
-		
+
 		if (add)
 			gotoAddress = address.add(gotoAddress);
 		else
 			gotoAddress = address.subtract(gotoAddress);
-		
+
 		return gotoAddress;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java
index fa2c7b7..ba9500d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java
@@ -21,7 +21,7 @@
  * @since 3.3
  */
 public class HexIntegerRendering extends AbstractIntegerRendering {
-	
+
 	public HexIntegerRendering(String renderingId)
 	{
 		super(renderingId);
@@ -37,7 +37,7 @@
 		int endianess = getEndianness(data);
 
 		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
+
         if (endianess == RenderingsUtil.LITTLE_ENDIAN) {
             MemoryByte[] swapped = new MemoryByte[data.length];
             for (int i = 0; i < data.length; i++){
@@ -45,7 +45,7 @@
             }
             data = swapped;
         }
-        
+
 		for (int i=0; i<data.length; i++)
 		{
 			if (data[i].isReadable())
@@ -58,7 +58,7 @@
 				strBuffer.append(paddedStr);
 			}
 		}
-		
+
 		return strBuffer.toString().toUpperCase();
 	}
 
@@ -85,8 +85,8 @@
 
 		int endianess = getEndianness(currentValues);
 		byte[] bytes = RenderingsUtil.convertHexStringToByteArray(data, currentValues.length, getNumCharsPerByte());
-		
-		
+
+
         if (endianess == RenderingsUtil.LITTLE_ENDIAN) {
             byte[] swapped = new byte[bytes.length];
             for (int i = 0; i < bytes.length; i++){
@@ -94,15 +94,15 @@
             }
            bytes = swapped;
         }
-        
+
 		return bytes;
 	}
-	
+
 	@Override
 	public int getNumCharsPerByte()
 	{
 		return 2;
 	}
 
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java
index 9e994e3..1259602 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java
@@ -22,7 +22,7 @@
  * @since 3.1
  */
 public class HexRendering extends AbstractAsyncTableRendering {
-	
+
 	public HexRendering(String renderingId)
 	{
 		super(renderingId);
@@ -37,7 +37,7 @@
 		StringBuffer strBuffer = new StringBuffer();
 
 		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
+
 		for (int i=0; i<data.length; i++)
 		{
 			if (data[i].isReadable())
@@ -50,7 +50,7 @@
 				strBuffer.append(paddedStr);
 			}
 		}
-		
+
 		return strBuffer.toString().toUpperCase();
 	}
 
@@ -61,14 +61,14 @@
 	public byte[] getBytes(String dataType, BigInteger address,
 			MemoryByte[] currentValues, String data) {
 		byte[] bytes = RenderingsUtil.convertHexStringToByteArray(data, currentValues.length, getNumCharsPerByte());
-		
+
 		return bytes;
 	}
-	
+
 	@Override
 	public int getNumCharsPerByte()
 	{
 		return 2;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java
index 9d9ab49..ce35e31 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java
index 87d4b8f..8aa6ff1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IContentChangeComputer.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
  *******************************************************************************/
@@ -12,13 +12,13 @@
 package org.eclipse.debug.internal.ui.views.memory.renderings;
 
 public interface IContentChangeComputer {
-	
+
 	public void clearCache();
-	
+
 	public void cache(Object[] elements);
-	
-	public Object[] compare(Object[] newElements); 
-	
+
+	public Object[] compare(Object[] newElements);
+
 	public boolean isEmpty();
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java
index 667e224..493b17d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IPresentationErrorListener.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
  *******************************************************************************/
@@ -15,6 +15,6 @@
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IStatusMonitor;
 
 public interface IPresentationErrorListener {
-	
+
 	public void handlePresentationFailure(IStatusMonitor monitor, IStatus status);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java
index ee18fc8..86e3217 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/IVirtualContentListener.java
@@ -12,20 +12,20 @@
 package org.eclipse.debug.internal.ui.views.memory.renderings;
 
 public interface IVirtualContentListener {
-	
+
 	public int BUFFER_START = 0;
 	public int BUFFER_END = 1;
-	
+
 	/**
 	 * Called when the viewer is at the beginning of its bufferred content
 	 */
 	public void handledAtBufferStart();
-	
+
 	/**
 	 * Called when viewer is at the end of its bufferred content
 	 */
 	public void handleAtBufferEnd();
-	
+
 	/**
 	 * @return
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java
index fa4a3e1..8314afc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.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
  *******************************************************************************/
@@ -25,7 +25,7 @@
 public class LittleEndianAction implements IObjectActionDelegate {
 
 	AbstractIntegerRendering fRendering;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -41,7 +41,7 @@
 
 		if (fRendering == null)
 			return;
-		
+
 		if (fRendering.getDisplayEndianess() != RenderingsUtil.LITTLE_ENDIAN){
 			fRendering.setDisplayEndianess(RenderingsUtil.LITTLE_ENDIAN);
 			fRendering.refresh();
@@ -55,23 +55,23 @@
 	public void selectionChanged(IAction action, ISelection selection) {
 		if (selection == null)
 			return;
-		
+
 		if (selection instanceof IStructuredSelection)
 		{
 			Object obj = ((IStructuredSelection)selection).getFirstElement();
 			if (obj == null)
 				return;
-			
+
 			if (obj instanceof AbstractIntegerRendering)
 			{
 				fRendering = (AbstractIntegerRendering)obj;
 			}
-			
+
 			int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
 			if (fRendering.getDisplayEndianess() == RenderingsUtil.ENDIANESS_UNKNOWN)
 			{
 				MemoryByte[] selectedBytes = fRendering.getSelectedAsBytes();
-					
+
 				for (int i=0; i<selectedBytes.length; i++)
 				{
 					if (!selectedBytes[i].isEndianessKnown())
@@ -96,12 +96,12 @@
 			}
 			else
 				endianess = fRendering.getDisplayEndianess();
-			
+
 			if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 				action.setChecked(true);
 			else
 				action.setChecked(false);
-		}		
+		}
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
index f9fe711..9f370c1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java
@@ -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
  *******************************************************************************/
@@ -18,38 +18,38 @@
 import org.eclipse.debug.core.model.MemoryByte;
 
 public class MemorySegment extends PlatformObject {
-	
+
 	private BigInteger fAddress;
 	private BigInteger fEndAddress;
 	private MemoryByte[] fBytes;
 	private int fNumAddressableUnits;
-	
+
 	public MemorySegment(BigInteger address, MemoryByte[] bytes, int numAddressableUnits)
 	{
 		fAddress = address;
 		fBytes = bytes;
 		fNumAddressableUnits = numAddressableUnits;
 	}
-	
+
 	public BigInteger getAddress() {
 		return fAddress;
 	}
-	
+
 	public MemoryByte[] getBytes() {
 		return fBytes;
 	}
-	
+
 	public int getNumAddressableUnits() {
 		return fNumAddressableUnits;
 	}
-	
+
 	public boolean containsAddress(BigInteger address)
 	{
 		if (getAddress().compareTo(address) <= 0 && getEndAddress().compareTo(address) >= 0)
 			return true;
 		return false;
 	}
-	
+
 	public BigInteger getEndAddress()
 	{
 		if (fEndAddress == null)
@@ -58,7 +58,7 @@
 		}
 		return fEndAddress;
 	}
-	
+
 	/**
 	 * @param start - zero-based start offset
 	 * @param length - number of bytes to get
@@ -68,17 +68,17 @@
 	{
 		if (start < 0)
 			return new MemoryByte[0];
-		
+
 		if (start + length > fBytes.length)
 			return new MemoryByte[0];
-		
+
 		ArrayList<MemoryByte> ret = new ArrayList<MemoryByte>();
-		
+
 		for (int i=start; i< start+length; i++)
 		{
 			ret.add(fBytes[i]);
 		}
 		return ret.toArray(new MemoryByte[ret.size()]);
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java
index ce3b064..9266c03 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PendingPropertyChanges.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
  *******************************************************************************/
@@ -65,15 +65,15 @@
 	public void setTopVisibleAddress(BigInteger topVisibleAddress) {
 		fTopVisibleAddress = topVisibleAddress;
 	}
-	
+
 	public void setPageSize(int pageSize)
 	{
 		fPageSize = pageSize;
 	}
-	
+
 	public int getPageSize()
 	{
 		return fPageSize;
 	}
-	
+
 }
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java
index ef3f1e9..7b9ee24 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java
@@ -34,16 +34,16 @@
 
 /**
  * Print view tab toolbar action
- * 
+ *
  * @since 3.0
  */
 public class PrintTableRenderingAction extends Action
 {
 	private AbstractBaseTableRendering fRendering;
 	private StructuredViewer fViewer;
-	
+
 	private static final String COLUMN_SEPERATOR = "  "; //$NON-NLS-1$
-	
+
 	public PrintTableRenderingAction(AbstractBaseTableRendering rendering, StructuredViewer viewer)
 	{
 		super(DebugUIMessages.PrintViewTabAction_title);
@@ -62,16 +62,16 @@
 	 * and endPage() and endJob() must be called after printTable(...).
 	 */
 	protected void printTable(TableItem[] itemList, GC printGC, Printer printer) {
-		
-		
+
+
 		int numColumns = ((Table)fViewer.getControl()).getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();		
+		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();
 		int lineNum = 1;
 
 		int charsPerByte = fRendering.getNumCharsPerByte();
 		if (charsPerByte < 0)
 			charsPerByte = 4;
-		
+
 		// return line number after column labels are printed
 		lineNum = printColumnLabels(printGC, lineNum);
 
@@ -81,13 +81,13 @@
 			//print all columns for this row
 			for (int j=0; j < numColumns; j++) {
 				String columnText = labelProvider.getColumnText(itemList[i].getData(), j);
-				
+
 				while (columnText.length() < fRendering.getBytesPerColumn() * charsPerByte)
 				{
 					 columnText += " "; //$NON-NLS-1$
 				}
 				tableContents.append(COLUMN_SEPERATOR);
-				tableContents.append(columnText);							 
+				tableContents.append(columnText);
 			}
 			printGC.drawString(tableContents.toString(), 10, 10+(lineNum*printGC.getFontMetrics().getHeight()));
 			lineNum++;
@@ -101,17 +101,17 @@
 			}
 		}
 	}
-	
+
 	private int printColumnLabels(GC printGC, int lineNum)
-	{	
+	{
 		StringBuffer tableContents = new StringBuffer();
-		int numColumns = ((Table)fViewer.getControl()).getColumnCount();		
+		int numColumns = ((Table)fViewer.getControl()).getColumnCount();
 		TableColumn columns[] = ((Table)fViewer.getControl()).getColumns();
-		
+
 		int charsPerByte = fRendering.getNumCharsPerByte();
 		if (charsPerByte < 0)
 			charsPerByte = 4;
-		
+
 		int addressSizeInBytes = 0;
 		TableRenderingContentDescriptor descriptor = fRendering.getAdapter(TableRenderingContentDescriptor.class);
 		if (descriptor == null)
@@ -125,7 +125,7 @@
 				} catch (DebugException e) {
 					addressSizeInBytes = 0;
 				}
-				
+
 				if (addressSizeInBytes <= 0)
 					addressSizeInBytes = 4;
 			}
@@ -138,13 +138,13 @@
 		{
 			addressSizeInBytes = descriptor.getAddressSize();
 		}
-	
+
 		//get the column headers
 		for (int k=0; k < numColumns; k++) {
-	
+
 			StringBuffer columnLabel = new StringBuffer(columns[k].getText());
 			int numBytes = 0;
-	
+
 			if (k > 0)
 			{
 				numBytes = fRendering.getBytesPerColumn();
@@ -153,18 +153,18 @@
 			{
 				numBytes = addressSizeInBytes;
 			}
-	
+
 			 while (columnLabel.length() < numBytes * charsPerByte)
 			 {
 				 columnLabel.append(" "); //$NON-NLS-1$
 			 }
-	 
+
 			tableContents.append(COLUMN_SEPERATOR);
 			tableContents.append(columnLabel);
 		}
 		printGC.drawString(tableContents.toString(), 10, 10+(lineNum*printGC.getFontMetrics().getHeight()));
-		lineNum++;		
-		
+		lineNum++;
+
 		return lineNum;
 	}
 
@@ -173,17 +173,17 @@
 	 */
 	@Override
 	public void run() {
-		
+
 		if (!(fViewer.getControl() instanceof Table))
 			return;
-		
+
 		PrintDialog printDialog = new PrintDialog(DebugUIPlugin.getShell());
 		PrinterData printerData = printDialog.open();	// pop up a system print dialog
 		if (printerData == null) {setChecked(false); return;}
 		Printer printer = new Printer(printerData);
 		GC gc = new GC(printer);
 		TableItem[] tableItems = ((Table)fViewer.getControl()).getItems();
-		
+
 		// start the print job and assign it a title
 		printer.startJob(DebugUIMessages.PrintViewTabAction_jobtitle + fRendering.getLabel());
 		printer.startPage();					// start the first page
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java
index 7b4e1a5..6920da3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java
@@ -17,13 +17,13 @@
 
 /**
  * Resize all columns
- * 
+ *
  * @since 3.0
  */
 public class ReformatAction extends Action {
-	
+
 	private AbstractBaseTableRendering fRendering;
-	
+
 	public ReformatAction(AbstractBaseTableRendering rendering)
 	{
 		super(DebugUIMessages.ReformatAction_title);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java
index d4486e1..d795ea2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/RenderingsUtil.java
@@ -17,7 +17,7 @@
  * Util functions for data conversions
  */
 public class RenderingsUtil {
-	
+
 	public static final int LITTLE_ENDIAN = 0;
 	public static final int BIG_ENDIAN = 1;
 	public static final int ENDIANESS_UNKNOWN = 2;
@@ -35,28 +35,28 @@
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 		{
 			byte[] temp = new byte[size];
-			
+
 			for (int i=0; i<array.length; i++)
 			{
 				temp[i] = array[i];
 			}
-			
+
 			// fill up the rest of the array
 			for (int i=array.length; i<size; i++)
 			{
 				temp[i] = 0;
 			}
-			
+
 			array = temp;
 			return array;
 		}
         byte[] temp = new byte[size];
-        
+
         for (int i=0; i<size - array.length; i++)
         {
         	temp[i] = 0;
         }
-        
+
         int j=0;
         // fill up the rest of the array
         for (int i=size - array.length; i<size; i++)
@@ -64,18 +64,18 @@
         	temp[i] = array[j];
         	j++;
         }
-        
+
         array = temp;
         return array;
 	}
-	
+
 	static public BigInteger convertByteArrayToUnsignedLong(byte[] array, int endianess)
 	{
 		if (array.length < 8)
 		{
 			array = fillArray(array, 8, endianess);
 		}
-		
+
 		BigInteger value = new BigInteger("0"); //$NON-NLS-1$
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 		{
@@ -87,10 +87,10 @@
 				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
 				b = b.shiftLeft(i*8);
 				value = value.or(b);
-			}			
+			}
 		}
 		else
-		{	
+		{
 			for (int i=0; i< 8; i++)
 			{
 				byte[] temp = new byte[1];
@@ -103,7 +103,7 @@
 		}
 		return value;
 	}
-	
+
 	/**
 	 * Convert byte array to long.
 	 * @param array
@@ -111,14 +111,14 @@
 	 * @return result of the conversion in long
 	 */
 	static public long convertByteArrayToLong(byte[] array, int endianess)
-	{	
+	{
 		if (array.length < 8)
 		{
 			array = fillArray(array, 8, endianess);
 		}
-		
+
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{	
+		{
 			long value = 0;
 			for (int i = 0; i < 8; i++) {
 				long b = array[i];
@@ -134,27 +134,27 @@
         	b &= 0xff;
         	value |= (b<<((7-i)*8));
         }
-        
+
         return value;
 	}
-	
+
 	static public BigInteger convertByteArrayToSignedBigInt(byte[] array, int endianess)
-	{	
+	{
 		if (array.length < 16)
 		{
 			array = fillArray(array, 16, endianess);
 		}
-		
+
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{	
+		{
 			// reverse bytes
 			byte[] holder = new byte[16];
 			int j=15;
 			for (int i=0; i<16; i++, j--)
-			{	
+			{
 				holder[i] = array[j];
 			}
-			
+
 			// create BigInteger
 			BigInteger value = new BigInteger(holder);
 			return value;
@@ -162,24 +162,24 @@
         BigInteger value = new BigInteger(array);
         return value;
 	}
-	
+
 	static public BigInteger convertByteArrayToSignedBigInt(byte[] array, int endianess, int arraySize)
-	{	
+	{
 		if (array.length < arraySize)
 		{
 			array = fillArray(array, arraySize, endianess);
 		}
-		
+
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
-		{	
+		{
 			// reverse bytes
 			byte[] holder = new byte[arraySize];
 			int j=arraySize-1;
 			for (int i=0; i<arraySize; i++, j--)
-			{	
+			{
 				holder[i] = array[j];
 			}
-			
+
 			// create BigInteger
 			BigInteger value = new BigInteger(holder);
 			return value;
@@ -187,14 +187,14 @@
         BigInteger value = new BigInteger(array);
         return value;
 	}
-	
+
 	static public BigInteger convertByteArrayToUnsignedBigInt(byte[] array, int endianess)
 	{
 		if (array.length < 16)
 		{
 			array = fillArray(array, 16, endianess);
 		}
-		
+
 		BigInteger value = new BigInteger("0"); //$NON-NLS-1$
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 		{
@@ -206,10 +206,10 @@
 				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
 				b = b.shiftLeft(i*8);
 				value = value.or(b);
-			}			
+			}
 		}
 		else
-		{	
+		{
 			for (int i=0; i< 16; i++)
 			{
 				byte[] temp = new byte[1];
@@ -220,16 +220,16 @@
 				value = value.or(b);
 			}
 		}
-		return value;	
+		return value;
 	}
-	
+
 	static public BigInteger convertByteArrayToUnsignedBigInt(byte[] array, int endianess, int arraySize)
 	{
 		if (array.length < arraySize)
 		{
 			array = fillArray(array, arraySize, endianess);
 		}
-		
+
 		BigInteger value = new BigInteger("0"); //$NON-NLS-1$
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 		{
@@ -241,10 +241,10 @@
 				b = b.and(new BigInteger("ff", 16)); //$NON-NLS-1$
 				b = b.shiftLeft(i*8);
 				value = value.or(b);
-			}			
+			}
 		}
 		else
-		{	
+		{
 			for (int i=0; i< arraySize; i++)
 			{
 				byte[] temp = new byte[1];
@@ -255,9 +255,9 @@
 				value = value.or(b);
 			}
 		}
-		return value;			
+		return value;
 	}
-	
+
 	/**
 	 * Convert byte array to integer.
 	 * @param array
@@ -265,12 +265,12 @@
 	 * @return result of the conversion in int
 	 */
 	static public int convertByteArrayToInt(byte[] array, int endianess)
-	{	
+	{
 		if (array.length < 4)
 		{
 			array = fillArray(array, 4, endianess);
 		}
-		
+
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 		{
 			int value = 0;
@@ -288,10 +288,10 @@
         	b &= 0xff;
         	value |= (b<<((3-i)*8));
         }
-        
+
         return value;
 	}
-	
+
 	/**
 	 * Convert byte array to short.
 	 * @param array
@@ -299,12 +299,12 @@
 	 * @return result of teh conversion in short
 	 */
 	static public short convertByteArrayToShort(byte[] array, int endianess)
-	{	
+	{
 		if (array.length < 2)
 		{
 			array = fillArray(array, 2, endianess);
 		}
-		
+
 		if (endianess == RenderingsUtil.LITTLE_ENDIAN)
 		{
 			short value = 0;
@@ -324,7 +324,7 @@
         }
         return value;
 	}
-	
+
 	/**
 	 * Convert big integer to byte array.
 	 * @param i
@@ -349,9 +349,9 @@
         	BigInteger x = i.shiftRight((15-j)*8);
         	buf[j] = x.byteValue();
         }
-        return buf;		
+        return buf;
 	}
-	
+
 	static public byte[] convertSignedBigIntToByteArray(BigInteger i, int endianess, int arraySize)
 	{
 		byte buf[]=new byte[arraySize];
@@ -370,9 +370,9 @@
         	BigInteger x = i.shiftRight((arraySize-1-j)*8);
         	buf[j] = x.byteValue();
         }
-        return buf;				
+        return buf;
 	}
-	
+
 	/**
 	 * Convert big integer to byte array.
 	 * @param i
@@ -397,9 +397,9 @@
         	BigInteger x = i.shiftRight((31-j)*8);
         	buf[j] = x.byteValue();
         }
-        return buf;		
+        return buf;
 	}
-	
+
 	static public byte[] convertUnsignedBigIntToByteArray(BigInteger i, int endianess, int arraySize)
 	{
 		byte buf[]=new byte[arraySize*2];
@@ -418,9 +418,9 @@
         	BigInteger x = i.shiftRight(((arraySize*2)-1-j)*8);
         	buf[j] = x.byteValue();
         }
-        return buf;				
+        return buf;
 	}
-	
+
 	/**
 	 * Convert long to byte array.
 	 * @param i
@@ -445,7 +445,7 @@
         }
         return buf;
 	}
-	
+
 	/**
 	 * Convert integer to byte array.
 	 * @param i
@@ -470,7 +470,7 @@
 		}
 		return buf;
 	}
-	
+
 	/**
 	 * Convert short to byte array.
 	 * @param i
@@ -505,13 +505,13 @@
 	{
 		StringBuffer strBuffer = new StringBuffer();
 		char charArray[];
-		
+
 		for (int i=0; i<byteArray.length;i ++)
 		{
 			charArray = RenderingsUtil.convertByteToCharArray(byteArray[i]);
-			strBuffer.append(charArray);			
+			strBuffer.append(charArray);
 		}
-		
+
 		return strBuffer.toString();
 	}
 
@@ -522,7 +522,7 @@
 		if (val<0) val += 256;
 		charArray[0] = Character.forDigit(val/16, 16);
 		charArray[1] = Character.forDigit(val%16, 16);
-		
+
 		return charArray;
 	}
 
@@ -536,35 +536,35 @@
 	 */
 	public static byte[] convertHexStringToByteArray(String str, int numBytes, int numCharsPerByte) throws NumberFormatException
 	{
-	    if (str.length() == 0) 
+	    if (str.length() == 0)
 	        return null;
-		
+
 		StringBuffer buf = new StringBuffer(str);
-	    
+
 	    // pad string with zeros
 	    int requiredPadding =  numBytes * numCharsPerByte - str.length();
 	    while (requiredPadding > 0) {
 	        buf.insert(0, "0"); //$NON-NLS-1$
 	        requiredPadding--;
 	    }
-		
+
 		byte[] bytes = new byte[numBytes];
 		str = buf.toString();
-	
+
 		// set data in memory
 		for (int i=0; i<bytes.length; i++)
 		{
 			// convert string to byte
 			String oneByte = str.substring(i*2, i*2+2);
-			
+
 			Integer number = Integer.valueOf(oneByte, 16);
 			if (number.compareTo(Integer.valueOf(Byte.toString(Byte.MAX_VALUE))) > 0)
 			{
 				int temp = number.intValue();
 				temp = temp - 256;
-	
+
 				String tempStr = Integer.toString(temp);
-		
+
 				Byte myByte = Byte.valueOf(tempStr);
 				bytes[i] = myByte.byteValue();
 			}
@@ -574,7 +574,7 @@
 				bytes[i] = myByte.byteValue();
 			}
 		}
-		
+
 		return bytes;
-	} 	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java
index 1dabe2e..ff1727d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java
@@ -25,7 +25,7 @@
 
 /**
  * Reest MemoryViewTab to the base address of a memory block
- * 
+ *
  * @since 3.0
  */
 public class ResetToBaseAddressAction extends Action {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java
index 522f27e..2bcf483 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.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
  *******************************************************************************/
@@ -17,7 +17,7 @@
 import org.eclipse.debug.ui.IDebugUIConstants;
 
 /**
- * 
+ *
  * Represent a signed integer rendering.
  */
 public class SignedIntegerRendering extends AbstractIntegerRendering {
@@ -25,7 +25,7 @@
 	private int fColSize;
 	private BigInteger fMax;
 	private BigInteger fMin;
-	
+
 	/**
 	 * @param memBlock
 	 * @param renderingId
@@ -38,13 +38,13 @@
 	{
 		String ret;
 		long result = 0;
-		
+
 		if (columnSize == 1)
 		{
 			result = byteArray[0];
 		}
 		else if (columnSize == 2)
-		{	
+		{
 			result = RenderingsUtil.convertByteArrayToShort(byteArray, endianess);
 		}
 		else if (columnSize == 4)
@@ -53,7 +53,7 @@
 		}
 		else if (columnSize == 8)
 		{
-			result = RenderingsUtil.convertByteArrayToLong(byteArray, endianess);				
+			result = RenderingsUtil.convertByteArrayToLong(byteArray, endianess);
 		}
 		else if (columnSize == 16)
 		{
@@ -63,14 +63,14 @@
 		else
 		{
 			BigInteger bigRet = RenderingsUtil.convertByteArrayToSignedBigInt(byteArray, endianess, columnSize);
-			return bigRet.toString();			
+			return bigRet.toString();
 		}
 
 		ret = new Long(result).toString();
-		
+
 		return ret;
-	}	
-	
+	}
+
 	private byte[] convertToBytes(int colSize, String newValue, int endianess)
 	{
 		try {
@@ -82,17 +82,17 @@
 				bytes[0] = x;
 			}
 			else if (colSize == 2)
-			{	
+			{
 				short i = Short.parseShort(newValue);
 				bytes = RenderingsUtil.convertShortToByteArray(i, endianess);
 			}
 			else if (colSize == 4)
-			{	
+			{
 				int i = Integer.parseInt(newValue);
 				bytes = RenderingsUtil.convertIntToByteArray(i, endianess);
 			}
 			else if (colSize == 8)
-			{	
+			{
 				long i = Long.parseLong(newValue);
 				bytes = RenderingsUtil.convertLongToByteArray(i, endianess);
 			}
@@ -102,13 +102,13 @@
 				// need to represent number in Big Integer
 				BigInteger i = new BigInteger(newValue);
 				bytes = RenderingsUtil.convertBigIntegerToByteArray(i, endianess);
-			
+
 				return bytes;
-			}		
+			}
 			else
 			{
 				BigInteger i = new BigInteger(newValue);
-				
+
 				// avoid calculating max and min over and over again
 				// for the same column size
 				if (fColSize != colSize)
@@ -119,14 +119,14 @@
 					fMin = fMax.multiply(BigInteger.valueOf(-1));
 					fMax = fMax.subtract(BigInteger.valueOf(1));
 				}
-				
+
 				if (i.compareTo(fMax) > 0 || i.compareTo(fMin) < 0)
 					throw new NumberFormatException();
-				
+
 				bytes = RenderingsUtil.convertSignedBigIntToByteArray(i, endianess, colSize);
-				return bytes;				
+				return bytes;
 			}
-			
+
 			return bytes;
 		} catch (NumberFormatException e) {
 			throw e;
@@ -138,7 +138,7 @@
 	 */
 	@Override
 	public String getString(String dataType, BigInteger address, MemoryByte[] data) {
-		
+
 		boolean invalid = false;
 		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
 		for (int i=0; i<data.length; i++)
@@ -149,7 +149,7 @@
 				break;
 			}
 		}
-		
+
 		if (invalid)
 		{
 			StringBuffer strBuf = new StringBuffer();
@@ -159,22 +159,22 @@
 			}
 			return strBuf.toString();
 		}
-		
+
 		int columnSize = getBytesPerColumn();
-		
+
 		// if the user has not set an endianess to the rendering
 		// take default endianess from bytes
 		int endianess = getDisplayEndianess();
 		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
 			endianess = getBytesEndianess(data);
-		
+
 		byte[] byteArray = new byte[data.length];
 		for (int i=0; i<byteArray.length;i ++)
 		{
 			byteArray[i] = data[i].getValue();
 		}
-		
-		// if endianess is unknown, do not render, just return padded string		
+
+		// if endianess is unknown, do not render, just return padded string
 		if (RenderingsUtil.ENDIANESS_UNKNOWN == endianess)
 		{
 			StringBuffer strBuf = new StringBuffer();
@@ -192,15 +192,15 @@
 	 */
 	@Override
 	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
-		
+
 		int columnSize = getBytesPerColumn();
-		
+
 		// if the user has not set an endianess to the rendering
 		// take default
 		int endianess = getDisplayEndianess();
 		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
 			endianess = getBytesEndianess(currentValues);
-		
+
 		// if endianess is unknown, do not try to render new data to bytes
 		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
 		{
@@ -209,7 +209,7 @@
 				retBytes[i] = currentValues[i].getValue();
 			return retBytes;
 		}
-		
+
 		return convertToBytes(columnSize, data, endianess);
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java
index 4d829d3..76f2f86 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java
index 0328cfe..80e144c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.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
  *******************************************************************************/
@@ -40,7 +40,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
      *      java.lang.String)
      */
@@ -101,7 +101,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
      *      java.lang.String)
      */
@@ -141,7 +141,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
      *      java.lang.String, java.lang.Object)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java
index 4ab4a13..2596cdd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentDescriptor.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
  *******************************************************************************/
@@ -26,14 +26,14 @@
 	private BigInteger fMemoryBlockBaseAddress;		// base address of the memory block when this input is set
 	private BigInteger fStartAddress;
 	private BigInteger fEndAddress;
-	
+
 	private int fAddressSize = -1;
 	private int fAddressableSize = -1;
-	
+
 	private boolean fAlignAddress = true;
-	
+
 	private boolean fIsDynamicLoad;
-	
+
 	public TableRenderingContentDescriptor(AbstractBaseTableRendering rendering)
 	{
 		fRendering = rendering;
@@ -48,7 +48,7 @@
 	public BigInteger getLoadAddress() {
 		return fLoadAddress;
 	}
-	
+
 	public IMemoryBlock getMemoryBlock()
 	{
 		return fRendering.getMemoryBlock();
@@ -65,7 +65,7 @@
 		fLoadAddress = address;
 	}
 	public BigInteger getContentBaseAddress() {
-		
+
 		if (fMemoryBlockBaseAddress == null)
 		{
 			try {
@@ -74,10 +74,10 @@
 				fMemoryBlockBaseAddress = new BigInteger("0"); //$NON-NLS-1$
 			}
 		}
-		
+
 		return fMemoryBlockBaseAddress;
 	}
-	
+
 	public void updateContentBaseAddress() throws DebugException {
 		IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
 		if (memoryBlock instanceof IMemoryBlockExtension)
@@ -85,7 +85,7 @@
 		else
 			fMemoryBlockBaseAddress = BigInteger.valueOf(memoryBlock.getStartAddress());
 	}
-	
+
 	/**
 	 * @return start address of the memory block
 	 */
@@ -103,15 +103,15 @@
 				}
 			} catch (DebugException e) {
 				// default to 0 if we have trouble getting the start address
-				fStartAddress =  BigInteger.valueOf(0);			
+				fStartAddress =  BigInteger.valueOf(0);
 			}
-			
+
 			if (fStartAddress == null)
 				fStartAddress =  BigInteger.valueOf(0);
 		}
-		return fStartAddress; 
+		return fStartAddress;
 	}
-	
+
 	/**
 	 * @return end address of the memory block
 	 */
@@ -130,7 +130,7 @@
 				} catch (DebugException e) {
 					fEndAddress = null;
 				}
-				
+
 				if (fEndAddress == null)
 				{
 					int addressSize;
@@ -139,30 +139,30 @@
 					} catch (DebugException e) {
 						addressSize = 4;
 					}
-					
+
 					endAddress = BigInteger.valueOf(2);
 					endAddress = endAddress.pow(addressSize*8);
 					endAddress = endAddress.subtract(BigInteger.valueOf(1));
 					fEndAddress =  endAddress;
 				}
 			}
-			
+
 			if (fEndAddress == null)
 				fEndAddress = BigInteger.valueOf(Integer.MAX_VALUE);
 		}
 		return fEndAddress;
 	}
-	
+
 	public int getNumLines()
 	{
 		return fNumLines;
 	}
-	
+
 	public void setNumLines(int numLines)
 	{
 		fNumLines = numLines;
 	}
-	
+
 	public AbstractBaseTableRendering getRendering()
 	{
 		return fRendering;
@@ -183,27 +183,27 @@
 	public void setAddressSize(int addressSize) {
 		fAddressSize = addressSize;
 	}
-	
+
 	public void setDynamicLoad(boolean dynamic)
 	{
 		fIsDynamicLoad = dynamic;
 	}
-	
+
 	public boolean isDynamicLoad()
 	{
 		return fIsDynamicLoad;
 	}
-	
+
 	public boolean isMemoryBlockBaseAddressInitialized()
 	{
 		return (fMemoryBlockBaseAddress != null);
 	}
-	
+
 	public boolean isAlignAddressToBoundary()
 	{
 		return fAlignAddress;
 	}
-	
+
 	public void setAlignAddressToBoundary(boolean align)
 	{
 		fAlignAddress = align;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java
index 9018265..4569243 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java
@@ -37,7 +37,7 @@
 	private BigInteger fMemoryBlockBaseAddress;		// base address of the memory block when this input is set
 	private BigInteger fStartAddress;
 	private BigInteger fEndAddress;
-	
+
 	public TableRenderingContentInput(IMemoryRendering rendering, int preBuffer, int postBuffer, BigInteger loadAddress, int numOfLines, boolean updateDelta, BigInteger contentBaseAddress)
 	{
 		fRendering = rendering;
@@ -69,7 +69,7 @@
 	public BigInteger getLoadAddress() {
 		return fLoadAddress;
 	}
-	
+
 	public IMemoryBlock getMemoryBlock()
 	{
 		return fRendering.getMemoryBlock();
@@ -92,7 +92,7 @@
 		fLoadAddress = address;
 	}
 	public BigInteger getContentBaseAddress() {
-		
+
 		if (fMemoryBlockBaseAddress == null)
 		{
 			try {
@@ -101,10 +101,10 @@
 				fMemoryBlockBaseAddress = new BigInteger("0"); //$NON-NLS-1$
 			}
 		}
-		
+
 		return fMemoryBlockBaseAddress;
 	}
-	
+
 	public void updateContentBaseAddress() throws DebugException {
 		IMemoryBlock memoryBlock = fRendering.getMemoryBlock();
 		if (memoryBlock instanceof IMemoryBlockExtension) {
@@ -113,7 +113,7 @@
 			fMemoryBlockBaseAddress = BigInteger.valueOf(memoryBlock.getStartAddress());
 		}
 	}
-	
+
 	/**
 	 * @return start address of the memory block
 	 */
@@ -132,16 +132,16 @@
 				}
 			} catch (DebugException e) {
 				// default to 0 if we have trouble getting the start address
-				fStartAddress =  BigInteger.valueOf(0);			
+				fStartAddress =  BigInteger.valueOf(0);
 			}
-			
+
 			if (fStartAddress == null) {
 				fStartAddress =  BigInteger.valueOf(0);
 			}
 		}
-		return fStartAddress; 
+		return fStartAddress;
 	}
-	
+
 	/**
 	 * @return end address of the memory block
 	 */
@@ -161,7 +161,7 @@
 				} catch (DebugException e) {
 					fEndAddress = null;
 				}
-				
+
 				if (fEndAddress == null)
 				{
 					int addressSize;
@@ -170,31 +170,31 @@
 					} catch (DebugException e) {
 						addressSize = 4;
 					}
-					
+
 					endAddress = BigInteger.valueOf(2);
 					endAddress = endAddress.pow(addressSize*8);
 					endAddress = endAddress.subtract(BigInteger.valueOf(1));
 					fEndAddress =  endAddress;
 				}
 			}
-			
+
 			if (fEndAddress == null) {
 				fEndAddress = BigInteger.valueOf(Integer.MAX_VALUE);
 			}
 		}
 		return fEndAddress;
 	}
-	
+
 	public int getNumLines()
 	{
 		return fNumLines;
 	}
-	
+
 	public void setNumLines(int numLines)
 	{
 		fNumLines = numLines;
 	}
-	
+
 	@SuppressWarnings("unchecked")
 	@Override
 	public <T> T getAdapter(Class<T> adapter) {
@@ -210,7 +210,7 @@
 				return (T) fRendering;
 			}
 		}
-		
+
 		return super.getAdapter(adapter);
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
index 5848db9..d51dfe5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java
@@ -39,29 +39,29 @@
 
 /**
  * Content Provider used by AbstractTableRendering
- * 
+ *
  * @since 3.0
  */
 public class TableRenderingContentProvider extends BasicDebugViewContentProvider {
-	
+
 	// lines currently being displayed by the table rendering
 	protected Vector<TableRenderingLine> lineCache;
-	
+
 	// Cache to allow the content provider to comppute change information
 	// Cache is taken by copying the lineCache after a suspend event
 	// or change event from the the memory block.
 	protected Hashtable<String, TableRenderingLine> contentCache;
-	
+
 	// cache in the form of MemoryByte
 	// needed for reorganizing cache when the row size changes
-	private MemoryByte[] fContentCacheInBytes;	
+	private MemoryByte[] fContentCacheInBytes;
 	private String fContentCacheStartAddress;
 
 	private BigInteger fBufferTopAddress;
-	
+
 	private TableRenderingContentInput fInput;
 	private BigInteger fBufferEndAddress;
-	
+
 	private boolean fDynamicLoad;
 
 	/**
@@ -73,10 +73,10 @@
 		lineCache = new Vector<TableRenderingLine>();
 		contentCache = new Hashtable<String, TableRenderingLine>();
 		initializeDynamicLoad();
-			
+
 		DebugPlugin.getDefault().addDebugEventListener(this);
 	}
-	
+
 	/**
 	 * @param viewer
 	 */
@@ -84,7 +84,7 @@
 	{
 		fViewer = viewer;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
 	 */
@@ -99,7 +99,7 @@
 				} else {
 					loadContentForSimpleMemoryBlock();
 				}
-				
+
 				// tell rendering to display table if the loading is successful
 				getTableRendering(fInput).displayTable();
 			}
@@ -110,7 +110,7 @@
 
 	@Override
 	public void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);		
+		DebugPlugin.getDefault().removeDebugEventListener(this);
 		super.dispose();
 	}
 
@@ -121,8 +121,8 @@
 	public Object[] getElements(Object parent) {
 
 		// if cache is empty, get memory
-		if (lineCache.isEmpty()) { 
-		
+		if (lineCache.isEmpty()) {
+
 			try {
 				getMemoryFromMemoryBlock();
 			} catch (DebugException e) {
@@ -131,20 +131,20 @@
 				return lineCache.toArray();
 			}
 		}
-		
+
 		if (lineCache.isEmpty()) {
 			return lineCache.toArray();
 		}
-		
+
 		// check to see if the row size has changed
 		TableRenderingLine line = lineCache.get(0);
 		int currentRowSize = line.getByteArray().length;
 		int renderingRowSize = getTableRendering(fInput).getBytesPerLine();
-		
+
 		if (renderingRowSize != currentRowSize)
 		{
 			try {
-				reorganizeContentCache(renderingRowSize);			
+				reorganizeContentCache(renderingRowSize);
 				reorganizeLines(lineCache, renderingRowSize);
 			} catch (DebugException e) {
 				DebugUIPlugin.log(e.getStatus());
@@ -154,7 +154,7 @@
 		}
 		return lineCache.toArray();
 	}
-	
+
 	private void getMemoryFromMemoryBlock() throws DebugException {
 		IMemoryBlock memoryBlock = fInput.getMemoryBlock();
 		if (memoryBlock instanceof IMemoryBlockExtension)
@@ -187,22 +187,22 @@
 	 * @throws DebugException
 	 */
 	public void loadContentForExtendedMemoryBlock() throws DebugException {
-		
+
 		// do not load if number of lines needed is < 0
 		if (fInput.getNumLines() <= 0) {
 			return;
 		}
-		
+
 		// calculate top buffered address
 		BigInteger loadAddress = fInput.getLoadAddress();
 		if (loadAddress == null)
 		{
 			loadAddress = new BigInteger("0"); //$NON-NLS-1$
 		}
-		
+
 		BigInteger mbStart = fInput.getStartAddress();
 		BigInteger mbEnd = fInput.getEndAddress();
-		
+
 		// check that the load address is within range
 		if (loadAddress.compareTo(mbStart) < 0 || loadAddress.compareTo(mbEnd) > 0)
 		{
@@ -210,28 +210,28 @@
 			loadAddress = ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress();
 			fInput.setLoadAddress(loadAddress);
 		}
-		
+
 		// if address is still out of range, throw an exception
 		if (loadAddress.compareTo(mbStart) < 0 || loadAddress.compareTo(mbEnd) > 0)
 		{
 			throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_0 + loadAddress.toString(16), null));
 		}
-		
+
 		int addressableUnitsPerLine = getTableRendering(fInput).getAddressableUnitPerLine();
 		BigInteger bufferStart = loadAddress.subtract(BigInteger.valueOf(fInput.getPreBuffer()*addressableUnitsPerLine));
 		BigInteger bufferEnd = loadAddress.add(BigInteger.valueOf(fInput.getPostBuffer()*addressableUnitsPerLine));
 		bufferEnd = bufferEnd.add(BigInteger.valueOf(fInput.getNumLines()*addressableUnitsPerLine));
-		
+
 		if (isDynamicLoad())
 		{
 			if (bufferStart.compareTo(mbStart) < 0) {
 				bufferStart = mbStart;
 			}
-			
+
 			if (bufferEnd.compareTo(mbEnd) > 0)
 			{
 				bufferEnd = mbEnd;
-				
+
 				int numLines = bufferEnd.subtract(bufferStart).divide(BigInteger.valueOf(addressableUnitsPerLine)).intValue();
 				if (numLines < fInput.getNumLines())
 				{
@@ -239,20 +239,20 @@
 					bufferStart = bufferEnd.subtract(BigInteger.valueOf(fInput.getNumLines()*addressableUnitsPerLine));
 					bufferStart = bufferStart.subtract(BigInteger.valueOf(fInput.getPreBuffer()*addressableUnitsPerLine));
 				}
-				
-				// if after adjusting buffer start, it goes before the memory block start 
+
+				// if after adjusting buffer start, it goes before the memory block start
 				// address, adjust it back
 				if (bufferStart.compareTo(mbStart) < 0) {
 					bufferStart = mbStart;
 				}
 			}
-			
+
 			// buffer end must be greater than buffer start
 			if (bufferEnd.compareTo(bufferStart) <= 0) {
 				throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_1, null));
 			}
-			
-			int numLines = bufferEnd.subtract(bufferStart).divide(BigInteger.valueOf(addressableUnitsPerLine)).intValue()+1;		
+
+			int numLines = bufferEnd.subtract(bufferStart).divide(BigInteger.valueOf(addressableUnitsPerLine)).intValue()+1;
 			// get stoarage to fit the memory view tab size
 			getMemoryToFitTable(bufferStart, numLines, fInput.isUpdateDelta());
 		}
@@ -261,42 +261,42 @@
 			if (bufferStart.compareTo(mbStart) < 0) {
 				bufferStart = mbStart;
 			}
-			
+
 			if (bufferEnd.compareTo(mbEnd) > 0)
 			{
 				bufferStart = mbEnd.subtract(BigInteger.valueOf((fInput.getNumLines()-1)*addressableUnitsPerLine));
 				bufferEnd = mbEnd;
-				
+
 				// after adjusting buffer start, check if it's smaller than memory block's start address
 				if (bufferStart.compareTo(mbStart) < 0) {
 					bufferStart = mbStart;
 				}
 			}
-			
+
 			// buffer end must be greater than buffer start
 			if (bufferEnd.compareTo(bufferStart) <= 0) {
 				throw new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.TableRenderingContentProvider_2, null));
 			}
-			
-			int numLines = fInput.getNumLines();	
+
+			int numLines = fInput.getNumLines();
 			int bufferNumLines = bufferEnd.subtract(bufferStart).divide(BigInteger.valueOf(addressableUnitsPerLine)).intValue()+1;
-			
+
 			if (bufferNumLines < numLines) {
 				numLines = bufferNumLines;
 			}
-			
+
 			// get stoarage to fit the memory view tab size
 			getMemoryToFitTable(bufferStart, numLines, fInput.isUpdateDelta());
 		}
 	}
-	
+
 	/**
 	 * @return the memroy block
 	 */
 	public IMemoryBlock getMemoryBlock() {
 		return fInput.getMemoryBlock();
 	}
-	
+
 	/**
 	 * Get memory to fit table
 	 * @param startingAddress
@@ -309,16 +309,16 @@
 		// do not ask for memory from memory block if the debug target
 		// is already terminated
 		IDebugTarget target = fInput.getMemoryBlock().getDebugTarget();
-		
+
 		if (target.isDisconnected() || target.isTerminated()) {
 			return;
 		}
-		
+
 		DebugException dbgEvt = null;
-		
+
 		// calculate address size
 		String adjustedAddress = startingAddress.toString(16);
-		
+
 		int addressSize;
 		try {
 			addressSize = getAddressSize(startingAddress);
@@ -326,7 +326,7 @@
 			dbgEvt = e1;
 			addressSize = 4;
 		}
-		
+
 		int addressLength = addressSize * IInternalDebugUIConstants.CHAR_PER_BYTE;
 
 		// align to the closest boundary based on addressable size per line
@@ -337,9 +337,9 @@
 
 		IMemoryBlockExtension extMemoryBlock = null;
 		MemoryByte[] memoryBuffer = null;
-		
+
 		String paddedString = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
+
 		long reqNumBytes = 0;
 		try
 		{
@@ -348,11 +348,11 @@
 				reqNumBytes = getTableRendering(fInput).getBytesPerLine() * numberOfLines;
 				// get memory from memory block
 				extMemoryBlock = (IMemoryBlockExtension) fInput.getMemoryBlock();
-				
+
 				long reqNumberOfUnits = getTableRendering(fInput).getAddressableUnitPerLine() * numberOfLines;
-						
+
 				memoryBuffer =	extMemoryBlock.getBytesFromAddress(startingAddress,	reqNumberOfUnits);
-		
+
 				if(memoryBuffer == null)
 				{
 					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));
@@ -363,15 +363,15 @@
 			{
 				// get memory from memory block
 				byte[] memory = fInput.getMemoryBlock().getBytes();
-				
+
 				if (memory == null)
 				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));	
-					throw e;					
+					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.MemoryViewContentProvider_Unable_to_retrieve_content, null));
+					throw e;
 				}
-				
+
 				int prefillNumBytes = 0;
-				
+
 				// number of bytes need to prefill
 				if (!startingAddress.toString(16).endsWith("0")) //$NON-NLS-1$
 				{
@@ -382,18 +382,18 @@
 					startingAddress = adjustedStart;
 				}
 				reqNumBytes = fInput.getMemoryBlock().getLength() + prefillNumBytes;
-				
+
 				// figure out number of dummy bytes to append
 				while (reqNumBytes % getTableRendering(fInput).getBytesPerLine() != 0)
 				{
 					reqNumBytes ++;
 				}
-				
+
 				numberOfLines = reqNumBytes / getTableRendering(fInput).getBytesPerLine();
-				
+
 				// create memory byte for IMemoryBlock
 				memoryBuffer = new MemoryByte[(int)reqNumBytes];
-				
+
 				// prefill buffer to ensure double-word alignment
 				for (int i=0; i<prefillNumBytes; i++)
 				{
@@ -404,7 +404,7 @@
 					tmp.setEndianessKnown(false);
 					memoryBuffer[i] = tmp;
 				}
-				
+
 				// fill buffer with memory returned by debug adapter
 				int j = prefillNumBytes; 							// counter for memoryBuffer
 				for (int i=0; i<memory.length; i++)
@@ -417,7 +417,7 @@
 					memoryBuffer[j] = tmp;
 					j++;
 				}
-				
+
 				// append to buffer to fill up the entire line
 				for (int i=j; i<memoryBuffer.length; i++)
 				{
@@ -433,7 +433,7 @@
 		catch (DebugException e)
 		{
 			memoryBuffer = makeDummyContent(numberOfLines);
-			
+
 			// finish creating the content provider before throwing an event
 			dbgEvt = e;
 		}
@@ -441,21 +441,21 @@
 		{
 			// catch all errors from this process just to be safe
 			memoryBuffer = makeDummyContent(numberOfLines);
-			
+
 			// finish creating the content provider before throwing an event
 			dbgEvt = new DebugException(DebugUIPlugin.newErrorStatus(e.getMessage(), e));
 		}
-		
+
 		// if debug adapter did not return enough memory, create dummy memory
 		if (memoryBuffer.length < reqNumBytes)
 		{
 			ArrayList<MemoryByte> newBuffer = new ArrayList<MemoryByte>();
-			
+
 			for (int i=0; i<memoryBuffer.length; i++)
 			{
 				newBuffer.add(memoryBuffer[i]);
 			}
-			
+
 			for (int i=memoryBuffer.length; i<reqNumBytes; i++)
 			{
 				MemoryByte mb = new MemoryByte();
@@ -464,11 +464,11 @@
 				mb.setEndianessKnown(false);
 				newBuffer.add(mb);
 			}
-			
+
 			memoryBuffer = newBuffer.toArray(new MemoryByte[newBuffer.size()]);
-			
+
 		}
-		
+
 		// clear line cache
 		if (!lineCache.isEmpty())
 		{
@@ -477,9 +477,9 @@
 		String address = startingAddress.toString(16);
 		// save address of the top of buffer
 		fBufferTopAddress = startingAddress;
-		
+
 		boolean manageDelta = true;
-		
+
 		// If change information is not managed by the memory block
 		// The view tab will manage it and calculate delta information
 		// for its content cache.
@@ -487,19 +487,19 @@
 		{
 			manageDelta = !((IMemoryBlockExtension)fInput.getMemoryBlock()).supportsChangeManagement();
 		}
-			
+
 		// put memory information into MemoryViewLine
 		organizeLines(numberOfLines, updateDelta, addressLength, memoryBuffer, paddedString, address, manageDelta);
-		
+
 		if (dbgEvt != null){
 			throw dbgEvt;
 		}
 	}
 
-	private void organizeLines(long numberOfLines, boolean updateDelta, int addressLength, MemoryByte[] memoryBuffer, String paddedString, String address, boolean manageDelta) 
+	private void organizeLines(long numberOfLines, boolean updateDelta, int addressLength, MemoryByte[] memoryBuffer, String paddedString, String address, boolean manageDelta)
 	{
 		for (int i = 0; i < numberOfLines; i++)
-		{   //chop the raw memory up 
+		{   //chop the raw memory up
 			String tmpAddress = address.toUpperCase();
 			if (tmpAddress.length() < addressLength)
 			{
@@ -511,7 +511,7 @@
 			int bytesPerLine = getTableRendering(fInput).getBytesPerLine();
 			MemoryByte[] memory = new MemoryByte[bytesPerLine];
 			boolean isMonitored = true;
-			
+
 			// counter for memory, starts from 0 to number of bytes per line
 			int k = 0;
 			// j is the counter for memArray, memory returned by debug adapter
@@ -519,26 +519,26 @@
 				j < i * bytesPerLine + bytesPerLine;
 				j++)
 			{
-				
+
 				byte changeFlag = memoryBuffer[j].getFlags();
 				if (manageDelta)
 				{
 					// turn off both change and known bits to make sure that
 					// the change bits returned by debug adapters do not take
 					// any effect
-					
+
 					changeFlag |= MemoryByte.HISTORY_KNOWN;
 					changeFlag ^= MemoryByte.HISTORY_KNOWN;
-					
+
 					changeFlag |= MemoryByte.CHANGED;
 					changeFlag ^= MemoryByte.CHANGED;
 				}
-				
+
 				MemoryByte newByteObj = new MemoryByte(memoryBuffer[j].getValue(), changeFlag);
 				memory[k] =  newByteObj;
 				k++;
-				
-				
+
+
 				if (!manageDelta)
 				{
 					// If the byte is marked as unknown, the line is not monitored
@@ -548,11 +548,11 @@
 					}
 				}
 			}
-			
+
 			TableRenderingLine newLine = new TableRenderingLine(tmpAddress, memory, lineCache.size(), paddedString);
-			
+
 			TableRenderingLine oldLine = contentCache.get(newLine.getAddress());
-			
+
 			if (manageDelta)
 			{
 				if (oldLine != null) {
@@ -566,7 +566,7 @@
 				// check the byte for information
 				newLine.isMonitored = isMonitored;
 			}
-			
+
 			// calculate delta info for the memory view line
 			if (manageDelta && !getTableRendering(fInput).isDisplayingError())
 			{
@@ -600,8 +600,8 @@
 				newLine.isMonitored = false;
 			}
 			lineCache.add(newLine);
-			
-			
+
+
 			// increment row address
 			BigInteger bigInt = new BigInteger(address, 16);
 			fBufferEndAddress = bigInt;
@@ -609,7 +609,7 @@
 			address = bigInt.add(BigInteger.valueOf(addressableUnit)).toString(16);
 		}
 	}
-	
+
 	/**
 	 * @param numberOfLines
 	 * @return an array of dummy MemoryByte
@@ -621,7 +621,7 @@
 
 		int numBytes = (int)(getTableRendering(fInput).getBytesPerLine() * numberOfLines);
 		memoryBuffer = new MemoryByte[numBytes];
-		
+
 		for (int i=0; i<memoryBuffer.length; i++){
 			memoryBuffer[i] = new MemoryByte();
 			memoryBuffer[i].setValue((byte)0);
@@ -637,7 +637,7 @@
 	 */
 	@Override
 	protected void doHandleDebugEvent(DebugEvent event) {
-		
+
 		if (getTableRendering(fInput).isVisible())
 		{
 			// only do this if it's visible
@@ -647,19 +647,19 @@
 				return;
 			}
 		}
-		
+
 		// do nothing if the debug event did not come from a debug element comes from non-debug element
 		if (!(event.getSource() instanceof IDebugElement)) {
 			return;
 		}
-		
+
 		// do not try to recover if the content input has not been created
 		if (fInput == null) {
 			return;
 		}
-		
+
 		IDebugElement src = (IDebugElement)event.getSource();
-		
+
 		// if a debug event happens from the memory block
 		// invoke contentChanged to get content of the memory block updated
 		if (event.getKind() == DebugEvent.CHANGE && event.getSource() == fInput.getMemoryBlock())
@@ -668,20 +668,20 @@
 				getTableRendering(fInput).updateLabels();
 			}
 			else
-			{	
+			{
 				updateContent();
 			}
 		}
-		
-		// if the suspend evnet happens from the debug target that the 
+
+		// if the suspend evnet happens from the debug target that the
 		// memory block belongs to
 		if (event.getKind() == DebugEvent.SUSPEND && src.getDebugTarget() == fInput.getMemoryBlock().getDebugTarget())
-		{	
+		{
 			updateContent();
 		}
 
 	}
-	
+
 	/**
 	 * Update content of the view tab if the content of the memory block has changed
 	 * or if its base address has changed
@@ -691,44 +691,44 @@
 	public void updateContent()
 	{
 		IDebugTarget dt = fInput.getMemoryBlock().getDebugTarget();
-		
+
 		// no need to update if debug target is disconnected or terminated
 		if (dt.isDisconnected() || dt.isTerminated())
 		{
 			return;
 		}
-		
+
 		takeContentSnapshot();
-		
+
 		//do not handle event if the rendering is not visible
 		if (!getTableRendering(fInput).isVisible()) {
 			return;
 		}
-		
+
 		getTableRendering(fInput).refresh();
-		
+
 	}
-	
+
 	/**
 	 *  Take a snapshot on the content, marking the lines as monitored
 	 */
 	public void takeContentSnapshot()
-	{	
+	{
 		// cache content before getting new ones
 		TableRenderingLine[] lines =lineCache.toArray(new TableRenderingLine[lineCache.size()]);
 		fContentCacheInBytes = convertLinesToBytes(lines);
 		fContentCacheStartAddress = lines[0].getAddress();
-		
+
 		if (contentCache != null)
 		{
 			contentCache.clear();
 		}
-		
+
 		//do not handle event if the rendering is not visible
 		if (!getTableRendering(fInput).isVisible()) {
 			return;
 		}
-		
+
 		// use existing lines as cache is the rendering is not currently displaying
 		// error.  Otherwise, leave contentCache empty as we do not have updated
 		// content.
@@ -743,7 +743,7 @@
 
 		// reset all the deltas currently stored in contentCache
 		// This will ensure that changes will be recomputed when user scrolls
-		// up or down the memory view.		
+		// up or down the memory view.
 		resetDeltas();
 	}
 
@@ -754,12 +754,12 @@
 	{
 		return fBufferTopAddress;
 	}
-	
+
 	public BigInteger getBufferEndAddress()
 	{
 		return fBufferEndAddress;
 	}
-	
+
 	/**
 	 * Calculate address size of the given address
 	 * @param address
@@ -769,13 +769,13 @@
 	{
 		// calculate address size
 		 String adjustedAddress = address.toString(16);
-		
+
 		 int addressSize = 0;
 		 if (fInput.getMemoryBlock() instanceof IMemoryBlockExtension)
 		 {
 			 addressSize = ((IMemoryBlockExtension)fInput.getMemoryBlock()).getAddressSize();
 		 }
-		
+
 		 // handle IMemoryBlock and invalid address size returned by IMemoryBlockExtension
 		 if (addressSize <= 0)
 		 {
@@ -786,34 +786,34 @@
 			 else
 			 {
 				 addressSize = 4;
-			 }			
-		 }		
-		 
+			 }
+		 }
+
 		 return addressSize;
 	}
-	
+
 	/**
 	 * @return base address of memory block
 	 */
 	public BigInteger getContentBaseAddress()
 	{
-		return fInput.getContentBaseAddress(); 
+		return fInput.getContentBaseAddress();
 	}
-	
+
 	/**
 	 * Clear all delta information in the lines
 	 */
 	public void resetDeltas()
 	{
 		Enumeration<TableRenderingLine> enumeration = contentCache.elements();
-		
+
 		while (enumeration.hasMoreElements())
 		{
 			TableRenderingLine line = enumeration.nextElement();
 			line.unmarkDeltas();
 		}
 	}
-	
+
 	/**
 	 * Check if address is out of buffered range
 	 * @param address
@@ -825,16 +825,16 @@
 		{
 			TableRenderingLine first = lineCache.firstElement();
 			TableRenderingLine last = lineCache.lastElement();
-			
+
 			if (first == null ||last == null) {
 				return true;
 			}
-			
+
 			BigInteger startAddress = new BigInteger(first.getAddress(), 16);
 			BigInteger lastAddress = new BigInteger(last.getAddress(), 16);
 			int addressableUnit = getTableRendering(fInput).getAddressableUnitPerLine();
 			lastAddress = lastAddress.add(BigInteger.valueOf(addressableUnit)).subtract(BigInteger.valueOf(1));
-			
+
 			if (startAddress.compareTo(address) <= 0 &&
 				lastAddress.compareTo(address) >= 0)
 			{
@@ -844,63 +844,63 @@
 		}
 		return true;
 	}
-	
+
 	public void clearContentCache()
 	{
 		fContentCacheInBytes = new MemoryByte[0];
 		fContentCacheStartAddress = null;
 		contentCache.clear();
 	}
-	
+
 	/**
 	 * @return if the memory block would manage its own update.
 	 */
 	private boolean isUpdateManagedByMB()
 	{
 		IMemoryBlock memoryBlock = getMemoryBlock();
-		
+
 		IMemoryRenderingUpdater managedMB = null;
 		if (memoryBlock instanceof IMemoryRenderingUpdater)
 		{
 			managedMB = (IMemoryRenderingUpdater)memoryBlock;
 		}
-		
+
 		if (managedMB == null) {
 			managedMB = memoryBlock.getAdapter(IMemoryRenderingUpdater.class);
 		}
-		
+
 		// do not handle event if if the memory block wants to do its
 		// own update
 		if (managedMB != null && managedMB.supportsManagedUpdate(getTableRendering(fInput))) {
 			return true;
 		}
-		
+
 		return false;
 	}
-	
+
 	public boolean isDynamicLoad()
 	{
 		return fDynamicLoad;
 	}
-	
+
 	private void initializeDynamicLoad()
 	{
 		fDynamicLoad = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
 	}
-	
+
 	public void setDynamicLoad(boolean dynamicLoad)
 	{
 		fDynamicLoad = dynamicLoad;
 	}
-	
+
 	private void reorganizeLines(Vector<TableRenderingLine> lines, int numBytesPerLine) throws DebugException
 	{
 		if (lines == null || lines.isEmpty()) {
 			return;
 		}
-		
+
 		Object[] objs = lines.toArray();
-		
+
 		if (objs.length > 0)
 		{
 			TableRenderingLine[] renderingLines = lines.toArray(new TableRenderingLine[lines.size()]);
@@ -912,10 +912,10 @@
 			MemoryByte[] memoryBuffer = buffer;
 			String address =renderingLines[0].getAddress();
 			String paddedString = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-			
-			// set to false to preserve information delta information 
+
+			// set to false to preserve information delta information
 			boolean manageDelta = true;
-			
+
 			// If change information is not managed by the memory block
 			// The view tab will manage it and calculate delta information
 			// for its content cache.
@@ -924,11 +924,11 @@
 				manageDelta = !((IMemoryBlockExtension)fInput.getMemoryBlock()).supportsChangeManagement();
 			}
 			lineCache.clear();
-			
+
 			organizeLines(numberOfLines, updateDelta, addressLength, memoryBuffer, paddedString, address, manageDelta);
 		}
 	}
-	
+
 	private void reorganizeContentCache(int bytesPerLine)
 	{
 		// if content cache is empty, do nothing
@@ -936,17 +936,17 @@
 			|| fContentCacheInBytes.length == 0 || fContentCacheStartAddress == null) {
 			return;
 		}
-		
+
 		MemoryByte[] bytes = fContentCacheInBytes;
 		TableRenderingLine[] convertedLines = convertBytesToLines(bytes, bytesPerLine, new BigInteger(fContentCacheStartAddress, 16));
-		
+
 		contentCache.clear();
 		for (int i=0; i<convertedLines.length; i++)
 		{
 			contentCache.put(convertedLines[i].getAddress(), convertedLines[i]);
 		}
 	}
-	
+
 	private MemoryByte[] convertLinesToBytes(TableRenderingLine[] lines)
 	{
 		// convert the lines back to a buffer of MemoryByte
@@ -962,7 +962,7 @@
 		}
 		return buffer;
 	}
-	
+
 	private TableRenderingLine[] convertBytesToLines(MemoryByte[] bytes, int bytesPerLine, BigInteger startAddress)
 	{
 		int numOfLines = bytes.length / bytesPerLine;
@@ -976,12 +976,12 @@
 		}
 		ArrayList<TableRenderingLine> lines = new ArrayList<TableRenderingLine>();
 		String paddedString = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
-		
+
 		for (int i=0; i<numOfLines; i++)
 		{
 			MemoryByte[] temp = new MemoryByte[bytesPerLine];
 			System.arraycopy(bytes, i*bytesPerLine, temp, 0, bytesPerLine);
-			
+
 			String tmpAddress = address.toUpperCase();
 			if (tmpAddress.length() < addressLength)
 			{
@@ -990,20 +990,20 @@
 					tmpAddress = "0" + tmpAddress; //$NON-NLS-1$
 				}
 			}
-			
+
 			TableRenderingLine newLine = new TableRenderingLine(tmpAddress, temp, lines.size(), paddedString);
 			lines.add(newLine);
-			
+
 			// increment row address
 			BigInteger bigInt = new BigInteger(address, 16);
 			fBufferEndAddress = bigInt;
 			int addressableUnit = getTableRendering(fInput).getBytesPerLine()/getTableRendering(fInput).getAddressableSize();
 			address = bigInt.add(BigInteger.valueOf(addressableUnit)).toString(16);
 		}
-		
+
 		return lines.toArray(new TableRenderingLine[lines.size()]);
 	}
-	
+
 	private AbstractTableRendering getTableRendering(TableRenderingContentInput input)
 	{
 		return input.getAdapter(AbstractTableRendering.class);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java
index 3718c16..b3450bf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.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
  *******************************************************************************/
@@ -23,7 +23,7 @@
  * @since 3.0
  */
 public class TableRenderingLabelProvider extends AbstractTableRenderingLabelProvider implements IColorProvider {
-	
+
 	private IMemoryBlockTablePresentation fTablePresentation;
 
 	/**
@@ -32,13 +32,13 @@
 	public TableRenderingLabelProvider() {
 		super();
 	}
-	
+
 	public TableRenderingLabelProvider(AbstractTableRendering rendering){
 		super(rendering);
 		fTablePresentation = rendering.getAdapter(IMemoryBlockTablePresentation.class);
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
 	 */
@@ -59,7 +59,7 @@
 		if (element instanceof TableRenderingLine)
 		{
 			TableRenderingLine line = (TableRenderingLine)element;
-			
+
 			if (line.isMonitored) {
 				return DebugUIPlugin.getPreferenceColor(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR);
 			}
@@ -73,28 +73,28 @@
 	 */
 	@Override
 	public Color getBackground(Object element) {
-		
+
 		return null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
 	 */
 	@Override
 	public String getColumnText(Object element, int columnIndex) {
-		
+
 		String label = super.getColumnText(element, columnIndex);
-		
+
 		// consult model presentation for address presentation
 		if (columnIndex == 0)
-		{	
+		{
 			if (fTablePresentation != null)
-			{	
+			{
 				String address = ((TableRenderingLine)element).getAddress();
-				
+
 				// get address presentation
 				String tempLabel = fTablePresentation.getRowLabel(fRendering.getMemoryBlock(), new BigInteger(address, 16));
-				
+
 				if (tempLabel != null)
 					return tempLabel;
 			}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java
index c3ab9d8..d850caf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.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
  *******************************************************************************/
@@ -29,7 +29,7 @@
  * This label provider is used by AbstractTableRendering if clients decide to
  * provide customized decorations in the rendering. Otherwise the table
  * rendering uses TableRenderingLabelProvider.
- * 
+ *
  */
 public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider implements ITableColorProvider, ITableFontProvider {
 
@@ -46,7 +46,7 @@
 
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
 	 */
 	@Override
@@ -91,7 +91,7 @@
 				Color color = fColorProvider.getForeground(renderingElement);
 				if (color != null)
 					return color;
-			}			
+			}
 		}
 		return super.getForeground(element);
 	}
@@ -131,7 +131,7 @@
 	/**
 	 * Returns a memory rendering element corresponding to the given element
 	 * or <code>null</code> if none.
-	 *  
+	 *
 	 * @param element element to be rendered
 	 * @param columnIndex column index at which to render
 	 * @return memory rendering element or <code>null</code>
@@ -147,7 +147,7 @@
 		}
 		return null;
 	}
-	
+
 	private MemoryRenderingElement getMemoryRenderingElement(TableRenderingLine line, BigInteger lineAddress, int offset) {
 		BigInteger cellAddress = lineAddress.add(BigInteger.valueOf(offset));
 		MemoryByte[] bytes = line.getBytes(offset, offset
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
index a175e55..390aa31 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java
@@ -23,7 +23,7 @@
 	private String fAddress;
 	private String fStrRep;
 	private MemoryByte[] fBytes;
-	private byte[] fByteArray; 
+	private byte[] fByteArray;
 	private int fTableIndex = -1;
 	private String fPaddedString;
 	public boolean isMonitored;
@@ -47,35 +47,35 @@
 	public void setAddress(String address) {
 		fAddress = address;
 	}
-	
+
 	public MemoryByte[] getBytes()
 	{
 		return fBytes;
 	}
-	
+
 	public MemoryByte getByte(int offset)
 	{
 		if (fBytes == null)
 			return null;
-		
+
 		if (offset < fBytes.length) {
 			return fBytes[offset];
 		}
-		
-		return null;		
+
+		return null;
 	}
-	
+
 	public MemoryByte[] getBytes(int start, int end)
 	{
 		ArrayList<MemoryByte> ret = new ArrayList<MemoryByte>();
-		
+
 		for (int i=start; i<end; i++)
 		{
 			ret.add(fBytes[i]);
 		}
 		return ret.toArray(new MemoryByte[ret.size()]);
 	}
-	
+
 	public String getRawMemoryString()
 	{
 		if (fStrRep == null)
@@ -83,32 +83,32 @@
 			StringBuffer buffer = new StringBuffer();
 			fStrRep = RenderingsUtil.convertByteArrayToHexString(getByteArray());
 			fStrRep = fStrRep.toUpperCase();
-			
+
 			buffer = buffer.append(fStrRep);
-			
+
 			// pad unavailable bytes with padded string from memory block
 			String paddedString = null;
 			int bufferCounter = 0;
 			for (int i=0; i<fBytes.length; i++)
-			{ 
+			{
 				// if byte is invalid
 				if (!fBytes[i].isReadable())
 				{
 					if (paddedString == null)
 					{
 						paddedString = fPaddedString;
-						
+
 						if (paddedString.length() > TableRenderingLine.numCharPerByteForHex)
 							paddedString = paddedString.substring(0, TableRenderingLine.numCharPerByteForHex);
 					}
-					buffer.replace(bufferCounter, bufferCounter+TableRenderingLine.numCharPerByteForHex, paddedString);		
+					buffer.replace(bufferCounter, bufferCounter+TableRenderingLine.numCharPerByteForHex, paddedString);
 				}
 				bufferCounter += TableRenderingLine.numCharPerByteForHex;
 			}
-			
+
 			fStrRep = buffer.toString();
 		}
-		
+
 		return fStrRep;
 	}
 
@@ -120,9 +120,9 @@
 	public boolean isAvailable(int start, int end) {
 		boolean available = true;
 		for (int i=start; i<end; i++)
-		{	
+		{
 			if (!fBytes[i].isReadable())
-			{	
+			{
 				available = false;
 				break;
 			}
@@ -139,17 +139,17 @@
 			for (int i=0; i<fBytes.length; i++)
 			{
 				fByteArray[i] = fBytes[i].getValue();
-			}			
+			}
 		}
-		
+
 		return fByteArray;
 	}
-	
+
 	public byte[] getByteArray(int start, int end)
 	{
 		byte[] ret = new byte[end-start];
 		int j=0;
-		
+
 		for (int i=start; i<end; i++)
 		{
 			ret[j] = fBytes[i].getValue();
@@ -157,16 +157,16 @@
 		}
 		return ret;
 	}
-	
+
 	public void markDeltas(TableRenderingLine oldData)
 	{
 		if (oldData == null)
 			return;
-		
+
 		// if address is not the same, no need to compare
 		if (!oldData.getAddress().equals(this.getAddress()))
 			return;
-		
+
 		// if the string representation is the same, no need to compare
 		if (oldData.getRawMemoryString().equals(getRawMemoryString()))
 		{
@@ -177,23 +177,23 @@
 			}
 			return;
 		}
-		
+
 		MemoryByte[] oldMemory = oldData.getBytes();
-		
+
 		if (oldMemory.length != fBytes.length)
 			return;
-			
+
 		for (int i=0; i<fBytes.length; i++)
 		{
 			// turn on known bit
 			fBytes[i].setHistoryKnown(true);
-			
+
 			if ((fBytes[i].getFlags() & MemoryByte.READABLE) != (oldMemory[i].getFlags() & MemoryByte.READABLE))
 			{
 				fBytes[i].setChanged(true);
 				continue;
 			}
-				
+
 			if (fBytes[i].isReadable() && oldMemory[i].isReadable())
 			{
 				if (fBytes[i].getValue() != oldMemory[i].getValue())
@@ -203,55 +203,55 @@
 			}
 		}
 	}
-	
+
 	public void copyDeltas(TableRenderingLine oldData)
 	{
 		if (oldData == null)
 			return;
-		
+
 		// if address is not the same, do not copy
 		if (!oldData.getAddress().equals(this.getAddress()))
 			return;
-		
+
 		// reuse delta information from old data
 		MemoryByte[] oldMemory = oldData.getBytes();
-		
+
 		if (oldMemory.length != fBytes.length)
 			return;
-			
+
 		for (int i=0; i<fBytes.length; i++)
 		{
 			fBytes[i].setFlags(oldMemory[i].getFlags());
-		}		
+		}
 	}
-	
+
 	public boolean isLineChanged(TableRenderingLine oldData)
 	{
 		if (oldData == null)
 			return false;
-		
+
 		// if address is not the same, no need to compare
 		if (!oldData.getAddress().equals(this.getAddress()))
 			return false;
-		
+
 		// if the string representation is not the same, this line has changed
 		if (oldData.getRawMemoryString().equals(getRawMemoryString())) {
 			return false;
 		}
 		return true;
 	}
-	
+
 	/**
 	 * @param offset
 	 * @param endOffset
 	 * @return true if the specified range of memory has changed, false otherwise
 	 * */
-	
+
 	public boolean isRangeChange(int offset, int endOffset)
-	{	
+	{
 		boolean allBytesKnown = true;
 		boolean allBytesUnchanged = true;
-		
+
 		for (int i=offset; i<=endOffset; i++)
 		{
 			if (!fBytes[i].isHistoryKnown())
@@ -259,13 +259,13 @@
 			if (fBytes[i].isChanged())
 				allBytesUnchanged = false;
 		}
-		
+
 		if (allBytesKnown && !allBytesUnchanged) {
 			return true;
 		}
 		return false;
 	}
-	
+
 	public void unmarkDeltas()
 	{
 		for (int i=0; i<fBytes.length; i++)
@@ -275,7 +275,7 @@
 				fBytes[i].setChanged(false);
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#toString()
 	 */
@@ -284,19 +284,19 @@
 	{
 		StringBuffer buf = new StringBuffer();
 		buf.append(getAddress());
-		
+
 		buf.append(": "); //$NON-NLS-1$
-		
+
 		buf.append(getRawMemoryString());
-		
+
 		return buf.toString();
 	}
-	
+
 	public int getTableIndex()
 	{
 		return fTableIndex;
 	}
-	
+
 	public int getLength()
 	{
 		return fBytes.length;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
index df13ae8..d174c4f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java
@@ -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
  *******************************************************************************/
@@ -298,10 +298,10 @@
 		int bytesPerLine = rendering.getBytesPerLine();
 		int numAddressableUnitPerLine = rendering.getAddressableUnitPerLine();
 		BigInteger address = (BigInteger) getKey(0);
-		if (address == null) { 
+		if (address == null) {
 			return;
 		}
-		 
+
 
 		int addressableSize = rendering.getAddressableSize();
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java
index d6dc2c6..6a3000b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.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
  *******************************************************************************/
@@ -42,10 +42,10 @@
 	@Override
 	public void init(IViewPart view) {
 	}
-	
+
 	protected void showPreferencePage(String id, IPreferencePage page) {
 		final IPreferenceNode targetNode = new PreferenceNode(id, page);
-		
+
 		PreferenceManager manager = new PreferenceManager();
 		manager.addToRoot(targetNode);
 		final PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), manager);
@@ -57,7 +57,7 @@
 				dialog.setMessage(targetNode.getLabelText());
 				result[0]= (dialog.open() == Window.OK);
 			}
-		});		
+		});
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java
index 3ac5222..065f201 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java
@@ -43,8 +43,8 @@
 	private IntegerFieldEditor fPageSize;
 	private Group fGroup;
 	private Composite fComposite;
-	
-	
+
+
 	public TableRenderingPreferencePage(String title) {
 		super(title);
 	}
@@ -53,21 +53,21 @@
 	protected Control createContents(Composite parent) {
 
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".table_renderings_preference_page_context"); //$NON-NLS-1$
-		
+
 		fComposite = new Composite(parent, SWT.NONE);
 		fComposite.setLayout(new GridLayout());
 		GridData data = new GridData(SWT.FILL, SWT.FILL, true, false);
-		fComposite.setLayoutData(data); 
+		fComposite.setLayoutData(data);
 
 		GridData hspanData = new GridData(SWT.FILL, SWT.FILL, true, false);
 		hspanData.horizontalSpan = 2;
-		
+
 		SWTFactory.createWrapLabel(fComposite, DebugUIMessages.TableRenderingPreferencePage_10, 2, 300);
-		
+
 		fAuto = new Button(fComposite, SWT.RADIO);
 		fAuto.setText(DebugUIMessages.TableRenderingPreferencePage_0);
 		fAuto.setLayoutData(hspanData);
-		
+
 		fGroup = new Group(fComposite, SWT.NONE);
 		fGroup.setText(DebugUIMessages.TableRenderingPreferencePage_5);
 		GridData groupData = new GridData(SWT.FILL, SWT.FILL, true, false);
@@ -79,30 +79,30 @@
 		fPostBufferSize = new IntegerFieldEditor(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE, DebugUIMessages.TableRenderingPreferencePage_7, fGroup);
 		fPostBufferSize.setPreferenceStore(getPreferenceStore());
 		fPostBufferSize.load();
-		
+
 		fManual = new Button(fComposite, SWT.RADIO);
 		fManual.setText(DebugUIMessages.TableRenderingPreferencePage_8);
 		fManual.setLayoutData(hspanData);
-		
+
 		fPageSize = new IntegerFieldEditor(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE, DebugUIMessages.TableRenderingPreferencePage_2, fComposite);
 		fPageSize.setPreferenceStore(getPreferenceStore());
 		fPageSize.load();
-		
+
 		fPreBufferSize.setPropertyChangeListener(this);
 		fPostBufferSize.setPropertyChangeListener(this);
 		fPageSize.setPropertyChangeListener(this);
-		
+
 		fAuto.addSelectionListener(this);
 		fManual.addSelectionListener(this);
-		
+
 		loadLoadingModeFromPreference();
 		updateTextEditorsEnablement();
-		
+
 		return fComposite;
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void loadLoadingModeFromPreference() {
 		boolean isAuto = getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
@@ -121,9 +121,9 @@
 				validatePageSize();
 			}
 		}
-		
+
 	}
-	
+
 	private void validatePageSize() {
 		boolean autoLoad = fAuto.getSelection();
 		try {
@@ -139,7 +139,7 @@
 			{
 				// For auto load mode, we must have have > 1 buffer size
 				// otherwise, the rendering cannot be loaded dynamically
-				
+
 				if (preBuffer < 1 || postBuffer < 1)
 				{
 					setValid(false);
@@ -155,19 +155,19 @@
 			{
 				setValid(true);
 				setErrorMessage(null);
-				
+
 			}
 		} catch (NumberFormatException e) {
 				setValid(false);
 				setErrorMessage(DebugUIMessages.TableRenderingPreferencePage_4);
 		}
 	}
-	
+
 	@Override
 	protected IPreferenceStore doGetPreferenceStore() {
 		return DebugUIPlugin.getDefault().getPreferenceStore();
 	}
-	
+
 	@Override
 	public void dispose() {
 		fAuto.removeSelectionListener(this);
@@ -187,28 +187,28 @@
 	public void widgetSelected(SelectionEvent e) {
 		updateTextEditorsEnablement();
 	}
-	
+
 	@Override
 	public boolean performOk() {
 		boolean auto = fAuto.getSelection();
 		boolean currentValue = getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
 		if (auto != currentValue)
 			getPreferenceStore().setValue(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM, auto);
-		
+
 		fPageSize.store();
 		fPreBufferSize.store();
 		fPostBufferSize.store();
 		return super.performOk();
 	}
-	
+
 	@Override
 	protected void performDefaults() {
-		
+
 		boolean auto = getPreferenceStore().getDefaultBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
 		fAuto.setSelection(auto);
 		fManual.setSelection(!auto);
 		updateTextEditorsEnablement();
-		
+
 		fPageSize.loadDefault();
 		fPreBufferSize.loadDefault();
 		fPostBufferSize.loadDefault();
@@ -216,7 +216,7 @@
 	}
 
 	/**
-	 * 
+	 *
 	 */
 	private void updateTextEditorsEnablement() {
 		boolean auto = fAuto.getSelection();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java
index 7e94080..02af03e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java
@@ -43,49 +43,49 @@
 			compositeLayout.numColumns = 2;
 			compositeLayout.makeColumnsEqualWidth = false;
 			composite.setLayout(compositeLayout);
-			
+
 			GridData comositeSpec= new GridData();
 			comositeSpec.grabExcessVerticalSpace= true;
 			comositeSpec.grabExcessHorizontalSpace= true;
 			comositeSpec.horizontalAlignment= GridData.FILL;
 			comositeSpec.verticalAlignment= GridData.CENTER;
 			composite.setLayoutData(comositeSpec);
-			
+
 			String label = rendering.getLabel();
 			if (label.startsWith("&&")) //$NON-NLS-1$
 				label = label.replaceFirst("&&", "&");  //$NON-NLS-1$//$NON-NLS-2$
 			addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_1, label);
-						
+
 			MemoryByte[] bytes = rendering.getSelectedAsBytes();
 			if (bytes.length > 0) {
-				
+
 				if (rendering.getSelectedAddress() != null)
 				{
 					String selectedAddress = "0x" + rendering.getSelectedAddress().toString(16).toUpperCase(); //$NON-NLS-1$
 					StringBuffer content = new StringBuffer(selectedAddress);
 					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_2, content.toString());
 				}
-				
+
 				String length = String.valueOf(rendering.getAddressableUnitPerColumn()) + " " + DebugUIMessages.TableRenderingPropertiesPage_3; //$NON-NLS-1$
 				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_4, length);
-				
+
 				String selectedContent = rendering.getSelectedAsString();
 				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_5, selectedContent);
-				
+
 				int addressableSize = rendering.getAddressableSize() * 8;
 				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_6, String.valueOf(addressableSize) + " " + DebugUIMessages.TableRenderingPropertiesPage_8); //$NON-NLS-1$
-				
+
 				boolean endianessKnown = bytes[0].isEndianessKnown();
 				int endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
 				if (endianessKnown)
-					endianess = bytes[0].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;		
-				
+					endianess = bytes[0].isBigEndian()?RenderingsUtil.BIG_ENDIAN:RenderingsUtil.LITTLE_ENDIAN;
+
 				boolean allBytesKnown = bytes[0].isHistoryKnown();
 				boolean allBytesUnchanged = bytes[0].isChanged()?false:true;
-				
+
 				boolean allBytesReadable = bytes[0].isReadable();
 				boolean allBytesWritable = bytes[0].isWritable();
-				
+
 				if (bytes.length > 1)
 				{
 					for (int i=1; i<bytes.length; i++)
@@ -96,29 +96,29 @@
 							if (endianess != RenderingsUtil.ENDIANESS_UNKNOWN && endianess != byteEndianess)
 								endianess = RenderingsUtil.ENDIANESS_UNKNOWN;
 						}
-						
+
 						if (!bytes[i].isHistoryKnown())
 							allBytesKnown = false;
 						if (bytes[i].isChanged())
 							allBytesUnchanged = false;
-						
+
 						if (!bytes[i].isReadable())
 							allBytesReadable = false;
-						
+
 						if (!bytes[i].isWritable())
 							allBytesWritable = false;
 					}
 				}
-				
+
 				boolean isChanged = allBytesKnown && !allBytesUnchanged;
 				if (allBytesKnown)
 					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_9, String.valueOf(isChanged));
 				else
 					addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_10, DebugUIMessages.TableRenderingPropertiesPage_11);
-				
+
 				String dataEndian = DebugUIMessages.TableRenderingPropertiesPage_12;
 				if (endianessKnown)
-				{	
+				{
 					if (endianess == RenderingsUtil.BIG_ENDIAN)
 						dataEndian = DebugUIMessages.TableRenderingPropertiesPage_13;
 					else if (endianess == RenderingsUtil.LITTLE_ENDIAN)
@@ -127,15 +127,15 @@
 						dataEndian = DebugUIMessages.TableRenderingPropertiesPage_15;
 				}
 				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_16, dataEndian);
-				
-				
+
+
 				if (rendering instanceof AbstractIntegerRendering)
 				{
-					
+
 					AbstractIntegerRendering intRendering = (AbstractIntegerRendering)rendering;
 					String displayEndian = DebugUIMessages.TableRenderingPropertiesPage_17;
 					endianess = intRendering.getDisplayEndianess();
-					
+
 					if (endianess == RenderingsUtil.BIG_ENDIAN)
 						displayEndian = DebugUIMessages.TableRenderingPropertiesPage_18;
 					else if (endianess == RenderingsUtil.LITTLE_ENDIAN)
@@ -156,15 +156,15 @@
 			{
 				String selectedAddress = "0x" + rendering.getSelectedAddress().toString(16).toUpperCase(); //$NON-NLS-1$
 				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_25, selectedAddress);
-				
+
 				int unitsPerLine = rendering.getAddressableUnitPerLine();
 				addProperty(composite, DebugUIMessages.TableRenderingPropertiesPage_26, String.valueOf(unitsPerLine));
 			}
 		}
-		
+
 		return composite;
 	}
-	
+
 	private void addProperty(Composite composite, String labelStr, String contentStr)
 	{
 		Label label = new Label(composite, SWT.NONE);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java
index 25dde33..f15fb6c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.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
  *******************************************************************************/
@@ -33,14 +33,14 @@
 	{
 		String ret;
 		long result = 0;
-		
+
 		if (columnSize == 1)
 		{
 			result = byteArray[0];
 			result &= 0xff;
 		}
 		else if (columnSize == 2)
-		{	
+		{
 			result = RenderingsUtil.convertByteArrayToInt(byteArray, endianess);
 		}
 		else if (columnSize == 4)
@@ -50,7 +50,7 @@
 		else if (columnSize == 8)
 		{
 			BigInteger value = RenderingsUtil.convertByteArrayToUnsignedLong(byteArray, endianess);
-			return value.toString();				
+			return value.toString();
 		}
 		else if (columnSize == 16)
 		{
@@ -60,14 +60,14 @@
 		else
 		{
 			BigInteger bigRet = RenderingsUtil.convertByteArrayToUnsignedBigInt(byteArray, endianess, columnSize);
-			return bigRet.toString();			
+			return bigRet.toString();
 		}
 
 		ret = new Long(result).toString();
-		
+
 		return ret;
-	}	
-	
+	}
+
 	private byte[] convertToBytes(int colSize, String newValue, int endianess)
 	{
 		try {
@@ -80,25 +80,25 @@
 			}
 			// unsigned integer
 			else if (colSize == 2)
-			{	
+			{
 				int i = Integer.parseInt(newValue);
 				bytes = RenderingsUtil.convertIntToByteArray(i, endianess);
 				bytes = extractBytes(bytes, endianess, colSize);
 			}
 			else if (colSize == 4)
-			{	
+			{
 				long i = Long.parseLong(newValue);
 				bytes = RenderingsUtil.convertLongToByteArray(i, endianess);
 				bytes = extractBytes(bytes, endianess, colSize);
 			}
 			else if (colSize == 8)
-			{	
+			{
 				BigInteger i = new BigInteger(newValue);
 				bytes = RenderingsUtil.convertBigIntegerToByteArray(i, endianess);
 				bytes = extractBytes(bytes, endianess, colSize);
 			}
 			else if (colSize == 16)
-			{	
+			{
 				BigInteger i = new BigInteger(newValue);
 				bytes = RenderingsUtil.convertUnsignedBigIntegerToByteArray(i, endianess);
 				bytes = extractBytes(bytes, endianess, colSize);
@@ -110,9 +110,9 @@
 				BigInteger i = new BigInteger(newValue);
 				bytes = RenderingsUtil.convertUnsignedBigIntToByteArray(i, endianess, colSize);
 				bytes = extractBytes(bytes, endianess, colSize);
-				return bytes;				
+				return bytes;
 			}
-			
+
 			return bytes;
 		} catch (NumberFormatException e) {
 			throw e;
@@ -124,7 +124,7 @@
 	 */
 	@Override
 	public String getString(String dataType, BigInteger address, MemoryByte[] data) {
-		
+
 		String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
 		boolean invalid = false;
 		for (int i=0; i<data.length; i++)
@@ -135,7 +135,7 @@
 				break;
 			}
 		}
-		
+
 		if (invalid)
 		{
 			StringBuffer strBuf = new StringBuffer();
@@ -145,19 +145,19 @@
 			}
 			return strBuf.toString();
 		}
-		
+
 		int columnSize = getBytesPerColumn();
 		int endianess = getDisplayEndianess();
 		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
 			endianess = getBytesEndianess(data);
-		
+
 		byte[] byteArray = new byte[data.length];
 		for (int i=0; i<byteArray.length;i ++)
 		{
 			byteArray[i] = data[i].getValue();
 		}
-		
-		// if endianess is unknown, do not render, just return padded string		
+
+		// if endianess is unknown, do not render, just return padded string
 		if (RenderingsUtil.ENDIANESS_UNKNOWN == endianess)
 		{
 			StringBuffer strBuf = new StringBuffer();
@@ -167,7 +167,7 @@
 			}
 			return strBuf.toString();
 		}
-		
+
 		return convertToString(byteArray, columnSize, endianess);
 	}
 
@@ -176,12 +176,12 @@
 	 */
 	@Override
 	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
-		
+
 		int columnSize = getBytesPerColumn();
 		int endianess = getDisplayEndianess();
 		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
 			endianess = getBytesEndianess(currentValues);
-		
+
 		// if endianess is unknown, do not try to render new data to bytes
 		if (endianess == RenderingsUtil.ENDIANESS_UNKNOWN)
 		{
@@ -190,19 +190,19 @@
 				retBytes[i] = currentValues[i].getValue();
 			return retBytes;
 		}
-		
+
 		return convertToBytes(columnSize, data, endianess);
 	}
-	
+
 	private byte[] extractBytes(byte[] bytes, int endianess, int colSize) {
-		
+
 		if (colSize > bytes.length)
 			throw new NumberFormatException();
-		
+
 		// take the least significant 'colSize' bytes out of the bytes array
 		// if it's big endian, it's the last 'colSize' bytes
 		if (endianess == RenderingsUtil.BIG_ENDIAN)
-		{	
+		{
 			// check most significan bytes... if data has to be represented
 			// using more than 'colSize' number of bytes, this
 			// number is invalid, throw number format exception
@@ -211,11 +211,11 @@
 				if (bytes[i] != 0)
 					throw new NumberFormatException();
 			}
-			
+
 			byte[] copy = new byte[colSize];
 			for (int j=0, k=bytes.length-colSize; j<copy.length && k<bytes.length; j++, k++)
-			{	
-				copy[j] = bytes[k]; 
+			{
+				copy[j] = bytes[k];
 			}
 			bytes = copy;
 		}
@@ -230,14 +230,14 @@
 				if (bytes[i] != 0)
 					throw new NumberFormatException();
 			}
-			
+
 			byte[] copy = new byte[colSize];
 			for (int j=0; j<copy.length; j++)
-			{	
-				copy[j] = bytes[j]; 
+			{
+				copy[j] = bytes[j];
 			}
-			bytes = copy;							
+			bytes = copy;
 		}
 		return bytes;
-	}	
+	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java
index 805a8f9..a70fbe7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.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/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/IHelpContextIdProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/IHelpContextIdProvider.java
index 4575073..48c0939 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/IHelpContextIdProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/IHelpContextIdProvider.java
@@ -14,12 +14,12 @@
 
 
 /**
- * A help context id provider allows clients to customize F1 help content from a 
+ * A help context id provider allows clients to customize F1 help content from a
  * debug view.  When the view input is changed, the view asks the input for
  * an adapter for IHelpContexIdProvider.  If a provider is returned, the provider
  * will be consulted to replace the default context help id for a given control.  If a provider
  * is not returned, then the view will use the default help context id.
- * 
+ *
  * This is provided until Bug 216834 is fixed.
  *
  */
@@ -31,5 +31,5 @@
 	 * @return the help context id that should be used in place of the given help context id
 	 * or <code>null</code> if default is to be used
 	 */
-	public String getHelpContextId(String helpId); 
+	public String getHelpContextId(String helpId);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java
index 578910e..3e9dbcd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java
@@ -4,11 +4,11 @@
  * 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: 
+ *
+ * Contributors:
  * QNX Software Systems - Initial API and implementation
  * Wind River Systems - Pawel Piech - Added Modules view (bug 211158)
- * IBM - Added the abiliity to update view label, context help and the orientation 
+ * IBM - Added the abiliity to update view label, context help and the orientation
  *       action upon input change
 ***********************************************************************/
 package org.eclipse.debug.internal.ui.views.modules;
@@ -35,8 +35,8 @@
 /**
  * Displays modules and symbols with a detail area.
  */
-public class ModulesView extends VariablesView {	
-	
+public class ModulesView extends VariablesView {
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
 	 */
@@ -87,7 +87,7 @@
 	 */
 	@Override
 	protected String getToggleActionLabel() {
-		
+
 		if (getViewer() != null)
 		{
 			Object viewerInput = getViewer().getInput();
@@ -101,10 +101,10 @@
 				}
 			}
 		}
-		
-		return ModulesViewMessages.ModulesView_0; 
+
+		return ModulesViewMessages.ModulesView_0;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId()
 	 */
@@ -112,21 +112,21 @@
 	protected String getPresentationContextId() {
 		return IDebugUIConstants.ID_MODULE_VIEW;
 	}
-	
+
 	@Override
 	protected void setViewerInput(Object context) {
 		super.setViewerInput(context);
-		
+
 		// update view label when viewer input is changed
 		updateViewLabels(context);
-		
+
 		// update orientation action based on input
 		updateOrientationAction(context);
-		
+
 		// update context help hook when viewer input is changed
 		updateContextHelp(context);
 	}
-	
+
 	private void updateContextHelp(Object context) {
 		if (context instanceof IAdaptable) {
 			IAdaptable adaptable = (IAdaptable) context;
@@ -142,15 +142,15 @@
 		}
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl().getParent(), IDebugHelpContextIds.MODULES_VIEW);
 	}
-	
+
 	private void updateViewLabels(Object context)
 	{
 		String viewName = getViewName(context);
-		
+
 		// only update label if the name has changed
 		if (!getPartName().equals(viewName))
 			setPartName(viewName);
-		
+
 		// only update image if the image has changed
 		Image image = getViewImage(context);
 		if (!getTitleImage().equals(image))
@@ -173,7 +173,7 @@
 		}
 		return ModulesViewMessages.ModulesView_2;
 	}
-	
+
 	private Image getViewImage(Object context)
 	{
 		if (context instanceof IAdaptable) {
@@ -188,7 +188,7 @@
 		}
 		return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_CVIEW_MODULES_VIEW);
 	}
-	
+
 	private void updateOrientationAction(Object context)
 	{
 		ToggleDetailPaneAction action = getToggleDetailPaneAction(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_HIDDEN);
@@ -198,5 +198,5 @@
 			action.setText(label);
 		}
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesViewMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesViewMessages.java
index 6930c44..4c81bdf 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesViewMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesViewMessages.java
@@ -4,8 +4,8 @@
  * 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: 
+ *
+ * Contributors:
  * QNX Software Systems - Initial API and implementation
  * IBM Corporation - Bug 90318
  * Wind River Systems - Pawel Piech - Added Modules view (bug 211158)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
index d509d4f..395b942 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
@@ -4,8 +4,8 @@
  * 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: 
+ *
+ * Contributors:
  * QNX Software Systems - Initial API and implementation
 ***********************************************************************/
 package org.eclipse.debug.internal.ui.views.registers;
@@ -21,7 +21,7 @@
  * Displays registers and their values with a detail area.
  */
 public class RegistersView extends VariablesView {
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
 	 */
@@ -36,7 +36,7 @@
 	@Override
 	protected void configureToolBar(IToolBarManager tbm) {
 		super.configureToolBar(tbm);
-		tbm.add(new Separator(IDebugUIConstants.EMPTY_REGISTER_GROUP));		
+		tbm.add(new Separator(IDebugUIConstants.EMPTY_REGISTER_GROUP));
 		tbm.add(new Separator(IDebugUIConstants.REGISTER_GROUP));
 	}
 
@@ -53,15 +53,15 @@
 	 */
 	@Override
 	protected String getToggleActionLabel() {
-		return RegistersViewMessages.RegistersView_0; 
+		return RegistersViewMessages.RegistersView_0;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId()
 	 */
 	@Override
 	protected String getPresentationContextId() {
 		return IDebugUIConstants.ID_REGISTER_VIEW;
-	}	
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
index fee5012..a02c167 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
@@ -4,8 +4,8 @@
  * 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: 
+ *
+ * Contributors:
  * QNX Software Systems - Initial API and implementation
  * IBM Corporation - Bug 90318
  ***********************************************************************/
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
index e21d378..f3aaae0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.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
  *******************************************************************************/
@@ -31,7 +31,7 @@
  * variable or expression.
  */
 public class AvailableLogicalStructuresAction extends Action implements IMenuCreator {
-	
+
 	private VariablesView fView;
 	private Menu fMenu;
 	private IValue fValue;
@@ -39,8 +39,8 @@
 
 	public AvailableLogicalStructuresAction(VariablesView view) {
 		setView(view);
-		setToolTipText(VariablesViewMessages.AvailableLogicalStructuresAction_0); 
-		setText(VariablesViewMessages.AvailableLogicalStructuresAction_1); 
+		setToolTipText(VariablesViewMessages.AvailableLogicalStructuresAction_0);
+		setText(VariablesViewMessages.AvailableLogicalStructuresAction_1);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.VARIABLES_SELECT_LOGICAL_STRUCTURE);
 		setEnabled(false);
 		setMenuCreator(this);
@@ -53,7 +53,7 @@
 	@Override
 	public void run() {
 	}
-	
+
 	protected VariablesView getView() {
 		return fView;
 	}
@@ -87,7 +87,7 @@
 		ActionContributionItem item= new ActionContributionItem(action);
 		item.fill(parent, -1);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
 	 */
@@ -96,7 +96,7 @@
 		if (fMenu != null) {
 			fMenu.dispose();
 		}
-		
+
 		fMenu= new Menu(parent);
 		ILogicalStructureType[] types = getTypes();
         ILogicalStructureType enabledType = DebugPlugin.getDefaultStructureType(types);
@@ -157,19 +157,19 @@
 		}
 		setEnabled(false);
 	}
-	
+
 	protected ILogicalStructureType[] getTypes() {
 		return fTypes;
 	}
-	
+
 	private void setTypes(ILogicalStructureType[] types) {
 		fTypes = types;
 	}
-	
+
 	protected IValue getValue() {
 		return fValue;
 	}
-	
+
 	private void setValue(IValue value) {
 		fValue = value;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java
index 67be772..b60bd31 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.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
  *******************************************************************************/
@@ -18,22 +18,22 @@
 import org.eclipse.debug.internal.core.IInternalDebugCoreConstants;
 
 /**
- * A parition (subrange) of values of an indexed value 
+ * A parition (subrange) of values of an indexed value
  */
 public class IndexedValuePartition implements IIndexedValue {
 
 	// the starting offset of this parition, into the associated collection
 	private int fOffset;
-	
+
 	// the length of this partition
 	private int fLength;
 
 	// the indexed value
 	private IIndexedValue fValue;
-	
+
 	/**
 	 * Creates a parition for an indexed value.
-	 * 
+	 *
 	 * @param value indexed value
 	 * @param offset beginning offset of this partition (into the value)
 	 * @param length the length of this parition
@@ -42,8 +42,8 @@
 		fValue = value;
 		fOffset = offset;
 		fLength = length;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.model.IIndexedValue#getSize()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
index 4327e4a..04d3775 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
@@ -28,27 +28,27 @@
  * (<code>IIndexedValue</code>).
  */
 public class IndexedVariablePartition extends PlatformObject implements IVariable  {
-	
+
 	// the starting offset of this partition, into the associated collection
 	private int fOffset;
-	
+
 	// the length of this partition
 	private int fLength;
-	
+
 	// the root variable or expression containing the indexed value
 	private IDebugElement fOriginalVariable;
 
 	// the indexed value
 	private IIndexedValue fOriginalValue;
-	
+
 	// sub-range of values
 	private IIndexedValue fValuePartition;
-	
+
 	private String fName = null;
-	
+
 	/**
 	 * Creates a partition for an indexed value.
-	 * 
+	 *
 	 * @param variable variable or expression containing the indexed value
 	 * @param value indexed value
 	 * @param offset beginning offset of this partition (into the value)
@@ -61,7 +61,7 @@
 		fLength = length;
 		fValuePartition = new IndexedValuePartition(value, offset, length);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.model.IVariable#getValue()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java
index 5765ece..6d2e50d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java
@@ -26,7 +26,7 @@
  * Cache that stores evaluated logical structure values to replace raw values.  Cache
  * should be cleared when a RESUME or TERMINATE event is fired so the structure can be
  * reevaluated for new values.
- * 
+ *
  * @since 3.3
  *
  */
@@ -36,11 +36,11 @@
 	 * Maps a ILogicalStructureType to the cache for that type
 	 */
 	private Map<ILogicalStructureType, LogicalStructureTypeCache> fCacheForType = new HashMap<ILogicalStructureType, LogicalStructureTypeCache>();
-	
+
 	/**
 	 * Returns the logical value to replace the given value using the specified logical structure.
 	 * The value will be retrieved from the cache if possible, or evaluated if not.
-	 * 
+	 *
 	 * @param type the logical structure type used to evaluate the logical value
 	 * @param value the raw value to replace with a logical structure
 	 * @return the logical value replacing the raw value or <code>null</code> if there is a problem
@@ -48,23 +48,23 @@
 	public IValue getLogicalStructure(ILogicalStructureType type, IValue value) throws CoreException {
 		synchronized (fCacheForType) {
 			LogicalStructureTypeCache cache = getCacheForType(type);
-			return cache.getLogicalStructure(value);			
+			return cache.getLogicalStructure(value);
 		}
 	}
-	
+
 	/**
 	 * Clears the cache of all evaluated values.
 	 */
 	public void clear(){
 		synchronized (fCacheForType) {
-			fCacheForType.clear();	
+			fCacheForType.clear();
 		}
 	}
-	
+
 	/**
 	 * Helper method that returns the cache associated with the given logical structure type.
 	 * If there is not cache associated, one is created.
-	 * 
+	 *
 	 * @param type the logical structure type to get the cache for
 	 * @return the cache associated with the logical structure type
 	 */
@@ -74,35 +74,35 @@
 			cache = new LogicalStructureTypeCache(type);
 			fCacheForType.put(type, cache);
 		}
-		return cache;			
+		return cache;
 	}
-	
+
 	/**
 	 * Inner class that caches the known and pending values for a given logical
 	 * structure type.
 	 */
 	class LogicalStructureTypeCache{
-		
+
 		private ILogicalStructureType fType;
-		
+
 		/**
-		 * Maps a raw IValue to its calculated logical IValue  
+		 * Maps a raw IValue to its calculated logical IValue
 		 */
 		private Map<IValue, IValue> fKnownValues = new HashMap<IValue, IValue>();
-		
+
 		/**
 		 * Set of raw IValues that logical values are currently being evaluated for.
 		 */
 		private Set<IValue> fPendingValues = new HashSet<IValue>();
-		
+
 		public LogicalStructureTypeCache(ILogicalStructureType type){
 			fType = type;
 		}
-		
+
 		/**
 		 * Returns the logical structure value for the given raw value.  If the value has been evaluated
 		 * the cached value is returned, otherwise the thread waits until the value is evaluated.
-		 * 
+		 *
 		 * @param value the raw value
 		 * @return the logical value
 		 * @exception CoreException if an error occurs computing the value
@@ -146,8 +146,8 @@
 					fPendingValues.notifyAll();
 				}
 				throw e;
-			} 
+			}
 		}
-		
+
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java
index 4ef148c..a33395d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.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
  *******************************************************************************/
@@ -22,13 +22,13 @@
  * logical structure types for the same variable).
  */
 public class SelectLogicalStructureAction extends Action {
-	
+
 	private VariablesView fView;
     private ILogicalStructureType fType;
     private ILogicalStructureType[] fAvailableTypes;
 
 	/**
-	 * 
+	 *
 	 * @param view Variables view
 	 * @param type the type that this action will turn on/off
 	 * @param value the value for which logical structures are to be chosen
@@ -64,11 +64,11 @@
                     type= fType;
                 }
                 DebugPlugin.setDefaultStructureType(fAvailableTypes, type);
-				getView().getViewer().refresh();					
+				getView().getViewer().refresh();
 			}
-		});			
+		});
 	}
-	
+
 	protected VariablesView getView() {
 		return fView;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java
index 5ccaf11..5143a7b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.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:
  * 	   Wind River - Pawel Piech - Initial Implementation - Drag/Drop to Expressions View (Bug 184057)
  *     IBM Corporation - further implementation and documentation
@@ -23,19 +23,19 @@
 /**
  * Drag adapter for the variables view and expressions view.  Allows selected variables and
  * expressions to be dragged.
- * 
+ *
  * @see org.eclipse.debug.internal.ui.views.expression.ExpressionDropAdapter
  * @since 3.4
  */
 public class SelectionDragAdapter extends DragSourceAdapter implements TransferDragSourceListener {
-    
+
     /**
      * The associated viewer for the adapter
      */
     private TreeModelViewer fViewer;
-    
+
     /**
-     * Constructor, takes the viewer that contains the selection provider 
+     * Constructor, takes the viewer that contains the selection provider
      * @param view the associated view, <b>must</b> implement <code>ISelectionProvider</code>
      */
     public SelectionDragAdapter(TreeModelViewer viewer) {
@@ -50,7 +50,7 @@
 	public Transfer getTransfer() {
         return LocalSelectionTransfer.getTransfer();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.swt.dnd.DragSourceAdapter#dragStart(org.eclipse.swt.dnd.DragSourceEvent)
      */
@@ -61,7 +61,7 @@
         LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL);
         event.doit = !selection.isEmpty();
     }
-   
+
     /* (non-Javadoc)
      * @see org.eclipse.swt.dnd.DragSourceAdapter#dragSetData(org.eclipse.swt.dnd.DragSourceEvent)
      */
@@ -80,5 +80,5 @@
 	public void dragFinished(DragSourceEvent event) {
         LocalSelectionTransfer.getTransfer().setSelection(null);
         LocalSelectionTransfer.getTransfer().setSelectionSetTime(0);
-    }   
+    }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
index a554d56..2ddd2e8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
@@ -26,13 +26,13 @@
  * is used for all debug models.
  */
 public class ToggleLogicalStructureAction extends Action {
-	
+
 	private VariablesView fView;
 
 	public ToggleLogicalStructureAction(VariablesView view) {
 		super(null, IAction.AS_CHECK_BOX);
 		setView(view);
-		setToolTipText(VariablesViewMessages.ToggleObjectBrowsersAction_1);  
+		setToolTipText(VariablesViewMessages.ToggleObjectBrowsersAction_1);
 		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_SHOW_LOGICAL_STRUCTURE));
 		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_SHOW_LOGICAL_STRUCTURE));
 		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_SHOW_LOGICAL_STRUCTURE));
@@ -48,15 +48,15 @@
 		if (!getView().isAvailable()) {
 			return;
 		}
-		getView().setShowLogicalStructure(isChecked());	
+		getView().setShowLogicalStructure(isChecked());
 		BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() {
 			@Override
 			public void run() {
-				getView().getViewer().refresh();					
+				getView().getViewer().refresh();
 			}
-		});		
+		});
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.Action#setChecked(boolean)
 	 */
@@ -64,7 +64,7 @@
 	public void setChecked(boolean value) {
 		super.setChecked(value);
 	}
-	
+
 	protected VariablesView getView() {
 		return fView;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java
index a1e7b2c..7294468 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java
@@ -28,13 +28,13 @@
  * is used for all debug models.
  */
 public class ToggleShowColumnsAction extends Action implements IUpdate {
-	
+
 	private TreeModelViewer fViewer;
 
 	public ToggleShowColumnsAction(TreeModelViewer viewew) {
 		super(VariablesViewMessages.ToggleShowColumnsAction_0, IAction.AS_CHECK_BOX);
 		fViewer = viewew;
-		setToolTipText(VariablesViewMessages.ToggleShowColumnsAction_1);  
+		setToolTipText(VariablesViewMessages.ToggleShowColumnsAction_1);
 		setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB));
 		setId(DebugUIPlugin.getUniqueIdentifier() + ".ToggleShowColumsAction"); //$NON-NLS-1$
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.SHOW_COLUMNS_ACTION);
@@ -51,11 +51,11 @@
 		BusyIndicator.showWhile(fViewer.getControl().getDisplay(), new Runnable() {
 			@Override
 			public void run() {
-				fViewer.setShowColumns(isChecked());				
+				fViewer.setShowColumns(isChecked());
 			}
-		});		
+		});
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.texteditor.IUpdate#update()
 	 */
@@ -63,7 +63,7 @@
 	public void update() {
 		setEnabled(fViewer.canToggleColumns());
 		setChecked(fViewer.isShowColumns());
-	}	
-	
+	}
+
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java
index 4b9cd84..91817c3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java
@@ -24,10 +24,10 @@
 import org.eclipse.ui.IViewPart;
 
 /**
- * 
+ *
  */
 public abstract class VariableViewToggleAction implements IViewActionDelegate, IActionDelegate2 {
-	
+
 	private IViewPart fView;
 	private IAction fAction;
 
@@ -89,11 +89,11 @@
 	protected IPreferenceStore getPreferenceStore() {
 		return DebugUIPlugin.getDefault().getPreferenceStore();
 	}
-	
+
 	/**
 	 * Returns the value of this filters preference (on/off) for the given
 	 * view.
-	 * 
+	 *
 	 * @param part
 	 * @return boolean
 	 */
@@ -108,20 +108,20 @@
 		} else {
 			value = store.getBoolean(baseKey);
 		}
-		return value;		
+		return value;
 	}
-	
+
 	/**
 	 * Returns the key for this action's preference
-	 * 
+	 *
 	 * @return String
 	 */
-	protected abstract String getPreferenceKey(); 
-		
+	protected abstract String getPreferenceKey();
+
 	protected IViewPart getView() {
 		return fView;
 	}
-	
+
 	protected StructuredViewer getStructuredViewer() {
 		IDebugView view = getView().getAdapter(IDebugView.class);
 		if (view != null) {
@@ -129,7 +129,7 @@
 			if (viewer instanceof StructuredViewer) {
 				return (StructuredViewer)viewer;
 			}
-		}		
+		}
 		return null;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
index a83f7a2..ad267f2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
@@ -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
  *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
@@ -14,7 +14,7 @@
  *     Wind River - Pawel Piech - Fix viewer input race condition (Bug 234908)
  *     Wind River - Anton Leherbauer - Fix selection provider (Bug 254442)
  *     Patrick Chuong (Texas Instruments) - Improve usability of the breakpoint view (Bug 238956)
- *     Patrick Chuong (Texas Instruments) and Pawel Piech (Wind River) - 
+ *     Patrick Chuong (Texas Instruments) and Pawel Piech (Wind River) -
  *     		Allow multiple debug views and multiple debug context providers (Bug 327263)
  *******************************************************************************/
 package org.eclipse.debug.internal.ui.views.variables;
@@ -142,7 +142,7 @@
 	IPropertyChangeListener, IDebugExceptionHandler,
 	IPerspectiveListener, IModelChangedListener,
 		IViewerUpdateListener, IDetailPaneContainer2, ISaveablePart2 {
-	
+
 	private static final String COLLAPSE_ALL = "CollapseAll"; //$NON-NLS-1$
 
 	/**
@@ -159,7 +159,7 @@
 			}
 		};
 		private ISelectionProvider fActiveProvider;
-		
+
 		private SelectionProviderWrapper(ISelectionProvider provider) {
 			setActiveProvider(provider);
 		}
@@ -194,7 +194,7 @@
 		 */
 		@Override
 		public void addSelectionChangedListener(ISelectionChangedListener listener) {
-			fListenerList.add(listener);			
+			fListenerList.add(listener);
 		}
 
 		/*
@@ -226,77 +226,77 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * The model presentation used as the label provider for the tree viewer,
 	 * and also as the detail information provider for the detail pane.
 	 */
 	protected VariablesViewModelPresentation fModelPresentation;
-	
+
 	/**
 	 * The UI construct that provides a sliding sash between the variables tree
 	 * and the detail pane.
 	 */
 	private SashForm fSashForm;
-	
+
 	/**
 	 * Composite that holds the details pane and always remains
 	 */
 	private Composite fDetailsAnchor;
-	
+
 	/**
 	 * Composite that holds the separator container and detail pane control.
 	 * Gets disposed/created as the layout changes.
 	 */
 	private Composite fDetailsComposite;
-	
+
 	/**
 	 * Separator used when detail pane background colors of tree/detail pane are different.
 	 */
 	private Label fSeparator;
-	
+
 	/**
 	 * Parent of the viewer, used to detect re-sizing for automatic layout
 	 */
 	private Composite fParent;
-	
+
 	/**
 	 * Whether the detail pane has been built yet.
 	 */
 	private boolean fPaneBuilt = false;
-	
+
 	/**
 	 * The detail pane that displays detailed information about the current selection
 	 * @since 3.3
 	 */
 	private DetailPaneProxy fDetailPane;
-	
+
 	/**
 	 * Stores whether the tree viewer was the last control to have focus in the
-	 * view. Used to give focus to the correct component if the user leaves the view.    
+	 * view. Used to give focus to the correct component if the user leaves the view.
 	 * @since 3.3
 	 */
 	private boolean fTreeHasFocus = true;
-	
+
 	/**
 	 * Various listeners used to update the enabled state of actions and also to
 	 * populate the detail pane.
 	 */
 	private ISelectionChangedListener fTreeSelectionChangedListener;
-	
+
 	/**
 	 * Listener added to the control of the detail pane, allows view to keep track of which
 	 * part last had focus, the tree or the detail pane.
 	 */
-	private Listener fDetailPaneActivatedListener;	
-	
+	private Listener fDetailPaneActivatedListener;
+
 	/**
 	 * Viewer input service used to translate active debug context to viewer input.
 	 */
 	private ViewerInputService fInputService;
-	
+
 	private Map<String, IAction> fGlobalActionMap = new HashMap<String, IAction>();
-	
+
 	/**
 	 * Viewer input requester used to update the viewer once the viewer input has been
 	 * resolved.
@@ -309,7 +309,7 @@
 			}
 		}
 	};
-	
+
 	/**
 	 * These are used to initialize and persist the position of the sash that
 	 * separates the tree viewer from the detail pane.
@@ -320,20 +320,20 @@
 	private String fCurrentDetailPaneOrientation = IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_HIDDEN;
 	private ToggleDetailPaneAction[] fToggleDetailPaneActions;
 	private ConfigureColumnsAction fConfigureColumnsAction;
-    
+
     protected String PREF_STATE_MEMENTO = "pref_state_memento."; //$NON-NLS-1$
 
 	public static final String LOGICAL_STRUCTURE_TYPE_PREFIX = "VAR_LS_"; //$NON-NLS-1$
-	
+
 	/**
 	 * Presentation context property.
 	 * @since 3.3
 	 */
 	public static final String PRESENTATION_SHOW_LOGICAL_STRUCTURES = "PRESENTATION_SHOW_LOGICAL_STRUCTURES"; //$NON-NLS-1$
-	
+
 	/**
 	 * the preference name for the view part of the sash form
-	 * @since 3.2 
+	 * @since 3.2
 	 */
 	protected static final String SASH_VIEW_PART = DebugUIPlugin.getUniqueIdentifier() + ".SASH_VIEW_PART"; //$NON-NLS-1$
 	/**
@@ -341,19 +341,19 @@
 	 * @since 3.2
 	 */
 	protected static final String SASH_DETAILS_PART = DebugUIPlugin.getUniqueIdentifier() + ".SASH_DETAILS_PART"; //$NON-NLS-1$
-	
+
 	/**
 	 * Sash weights for a specific detail pane type
 	 */
 	protected static final String DETAIL_PANE_TYPE = "DETAIL_PANE_TYPE"; //$NON-NLS-1$
-		
+
     /**
      * Visits deltas to determine if details should be displayed
      */
     class Visitor implements IModelDeltaVisitor {
         /**
          * Whether to trigger details display.
-         * 
+         *
          * @since 3.3
          */
         private boolean fTriggerDetails = false;
@@ -368,31 +368,31 @@
 			}
 			return true;
 		}
-		
+
 		public void reset() {
 			fTriggerDetails = false;
 		}
-		
+
 		public boolean isTriggerDetails() {
 			return fTriggerDetails;
 		}
-    	
+
     }
     /**
      * Delta visitor
      */
     private Visitor fVisitor = new Visitor();
-    
+
     /**
      * Job to update details in the UI thread.
      */
     private Job fTriggerDetailsJob = new UIJob("trigger details") { //$NON-NLS-1$
-    	
+
 		@Override
 		public IStatus runInUIThread(IProgressMonitor monitor) {
 			if (monitor.isCanceled()) {
 				return Status.CANCEL_STATUS;
-			} 
+			}
 			refreshDetailPaneContents();
 			return Status.OK_STATUS;
 		}
@@ -402,12 +402,12 @@
 	 * Selection provider registered with the view site.
 	 */
 	private SelectionProviderWrapper fSelectionProvider;
-    
+
 	/**
 	 * Presentation context for this view.
 	 */
 	private IPresentationContext fPresentationContext;
-	
+
 	/**
 	 * Remove myself as a selection listener
 	 * and preference change listener.
@@ -416,7 +416,7 @@
 	 */
 	@Override
 	public void dispose() {
-		
+
         DebugUITools.removePartDebugContextListener(getSite(), this);
 		getSite().getWorkbenchWindow().removePerspectiveListener(this);
 		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
@@ -439,17 +439,17 @@
 	}
 
 	/**
-	 * Called when the viewer input update is completed.  Unlike 
+	 * Called when the viewer input update is completed.  Unlike
 	 * {@link #setViewerInput(Object)}, it allows overriding classes
 	 * to examine the context for which the update was calculated.
-	 * 
+	 *
 	 * @param update Completed viewer input update.
 	 */
 	protected void viewerInputUpdateComplete(IViewerInputUpdate update) {
 	    setViewerInput(update.getInputElement());
         updateAction(FIND_ACTION);
 	}
-	
+
 	/**
 	 * Sets the input to the viewer
 	 * @param context the object context
@@ -459,9 +459,9 @@
             // Clear the detail pane
         	refreshDetailPaneContents();
         }
-        
+
         Object current = getViewer().getInput();
-        
+
         if (current == null && context == null) {
             return;
         }
@@ -469,25 +469,25 @@
         if (current != null && current.equals(context)) {
             return;
         }
-        
+
         showViewer();
         getViewer().setInput(context);
         updateObjects();
 	}
-	
+
 	/**
 	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
 	 */
 	@Override
 	public void propertyChange(PropertyChangeEvent event) {
 		String propertyName= event.getProperty();
-		if (propertyName.equals(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR) || 
+		if (propertyName.equals(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR) ||
 				propertyName.equals(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND) ||
 				propertyName.equals(IDebugUIConstants.PREF_VARIABLE_TEXT_FONT)) {
 			getViewer().refresh();
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(Composite)
 	 */
@@ -496,31 +496,31 @@
 		addResizeListener(parent);
 		fParent = parent;
 		fTriggerDetailsJob.setSystem(true);
-		
+
 		// create the sash form that will contain the tree viewer & text viewer
 		fSashForm = new SashForm(parent, SWT.NONE);
-		
+
 		getModelPresentation();
 		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
 		JFaceResources.getFontRegistry().addListener(this);
 
 		TreeModelViewer variablesViewer = createTreeViewer(fSashForm);
 		fInputService = new ViewerInputService(variablesViewer, fRequester);
-			
+
 		fSashForm.setMaximizedControl(variablesViewer.getControl());
 		fDetailsAnchor = SWTFactory.createComposite(fSashForm, parent.getFont(), 1, 1, GridData.FILL_BOTH, 0, 0);
 		fSashForm.setWeights(getLastSashWeights());
-		
+
 		fSelectionProvider = new SelectionProviderWrapper(variablesViewer);
 		getSite().setSelectionProvider(fSelectionProvider);
-		
+
 		createOrientationActions(variablesViewer);
 		IPreferenceStore prefStore = DebugUIPlugin.getDefault().getPreferenceStore();
 		String orientation = prefStore.getString(getDetailPanePreferenceKey());
 		for (int i = 0; i < fToggleDetailPaneActions.length; i++) {
 			fToggleDetailPaneActions[i].setChecked(fToggleDetailPaneActions[i].getOrientation().equals(orientation));
 		}
-		
+
 		fDetailPane = new DetailPaneProxy(this);
 		fDetailPane.addProperyListener(new IPropertyListener() {
 			@Override
@@ -529,15 +529,15 @@
 			}
 		});
 		setDetailPaneOrientation(orientation);
-		
+
 		IMemento memento = getMemento();
 		if (memento != null) {
 			variablesViewer.initState(memento);
 		}
-		
+
 		variablesViewer.addModelChangedListener(this);
 		variablesViewer.addViewerUpdateListener(this);
-		
+
         initDragAndDrop(variablesViewer);
 
 		return variablesViewer;
@@ -545,14 +545,14 @@
 
     /**
      * Initializes the drag and/or drop adapters for this view.  Called from createViewer().
-     * 
+     *
      * @param viewer the viewer to add drag/drop support to.
      * @since 3.4
      */
     protected void initDragAndDrop(TreeModelViewer viewer) {
         // Drag only
         viewer.addDragSupport(DND.DROP_COPY, new Transfer[] {LocalSelectionTransfer.getTransfer()}, new SelectionDragAdapter(viewer));
-    }    
+    }
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
@@ -582,10 +582,10 @@
 		}
 		site.getWorkbenchWindow().addPerspectiveListener(this);
     }
-	
+
 	/**
 	 * Returns sash weights stored in the given memento or <code>null</code> if none.
-	 * 
+	 *
 	 * @param memento Memento to read sash weights from
 	 * @return sash weights or <code>null</code>
 	 */
@@ -603,7 +603,7 @@
 		}
 		return null;
 	}
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.PageBookView#partDeactivated(org.eclipse.ui.IWorkbenchPart)
      */
@@ -644,18 +644,18 @@
 	protected String getDetailPanePreferenceKey() {
 		return IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION;
 	}
-	
+
 	/**
 	 * Create and return the main tree viewer that displays variable.
 	 * @param parent Viewer's parent control
 	 * @return The created viewer.
 	 */
 	protected TreeModelViewer createTreeViewer(Composite parent) {
-		
+
 		int style = getViewerStyle();
-		fPresentationContext = new DebugModelPresentationContext(getPresentationContextId(), this, fModelPresentation); 
+		fPresentationContext = new DebugModelPresentationContext(getPresentationContextId(), this, fModelPresentation);
 		final TreeModelViewer variablesViewer = new TreeModelViewer(parent, style, fPresentationContext);
-		
+
 		variablesViewer.getControl().addFocusListener(new FocusAdapter() {
 			@Override
 			public void focusGained(FocusEvent e) {
@@ -663,7 +663,7 @@
 				fSelectionProvider.setActiveProvider(variablesViewer);
 				setGlobalActions();
 			}
-			
+
 			@Override
 			public void focusLost(FocusEvent e){
 			    // Do not reset the selection provider with the provider proxy.
@@ -686,10 +686,10 @@
 						}
 					}
 				});
-		
+
 		variablesViewer.addPostSelectionChangedListener(getTreeSelectionChangedListener());
 		DebugUITools.addPartDebugContextListener(getSite(), this);
-				
+
 		return variablesViewer;
 	}
 
@@ -702,7 +702,7 @@
 			}
 			setAction(actionID, action);
 		}
-		getViewSite().getActionBars().updateActionBars();		
+		getViewSite().getActionBars().updateActionBars();
 	}
 
 	/**
@@ -713,30 +713,30 @@
 	protected void createContextMenu(Control menuControl) {
 		super.createContextMenu(menuControl);
 		IActionBars actionBars = getViewSite().getActionBars();
-		if (!fGlobalActionMap.containsKey(SELECT_ALL_ACTION)) { 
+		if (!fGlobalActionMap.containsKey(SELECT_ALL_ACTION)) {
 			setGlobalAction(IDebugView.SELECT_ALL_ACTION, actionBars.getGlobalActionHandler(SELECT_ALL_ACTION));
 		}
-		if (!fGlobalActionMap.containsKey(COPY_ACTION)) { 
+		if (!fGlobalActionMap.containsKey(COPY_ACTION)) {
 			setGlobalAction(COPY_ACTION, actionBars.getGlobalActionHandler(COPY_ACTION));
 		}
-		if (!fGlobalActionMap.containsKey(PASTE_ACTION)) { 
+		if (!fGlobalActionMap.containsKey(PASTE_ACTION)) {
 			setGlobalAction(PASTE_ACTION, actionBars.getGlobalActionHandler(PASTE_ACTION));
 		}
 	}
-	
+
 	private void clearGlobalActions() {
 		for (String id : fGlobalActionMap.keySet()) {
 			setAction(id, null);
 		}
-		getViewSite().getActionBars().updateActionBars();		
+		getViewSite().getActionBars().updateActionBars();
 	}
 
 	/**
-	 * Returns the active debug context for this view based on the view's 
+	 * Returns the active debug context for this view based on the view's
 	 * site IDs.
-	 * 
+	 *
 	 * @return Active debug context for this view.
-	 * 
+	 *
 	 * @since 3.7
 	 */
 	protected ISelection getDebugContext() {
@@ -744,42 +744,42 @@
 		IDebugContextService contextService = DebugUITools.getDebugContextManager().getContextService(site.getWorkbenchWindow());
 		return contextService.getActiveContext(site.getId(), site.getSecondaryId());
 	}
-	
+
 	/**
 	 * Returns the presentation context id for this view.
-	 * 
+	 *
 	 * @return context id
 	 */
 	protected String getPresentationContextId() {
 		return IDebugUIConstants.ID_VARIABLE_VIEW;
-	}	
-	
+	}
+
 	/**
 	 * Returns the presentation context secondary id for this view.
-	 * 
+	 *
 	 * @return context secondary id.
 	 */
 	protected String getPresentationContextSecondaryId() {
 		return ((IViewSite)getSite()).getSecondaryId();
 	}
-	
+
 	/**
 	 * Returns the style bits for the viewer.
-	 * 
+	 *
 	 * @return SWT style
 	 */
 	protected int getViewerStyle() {
 		return SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL | SWT.FULL_SELECTION;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
 	 */
 	@Override
 	protected String getHelpContextId() {
-		return IDebugHelpContextIds.VARIABLE_VIEW;		
+		return IDebugHelpContextIds.VARIABLE_VIEW;
 	}
-	
+
 	private void addResizeListener(Composite parent) {
 		parent.addControlListener(new ControlListener() {
 			@Override
@@ -793,10 +793,10 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Returns vertical or horizontal based on view size.
-	 *  
+	 *
 	 * @return vertical or horizontal
 	 */
 	int computeOrientation() {
@@ -809,15 +809,15 @@
 			}
 		}
 		return SWT.HORIZONTAL;
-	}	
-	
+	}
+
 	/**
 	 * Set the orientation of the details pane so that is one of:
 	 * - underneath the main tree view
 	 * - to the right of the main tree view
 	 * - not visible
 	 * @param orientation Detail pane orientation to set.
-	 * 
+	 *
 	 * @see IDebugPreferenceConstants#VARIABLES_DETAIL_PANE_AUTO
 	 * @see IDebugPreferenceConstants#VARIABLES_DETAIL_PANE_HIDDEN
 	 * @see IDebugPreferenceConstants#VARIABLES_DETAIL_PANE_UNDERNEATH
@@ -840,13 +840,13 @@
 				}
 			} else {
 				vertOrHoriz = orientation.equals(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH) ? SWT.VERTICAL : SWT.HORIZONTAL;
-				
+
 			}
 			buildDetailPane(vertOrHoriz);
 			revealTreeSelection();
 		}
 	}
-	
+
 	private void buildDetailPane(int orientation) {
 		try {
 			fDetailsAnchor.setRedraw(false);
@@ -876,7 +876,7 @@
 			fPaneBuilt = true;
 		}
 	}
-	
+
 	/**
 	 * Hides the details pane
 	 */
@@ -884,11 +884,11 @@
 		if (fToggledDetailOnce) {
 			setLastSashWeights(fSashForm.getWeights());
 		}
-		fSashForm.setMaximizedControl(getViewer().getControl());		
+		fSashForm.setMaximizedControl(getViewer().getControl());
 	}
-	
+
 	/**
-	 * Shows the details pane 
+	 * Shows the details pane
 	 */
 	private void showDetailPane() {
 		fSashForm.setMaximizedControl(null);
@@ -932,7 +932,7 @@
 		}
 		return fLastSashWeights;
 	}
-	
+
 	/**
 	 * Set the current relative weights of the controls in the sash form, so that
 	 * the sash form can be reset to this layout at a later time.
@@ -941,7 +941,7 @@
 	protected void setLastSashWeights(int[] weights) {
 		fLastSashWeights = weights;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
 	 */
@@ -949,12 +949,12 @@
 	protected void createActions() {
 		IAction action = new ShowTypesAction(this);
 		setAction("ShowTypeNames",action); //$NON-NLS-1$
-				
+
 		action = new ToggleLogicalStructureAction(this);
 		setAction("ToggleContentProviders", action); //$NON-NLS-1$
-		
+
 		action = new CollapseAllAction((TreeModelViewer)getViewer());
-		setAction(COLLAPSE_ALL, action); 
+		setAction(COLLAPSE_ALL, action);
 		IHandlerService hs = getSite().getService(IHandlerService.class);
 		if (hs != null) {
 			hs.activateHandler(CollapseAllHandler.COMMAND_ID, new ActionHandler(action));
@@ -963,29 +963,29 @@
 		action = new ChangeVariableValueAction(this);
 		action.setEnabled(false);
 		setAction("ChangeVariableValue", action); //$NON-NLS-1$
-		
+
 		action= new VirtualFindAction(getVariablesViewer());
 		setGlobalAction(FIND_ACTION, action);
-	} 	
+	}
 
 	/**
-	 * Adds the given action to the set of global actions managed by this 
-	 * variables view.  Global actions are cleared and reset whenever the detail 
-	 * pane is activated to allow the detail pane to set the actions as 
+	 * Adds the given action to the set of global actions managed by this
+	 * variables view.  Global actions are cleared and reset whenever the detail
+	 * pane is activated to allow the detail pane to set the actions as
 	 * well.
-	 * 
+	 *
 	 * @param actionID Action ID that the given action implements.
 	 * @param action Action implementation.
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	protected void setGlobalAction(String actionID, IAction action) {
 		fGlobalActionMap.put(actionID, action);
 	}
-	
+
 	@Override
 	public IAction getAction(String actionID) {
-		// Check if model overrides the action. Global action overrides are 
+		// Check if model overrides the action. Global action overrides are
 		// checked in setGlobalActions() so skip them here.
 		if (!fGlobalActionMap.containsKey(actionID)) {
 			IAction overrideAction = getOverrideAction(actionID);
@@ -995,7 +995,7 @@
 		}
 		return super.getAction(actionID);
 	}
-	
+
 	private IAction getOverrideAction(String actionID) {
 		Viewer viewer = getViewer();
 		if (viewer != null) {
@@ -1010,7 +1010,7 @@
 		}
 		return null;
 	}
-	
+
 	@Override
 	public void updateObjects() {
 		super.updateObjects();
@@ -1019,16 +1019,16 @@
 			getViewSite().getActionBars().updateActionBars();
 		}
 	}
-	
+
 	/**
 	 * Creates the actions that allow the orientation of the detail pane to be changed.
-	 * 
+	 *
 	 * @param viewer Viewer to create actions for.
 	 */
 	private void createOrientationActions(TreeModelViewer viewer) {
 		IActionBars actionBars = getViewSite().getActionBars();
 		IMenuManager viewMenu = actionBars.getMenuManager();
-		
+
 		fToggleDetailPaneActions = new ToggleDetailPaneAction[4];
 		fToggleDetailPaneActions[0] = new ToggleDetailPaneAction(this, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH, null);
 		fToggleDetailPaneActions[1] = new ToggleDetailPaneAction(this, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_RIGHT, null);
@@ -1043,10 +1043,10 @@
 		layoutSubMenu.add(fToggleDetailPaneActions[3]);
 		viewMenu.add(layoutSubMenu);
 		viewMenu.add(new Separator());
-		
+
 		fConfigureColumnsAction = new ConfigureColumnsAction(viewer);
 		setAction("ToggleColmns", new ToggleShowColumnsAction(viewer)); //$NON-NLS-1$
-		
+
 		layoutSubMenu.addMenuListener(new IMenuListener() {
 			@Override
 			public void menuAboutToShow(IMenuManager manager) {
@@ -1066,20 +1066,20 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Returns the label to use for the action that toggles the view layout to be the tree viewer only (detail pane is hidden).
 	 * Should be of the style '[view name] View Only'.
-	 * 
+	 *
 	 * @return action label for toggling the view layout to tree viewer only
 	 */
 	protected String getToggleActionLabel(){
 		return VariablesViewMessages.VariablesView_41;
 	}
-	
+
 	/**
 	 * Configures the toolBar.
-	 * 
+	 *
 	 * @param tbm The toolbar that will be configured
 	 */
 	@Override
@@ -1088,13 +1088,13 @@
 		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
 		tbm.add(getAction("ShowTypeNames")); //$NON-NLS-1$
 		tbm.add(getAction("ToggleContentProviders")); //$NON-NLS-1$
-		tbm.add(getAction(COLLAPSE_ALL)); 
+		tbm.add(getAction(COLLAPSE_ALL));
 	}
 
    /**
 	* Adds items to the tree viewer's context menu including any extension defined
 	* actions.
-	* 
+	*
 	* @param menu The menu to add the item to.
 	*/
 	@Override
@@ -1104,7 +1104,7 @@
 		menu.add(getAction(FIND_ACTION));
 		ChangeVariableValueAction changeValueAction = (ChangeVariableValueAction)getAction("ChangeVariableValue"); //$NON-NLS-1$
 		if (changeValueAction.isApplicable()) {
-		    menu.add(changeValueAction); 
+		    menu.add(changeValueAction);
 		}
 		menu.add(new Separator());
 		IAction action = new AvailableLogicalStructuresAction(this);
@@ -1119,11 +1119,11 @@
 		menu.add(new Separator(IDebugUIConstants.EMPTY_NAVIGATION_GROUP));
 		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
 	}
-	
+
    /**
 	 * Lazily instantiate and return a selection listener that populates the detail pane,
-	 * but only if the detail is currently visible. 
-	 * 
+	 * but only if the detail is currently visible.
+	 *
 	 * @return Created selection listener
 	 */
     protected ISelectionChangedListener getTreeSelectionChangedListener() {
@@ -1132,23 +1132,23 @@
                 @Override
 				public void selectionChanged(final SelectionChangedEvent event) {
                     if (event.getSelectionProvider().equals(getViewer())) {
-                        clearStatusLine();	
+                        clearStatusLine();
                         // if the detail pane is not visible, don't waste time retrieving details
                         if (fSashForm.getMaximizedControl() == getViewer().getControl()) {
                             return;
-                        }	
+                        }
                         refreshDetailPaneContents();
                         treeSelectionChanged(event);
                     }
-                }					
+                }
             };
         }
         return fTreeSelectionChangedListener;
     }
-    
+
 	/**
 	 * Selection in the variable tree changed. Perform any updates.
-	 * 
+	 *
 	 * @param event
 	 */
 	protected void treeSelectionChanged(SelectionChangedEvent event) {}
@@ -1187,7 +1187,7 @@
 	public IWorkbenchPartSite getWorkbenchPartSite() {
 		return getSite();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#refreshDetailPaneContents()
 	 */
@@ -1199,7 +1199,7 @@
 				fLastSashWeights = fSashForm.getWeights();
 			}
 			fDetailPane.display(getCurrentSelection());
-			
+
 			// Use a grey (widget background) sash for the detail pane normally
 			// If the detail pane is also grey, add a seperator line
 			Control control = fDetailPane.getCurrentControl();
@@ -1229,7 +1229,7 @@
 		}
 		fDetailPane.getCurrentControl().addListener(SWT.Activate, fDetailPaneActivatedListener);
 	}
-	
+
 	/**
 	 * @return the model presentation to be used for this view
 	 */
@@ -1239,7 +1239,7 @@
 		}
 		return fModelPresentation;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(Class)
 	 */
@@ -1260,7 +1260,7 @@
 
 	/**
 	 * If possible, calls the update method of the action associated with the given ID.
-	 * 
+	 *
 	 * @param actionId the ID of the action to update
 	 */
 	protected void updateAction(String actionId) {
@@ -1272,22 +1272,22 @@
 			((IUpdate) action).update();
 		}
 	}
-	
+
 	/**
 	 * @return whether the detail pane is visible to the user
 	 */
 	protected boolean isDetailPaneVisible() {
 		return !fToggleDetailPaneActions[3].isChecked();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#getDefaultControl()
 	 */
 	@Override
 	protected Control getDefaultControl() {
 		return fSashForm;
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.IDebugExceptionHandler#handleException(org.eclipse.debug.core.DebugException)
 	 */
@@ -1295,7 +1295,7 @@
 	public void handleException(DebugException e) {
 		showMessage(e.getMessage());
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent)
 	 */
@@ -1319,11 +1319,11 @@
 			fInputService.resolveViewerInput(source);
 		}
 	}
-		
+
 	/**
 	 * Delegate to the <code>DOUBLE_CLICK_ACTION</code>,
 	 * if any.
-	 *  
+	 *
 	 * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(DoubleClickEvent)
 	 */
 	@Override
@@ -1346,11 +1346,11 @@
 							getVariablesViewer().expandToLevel(ss.getPaths()[0], 1);
 						}
 					}
-					
+
 				}
 			}
 		}
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDebugView#getPresentation(String)
@@ -1377,30 +1377,30 @@
 	public boolean isMainViewerAvailable() {
 		return isAvailable();
 	}
-	
+
 	/**
 	 * @return the presentation context of the viewer
 	 */
 	protected IPresentationContext getPresentationContext() {
 		return getVariablesViewer().getPresentationContext();
 	}
-	
-	/** 
+
+	/**
 	 * Sets whether logical structures are being displayed
 	 * @param flag If true, turns the logical structures on.
 	 */
 	public void setShowLogicalStructure(boolean flag) {
 	    getPresentationContext().setProperty(PRESENTATION_SHOW_LOGICAL_STRUCTURES, Boolean.valueOf(flag));
-	}	
-	
-	/** 
+	}
+
+	/**
 	 * Returns whether logical structures are being displayed
-	 * @return Returns true if logical structures should be shown. 
+	 * @return Returns true if logical structures should be shown.
 	 */
 	public boolean isShowLogicalStructure() {
 		Boolean show = (Boolean) getPresentationContext().getProperty(PRESENTATION_SHOW_LOGICAL_STRUCTURES);
 		return show != null && show.booleanValue();
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesHidden()
@@ -1427,12 +1427,12 @@
 	protected TreeModelViewer getVariablesViewer() {
 		return (TreeModelViewer) getViewer();
 	}
-	
+
 	/**
 	 * Clears the status line of all messages and errors
 	 */
 	protected void clearStatusLine() {
-		IStatusLineManager manager = getViewSite().getActionBars().getStatusLineManager(); 
+		IStatusLineManager manager = getViewSite().getActionBars().getStatusLineManager();
 		manager.setErrorMessage(null);
 		manager.setMessage(null);
 	}
@@ -1462,7 +1462,7 @@
 	public void modelChanged(IModelDelta delta, IModelProxy proxy) {
 		fVisitor.reset();
 		delta.accept(fVisitor);
-		
+
 		updateAction(FIND_ACTION);
         updateAction(COLLAPSE_ALL);
 	}
@@ -1499,7 +1499,7 @@
 	@Override
 	public synchronized void viewerUpdatesBegin() {
 		fTriggerDetailsJob.cancel();
-        IWorkbenchSiteProgressService progressService = 
+        IWorkbenchSiteProgressService progressService =
             getSite().getAdapter(IWorkbenchSiteProgressService.class);
         if (progressService != null) {
             progressService.incrementBusy();
@@ -1514,19 +1514,19 @@
 		if (fVisitor.isTriggerDetails()) {
 			fTriggerDetailsJob.schedule();
 		}
-        IWorkbenchSiteProgressService progressService = 
+        IWorkbenchSiteProgressService progressService =
             getSite().getAdapter(IWorkbenchSiteProgressService.class);
         if (progressService != null) {
             progressService.decrementBusy();
-        }       
-	}	
-	
+        }
+	}
+
 	/**
 	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
 	 */
 	@Override
 	public void setFocus() {
-		boolean success = false; 
+		boolean success = false;
 		if (!fTreeHasFocus && fDetailPane != null){
 			success = fDetailPane.setFocus();
 		}
@@ -1534,8 +1534,8 @@
 		if (!success && getViewer() != null){
 			getViewer().getControl().setFocus();
 		}
-	}	
-	
+	}
+
 	protected ToggleDetailPaneAction getToggleDetailPaneAction(String orientation)
 	{
 		for (int i=0; i<fToggleDetailPaneActions.length; i++) {
@@ -1543,7 +1543,7 @@
 				return fToggleDetailPaneActions[i];
 			}
 		}
-		
+
 		return null;
 	}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java
index a042135..3929a89 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.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 - Initial API and implementation
  *******************************************************************************/
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java
index 2ee374a..fc45454 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java
@@ -24,29 +24,29 @@
 
 /**
  * Abstract class that holds common methods used by implementors of IDetailPane.
- * 
+ *
  * @see DefaultDetailPane
  * @since 3.3
  */
 public abstract class AbstractDetailPane implements IDetailPane {
 
 	/**
-	 * The <code>IWorkbenchPartSite</code> that the details area (and the 
+	 * The <code>IWorkbenchPartSite</code> that the details area (and the
 	 * variables view) belongs to.
 	 */
 	private IWorkbenchPartSite fWorkbenchPartSite;
-	
+
 	/**
 	 * Map of actions. Keys are strings, values
 	 * are <code>IAction</code>.
 	 */
 	private Map<String, IAction> fActionMap = new HashMap<String, IAction>();
-	
+
 	/**
 	 * Collection to track actions that should be updated when selection occurs.
 	 */
 	private List<String> fSelectionActions = new ArrayList<String>();
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#init(org.eclipse.ui.IWorkbenchPartSite)
 	 */
@@ -55,7 +55,7 @@
 		fWorkbenchPartSite = workbench;
 
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#dispose()
 	 */
@@ -67,7 +67,7 @@
 
 	/**
 	 * Adds an action to the Map storing actions.  Removes it if action is null.
-	 * 
+	 *
 	 * @param actionID The ID of the action, used as the key in the Map
 	 * @param action The action associated with the ID
 	 */
@@ -78,24 +78,24 @@
 			fActionMap.put(actionID, action);
 		}
 	}
-	
+
 	/**
 	 * Adds the given action to the global action handler for the ViewSite.
 	 * A call to <code>updateActionBars()</code> must be called after changes
 	 * to propagate changes through the workbench.
-	 * 
+	 *
 	 * @param actionID The ID of the action
 	 * @param action The action to be set globally
 	 */
 	protected void setGlobalAction(String actionID, IAction action){
 		getViewSite().getActionBars().setGlobalActionHandler(actionID, action);
 	}
-	
+
 	/**
 	 * Adds the given action to the list of actions that will be updated when
-	 * <code>updateSelectionDependentActions()</code> is called.  If the string 
+	 * <code>updateSelectionDependentActions()</code> is called.  If the string
 	 * is null it will not be added to the list.
-	 * 
+	 *
 	 * @param actionID The ID of the action which should be updated
 	 */
 	protected void setSelectionDependantAction(String actionID){
@@ -103,22 +103,22 @@
 			fSelectionActions.add(actionID);
 		}
 	}
-	
+
 	/**
 	 * Gets the action out of the map, casts it to an <code>IAction</code>
-	 * 
+	 *
 	 * @param actionID  The ID of the action to find
 	 * @return The action associated with the ID or null if none is found.
 	 */
 	protected IAction getAction(String actionID) {
 		return fActionMap.get(actionID);
 	}
-	
+
 	/**
 	 * Calls the update method of the action with the given action ID.
 	 * The action must exist in the action map and must be an instance of
 	 * </code>IUpdate</code>
-	 * 
+	 *
 	 * @param actionId The ID of the action to update
 	 */
 	protected void updateAction(String actionId) {
@@ -127,11 +127,11 @@
 			((IUpdate) action).update();
 		}
 	}
-	
+
 	/**
-	 * Iterates through the list of selection dependent actions and 
+	 * Iterates through the list of selection dependent actions and
 	 * updates them.  Use <code>setSelectionDependentAction(String actionID)</code>
-	 * to add an action to the list.  The action must have been added to the known 
+	 * to add an action to the list.  The action must have been added to the known
 	 * actions map by calling <code>setAction(String actionID, IAction action)</code>
 	 * before it can be updated by this method.
 	 */
@@ -140,11 +140,11 @@
 			updateAction(string);
 		}
 	}
-	
+
 	/**
 	 * Gets the view site for this view.  May be null if this detail pane
 	 * is not part of a view.
-	 * 
+	 *
 	 * @return The site for this view or <code>null</code>
 	 */
 	protected  IViewSite getViewSite(){
@@ -158,16 +158,16 @@
 	/**
 	 * Gets the workbench part site for this view.  May be null if this detail pane
 	 * is not part of a view.
-	 * 
+	 *
 	 * @return The workbench part site or <code>null</code>
 	 */
 	protected IWorkbenchPartSite getWorkbenchPartSite() {
 		return fWorkbenchPartSite;
 	}
-	
+
 	/**
 	 * Returns whether this detail pane is being displayed in a view with a workbench part site.
-	 * 
+	 *
 	 * @return whether this detail pane is being displayed in a view with a workbench part site.
 	 */
 	protected boolean isInView(){
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java
index ca8e07c..8445ad8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java
@@ -24,35 +24,35 @@
 
 /**
  * Drop down action that displays the available detail panes for a selection.
- * 
+ *
  * @since 3.3
  * @see IDetailPaneContainer
  */
 public class AvailableDetailPanesAction extends Action implements IMenuCreator {
-	
+
 	private Menu fMenu;
 	private Set<String> fAvailableIDs;
 	private IDetailPaneContainer fDetailPaneContainer;
-	
+
 	/**
 	 * Each entry in the menu will be of this type.  It represents one possible detail pane
 	 * that the user can select.  If the user selects it, the display is changed to use that
 	 * detail pane and the preferred detail pane map in the pane manager is updated.
-	 * 
+	 *
 	 * @see DetailPaneManager
 	 * @since 3.3
 	 */
 	private class SetDetailPaneAction extends Action {
-		
+
 		private String fPaneID;
 		private Set<String> fPossiblePaneIDs;
-		
+
 		public SetDetailPaneAction(String name, String paneID, Set<String> possiblePaneIDs) {
 			super(name,AS_RADIO_BUTTON);
 			fPaneID = paneID;
 			fPossiblePaneIDs = possiblePaneIDs;
 		}
-		
+
 		@Override
 		public void run() {
 			// Don't change panes unless the user is selecting a different pane than the one currently displayed
@@ -61,26 +61,26 @@
 				fDetailPaneContainer.refreshDetailPaneContents();
 			}
 		}
-			
+
 	}
-	
+
 	public AvailableDetailPanesAction(IDetailPaneContainer detailPaneContainer) {
 		fDetailPaneContainer = detailPaneContainer;
-		setText(DetailMessages.AvailableDetailPanesAction_0);  
+		setText(DetailMessages.AvailableDetailPanesAction_0);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.VARIABLES_SELECT_DETAIL_PANE);
-		
+
 		setEnabled(false);
 		setMenuCreator(this);
 		init();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
 	@Override
 	public void run() {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
 	 */
@@ -91,7 +91,7 @@
 		}
 		fAvailableIDs.clear();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
 	 */
@@ -99,12 +99,12 @@
 	public Menu getMenu(Control parent) {
 		return null;
 	}
-	
+
 	protected void addActionToMenu(Menu parent, IAction action) {
 		ActionContributionItem item= new ActionContributionItem(action);
 		item.fill(parent, -1);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
 	 */
@@ -124,26 +124,26 @@
                 name.append(i);
                 name.append(' ');
             }
-			
+
 			String typeName = DetailPaneManager.getDefault().getNameFromID(currentID);
 			if (typeName != null && typeName.length() > 0){
 				name.append(typeName);
 			} else {
-				name.append(currentID);				
+				name.append(currentID);
 			}
-					
+
 			IAction action = new SetDetailPaneAction(name.toString(),currentID,fAvailableIDs);
-			
+
 			if (currentID.equals(fDetailPaneContainer.getCurrentPaneID())){
 				action.setChecked(true);
 			}
-			
-			addActionToMenu(fMenu, action);	
+
+			addActionToMenu(fMenu, action);
 		}
-		
+
 		return fMenu;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java
index 823db6f..d0c8f7b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.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
  *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
@@ -123,7 +123,7 @@
  * This detail pane uses a source viewer to display detailed information about the current
  * selection.  It incorporates a large number of actions into its context menu.  It is the
  * default detail pane.
- * 
+ *
  * @see DefaultDetailPaneFactory
  * @since 3.3
  *
@@ -137,14 +137,14 @@
 	protected static final String DETAIL_SELECT_ALL_ACTION = IDebugView.SELECT_ALL_ACTION + ".SourceDetailPane"; //$NON-NLS-1$
 	protected static final String DETAIL_PASTE_ACTION = ActionFactory.PASTE.getId();
 	protected static final String DETAIL_CUT_ACTION = ActionFactory.CUT.getId();
-	
+
 	protected static final String DETAIL_FIND_REPLACE_TEXT_ACTION = "FindReplaceText"; //$NON-NLS-1$
 	protected static final String DETAIL_CONTENT_ASSIST_ACTION = "ContentAssist"; //$NON-NLS-1$
 	protected static final String DETAIL_ASSIGN_VALUE_ACTION = "AssignValue"; //$NON-NLS-1$
-	
+
 	protected static final String DETAIL_WORD_WRAP_ACTION = IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP;
 	protected static final String DETAIL_MAX_LENGTH_ACTION = "MaxLength"; //$NON-NLS-1$
-	
+
 	/**
 	 * The ID, name and description of this pane are stored in constants so that the class
 	 * does not have to be instantiated to access them.
@@ -152,20 +152,20 @@
 	public static final String ID = DetailMessages.DefaultDetailPane_0;
 	public static final String NAME = DetailMessages.DefaultDetailPane_1;
 	public static final String DESCRIPTION = DetailMessages.DefaultDetailPane_57;
-	
+
 	/**
 	 * Data structure for the position label value.
 	 */
 	private static class PositionLabelValue {
-		
+
 		public int fValue;
-		
+
 		@Override
 		public String toString() {
 			return String.valueOf(fValue);
 		}
 	}
-	
+
 	/**
 	 * Internal interface for a cursor listener. I.e. aggregation
 	 * of mouse and key listener.
@@ -173,26 +173,26 @@
 	 */
 	interface ICursorListener extends MouseListener, KeyListener {
 	}
-	
+
 	/**
 	 * Job to compute the details for a selection
 	 */
 	class DetailJob extends Job implements IValueDetailListener {
-		
+
 		private IStructuredSelection fElements;
 		private IDebugModelPresentation fModel;
 		private boolean fFirst = true;
 		// whether a result was collected
 		private boolean fComputed = false;
 		private IProgressMonitor fMonitor;
-		
+
 		public DetailJob(IStructuredSelection elements, IDebugModelPresentation model) {
 			super("compute variable details"); //$NON-NLS-1$
 			setSystem(true);
 			fElements = elements;
 			fModel = model;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
 		 */
@@ -228,7 +228,7 @@
 			            } else {
 			            	message = c.getOrganizer().getLabel();
 			            }
-		            }					
+		            }
 				}
 				// When selecting a index partition, clear the pane
 				if (val instanceof IndexedValuePartition) {
@@ -264,7 +264,7 @@
 			}
 			return Status.OK_STATUS;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.core.runtime.jobs.Job#canceling()
 		 */
@@ -330,18 +330,18 @@
 			synchronized (this) {
 				notifyAll();
 			}
-			
+
 		}
 
 	}
-	
+
 	/**
 	 * The model presentation used to produce the string details for a
 	 * selected variable.
 	 */
 	private VariablesViewModelPresentation fModelPresentation;
 	private String fDebugModelIdentifier;
-	
+
 	/**
 	 * Controls the status line while the details area has focus.
 	 * Displays the current cursor position in the text (line:character).
@@ -353,18 +353,18 @@
 	 * of selected variables will be displayed.
 	 */
 	private SourceViewer fSourceViewer;
-	
+
 	/**
 	 * The last selection displayed in the source viewer.
 	 */
 	private IStructuredSelection fLastDisplayed = null;
-	
+
 	/**
 	 * Flag used to track whether source viewer has focus.  It helps avoid
 	 * resetting global actions incorrectly.
 	 */
 	private boolean fHasFocus = false;
-	
+
 	/**
 	 * Variables used to create the detailed information for a selection
 	 */
@@ -376,40 +376,40 @@
 	private final Object[] fPositionLabelPatternArguments = new Object[] {
 			fLineLabel, fColumnLabel };
 	private ICursorListener fCursorListener;
-	
+
 	/**
 	 * Handler activation object so that we can use the global content assist command
 	 * and properly deactivate it later.
 	 */
 	private IHandlerActivation fContentAssistActivation;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#createControl(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	public Control createControl(Composite parent) {
-		
+
 		fModelPresentation = new VariablesViewModelPresentation();
-		
+
 		createSourceViewer(parent);
-		
+
 		if (isInView()){
 			createViewSpecificComponents();
 			createActions();
 			DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
 			JFaceResources.getFontRegistry().addListener(this);
 		}
-		
+
 		return fSourceViewer.getControl();
 	}
 
 	/**
 	 * Creates the source viewer in the given parent composite
-	 * 
+	 *
 	 * @param parent Parent composite to create the source viewer in
 	 */
 	private void createSourceViewer(Composite parent) {
-		
+
 		// Create & configure a SourceViewer
 		fSourceViewer = new SourceViewer(parent, null, SWT.V_SCROLL | SWT.H_SCROLL);
 		fSourceViewer.setDocument(getDetailDocument());
@@ -427,7 +427,7 @@
 	 * source viewer when this detail pane is inside a view.
 	 */
 	private void createViewSpecificComponents(){
-		
+
 		// Add a document listener so actions get updated when the document changes
 		getDetailDocument().addDocumentListener(new IDocumentListener() {
 			@Override
@@ -437,7 +437,7 @@
 				updateSelectionDependentActions();
 			}
 		});
-		
+
 		// Add the selection listener so selection dependent actions get updated.
 		fSourceViewer.getSelectionProvider().addSelectionChangedListener(new ISelectionChangedListener() {
 			@Override
@@ -445,7 +445,7 @@
 				updateSelectionDependentActions();
 			}
 		});
-		
+
 		// Add a focus listener to update actions when details area gains focus
 		fSourceViewer.getControl().addFocusListener(new FocusAdapter() {
 			@Override
@@ -459,13 +459,13 @@
 				setGlobalAction(action.getActionDefinitionId(), action);
 				action = getAction(DETAIL_CONTENT_ASSIST_ACTION);
 				setGlobalAction(action.getActionDefinitionId(),action);
-				
+
 				getViewSite().getActionBars().updateActionBars();
-				
+
 				updateAction(DETAIL_FIND_REPLACE_TEXT_ACTION);
 				fHasFocus = true;
 			}
-			
+
 			@Override
 			public void focusLost(FocusEvent e) {
 				setGlobalAction(IDebugView.SELECT_ALL_ACTION, null);
@@ -475,18 +475,18 @@
 				setGlobalAction(IDebugView.FIND_ACTION, null);
 				setGlobalAction(getAction(DETAIL_ASSIGN_VALUE_ACTION).getActionDefinitionId(), null);
 				setGlobalAction(getAction(DETAIL_CONTENT_ASSIST_ACTION).getActionDefinitionId(), null);
-				
+
 				getViewSite().getActionBars().updateActionBars();
 				fHasFocus = false;
 			}
 		});
-		
+
 		// disposed controls don't get a FocusOut event, make sure all actions
 		// have been deactivated
 		fSourceViewer.getControl().addDisposeListener(new DisposeListener() {
 			@Override
 			public void widgetDisposed(DisposeEvent e) {
-				if (fHasFocus) { 
+				if (fHasFocus) {
 					setGlobalAction(IDebugView.SELECT_ALL_ACTION, null);
 					setGlobalAction(IDebugView.CUT_ACTION, null);
 					setGlobalAction(IDebugView.COPY_ACTION, null);
@@ -506,12 +506,12 @@
 		manager.add(fStatusLineItem);
 		fSourceViewer.getTextWidget().addMouseListener(getCursorListener());
 		fSourceViewer.getTextWidget().addKeyListener(getCursorListener());
-		
+
 		// Add a context menu to the detail area
 		createDetailContextMenu(fSourceViewer.getTextWidget());
-		
+
 	}
-	
+
 	/**
 	 * Creates the actions to add to the context menu
 	 */
@@ -527,54 +527,54 @@
         IHandlerService handlerService = getViewSite().getService(IHandlerService.class);
         fContentAssistActivation = handlerService.activateHandler(textAction.getActionDefinitionId(), actionHandler);
         setAction(DETAIL_CONTENT_ASSIST_ACTION, textAction);
-			
+
 		textAction= new TextViewerAction(fSourceViewer, ITextOperationTarget.SELECT_ALL);
 		textAction.configureAction(DetailMessages.DefaultDetailPane_Select__All_5, IInternalDebugCoreConstants.EMPTY_STRING,IInternalDebugCoreConstants.EMPTY_STRING);
 		textAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_SELECT_ALL);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(textAction, IDebugHelpContextIds.DETAIL_PANE_SELECT_ALL_ACTION);
 		setAction(DETAIL_SELECT_ALL_ACTION, textAction);
-		
+
 		textAction= new TextViewerAction(fSourceViewer, ITextOperationTarget.COPY);
 		textAction.configureAction(DetailMessages.DefaultDetailPane__Copy_8, IInternalDebugCoreConstants.EMPTY_STRING,IInternalDebugCoreConstants.EMPTY_STRING);
 		textAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_COPY);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(textAction, IDebugHelpContextIds.DETAIL_PANE_COPY_ACTION);
 		setAction(DETAIL_COPY_ACTION, textAction);
-		
+
 		textAction= new TextViewerAction(fSourceViewer, ITextOperationTarget.CUT);
 		textAction.configureAction(DetailMessages.DefaultDetailPane_Cu_t_11, IInternalDebugCoreConstants.EMPTY_STRING,IInternalDebugCoreConstants.EMPTY_STRING);
 		textAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_CUT);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(textAction, IDebugHelpContextIds.DETAIL_PANE_CUT_ACTION);
 		setAction(DETAIL_CUT_ACTION, textAction);
-		
+
 		textAction= new TextViewerAction(fSourceViewer, ITextOperationTarget.PASTE);
 		textAction.configureAction(DetailMessages.DefaultDetailPane__Paste_14, IInternalDebugCoreConstants.EMPTY_STRING,IInternalDebugCoreConstants.EMPTY_STRING);
 		textAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_PASTE);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(textAction, IDebugHelpContextIds.DETAIL_PANE_PASTE_ACTION);
 		setAction(ActionFactory.PASTE.getId(), textAction);
-		
+
 		setSelectionDependantAction(DETAIL_COPY_ACTION);
 		setSelectionDependantAction(DETAIL_CUT_ACTION);
 		setSelectionDependantAction(DETAIL_PASTE_ACTION);
-		
+
 		// TODO: Still using "old" resource access, find/replace won't work in popup dialogs
 		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.debug.internal.ui.views.variables.VariablesViewResourceBundleMessages"); //$NON-NLS-1$
 		IAction action = new FindReplaceAction(bundle, "find_replace_action_", getWorkbenchPartSite().getShell(), new FindReplaceTargetWrapper(fSourceViewer.getFindReplaceTarget())); //$NON-NLS-1$
 		action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_FIND_AND_REPLACE);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(action, IDebugHelpContextIds.DETAIL_PANE_FIND_REPLACE_ACTION);
 		setAction(DETAIL_FIND_REPLACE_TEXT_ACTION, action);
-			
+
 		updateSelectionDependentActions();
-		
+
 		action = new DetailPaneWordWrapAction(fSourceViewer);
 		setAction(DETAIL_WORD_WRAP_ACTION, action);
-		
+
 		action = new DetailPaneMaxLengthAction(fSourceViewer.getControl().getShell());
 		setAction(DETAIL_MAX_LENGTH_ACTION,action);
-		
+
 		action = new DetailPaneAssignValueAction(fSourceViewer,getViewSite());
 		setAction(DETAIL_ASSIGN_VALUE_ACTION, action);
 	}
-	
+
 	/**
 	 * Create the context menu particular to the detail pane.  Note that anyone
 	 * wishing to contribute an action to this menu must use
@@ -597,15 +597,15 @@
 		getViewSite().registerContextMenu(IDebugUIConstants.VARIABLE_VIEW_DETAIL_ID, menuMgr, fSourceViewer.getSelectionProvider());
 
 	}
-	
+
 	/**
 	* Adds items to the detail pane's context menu including any extension defined
 	* actions.
-	* 
+	*
 	* @param menu The menu to add the item to.
 	*/
 	protected void fillDetailContextMenu(IMenuManager menu) {
-		
+
 		menu.add(new Separator(IDebugUIConstants.VARIABLE_GROUP));
 		if (isInView()){
 			menu.add(getAction(DETAIL_ASSIGN_VALUE_ACTION));
@@ -624,43 +624,43 @@
 		menu.add(getAction(DETAIL_WORD_WRAP_ACTION));
 		menu.add(getAction(DETAIL_MAX_LENGTH_ACTION));
 		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#display(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
 	@Override
 	public void display(IStructuredSelection selection) {
-		
+
 		if (selection == null){
 			clearSourceViewer();
 			return;
 		}
-				
+
 		fLastDisplayed = selection;
 		if (isInView()){
 			fSourceViewer.setEditable(true);
 		}
-						
+
 		if (selection.isEmpty()){
 			clearSourceViewer();
 			return;
 		}
-		
+
 		Object firstElement = selection.getFirstElement();
 		if (firstElement != null && firstElement instanceof IDebugElement) {
 			String modelID = ((IDebugElement)firstElement).getModelIdentifier();
 			setDebugModel(modelID);
 		}
-		
+
 		if (isInView()){
 			IAction assignAction = getAction(DETAIL_ASSIGN_VALUE_ACTION);
 			if (assignAction instanceof DetailPaneAssignValueAction){
 				((DetailPaneAssignValueAction)assignAction).updateCurrentVariable(selection);
 			}
 		}
-		
+
         synchronized (this) {
         	if (fDetailJob != null) {
         		fDetailJob.cancel();
@@ -668,9 +668,9 @@
 			fDetailJob = new DetailJob(selection,fModelPresentation);
 			fDetailJob.schedule();
         }
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#setFocus()
 	 */
@@ -682,7 +682,7 @@
 		}
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.details.AbstractDetailPane#dispose()
 	 */
@@ -698,7 +698,7 @@
 		if (fSourceViewer != null && fSourceViewer.getControl() != null) {
 			fSourceViewer.getControl().dispose();
 		}
-		
+
 		if (isInView()){
 			IAction action = getAction(DETAIL_ASSIGN_VALUE_ACTION);
 			if (action != null){
@@ -709,19 +709,19 @@
 		        service.deactivateHandler(fContentAssistActivation);
 		        fContentAssistActivation = null;
 			}
-			
+
 			disposeUndoRedoAction(ITextEditorActionConstants.UNDO);
 			disposeUndoRedoAction(ITextEditorActionConstants.REDO);
-			
+
 			getViewSite().getActionBars().getStatusLineManager().remove(fStatusLineItem);
-			
+
 			DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
 			JFaceResources.getFontRegistry().removeListener(this);
 		}
-		
+
 		super.dispose();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#getDescription()
 	 */
@@ -745,7 +745,7 @@
 	public String getName() {
 		return NAME;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
 	 */
@@ -760,7 +760,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Lazily instantiate and return a Document for the detail pane text viewer.
 	 * @return the singleton {@link Document} for this detail pane
@@ -771,7 +771,7 @@
 		}
 		return fDetailDocument;
 	}
-	
+
 	/**
 	 * Clears the source viewer, removes all text.
 	 */
@@ -798,7 +798,7 @@
 				DebugUIPlugin.errorDialog(fSourceViewer.getControl().getShell(), DetailMessages.DefaultDetailPane_Error_1, DetailMessages.DefaultDetailPane_2, e);
 			}
 		}
-		
+
 	    if (svc == null) {
 			svc = new SourceViewerConfiguration();
 			fSourceViewer.setEditable(false);
@@ -806,12 +806,12 @@
 	    fSourceViewer.unconfigure();
 	    fSourceViewer.configure(svc);
 		//update actions that depend on the configuration of the source viewer
-		
+
 		if (isInView()){
 			updateAction(DETAIL_ASSIGN_VALUE_ACTION);
 			updateAction(DETAIL_CONTENT_ASSIST_ACTION);
 		}
-		
+
 		if (isInView()){
 			createUndoRedoActions();
 		}
@@ -821,23 +821,23 @@
 	 * @return The formatted string describing cursor position
 	 */
 	protected String getCursorPosition() {
-		
+
 		if (fSourceViewer == null) {
 			return IInternalDebugCoreConstants.EMPTY_STRING;
 		}
-		
+
 		StyledText styledText= fSourceViewer.getTextWidget();
 		int caret= styledText.getCaretOffset();
 		IDocument document= fSourceViewer.getDocument();
-	
+
 		if (document == null) {
 			return IInternalDebugCoreConstants.EMPTY_STRING;
 		}
-	
+
 		try {
-			
+
 			int line= document.getLineOfOffset(caret);
-	
+
 			int lineOffset= document.getLineOffset(line);
 			int tabWidth= styledText.getTabs();
 			int column= 0;
@@ -848,11 +848,11 @@
 					column++;
 				}
 			}
-					
+
 			fLineLabel.fValue= line + 1;
 			fColumnLabel.fValue= column + 1;
 			return MessageFormat.format(fPositionLabelPattern, fPositionLabelPatternArguments);
-			
+
 		} catch (BadLocationException x) {
 			return IInternalDebugCoreConstants.EMPTY_STRING;
 		}
@@ -862,30 +862,30 @@
 	 * Returns this view's "cursor" listener to be installed on the view's
 	 * associated details viewer. This listener is listening to key and mouse button events.
 	 * It triggers the updating of the status line.
-	 * 
+	 *
 	 * @return the listener
 	 */
 	private ICursorListener getCursorListener() {
 		if (fCursorListener == null) {
 			fCursorListener= new ICursorListener() {
-				
+
 				@Override
 				public void keyPressed(KeyEvent e) {
 					fStatusLineItem.setText(getCursorPosition());
 				}
-				
+
 				@Override
 				public void keyReleased(KeyEvent e) {
 				}
-				
+
 				@Override
 				public void mouseDoubleClick(MouseEvent e) {
 				}
-				
+
 				@Override
 				public void mouseDown(MouseEvent e) {
 				}
-				
+
 				@Override
 				public void mouseUp(MouseEvent e) {
 					fStatusLineItem.setText(getCursorPosition());
@@ -894,11 +894,11 @@
 		}
 		return fCursorListener;
 	}
-	
+
 	/**
 	 * Returns the identifier of the debug model being displayed
 	 * in this view, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return debug model identifier
 	 */
 	protected String getDebugModel() {
@@ -908,7 +908,7 @@
 	/**
 	 * Sets the identifier of the debug model being displayed
 	 * in this view, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param id debug model identifier of the type of debug
 	 *  elements being displayed in this view
 	 */
@@ -918,7 +918,7 @@
 			configureDetailsViewer();
 		}
 	}
-	
+
 	/**
 	 * Creates this editor's undo/re-do actions.
 	 * <p>
@@ -932,28 +932,28 @@
 		IUndoContext undoContext= getUndoContext();
 		if (undoContext != null) {
 			// Use actions provided by global undo/re-do
-			
+
 			// Create the undo action
 			OperationHistoryActionHandler undoAction= new UndoActionHandler(getViewSite(), undoContext);
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(undoAction, IAbstractTextEditorHelpContextIds.UNDO_ACTION);
 			undoAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_UNDO);
 			setAction(ITextEditorActionConstants.UNDO, undoAction);
 			setGlobalAction(ITextEditorActionConstants.UNDO, undoAction);
-			
+
 			// Create the re-do action.
 			OperationHistoryActionHandler redoAction= new RedoActionHandler(getViewSite(), undoContext);
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(redoAction, IAbstractTextEditorHelpContextIds.REDO_ACTION);
 			redoAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_REDO);
 			setAction(ITextEditorActionConstants.REDO, redoAction);
 			setGlobalAction(ITextEditorActionConstants.REDO, redoAction);
-			
+
 			getViewSite().getActionBars().updateActionBars();
 		}
 	}
-	
+
 	/**
 	 * Disposes of the action with the specified ID
-	 * 
+	 *
 	 * @param actionId the ID of the action to disposed
 	 */
 	protected void disposeUndoRedoAction(String actionId) {
@@ -963,7 +963,7 @@
 			setAction(actionId, null);
 		}
 	}
-	
+
 	/**
 	 * Returns this editor's viewer's undo manager undo context.
 	 *
@@ -992,7 +992,7 @@
 			fSourceViewer.getTextWidget().setWordWrap(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP));
 			getAction(DETAIL_WORD_WRAP_ACTION).setChecked(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP));
 		}
-		
+
 	}
 
 	/**
@@ -1002,12 +1002,12 @@
 	 * on it's own.  See bug 178106.
 	 */
 	class FindReplaceTargetWrapper implements IFindReplaceTarget{
-		
+
 		private IFindReplaceTarget fTarget;
-		
+
 		/**
 		 * Constructor
-		 * 
+		 *
 		 * @param target find/replace target this class will wrap around.
 		 */
 		public FindReplaceTargetWrapper(IFindReplaceTarget target){
@@ -1070,7 +1070,7 @@
 			fTarget.replaceSelection(text);
 		}
 	}
-	
+
 	/*
 	 * @see org.eclipse.debug.ui.IDetailPane2#getSelectionProvider()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java
index cb4ee5c..3abc49f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java
@@ -21,13 +21,13 @@
  * The default detail pane factory is contributed to the <code>org.eclipse.debug.ui.detailPaneFactories</code>
  * extension without an enablement expression so it is always loaded.  For any given selection (even
  * null or empty selections), the factory can produce a <code>SourceDetailsPane</code>
- * 
+ *
  * @since 3.3
  */
 public class DefaultDetailPaneFactory implements IDetailPaneFactory {
 
 	public static final String DEFAULT_DETAIL_PANE_ID = DefaultDetailPane.ID;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.IDetailsFactory#createDetailsArea(java.lang.String)
 	 */
@@ -52,7 +52,7 @@
 		possibleIDs.add(DefaultDetailPane.ID);
 		return possibleIDs;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPaneFactory#getDefaultDetailPane(java.util.Set, org.eclipse.jface.viewers.IStructuredSelection)
 	 */
@@ -75,7 +75,7 @@
 		}
 		return null;
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.views.variables.IDetailsFactory#getDescription(java.lang.String)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java
index 8089a2e..03e8626 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java
@@ -46,16 +46,16 @@
  * Organizes the detail factories contributed through the extension point and keeps
  * track of the detail panes the factories produce.  Accessed as a singleton through
  * the <code>getDefault()</code> method.
- * 
+ *
  * @see IDetailPaneFactory
  * @see IDetailPane
  * @since 3.3
  */
 public class DetailPaneManager {
-	
+
 	/**
 	 * Acts as a proxy between the detail pane manager and the factories contributed
-	 * to the extension point.  Only loads information from the plug-in xml and only 
+	 * to the extension point.  Only loads information from the plug-in xml and only
 	 * instantiates the specified factory if required (lazy loading).
 	 */
 	private class DetailPaneFactoryExtension implements IDetailPaneFactory{
@@ -63,12 +63,12 @@
 		private IConfigurationElement fConfigElement;
 		private IDetailPaneFactory fFactory;
 		private Expression fEnablementExpression;
-		
+
 		public DetailPaneFactoryExtension(IConfigurationElement configElement){
-			fConfigElement = configElement;			
+			fConfigElement = configElement;
 		}
-		
-		/** 
+
+		/**
 		 * Instantiates the factory and asks it to produce the IDetailPane for
 		 * the given ID
 		 * @param paneID the identifier of the detail pane to create
@@ -82,7 +82,7 @@
 			return null;
 		}
 
-		/** 
+		/**
 		 * Instantiates the factory and asks it for the set of detail pane
 		 * IDs that the factory can produce for the given selection.
 		 * @param selection the current view selection
@@ -95,8 +95,8 @@
 			}
 			return Collections.EMPTY_SET;
 		}
-		
-		/** 
+
+		/**
 		 * Instantiates the factory and asks it for the detail pane ID
 		 * that the factory considers the default for the given selection.
 		 * @param selection the current view selection
@@ -108,9 +108,9 @@
 				return getFactory().getDefaultDetailPane(selection);
 			}
 			return null;
-		}	
+		}
 
-		/** 
+		/**
 		 * Instantiates the factory and asks it to produce the name of the detail pane
 		 * for the given ID.
 		 * @param paneID the detail pane identifier
@@ -123,9 +123,9 @@
 			}
 			return null;
 		}
-		
-		/** 
-		 * Instantiates the factory and asks it to produce the description of the 
+
+		/**
+		 * Instantiates the factory and asks it to produce the description of the
 		 * detail pane for the given ID.
 		 * @param paneID the detail pane identifier
 		 * @return the description of the detail pane or <code>null</code> if the backing {@link IDetailPaneFactory} is <code>null</code>
@@ -137,9 +137,9 @@
 			}
 			return null;
 		}
-		
+
 		/**
-		 * Returns the instantiated factory specified by the class property. 
+		 * Returns the instantiated factory specified by the class property.
 		 * @return the singleton {@link IDetailPaneFactory}
 		 */
 		private IDetailPaneFactory getFactory(){
@@ -152,14 +152,14 @@
 					fFactory = (IDetailPaneFactory)obj;
 				} else {
 					throw new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, "org.eclipse.debug.ui.detailFactories extension failed to load a detail factory because the specified class does not implement org.eclipse.debug.ui.IDetailPaneFactory.  Class specified was: " + obj, null)); //$NON-NLS-1$
-				}	
+				}
 			} catch (CoreException e){
 				DebugUIPlugin.log(e.getStatus());
 				fFactory = null;
 			}
 			return fFactory;
 		}
-		
+
 		/**
 		 * Checks if the enablement expression for the factory evaluates to true for the
 		 * given selection.
@@ -183,13 +183,13 @@
 			}
 			return enabled;
 		}
-		
+
 		/**
 		 * Evaluate the given expression within the given context and return
 		 * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED.
 		 * This allows optimistic inclusion of shortcuts before plug-ins are loaded.
 		 * Returns <code>false</code> if expression is <code>null</code>.
-		 * 
+		 *
 		 * @param exp the enablement expression to evaluate or <code>null</code>
 		 * @param context the context of the evaluation. Usually, the
 		 *  user's selection.
@@ -208,11 +208,11 @@
 			}
 			return false;
 		}
-		
+
 		/**
 		 * Returns an expression that represents the enablement logic for the
 		 * detail pane factory or <code>null</code> if none.
-		 * 
+		 *
 		 * @return an evaluatable expression or <code>null</code>
 		 */
 		private Expression getEnablementExpression(){
@@ -220,7 +220,7 @@
 			if (fEnablementExpression == null) {
 				try{
 					IConfigurationElement[] elements = fConfigElement.getChildren(ExpressionTagNames.ENABLEMENT);
-					IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
+					IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
 					if (enablement != null) {
 						fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
 					}
@@ -231,42 +231,42 @@
 			}
 			return fEnablementExpression;
 		}
-	
+
 	}
-	
+
 	/**
 	 * There should only ever be once instance of this manager for the workbench.
 	 */
 	private static DetailPaneManager fgSingleton;
-	
+
 	/**
 	 * Maps the IDs of types of detail panes to the factory that can create them.
 	 * There can currently only be one factory for a given type of details pane.
 	 */
 	private Map<String, IDetailPaneFactory> fFactoriesByPaneID;
-	
+
 	/**
 	 * Maps a Set of detail pane id's to the one detail pane id that is preferred.
 	 */
 	private Map<Set<String>, String> fPreferredDetailPanes;
-	
+
 	/**
 	 * The set of all factories that have been loaded from the extension point.
 	 */
 	private List<DetailPaneFactoryExtension> fKnownFactories;
-	
+
     /**
      * Preference key for storing the preferred detail panes map.
      * @see #storePreferredDetailsAreas()
      * @see #loadPreferredDetailsAreas()
      */
     public static final String PREF_DETAIL_AREAS = "preferredDetailPanes"; //$NON-NLS-1$
-	
+
 	private DetailPaneManager(){
 		fFactoriesByPaneID = new HashMap<String, IDetailPaneFactory>();
 		fFactoriesByPaneID.put(MessageDetailPane.ID, new DefaultDetailPaneFactory());
 	}
-	
+
 	public static DetailPaneManager getDefault(){
 		if (fgSingleton == null) {
 			fgSingleton = new DetailPaneManager();
@@ -276,7 +276,7 @@
 
 	/**
 	 * Returns the ID of the preferred detail pane for the given selection.
-	 * 
+	 *
 	 * @param selection The selection to display in the detail pane
 	 * @return The ID of the preferred detail pane or null
 	 */
@@ -285,11 +285,11 @@
 		Set<String> possiblePaneIDs = getPossiblePaneIDs(possibleFactories, selection);
 		return chooseDetailsAreaIDInSet(possiblePaneIDs, possibleFactories, selection);
 	}
-	
+
 	/**
 	 * Returns the set of all possible detail panes the can display the given
 	 * selection.
-	 * 
+	 *
 	 * @param selection The selection to display in the detail pane
 	 * @return The set of IDs of all possible detail panes for the given selection
 	 */
@@ -297,14 +297,14 @@
 		List<IDetailPaneFactory> possibleFactories = getEnabledFactories(selection);
 		return getPossiblePaneIDs(possibleFactories, selection);
 	}
-	
+
 	/**
 	 * Given the ID of a details pane, this method will try to find the factory
 	 * that creates it and return an instantiation of that area.
 	 * <p>
 	 * This method will not call the init() method of the IDetailsPane.
 	 * </p>
-	 * 
+	 *
 	 * @param ID The ID of the requested pane
 	 * @return The instantiated pane or null
 	 */
@@ -315,11 +315,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Given the ID of a details pane, this method will try to find the factory
 	 * that creates it and ask it for the name of the details pane.
-	 * 
+	 *
 	 * @param ID The ID of the requested pane
 	 * @return The name of the details pane or null
 	 */
@@ -330,11 +330,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Given the ID of a details pane, this method will try to find the factory
 	 * that creates it and ask it for the description of the details pane.
-	 * 
+	 *
 	 * @param ID The ID of the requested pane
 	 * @return The description of the details pane or null
 	 */
@@ -345,15 +345,15 @@
 		}
 		return null;
 	}
-	
-	
+
+
 	/**
 	 * Returns the set of IDetailPaneFactories (they will be DetailPaneFactoryDelegates) that were
 	 * contributed to the extension point and are enabled for the given selection
-	 * (enabled if the factory does not have an enablement expression or if the 
+	 * (enabled if the factory does not have an enablement expression or if the
 	 * enablement expression evaluates to true).
 	 * @param selection  the current view selection
-	 * 
+	 *
 	 * @return The factories enabled for the selection or an empty collection.
 	 */
 	private List<IDetailPaneFactory> getEnabledFactories(IStructuredSelection selection) {
@@ -366,15 +366,15 @@
 				if (((DetailPaneFactoryExtension)currentFactory).isEnabled(selection)){
 					factoriesForSelection.add(currentFactory);
 				}
-			}			
-		}	
+			}
+		}
 		return factoriesForSelection;
 	}
-	
+
 	/**
 	 * Produces the set of IDs for all possible detail panes that can be used to display
 	 * the given selection.
-	 *  
+	 *
 	 * @param factoriesToQuery The collection of factories to check
 	 * @param selection The selection to be displayed
 	 * @return Set of pane IDs or an empty set
@@ -384,8 +384,8 @@
 		for (IDetailPaneFactory currentFactory : factoriesToQuery) {
 			for (String currentAreaTypeID : currentFactory.getDetailPaneTypes(selection)) {
 				fFactoriesByPaneID.put(currentAreaTypeID, currentFactory);
-				idsForSelection.add(currentAreaTypeID);				
-			}			
+				idsForSelection.add(currentAreaTypeID);
+			}
 		}
 		return idsForSelection;
 	}
@@ -394,7 +394,7 @@
 	 * Given a set of possible detail pane IDs, this method will determine which pane is
 	 * preferred and should be used to display the selection.  This method chooses a pane
 	 * by storing previous choices and can be set using a context menu.
-	 * 
+	 *
 	 * @param possiblePaneIDs The set of possible detail pane IDs
 	 * @param enabledFactories the complete listing of enable {@link IDetailPaneFactory}s
 	 * @param selection the current selection from the variables view
@@ -404,9 +404,9 @@
 		if (possiblePaneIDs == null || possiblePaneIDs.isEmpty()){
 			return null;
 		}
-		
+
 		String preferredID = getUserPreferredDetailPane(possiblePaneIDs);
-		
+
 		if (preferredID == null){
 			// If there is no preferred pane already set, check the factories to see there is a default pane
 			for (IDetailPaneFactory currentFactory : enabledFactories) {
@@ -416,7 +416,7 @@
 				}
 			}
 			// If the factories don't have a default, try to choose the DefaultDetailPane
-			if (preferredID == null){			
+			if (preferredID == null){
 				Iterator<String> paneIterator = possiblePaneIDs.iterator();
 				// If the DefaultDetailPane is not in the set, just use the first in the set
 				preferredID = paneIterator.next();
@@ -432,7 +432,7 @@
 
 		return preferredID;
 	}
-	
+
 	/**
 	 * Initializes the collection of known factories from extension point contributions.
 	 */
@@ -445,13 +445,13 @@
 			for(int i = 0; i < infos.length; i++) {
 				delegate = new DetailPaneFactoryExtension(infos[i]);
 				fKnownFactories.add(delegate);
-			}		
+			}
 		}
 	}
-	
+
 	/**
 	 * Returns the preferred pane ID from the given set if the mapping has been set.
-	 * 
+	 *
 	 * @param possibleDetailsAreaIDs Set of possible pane IDs
 	 * @return The preferred ID or null
 	 */
@@ -460,13 +460,13 @@
 			loadPreferredDetailsAreas();
 		}
 		return fPreferredDetailPanes.get(possibleDetailsAreaIDs);
-		
+
 	}
-	
+
 	/**
 	 * Adds or updates the mapping to set which pane ID is preferred for a certain
 	 * set of possible IDs.
-	 * 
+	 *
 	 * @param possibleDetailsAreaIDs The set of possible IDs
 	 * @param preferredDetailsAreaID The preferred ID in the set.
 	 */
@@ -482,15 +482,15 @@
 			fPreferredDetailPanes.put(possibleDetailsAreaIDs, preferredDetailsAreaID);
 			storePreferredDetailsAreas();
 		}
-		
+
 	}
-	
+
     /**
      * Stores the map of preferred detail pane IDs to the preference store in the format:
-     * 
-     * Key1A,Key1B:Value1|Key2A,Key2B,Key2C:Value2| 
-     * 
-     * Where the sub keys (Key1A, Key1B, etc.) are the elements of the set used at the 
+     *
+     * Key1A,Key1B:Value1|Key2A,Key2B,Key2C:Value2|
+     *
+     * Where the sub keys (Key1A, Key1B, etc.) are the elements of the set used at the
      * key in the mapping and the values are the associated String value in the mapping.
      */
     private void storePreferredDetailsAreas() {
@@ -515,15 +515,15 @@
 			}
         }
     }
-    
+
     /**
      * Loads the map of preferred detail pane IDs from the preference store.
-     * 
+     *
      * @see #storePreferredDetailsAreas()
      */
     private void loadPreferredDetailsAreas() {
 		fPreferredDetailPanes = new HashMap<Set<String>, String>();
-    	String preferenceValue = Platform.getPreferencesService().getString(DebugUIPlugin.getUniqueIdentifier(), 
+    	String preferenceValue = Platform.getPreferencesService().getString(DebugUIPlugin.getUniqueIdentifier(),
     			PREF_DETAIL_AREAS,
     			"",  //$NON-NLS-1$
     			null);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java
index b7e01ae..ab1406d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.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
  *     Wind River - Anton Leherbauer - Fix selection provider (Bug 254442)
@@ -37,44 +37,44 @@
 import com.ibm.icu.text.MessageFormat;
 
 /**
- * Acts as a proxy between a view and a detail pane. Controls how information is displayed 
- * in the details pane in a view.  Currently used by the variables, registers and expression 
- * views as well as the inspect popup dialog.  The different types of detail panes use the 
- * detailPaneFactories extension and must implement <code>IDetailPane</code>.  This class acts 
- * as a proxy to the current detail pane, each time the detail pane type changes, this class 
+ * Acts as a proxy between a view and a detail pane. Controls how information is displayed
+ * in the details pane in a view.  Currently used by the variables, registers and expression
+ * views as well as the inspect popup dialog.  The different types of detail panes use the
+ * detailPaneFactories extension and must implement <code>IDetailPane</code>.  This class acts
+ * as a proxy to the current detail pane, each time the detail pane type changes, this class
  * disposes of the old pane and creates the new one.  Uses a <code>DetailPaneManager</code> to
  * organize and find the panes to display.
- * 
+ *
  * @see IDetailPane
  * @see DetailPaneManager
  * @since 3.3
  */
 public class DetailPaneProxy implements ISaveablePart {
-	
+
 	/**
 	 * The IDetailPane currently being used to display detailed information.
 	 */
 	private IDetailPane fCurrentPane;
-	
+
 	/**
 	 * The UI control that the current detail pane is using to display details.
 	 */
 	private Control fCurrentControl;
-	
+
 	/**
 	 * Detail pane container that the detail panes will be added to.
 	 */
 	private IDetailPaneContainer fParentContainer;
-	
+
 	/**
 	 * Property listeners
 	 */
 	private ListenerList<IPropertyListener> fListeners = new ListenerList<>();
-	
+
 	/**
 	 * Constructor that sets up the detail pane for a view.  Note that no default pane
 	 * is created, so a control will not be created until <code>display</code> is called.
-	 * 
+	 *
 	 * @param parent the detail pane container that is holding this detail pane
 	 */
 	public DetailPaneProxy(IDetailPaneContainer parent) {
@@ -86,18 +86,18 @@
 	 * Informs the parent container if the type of detail pane changes.
 	 * If a null or empty selection is passed and a current pane exists, that view will be cleared.
 	 * If a null or empty selection is passed and no pane exists, the default view is created.
-	 * 
+	 *
 	 * @param selection The selection to display detailed information for
 	 */
 	public void display(IStructuredSelection selection){
-		
+
 		IDetailPane3 saveable = getSaveable();
 		boolean clean = false;
 		if (saveable != null && saveable.isDirty() && saveable.isSaveOnCloseNeeded()) {
 			// save the contents before changing
 			saveable.doSave(null);
 		}
-		
+
 		if ((selection == null || selection.isEmpty()) && fCurrentPane != null){
 			fCurrentPane.display(selection);
 			if (clean) {
@@ -105,13 +105,13 @@
 			}
 			return;
 		}
-		
+
 		String preferredPaneID = DetailPaneManager.getDefault().getPreferredPaneFromSelection(selection);
 		if (preferredPaneID == null) {
 			preferredPaneID = MessageDetailPane.ID;
 			selection = new StructuredSelection(DetailMessages.DetailPaneProxy_1);
 		}
-		
+
 		// Don't change anything if the preferred pane is the current pane
 		if (fCurrentPane != null && preferredPaneID.equals(fCurrentPane.getID())){
 			fCurrentPane.display(selection);
@@ -120,9 +120,9 @@
 			}
 			return;
 		}
-		
+
 		setupPane(preferredPaneID, selection);
-		
+
 		// Inform the container that a new detail pane is being used
 		fParentContainer.paneChanged(preferredPaneID);
 		if (clean) {
@@ -130,7 +130,7 @@
 		}
 
 	}
-	
+
 	/**
 	 * Fires dirty property change.
 	 */
@@ -139,10 +139,10 @@
 			iPropertyListener.propertyChanged(this, PROP_DIRTY);
 		}
 	}
-	
+
 	/**
 	 * Tells the current detail pane (if one exists) that it is gaining focus.
-	 * 
+	 *
 	 * @return true if the current pane successfully set focus to a control, false otherwise
 	 */
 	public boolean setFocus(){
@@ -151,7 +151,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Disposes of the current pane.
 	 */
@@ -165,7 +165,7 @@
 			fCurrentControl = null;
 		}
 	}
-	
+
 	/**
 	 * Checks if the current pane supports the <code>IAdaptable</code> framework
 	 * and if so, calls its <code>getAdapter()</code> method.
@@ -180,22 +180,22 @@
 			return null;
 		}
 	}
-	
+
 	public Control getCurrentControl(){
 		return fCurrentControl;
 	}
-	
+
 	public String getCurrentPaneID(){
 		if (fCurrentPane != null){
 			return fCurrentPane.getID();
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Finds or creates an initialized detail pane with the given ID.  Asks the detail
-	 * pane to create the control and display the selection.  
-	 * 
+	 * pane to create the control and display the selection.
+	 *
 	 * @param paneID the ID of the pane to display in
 	 * @param selection the selection to display
 	 */
@@ -234,7 +234,7 @@
 								updateSelectionProvider(false);
 							}
 						});
-					}					
+					}
 				} else{
 					createErrorLabel(DetailMessages.DetailPaneProxy_0);
 					DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_2, new Object[] { fCurrentPane.getID() }))));
@@ -250,7 +250,7 @@
 
 	/**
 	 * Update the selection provider of the current detail pane in the container.
-	 * 
+	 *
 	 * @param hasFocus  whether the detail pane control has the focus
 	 */
 	protected void updateSelectionProvider(boolean hasFocus) {
@@ -272,7 +272,7 @@
 
 	/**
 	 * Creates a label in the detail pane area with the given message.
-	 * 
+	 *
 	 * @param message The message to display
 	 */
 	private void createErrorLabel(String message){
@@ -344,10 +344,10 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns the active saveable part or <code>null</code> if none.
-	 * 
+	 *
 	 * @return saveable part or <code>null</code>
 	 */
 	IDetailPane3 getSaveable() {
@@ -356,7 +356,7 @@
 		}
 		return null;
 	}
-	
+
 	public void addProperyListener(IPropertyListener listener) {
 		fListeners.add(listener);
 		IDetailPane3 saveable = getSaveable();
@@ -364,7 +364,7 @@
 			saveable.addPropertyListener(listener);
 		}
 	}
-	
+
 	public void removePropertyListener(IPropertyListener listener) {
 		fListeners.remove(listener);
 		IDetailPane3 saveable = getSaveable();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer.java
index 0c5f5cb..59a6b3a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer.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
  *******************************************************************************/
@@ -15,7 +15,7 @@
 import org.eclipse.ui.IWorkbenchPartSite;
 
 /**
- * Interface for UI elements that contain detail panes.  Provides access to 
+ * Interface for UI elements that contain detail panes.  Provides access to
  * information about the current detail pane and allows the container to be
  * informed of changes.
  *
@@ -27,43 +27,43 @@
 
 	/**
 	 * Returns the string ID of the detail pane currently being displayed.
-	 * 
+	 *
 	 * @return the ID of the current detail pane
 	 */
 	public String getCurrentPaneID();
-	
+
 	/**
 	 * Returns the selection to be displayed in the detail pane.
-	 * 
+	 *
 	 * @return the selection to be displayed in the detail pane.
 	 */
 	public IStructuredSelection getCurrentSelection();
-	
+
 	/**
 	 * Returns the composite that detail panes will be added to.
-	 * 
+	 *
 	 * @return the composite that detail panes will be added to
 	 */
 	public Composite getParentComposite();
-	
+
 	/**
 	 * Returns the workbench part site that the detail pane is in or <code>null</code>
 	 * if the detail pane is not in a workbench part site.
-	 * 
+	 *
 	 * @return the workbench part site the detail pane is in or <code>null</code>
 	 */
 	public IWorkbenchPartSite getWorkbenchPartSite();
-	
+
 	/**
 	 * Refreshes the current detail pane with the current selection.
 	 */
 	public void refreshDetailPaneContents();
-	
+
 	/**
 	 * Informs the container that the type of detail pane being used has changed.
-	 * 
+	 *
 	 * @param newPaneID ID of the new detail pane
 	 */
 	public void paneChanged(String newPaneID);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer2.java
index 22177df..7357961 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/IDetailPaneContainer2.java
@@ -20,9 +20,9 @@
 public interface IDetailPaneContainer2 extends IDetailPaneContainer {
 
 	/**
-	 * Set the selection provider of the detail pane.  Allows the container to 
+	 * Set the selection provider of the detail pane.  Allows the container to
 	 * forward the selection provider events to the container's workbench site.
-	 * 
+	 *
 	 * @param provider  the selection provider or <code>null</code>
 	 */
 	public void setSelectionProvider(ISelectionProvider provider);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java
index 609ec9a..3ea3ba9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.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
  *******************************************************************************/
@@ -24,39 +24,39 @@
 /**
  * A detail pane that displays a message in a wrapped label. Not contributed by an extension
  * point - used internally to display messages.
- * 
+ *
  * @since 3.6
  */
 public class MessageDetailPane implements IDetailPane {
-	
+
 	public static final String ID = IDebugUIConstants.PLUGIN_ID + ".detailpanes.message"; //$NON-NLS-1$
 	public static final String NAME = DetailMessages.MessageDetailPane_0;
 	public static final String DESCRIPTION = DetailMessages.MessageDetailPane_1;
-		
+
 	/**
 	 * Composite that contains the label that has margins.
 	 */
 	private Composite fControlParent;
-	
+
 	/**
 	 * Label control
 	 */
 	private Label fLabel;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#init(org.eclipse.ui.IWorkbenchPartSite)
 	 */
 	@Override
 	public void init(IWorkbenchPartSite partSite) {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#dispose()
 	 */
 	@Override
 	public void dispose() {
 		fControlParent.dispose();
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#createControl(org.eclipse.swt.widgets.Composite)
@@ -68,7 +68,7 @@
 		fLabel = SWTFactory.createWrapLabel(fControlParent, "", 1); //$NON-NLS-1$
 		return fControlParent;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#setFocus()
 	 */
@@ -76,7 +76,7 @@
 	public boolean setFocus() {
 		return false;
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IDetailPane#display(org.eclipse.jface.viewers.IStructuredSelection)
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java
index fd2e859..38c6d39 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractBreakpointOrganizerDelegate.java
@@ -28,7 +28,7 @@
  * @since 3.1
  */
 public abstract class AbstractBreakpointOrganizerDelegate implements IBreakpointOrganizerDelegate {
-    
+
     // property change listeners
 	private ListenerList<IPropertyChangeListener> fListeners = new ListenerList<>();
 
@@ -39,7 +39,7 @@
 	public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
         // do noting, not supported by default
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
      */
@@ -47,31 +47,31 @@
 	public void addPropertyChangeListener(IPropertyChangeListener listener) {
         fListeners.add(listener);
     }
-    
+
     /* (non-Javadoc)
-     * 
+     *
      * Subclasses that override should return super.canAdd(...) when they are not able to add
      * the breakpoint.
-     * 
+     *
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
      */
     @Override
 	public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) {
         return category instanceof OtherBreakpointCategory;
     }
-    
+
     /* (non-Javadoc)
-     * 
+     *
      * Subclasses that override should return super.canRemove(...) when they are not able to remove
      * the breakpoint.
-     * 
+     *
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
      */
     @Override
 	public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) {
         return category instanceof OtherBreakpointCategory;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose()
      */
@@ -79,7 +79,7 @@
 	public void dispose() {
 		fListeners = new ListenerList<>();
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable)
      */
@@ -87,7 +87,7 @@
 	public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) {
         // do nothing, not supported by default
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
      */
@@ -95,10 +95,10 @@
 	public void removePropertyChangeListener(IPropertyChangeListener listener) {
         fListeners.remove(listener);
     }
-    
+
     /**
      * Fires a property change notification for the given category.
-     * 
+     *
      * @param category category that has changed
      */
     protected void fireCategoryChanged(IAdaptable category) {
@@ -121,7 +121,7 @@
             SafeRunner.run(runnable);
         }
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories()
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
index d6dcd56..c77bae7 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
@@ -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
  *******************************************************************************/
@@ -68,7 +68,7 @@
 
 /**
  * Common function for views related to debugging. Clients implementing
- * views for a debugger should subclass this class. Common function 
+ * views for a debugger should subclass this class. Common function
  * includes:
  * <ul>
  * <li>Debug view adapter implementation - <code>IDebugView</code></li>
@@ -80,10 +80,10 @@
  * 		underlying viewer and registers the menu with this
  * 		view's site, such that other plug-ins may contribute.</li>
  * <li>Hooks a key press listener, and invokes the
- * 		<code>REMOVE_ACTION</code> when the delete key 
+ * 		<code>REMOVE_ACTION</code> when the delete key
  * 		is pressed.</li>
  * <li>Hooks a double-click listener, and invokes the
- * 		<code>DOUBLE_CLICK_ACTION</code> when the mouse 
+ * 		<code>DOUBLE_CLICK_ACTION</code> when the mouse
  * 		is double-clicked.</li>
  * <li>Provides a mechanism for displaying an error message
  * 		in the view, via the <code>PageBookView</code> mechanism.
@@ -102,60 +102,60 @@
  */
 
 public abstract class AbstractDebugView extends PageBookView implements IDebugView, IDoubleClickListener {
-	
+
 	/**
 	 * Underlying viewer that displays the contents of
 	 * this view.
 	 */
 	private Viewer fViewer = null;
-	
+
 	/**
 	 * This view's message page.
 	 */
 	private MessagePage fMessagePage = null;
-	
+
 	/**
 	 * Map of actions. Keys are strings, values
 	 * are <code>IAction</code>.
 	 */
 	private Map<String, IAction> fActionMap = null;
-	
+
 	/**
 	 * Map of actions. Keys are strings, values
 	 * are <code>IAction</code>.
 	 */
 	private List<IUpdate> fUpdateables = null;
-	
+
 	/**
 	 * The collection of menu managers that are
 	 * relevant for this view.
 	 */
 	private List<IMenuManager> fContextMenuManagers;
-	
+
 	/**
 	 * The memento that was used to persist the state of this view.
 	 * May be <code>null</code>.
 	 */
 	private IMemento fMemento;
-	
+
 	/**
 	 * Whether this view is currently visible.
 	 */
 	private boolean fIsVisible = false;
-	
+
 	/**
 	 * The part listener for this view, used to notify this view when it
 	 * becomes visible and hidden. Set to <code>null</code> when this view isn't
 	 * currently listening to part changes.
 	 */
 	private DebugViewPartListener fPartListener= null;
-	
+
 	/**
 	 * A message was requested to be displayed before the view was fully
 	 * created. The message is cached until it can be properly displayed.
 	 */
 	private String fEarlyMessage= null;
-	
+
 	private static Set<String> fgGlobalActionIds;
 	static {
 		fgGlobalActionIds = new HashSet<String>();
@@ -175,7 +175,7 @@
 	 */
 	private class DebugViewPartListener implements IPartListener2 {
 		/**
-		 * 
+		 *
 		 * @see org.eclipse.ui.IPartListener2#partVisible(IWorkbenchPartReference)
 		 */
 		@Override
@@ -231,7 +231,7 @@
 		@Override
 		public void partOpened(IWorkbenchPartReference ref) {
 		}
-		
+
 		/**
 		 * @see org.eclipse.ui.IPartListener2#partInputChanged(IWorkbenchPartReference)
 		 */
@@ -239,8 +239,8 @@
 		public void partInputChanged(IWorkbenchPartReference ref){
 		}
 
-	}	
-	
+	}
+
 	/**
 	 * Constructs a new debug view.
 	 */
@@ -248,12 +248,12 @@
 		fActionMap = new HashMap<String, IAction>(5);
 		fUpdateables = new ArrayList<IUpdate>(3);
 	}
-	
+
 	/**
 	 * Debug views implement the debug view adapter which
 	 * provides access to a view's underlying viewer and
 	 * debug model presentation for a specific debug model.
-	 * 
+	 *
 	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
 	 * @see IDebugView
 	 */
@@ -274,7 +274,7 @@
 		}
 		return super.getAdapter(adapter);
 	}
-	
+
 	/**
 	 * A page in this view's page book that contains this
 	 * view's viewer.
@@ -286,7 +286,7 @@
 		@Override
 		public void createControl(Composite parent) {
 			Viewer viewer = createViewer(parent);
-			setViewer(viewer);			
+			setViewer(viewer);
 		}
 
 		/**
@@ -312,7 +312,7 @@
 		}
 
 }
-	
+
 	/**
 	 * Creates this view's underlying viewer and actions.
 	 * Hooks a pop-up menu to the underlying viewer's control,
@@ -356,23 +356,23 @@
 				}
 			});
 			if (getViewer() instanceof StructuredViewer) {
-				((StructuredViewer)getViewer()).addDoubleClickListener(this);	
+				((StructuredViewer)getViewer()).addDoubleClickListener(this);
 			}
 		}
 		// create the message page
 		setMessagePage(new MessagePage());
 		getMessagePage().createControl(getPageBook());
 		initPage(getMessagePage());
-		
+
 		if (fEarlyMessage != null) { //bug 28127
 			showMessage(fEarlyMessage);
 			fEarlyMessage= null;
 		}
-	}	
-	
+	}
+
 	/**
 	 * The default page for a debug view is its viewer.
-	 * 
+	 *
 	 * @see PageBookView#createDefaultPage(PageBook)
 	 */
 	@Override
@@ -381,34 +381,34 @@
 		page.createControl(book);
 		initPage(page);
 		return page;
-	}	
+	}
 
 	/**
 	 * Creates and returns this view's underlying viewer.
 	 * The viewer's control will automatically be hooked
 	 * to display a pop-up menu that other plug-ins may
 	 * contribute to. Subclasses must override this method.
-	 * 
+	 *
 	 * @param parent the parent control
 	 * @return the new {@link Viewer}
 	 */
 	protected abstract Viewer createViewer(Composite parent);
-	
+
 	/**
 	 * Creates this view's actions. Subclasses must
 	 * override this method, which is called after
 	 * <code>createViewer(Composite)</code>
 	 */
-	protected abstract void createActions();	
-	
+	protected abstract void createActions();
+
 	/**
 	 * Returns this view's help context id, which is hooked
 	 * to this view on creation.
-	 * 
+	 *
 	 * @return help context id
 	 */
 	protected abstract String getHelpContextId();
-	
+
 	/**
 	 * @see IWorkbenchPart#dispose()
 	 */
@@ -423,12 +423,12 @@
 		fActionMap.clear();
 		super.dispose();
 	}
-	
+
 	/**
 	 * Saves the checked state for all actions contributed to the toolbar
 	 * manager that function as a toggle action.  The states are saved in
 	 * the Debug UI plugin's preference store.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	protected void saveAllCheckedActionStates() {
@@ -440,17 +440,17 @@
 				ActionContributionItem item= (ActionContributionItem)iContributionItem;
 				IAction action= item.getAction();
 				if (action.getStyle() == IAction.AS_CHECK_BOX && action.isEnabled()) {
-					saveCheckedActionState(action);					
+					saveCheckedActionState(action);
 				}
-			}		
-		}		
+			}
+		}
 	}
-	
+
 	/**
 	 * Save the checked state of the specified action in the Debug UI plugin's
 	 * preference store.  The specified action is expected to be enabled and
 	 * support the style <code>IAction.AS_CHECK_BOX</code>.
-	 * 
+	 *
 	 * @param action the enabled, toggle action whose checked state will be
 	 * saved in preferences
 	 * @since 2.1
@@ -460,7 +460,7 @@
 		IPreferenceStore prefStore = getPreferenceStore();
 		prefStore.setValue(prefKey, action.isChecked());
 	}
-	
+
 	/**
 	 * Generate a String that can be used as a key into a preference store based
 	 * on the specified action.  The resulting String will be unique across
@@ -471,20 +471,20 @@
 	 * @since 2.1
 	 */
 	protected String generatePreferenceKey(IAction action) {
-		return getViewSite().getId() + '+' + action.getId();		
+		return getViewSite().getId() + '+' + action.getId();
 	}
-	
+
 	/**
 	 * Convenience method to return the preference store for the Debug UI
 	 * plug-in.
-	 * 
+	 *
 	 * @return the preference store for the Debug UI plug-in
 	 * @since 2.1
 	 */
 	protected IPreferenceStore getPreferenceStore() {
 		return DebugUIPlugin.getDefault().getPreferenceStore();
 	}
-	
+
 	/**
 	 * @see IDebugView#getViewer()
 	 */
@@ -492,11 +492,11 @@
 	public Viewer getViewer() {
 		return fViewer;
 	}
-	
+
 	/**
 	 * Returns this view's viewer as a structured viewer,
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @return this view's viewer as a structured viewer
 	 * 	or <code>null</code>
 	 */
@@ -506,11 +506,11 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns this view's viewer as a text viewer,
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @return this view's viewer as a text viewer
 	 * 	or <code>null</code>
 	 */
@@ -519,8 +519,8 @@
 			return (TextViewer)getViewer();
 		}
 		return null;
-	}	
-	
+	}
+
 	/**
 	 * @see IDebugView#getPresentation(String)
 	 */
@@ -539,7 +539,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Creates a pop-up menu on the given control. The menu
 	 * is registered with this view's site, such that other
@@ -549,7 +549,7 @@
 	 * Subclasses must implement the method
 	 * <code>#fillContextMenu(IMenuManager)</code> which will
 	 * be called each time the context menu is realized.
-	 * 
+	 *
 	 * @param menuControl the control with which the pop-up
 	 *  menu will be associated with.
 	 */
@@ -571,10 +571,10 @@
 		}
 		addContextMenuManager(menuMgr);
 	}
-	
+
 	/**
 	 * @see IDebugView#getContextMenuManager()
-	 * 
+	 *
 	 * @deprecated @see AbstractDebugView.getContextMenuManagers()
 	 */
 	@Deprecated
@@ -585,25 +585,25 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the context menu managers relevant to this view.
-	 * 
+	 *
 	 * @return the context menu managers relevant to this view
 	 * @since 2.1
 	 */
 	public List<IMenuManager> getContextMenuManagers() {
 		return fContextMenuManagers;
 	}
-	
+
 	/**
 	 * Subclasses must override this method to fill the context
 	 * menu each time it is realized.
-	 * 
+	 *
 	 * @param menu the context menu
 	 */
-	protected abstract void fillContextMenu(IMenuManager menu);	
-	
+	protected abstract void fillContextMenu(IMenuManager menu);
+
 	/**
 	 * Configures this view's toolbar. Subclasses implement
 	 * <code>#configureToolBar(IToolBarManager)</code> to
@@ -621,7 +621,7 @@
 		final IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
 		configureToolBar(tbm);
 		getViewSite().getActionBars().updateActionBars();
-		
+
 		// This is done in a runnable to be run after this view's pane
 		// is created
 		Runnable r = new Runnable() {
@@ -637,7 +637,7 @@
 							IAction action = ((ActionContributionItem)items[i]).getAction();
 							if (!SkipAllBreakpointsAction.ACTION_ID.equals(action.getId())) {
 								if (action.getStyle() == IAction.AS_CHECK_BOX) {
-									initActionState(action);	
+									initActionState(action);
 									if (action.isChecked()) {
 										action.run();
 									}
@@ -651,12 +651,12 @@
 		};
 		asyncExec(r);
 	}
-	
+
 	/**
 	 * Restores the persisted checked state of the specified action that was
 	 * stored in preferences. If the action is disabled, its persisted state
 	 * is not restored (because a disabled action cannot be run).
-	 * 
+	 *
 	 * @param action the action whose checked state will be restored
 	 * @since 2.1
 	 */
@@ -677,28 +677,28 @@
 		super.init(site, memento);
 		//store the memento to be used when this view is created.
 		setMemento(memento);
-	}	 
+	}
 
 	/**
 	 * Sets the viewer for this view.
-	 * 
+	 *
 	 * @param viewer viewer
      * @since 3.1
 	 */
 	protected void setViewer(Viewer viewer) {
 		fViewer = viewer;
 	}
-	
+
 	/**
 	 * Subclasses implement this menu to contribute actions
-	 * to the toolbar. This method is called after 
+	 * to the toolbar. This method is called after
 	 * <code>createActions()</code>.
-	 * 
+	 *
 	 * @param tbm the tool bar manager for this view's site
 	 * @see #createViewer(Composite)
 	 */
-	protected abstract void configureToolBar(IToolBarManager tbm);	
-	
+	protected abstract void configureToolBar(IToolBarManager tbm);
+
 	/**
 	 * @see IDebugView#setAction(String, IAction)
 	 */
@@ -714,11 +714,11 @@
 			}
 		}
 		if (fgGlobalActionIds.contains(actionID)) {
-			IActionBars actionBars = getViewSite().getActionBars();	
+			IActionBars actionBars = getViewSite().getActionBars();
 			actionBars.setGlobalActionHandler(actionID, action);
 		}
-	}	
-	
+	}
+
 	/**
 	 * @see IDebugView#getAction(String)
 	 */
@@ -726,7 +726,7 @@
 	public IAction getAction(String actionID) {
 		return fActionMap.get(actionID);
 	}
-	
+
 	/**
 	 * Updates all the registered updatables.
 	 */
@@ -735,10 +735,10 @@
 			update.update();
 		}
 	}
-			
+
 	/**
 	 * Handles key events in viewer. Invokes
-	 * <ol> 
+	 * <ol>
 	 * <li><code>REMOVE_ACTION</code> when the delete
 	 * key is pressed</li>
 	 * @param event the {@link KeyEvent}
@@ -750,12 +750,12 @@
 				action.run();
 			}
 		}
-	}	
-	
+	}
+
 	/**
 	 * Delegate to the <code>DOUBLE_CLICK_ACTION</code>,
 	 * if any.
-	 *  
+	 *
 	 * @see IDoubleClickListener#doubleClick(DoubleClickEvent)
 	 */
 	@Override
@@ -764,13 +764,13 @@
 		if (action != null && !event.getSelection().isEmpty() && action.isEnabled()) {
 			action.run();
 		}
-	}	
-	
+	}
+
 	/**
 	 * Registers the given runnable with the display
 	 * associated with this view's control, if any.
 	 * @param r the {@link Runnable} to run
-	 * 
+	 *
 	 * @see org.eclipse.swt.widgets.Display#asyncExec(java.lang.Runnable)
 	 */
 	public void asyncExec(Runnable r) {
@@ -778,17 +778,17 @@
 			getControl().getDisplay().asyncExec(r);
 		}
 	}
-	
+
 	/**
 	 * Returns the control for this view, or <code>null</code> if none.
-	 * 
+	 *
 	 * @return the control for this view, or <code>null</code> if none
 	 * @since 3.0
 	 */
 	protected Control getControl() {
 		return getViewer().getControl();
 	}
-	
+
 	/**
 	 * Registers the given runnable with the display
 	 * associated with this view's control, if any.
@@ -800,8 +800,8 @@
 		if (isAvailable()) {
 			getControl().getDisplay().syncExec(r);
 		}
-	}	
-	
+	}
+
 	/**
 	 * Returns the memento that contains the persisted state of
 	 * the view.  May be <code>null</code>.
@@ -811,19 +811,19 @@
 		return fMemento;
 	}
 
-	/** 
-	 * Sets the memento that contains the persisted state of the 
+	/**
+	 * Sets the memento that contains the persisted state of the
 	 * view.
 	 * @param memento the new {@link IMemento}
 	 */
 	protected void setMemento(IMemento memento) {
 		fMemento = memento;
 	}
-	
+
 	/**
 	 * Returns the specified view in this view's page
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param id view identifier
 	 * @return view part
 	 */
@@ -833,9 +833,9 @@
 		if (page != null) {
 			view = page.findView(id);
 		}
-		return view;	
+		return view;
 	}
-	
+
 	/**
 	 * @see PageBookView#isImportant(IWorkbenchPart)
 	 */
@@ -872,39 +872,39 @@
 	 * this view's viewer's control is returned. Subclasses
 	 * should override if required - for example, if this
 	 * view has its viewer nested inside other controls.
-	 * 
+	 *
 	 * @return this view's default control.
-	 */ 
+	 */
 	protected Control getDefaultControl() {
 		Viewer viewer = getViewer();
 		if (viewer != null) {
 			return viewer.getControl();
-		} 
+		}
 		return null;
 	}
-	
+
 	/**
 	 * Sets this view's message page
-	 * 
+	 *
 	 * @param page message page
 	 */
 	private void setMessagePage(MessagePage page) {
 		fMessagePage = page;
 	}
-	
+
 	/**
 	 * Returns this view's message page
-	 * 
+	 *
 	 * @return message page
 	 */
 	protected MessagePage getMessagePage() {
 		return fMessagePage;
-	}	
-	
+	}
+
 	/**
 	 * Shows the given message in this view's message'
 	 * page. Makes the message page the visible page.
-	 * 
+	 *
 	 * @param message the message to display
 	 */
 	public void showMessage(String message) {
@@ -919,7 +919,7 @@
 		getMessagePage().setMessage(message);
 		getPageBook().showPage(getMessagePage().getControl());
 	}
-	
+
 	/**
 	 * Shows this view's viewer page.
 	 */
@@ -929,17 +929,17 @@
 		}
 		getPageBook().showPage(getDefaultPage().getControl());
 	}
-	
+
 	/**
 	 * Returns whether this view's viewer is
 	 * currently available.
-	 * 
+	 *
 	 * @return whether this view's viewer is
 	 * currently available
 	 */
 	public boolean isAvailable() {
 		return !(getViewer() == null || getViewer().getControl() == null || getViewer().getControl().isDisposed());
-	}	
+	}
 	/**
 	 * @see IDebugView#add(IUpdate)
 	 */
@@ -957,11 +957,11 @@
 	public void remove(IUpdate updatable) {
 		fUpdateables.remove(updatable);
 	}
-	
+
 	/**
 	 * Adds a context menu manager that is relevant to this view.
 	 * @param contextMenuManager The contextMenuManager to add
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	public void addContextMenuManager(IMenuManager contextMenuManager) {
@@ -970,37 +970,37 @@
 		}
 		fContextMenuManagers.add(contextMenuManager);
 	}
-	
+
 	/**
 	 * Notification this view is now visible.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	protected void becomesVisible() {
 	}
-	
+
 	/**
 	 * Notification this view is now hidden.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	protected void becomesHidden() {
 	}
-	
+
 	/**
 	 * Returns whether this view is currently visible.
-	 * 
+	 *
 	 * @return whether this view is currently visible
 	 * @since 2.1
 	 */
 	public boolean isVisible() {
 		return fIsVisible;
 	}
-	
+
 	/**
 	 * Creates and registers a part listener with this event handler's page,
 	 * if one does not already exist.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	protected void registerPartListener() {
@@ -1012,7 +1012,7 @@
 
 	/**
 	 * Unregisters and disposes this event handler's part listener.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	protected void deregisterPartListener() {
@@ -1020,7 +1020,7 @@
 			getSite().getPage().removePartListener(fPartListener);
 			fPartListener = null;
 		}
-	}	
+	}
 
 	/**
 	 * Returns a map of the current attribute settings in the model
@@ -1039,6 +1039,6 @@
 		}
 		return Collections.EMPTY_MAP;
 	}
-}	
+}
 
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
index e2dbb3a..5503ed9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
@@ -11,7 +11,7 @@
  *******************************************************************************/
 package org.eclipse.debug.ui;
 
- 
+
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
@@ -41,7 +41,7 @@
  * @since 2.0
  */
 public abstract class AbstractLaunchConfigurationTab implements ILaunchConfigurationTab2 {
-	
+
 	/**
 	 * The control for this page, or <code>null</code>
 	 */
@@ -52,69 +52,69 @@
 	 * contained in.
 	 */
 	private ILaunchConfigurationDialog fLaunchConfigurationDialog;
-	
+
 	/**
 	 * Current error message, or <code>null</code>
 	 */
 	private String fErrorMessage;
-	
+
 	/**
 	 * Current warning message, or <code>null</code>
 	 */
 	private String fWarningMessage;
-	
+
 	/**
 	 * Current message, or <code>null</code>
 	 */
 	private String fMessage;
-	
+
 	/**
 	 * Whether this tab needs to apply changes. This attribute is initialized to
 	 * <code>true</code> to be backwards compatible. If clients want to take advantage
 	 * of such a feature, they should set the flag to false, and check it before
 	 * applying changes to the launch configuration working copy.
-	 * 
+	 *
 	 * @since 2.1
 	 */
-	private boolean fDirty = true;	
-	
+	private boolean fDirty = true;
+
 	/**
 	 * Job to update the tab after a delay. Used to delay updates while
 	 * the user is typing.
 	 */
-	private Job fRereshJob;	
-	
+	private Job fRereshJob;
+
 	/**
 	 * The set help context id
-	 * 
+	 *
 	 * @since 3.7
 	 */
 	private String fHelpContextId = null;
-		
+
 	/**
 	 * Returns the dialog this tab is contained in, or
 	 * <code>null</code> if not yet set.
-	 * 
+	 *
 	 * @return launch configuration dialog, or <code>null</code>
 	 */
 	protected ILaunchConfigurationDialog getLaunchConfigurationDialog() {
 		return fLaunchConfigurationDialog;
-	}	
-		
+	}
+
 	/**
 	 * Updates the buttons and message in this page's launch
 	 * configuration dialog.
 	 */
 	protected void updateLaunchConfigurationDialog() {
 		if (getLaunchConfigurationDialog() != null) {
-			//order is important here due to the call to 
+			//order is important here due to the call to
 			//refresh the tab viewer in updateButtons()
 			//which ensures that the messages are up to date
 			getLaunchConfigurationDialog().updateButtons();
 			getLaunchConfigurationDialog().updateMessage();
 		}
 	}
-				
+
 	/**
 	 * @see ILaunchConfigurationTab#getControl()
 	 */
@@ -125,7 +125,7 @@
 
 	/**
 	 * Sets the control to be displayed in this tab.
-	 * 
+	 *
 	 * @param control the control for this tab
 	 */
 	protected void setControl(Control control) {
@@ -159,7 +159,7 @@
 
 	/**
 	 * By default, do nothing.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTab#launched(ILaunch)
 	 * @deprecated As of R3.0, this method is no longer called by the launch
 	 *  framework. Since tabs do not exist when launching is performed elsewhere
@@ -178,10 +178,10 @@
 	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
 		fLaunchConfigurationDialog = dialog;
 	}
-	
+
 	/**
 	 * Sets this page's error message, possibly <code>null</code>.
-	 * 
+	 *
 	 * @param errorMessage the error message or <code>null</code>
 	 */
 	protected void setErrorMessage(String errorMessage) {
@@ -190,7 +190,7 @@
 
 	/**
 	 * Sets this page's warning message, possibly <code>null</code>.
-	 * 
+	 *
 	 * @param warningMessage the warning message or <code>null</code>
 	 * @since 3.9
 	 */
@@ -200,34 +200,34 @@
 
 	/**
 	 * Sets this page's message, possibly <code>null</code>.
-	 * 
+	 *
 	 * @param message the message or <code>null</code>
 	 */
 	protected void setMessage(String message) {
 		fMessage = message;
 	}
-	
+
 	/**
 	 * Convenience method to return the launch manager.
-	 * 
+	 *
 	 * @return the launch manager
 	 */
 	protected ILaunchManager getLaunchManager() {
 		return DebugPlugin.getDefault().getLaunchManager();
-	}	
-	
+	}
+
 	/**
 	 * By default, do nothing.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTab#dispose()
 	 */
 	@Override
 	public void dispose() {
 	}
-	
+
 	/**
 	 * Returns the shell this tab is contained in, or <code>null</code>.
-	 * 
+	 *
 	 * @return the shell this tab is contained in, or <code>null</code>
 	 */
 	protected Shell getShell() {
@@ -237,38 +237,38 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Creates and returns a new push button with the given
 	 * label and/or image.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
 	 * @param image image of <code>null</code>
-	 * 
+	 *
 	 * @return a new push button
 	 */
 	protected Button createPushButton(Composite parent, String label, Image image) {
-		return SWTFactory.createPushButton(parent, label, image);	
+		return SWTFactory.createPushButton(parent, label, image);
 	}
-	
+
 	/**
 	 * Creates and returns a new radio button with the given
 	 * label and/or image.
-	 * 
+	 *
 	 * @param parent parent control
 	 * @param label button label or <code>null</code>
-	 * 
+	 *
 	 * @return a new radio button
 	 */
 	protected Button createRadioButton(Composite parent, String label) {
-		return SWTFactory.createRadioButton(parent, label);	
-	}	
-	
+		return SWTFactory.createRadioButton(parent, label);
+	}
+
 	/**
 	 * Creates and returns a new check button with the given
 	 * label.
-	 * 
+	 *
 	 * @param parent the parent composite
 	 * @param label the button label
 	 * @return a new check button
@@ -277,7 +277,7 @@
 	protected Button createCheckButton(Composite parent, String label) {
 		return SWTFactory.createCheckButton(parent, label, null, false, 1);
 	}
-	
+
 	/**
 	 * @see ILaunchConfigurationTab#canSave()
 	 */
@@ -285,7 +285,7 @@
 	public boolean canSave() {
 		return true;
 	}
-	
+
 	/**
 	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
 	 */
@@ -301,11 +301,11 @@
 	 */
 	protected void createVerticalSpacer(Composite comp, int colSpan) {
 		SWTFactory.createVerticalSpacer(comp, colSpan);
-	}	
-	
+	}
+
 	/**
 	 * Create a horizontal separator.
-	 * 
+	 *
 	 * @param comp parent widget
 	 * @param colSpan number of columns to span
 	 * @since 3.0
@@ -315,8 +315,8 @@
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = colSpan;
 		label.setLayoutData(gd);
-	}	
-		
+	}
+
 	/**
 	 * @see ILaunchConfigurationTab#getImage()
 	 */
@@ -324,7 +324,7 @@
 	public Image getImage() {
 		return null;
 	}
-	
+
 	/**
 	 * Returns this tab's unique identifier or <code>null</code> if none.
 	 * By default, <code>null</code> is returned. Subclasses should override
@@ -339,12 +339,12 @@
 	public String getId() {
 		return null;
 	}
-	
+
 	/**
 	 * Convenience method to set a boolean attribute of on a launch
 	 * configuration. If the value being set is the default, the attribute's
 	 * value is set to <code>null</code>.
-	 * 
+	 *
 	 * @param attribute attribute identifier
 	 * @param configuration the configuration on which to set the attribute
 	 * @param value the value of the attribute
@@ -363,10 +363,10 @@
 
 	/**
 	 * Returns if this tab has pending changes that need to be saved.
-	 * 
-	 * It is up to clients to set/reset and consult this attribute as required. 
+	 *
+	 * It is up to clients to set/reset and consult this attribute as required.
 	 * By default, a tab is initialized to dirty for backwards compatibility.
-	 * 
+	 *
 	 * @return whether this tab is dirty
 	 * @since 2.1
 	 */
@@ -375,19 +375,19 @@
 	}
 
 	/**
-	 * Sets the dirty state of the tab. Setting this flag allows clients to 
+	 * Sets the dirty state of the tab. Setting this flag allows clients to
 	 * explicitly say whether this tab has pending changes or not.
-	 * 
-	 * It is up to clients to set/reset and consult this attribute as required. 
+	 *
+	 * It is up to clients to set/reset and consult this attribute as required.
 	 * By default, a tab is initialized to dirty for backwards compatibility.
-	 * 
+	 *
 	 * @param dirty what to set the dirty flag to
 	 * @since 2.1
 	 */
 	protected void setDirty(boolean dirty) {
 		fDirty = dirty;
 	}
-	
+
 	/**
 	 * This method was added to the <code>ILaunchConfigurationTab</code> interface
 	 * in the 3.0 release to allow tabs to distinguish between a tab being activated
@@ -400,9 +400,9 @@
 	 * communication by applying attributes from the active tab to the launch configuration
 	 * being edited, when a tab is exited, and by initializing a tab when activated.
 	 * The addition of the methods <code>activated</code> and <code>deactivated</code>
-	 * allow tabs to determine the appropriate course of action. 
+	 * allow tabs to determine the appropriate course of action.
 	 * </p>
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 * @since 3.0
 	 */
@@ -422,7 +422,7 @@
 	 * communication by applying attributes from the active tab to the launch configuration
 	 * being edited, when a tab is exited, and by initializing a tab when activated.
 	 * The addition of the methods <code>activated</code> and <code>deactivated</code>
-	 * allow tabs to determine the appropriate course of action. 
+	 * allow tabs to determine the appropriate course of action.
 	 * </p>
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 * @since 3.0
@@ -431,10 +431,10 @@
 	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
 		performApply(workingCopy);
 	}
-	
+
 	/**
 	 * Returns the job to update the launch configuration dialog.
-	 * 
+	 *
 	 * @return update job
 	 */
 	private Job getUpdateJob() {
@@ -444,10 +444,10 @@
 		}
 		return fRereshJob;
 	}
-	
+
 	/**
 	 * Schedules the update job to run for this tab based on this tab's delay.
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	protected void scheduleUpdateJob() {
@@ -455,11 +455,11 @@
 		job.cancel(); // cancel existing job
 		job.schedule(getUpdateJobDelay());
 	}
-	
+
 	/**
 	 * Creates and returns a job used to update the launch configuration dialog
 	 * for this tab. Subclasses may override.
-	 * 
+	 *
 	 * @return job to update the launch dialog for this tab
 	 * @since 3.6
 	 */
@@ -478,20 +478,20 @@
 			}
 		};
 	}
-	
+
 	/**
 	 * Return the time delay that should be used when scheduling the
 	 * update job. Subclasses may override.
-	 * 
+	 *
 	 * @return a time delay in milliseconds before the job should run
 	 * @since 3.6
 	 */
 	protected long getUpdateJobDelay() {
 		return 200;
-	}	
+	}
 
 	/**
-	 * Sets the help context id for this tab. 
+	 * Sets the help context id for this tab.
 	 * <p>
 	 * Not all tabs honor this setting, but if this method is called prior
 	 * to {@link #createControl(Composite)}, a tab implementation may use this
@@ -503,10 +503,10 @@
 	public void setHelpContextId(String id) {
 		fHelpContextId = id;
 	}
-	
+
 	/**
 	 * Returns the help context id for this tab or <code>null</code>.
-	 * 
+	 *
 	 * @return the help context for this tab or <code>null</code> if unknown.
 	 * @since 3.7
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
index 970ac29..d91181e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.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
  *******************************************************************************/
@@ -27,7 +27,7 @@
  * @since 2.0
  */
 public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConfigurationTabGroup {
-	
+
 	/**
 	 * The tabs in this tab group, or <code>null</code> if not yet instantiated.
 	 */
@@ -40,10 +40,10 @@
 	public ILaunchConfigurationTab[] getTabs() {
 		return fTabs;
 	}
-	
+
 	/**
 	 * Sets the tabs in this group
-	 * 
+	 *
 	 * @param tabs the tabs in this group
 	 */
 	protected void setTabs(ILaunchConfigurationTab[] tabs) {
@@ -52,7 +52,7 @@
 
 	/**
 	 * By default, dispose all the tabs in this group.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTabGroup#dispose()
 	 */
 	@Override
@@ -67,7 +67,7 @@
 
 	/**
 	 * By default, delegate to all of the tabs in this group.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTabGroup#setDefaults(ILaunchConfigurationWorkingCopy)
 	 */
 	@Override
@@ -75,12 +75,12 @@
 		ILaunchConfigurationTab[] tabs = getTabs();
 		for (int i = 0; i < tabs.length; i++) {
 			tabs[i].setDefaults(configuration);
-		}		
+		}
 	}
 
-	/** 
+	/**
 	 * By default, delegate to all of the tabs in this group.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTabGroup#initializeFrom(ILaunchConfiguration)
 	 */
 	@Override
@@ -88,12 +88,12 @@
 		ILaunchConfigurationTab[] tabs = getTabs();
 		for (int i = 0; i < tabs.length; i++) {
 			tabs[i].initializeFrom(configuration);
-		}		
+		}
 	}
 
 	/**
 	 * By default, delegate to all of the tabs in this group.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTabGroup#performApply(ILaunchConfigurationWorkingCopy)
 	 */
 	@Override
@@ -101,12 +101,12 @@
 		ILaunchConfigurationTab[] tabs = getTabs();
 		for (int i = 0; i < tabs.length; i++) {
 			tabs[i].performApply(configuration);
-		}		
+		}
 	}
 
 	/**
 	 * By default, delegate to all of the tabs in this group.
-	 * 
+	 *
 	 * @see ILaunchConfigurationTabGroup#launched(ILaunch)
 	 * @deprecated As of R3.0, this method is no longer called by the launch
 	 *  framework. Since tabs do not exist when launching is performed elsewhere
@@ -119,7 +119,7 @@
 		ILaunchConfigurationTab[] tabs = getTabs();
 		for (int i = 0; i < tabs.length; i++) {
 			tabs[i].launched(launch);
-		}		
+		}
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/BreakpointTypeCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/BreakpointTypeCategory.java
index 9fcb97e..6c4f26e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/BreakpointTypeCategory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/BreakpointTypeCategory.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
  *******************************************************************************/
@@ -28,20 +28,20 @@
 
 	private String fName;
 	private ImageDescriptor fImageDescriptor = DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_OBJS_BREAKPOINT_TYPE);
-	
+
 	/**
 	 * Constructs a type category for the given type name.
-	 * 
+	 *
 	 * @param name breakpoint type name
 	 */
 	public BreakpointTypeCategory(String name) {
 		fName = name;
 	}
-	
+
 	/**
 	 * Constructs a type category for the given type name with the given
 	 * image.
-	 * 
+	 *
 	 * @param name breakpoint type name
 	 * @param descriptor image descriptor
 	 */
@@ -51,16 +51,16 @@
 			fImageDescriptor = descriptor;
 		}
 	}
-	
+
 	/**
 	 * Returns the name of this category's breakpoint type.
-	 * 
+	 *
 	 * @return the name of this category's breakpoint type
 	 */
 	protected String getName() {
 		return fName;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#equals(java.lang.Object)
 	 */
@@ -72,7 +72,7 @@
 		}
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#hashCode()
 	 */
@@ -112,7 +112,7 @@
 	public Object getParent(Object o) {
 		return null;
 	}
-	
+
 	@Override
 	public String toString() {
 	    return fName;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
index c0316ca..94a2824 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
@@ -11,7 +11,7 @@
  *******************************************************************************/
 package org.eclipse.debug.ui;
 
- 
+
 import java.nio.charset.Charset;
 import java.nio.charset.IllegalCharsetNameException;
 import java.util.ArrayList;
@@ -91,7 +91,7 @@
  * switching behavior for an associated launch.
  * <p>
  * Clients may call {@link #setHelpContextId(String)} on this tab prior to control
- * creation to alter the default context help associated with this tab. 
+ * creation to alter the default context help associated with this tab.
  * </p>
  * <p>
  * Clients may instantiate this class.
@@ -100,16 +100,16 @@
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class CommonTab extends AbstractLaunchConfigurationTab {
-	
+
 	/**
 	 * Constant representing the id of the {@link IDialogSettings} location for the {@link ContainerSelectionDialog} used
 	 * on this tab
-	 * 
+	 *
 	 * @since 3.6
 	 */
 	private final String SHARED_LAUNCH_CONFIGURATON_DIALOG = IDebugUIConstants.PLUGIN_ID + ".SHARED_LAUNCH_CONFIGURATON_DIALOG"; //$NON-NLS-1$
 	private final String WORKSPACE_SELECTION_DIALOG = IDebugUIConstants.PLUGIN_ID + ".WORKSPACE_SELECTION_DIALOG"; //$NON-NLS-1$
-	
+
 	/**
 	 * This attribute exists solely for the purpose of making sure that invalid shared locations
 	 * can be revertible. This attribute is not saveable and will never appear in a saved
@@ -117,7 +117,7 @@
 	 * @since 3.3
 	 */
 	private static final String BAD_CONTAINER = "bad_container_name"; //$NON-NLS-1$
-	
+
 	// Local/shared UI widgets
 	private Button fLocalRadioButton;
 	private Button fSharedRadioButton;
@@ -140,12 +140,12 @@
 	private Button fInputFileBrowse;
 	private Button fInputVariables;
 	private Button fInputWorkspaceBrowse;
-	
+
 	/**
 	 * Check box list for specifying favorites
 	 */
 	private CheckboxTableViewer fFavoritesTable;
-			
+
 	/**
 	 * Modify listener that simply updates the owning launch configuration dialog.
 	 */
@@ -155,36 +155,36 @@
 			scheduleUpdateJob();
 		}
 	};
-	
+
     /**
 	 * Constructs a new tab with default context help.
 	 */
 	public CommonTab() {
 		setHelpContextId(IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
-	public void createControl(Composite parent) {		
+	public void createControl(Composite parent) {
 		Composite comp = new Composite(parent, SWT.NONE);
 		setControl(comp);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), getHelpContextId());
 		comp.setLayout(new GridLayout(2, true));
 		comp.setFont(parent.getFont());
-		
+
 		createSharedConfigComponent(comp);
 		createFavoritesComponent(comp);
 		createEncodingComponent(comp);
 		createOutputCaptureComponent(comp);
 		createLaunchInBackgroundComponent(comp);
 	}
-	
+
 	/**
 	 * Returns the {@link IDialogSettings} for the given id
-	 * 
+	 *
 	 * @param id the id of the dialog settings to get
 	 * @return the {@link IDialogSettings} to pass into the {@link ContainerSelectionDialog}
 	 * @since 3.6
@@ -194,10 +194,10 @@
 		IDialogSettings section = settings.getSection(id);
 		if (section == null) {
 			section = settings.addNewSection(id);
-		} 
+		}
 		return section;
 	}
-	
+
 	/**
 	 * Creates the favorites control
 	 * @param parent the parent composite to add this one to
@@ -219,7 +219,7 @@
 				}
 			});
 	}
-	
+
 	/**
 	 * Creates the shared config component
 	 * @param parent the parent composite to add this component to
@@ -247,18 +247,18 @@
 			}
 		});
 		fSharedLocationText.addModifyListener(fBasicModifyListener);
-		fSharedLocationButton = createPushButton(comp, LaunchConfigurationsMessages.CommonTab__Browse_6, null);	 
+		fSharedLocationButton = createPushButton(comp, LaunchConfigurationsMessages.CommonTab__Browse_6, null);
 		fSharedLocationButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent evt) {
 				handleSharedLocationButtonSelected();
 			}
-		});	
+		});
 
 		fLocalRadioButton.setSelection(true);
-		setSharedEnabled(false);	
+		setSharedEnabled(false);
 	}
-	
+
     /**
      * Creates the component set for the capture output composite
      * @param parent the parent to add this component to
@@ -284,19 +284,19 @@
         	}
         });
         fFileText.addModifyListener(fBasicModifyListener);
-        
+
         Composite bcomp = SWTFactory.createComposite(comp, 3, 5, GridData.HORIZONTAL_ALIGN_END);
 		GridLayout ld = (GridLayout)bcomp.getLayout();
         ld.marginHeight = 1;
         ld.marginWidth = 0;
-        fWorkspaceBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_12, null); 
+        fWorkspaceBrowse = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_12, null);
         fWorkspaceBrowse.addSelectionListener(new SelectionAdapter() {
             @Override
 			public void widgetSelected(SelectionEvent e) {
                 ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-                dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13); 
-                dialog.setMessage(LaunchConfigurationsMessages.CommonTab_14); 
-                dialog.setInput(ResourcesPlugin.getWorkspace().getRoot()); 
+                dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13);
+                dialog.setMessage(LaunchConfigurationsMessages.CommonTab_14);
+                dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
                 dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
                 dialog.setDialogBoundsSettings(getDialogBoundsSettings(WORKSPACE_SELECTION_DIALOG), Dialog.DIALOG_PERSISTSIZE);
                 if (dialog.open() == IDialogConstants.OK_ID) {
@@ -321,7 +321,7 @@
                 }
             }
         });
-        fVariables = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_9, null); 
+        fVariables = createPushButton(bcomp, LaunchConfigurationsMessages.CommonTab_9, null);
         fVariables.addSelectionListener(new SelectionListener() {
             @Override
 			public void widgetSelected(SelectionEvent e) {
@@ -335,7 +335,7 @@
             @Override
 			public void widgetDefaultSelected(SelectionEvent e) {}
         });
-        fAppend = createCheckButton(comp, LaunchConfigurationsMessages.CommonTab_11); 
+        fAppend = createCheckButton(comp, LaunchConfigurationsMessages.CommonTab_11);
 
 		GridData gd = new GridData(SWT.LEFT, SWT.TOP, true, false);
         gd.horizontalSpan = 4;
@@ -345,7 +345,7 @@
 			public void widgetSelected(SelectionEvent e) {
 		        updateLaunchConfigurationDialog();
 		    }
-		});   
+		});
     }
 
     private void createInputCaptureComponent(Composite parent){
@@ -462,12 +462,12 @@
         fVariables.setEnabled(enable);
         fAppend.setEnabled(enable);
     }
-    
+
     /**
      * Returns the default encoding for the specified config
      * @param config the configuration to get the encoding for
      * @return the default encoding
-     * 
+     *
      * @since 3.4
      */
     private String getDefaultEncoding(ILaunchConfiguration config) {
@@ -478,7 +478,7 @@
 				if(res instanceof IFile) {
 					return ((IFile)res).getCharset();
 				}
-				else if(res instanceof IContainer) { 
+				else if(res instanceof IContainer) {
 					return ((IContainer)res).getDefaultCharset();
 				}
 			}
@@ -488,22 +488,22 @@
     	}
     	return ResourcesPlugin.getEncoding();
     }
-    
+
     /**
      * Creates the encoding component
      * @param parent the parent to add this composite to
      */
     private void createEncodingComponent(Composite parent) {
 	    Group group = SWTFactory.createGroup(parent, LaunchConfigurationsMessages.CommonTab_1, 2, 1, GridData.FILL_BOTH);
-	
-	    fDefaultEncodingButton = createRadioButton(group, IInternalDebugCoreConstants.EMPTY_STRING); 
+
+	    fDefaultEncodingButton = createRadioButton(group, IInternalDebugCoreConstants.EMPTY_STRING);
 	    GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
 	    gd.horizontalSpan = 2;
 	    fDefaultEncodingButton.setLayoutData(gd);
-	   
-	    fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_3);  
+
+	    fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_3);
 	    fAltEncodingButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-	    
+
 	    fEncodingCombo = new Combo(group, SWT.NONE);
 	    fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 	    fEncodingCombo.setFont(parent.getFont());
@@ -511,7 +511,7 @@
         String[] encodingArray = allEncodings.toArray(new String[0]);
 	    fEncodingCombo.setItems(encodingArray);
         if (encodingArray.length > 0) {
-            fEncodingCombo.select(0); 
+            fEncodingCombo.select(0);
         }
         fEncodingCombo.getAccessible().addAccessibleListener(new AccessibleAdapter() {
         	@Override
@@ -540,7 +540,7 @@
 	    fEncodingCombo.addKeyListener(new KeyAdapter() {
 			/*
 			 * (non-Javadoc)
-			 * 
+			 *
 			 * @see org.eclipse.swt.events.KeyListener#keyReleased(org.eclipse.swt.events.KeyEvent)
 			 */
 			@Override
@@ -549,10 +549,10 @@
 			}
 		});
 	}
-    
+
 	/**
 	 * Returns whether or not the given encoding is valid.
-	 * 
+	 *
 	 * @param enc
 	 *            the encoding to validate
 	 * @return <code>true</code> if the encoding is valid, <code>false</code>
@@ -574,7 +574,7 @@
 	 * @param parent the composite to create the controls in
 	 */
 	protected void createLaunchInBackgroundComponent(Composite parent) {
-		fLaunchInBackgroundButton = createCheckButton(parent, LaunchConfigurationsMessages.CommonTab_10); 
+		fLaunchInBackgroundButton = createCheckButton(parent, LaunchConfigurationsMessages.CommonTab_10);
 		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 		data.horizontalSpan = 2;
 		fLaunchInBackgroundButton.setLayoutData(data);
@@ -594,7 +594,7 @@
 		setSharedEnabled(isShared());
 		updateLaunchConfigurationDialog();
 	}
-	
+
 	/**
 	 * handles the input file  being selected
 	 */
@@ -605,13 +605,13 @@
 
 	/**
 	 * Sets the widgets for specifying that a launch configuration is to be shared to the enable value
-	 * @param enable the enabled value for 
+	 * @param enable the enabled value for
 	 */
 	private void setSharedEnabled(boolean enable) {
 		fSharedLocationText.setEnabled(enable);
 		fSharedLocationButton.setEnabled(enable);
 	}
-	
+
 	private void setInputFileEnabled(boolean enable) {
 		fInputFileLocationText.setEnabled(enable);
 		fInputFileBrowse.setEnabled(enable);
@@ -632,11 +632,11 @@
 					}
 				}
 			}
-		} 
+		}
 		catch (CoreException e) {DebugUIPlugin.log(e);}
 		return path;
 	}
-	
+
 	/**
 	 * if the shared radio button is selected, indicating that the launch configuration is to be shared
 	 * @return true if the radio button is selected, false otherwise
@@ -644,11 +644,11 @@
 	private boolean isShared() {
 		return fSharedRadioButton.getSelection();
 	}
-	
+
 	/**
 	 * if the input file button is selected, indicating that the launch will
 	 * take input file as stdin
-	 * 
+	 *
 	 * @return true if the check button is selected, false otherwise
 	 */
 	private boolean isInputFile() {
@@ -658,7 +658,7 @@
 	/**
 	 * Handles the shared location button being selected
 	 */
-	private void handleSharedLocationButtonSelected() { 
+	private void handleSharedLocationButtonSelected() {
 		String currentContainerString = fSharedLocationText.getText();
 		IContainer currentContainer = getContainer(currentContainerString);
 		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(),
@@ -668,14 +668,14 @@
 		dialog.showClosedProjects(false);
 		dialog.setDialogBoundsSettings(getDialogBoundsSettings(SHARED_LAUNCH_CONFIGURATON_DIALOG), Dialog.DIALOG_PERSISTSIZE);
 		dialog.open();
-		Object[] results = dialog.getResult();	
+		Object[] results = dialog.getResult();
 		if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {
 			IPath path = (IPath)results[0];
 			String containerName = path.toOSString();
 			fSharedLocationText.setText(containerName);
-		}		
+		}
 	}
-	
+
 	/**
 	 * gets the container form the specified path
 	 * @param path the path to get the container from
@@ -685,7 +685,7 @@
 		Path containerPath = new Path(path);
 		return (IContainer) getWorkspaceRoot().findMember(containerPath);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -712,7 +712,7 @@
 		updateEncoding(configuration);
 		updateConsoleOutput(configuration);
 	}
-	
+
     /**
      * Updates the console output form the local configuration
      * @param configuration the local configuration
@@ -722,7 +722,7 @@
 		String stdinFromFile = null;
         String outputFile = null;
         boolean append = false;
-        
+
         try {
             outputToConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
 			stdinFromFile = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_STDIN_FILE, (String) null);
@@ -731,7 +731,7 @@
             append = configuration.getAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, false);
         } catch (CoreException e) {
         }
-        
+
 		fConsoleOutput.setSelection(outputToConsole);
         fAppend.setSelection(append);
         boolean haveOutputFile= outputFile != null;
@@ -753,10 +753,10 @@
      * Updates the launch on background check button
      * @param configuration the local launch configuration
      */
-    protected void updateLaunchInBackground(ILaunchConfiguration configuration) { 
+    protected void updateLaunchInBackground(ILaunchConfiguration configuration) {
 		fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
 	}
-	
+
 	/**
 	 * Updates the encoding
 	 * @param configuration the local configuration
@@ -781,10 +781,10 @@
             fEncodingCombo.setEnabled(false);
         }
 	}
-	
+
 	/**
 	 * Returns whether the given configuration should be launched in the background.
-	 * 
+	 *
 	 * @param configuration the configuration
 	 * @return whether the configuration is configured to launch in the background
 	 */
@@ -851,7 +851,7 @@
 			config.setContainer(null);
 		}
 	}
-	
+
 	/**
 	 * Convenience accessor
 	 * @return the singleton {@link LaunchConfigurationManager}
@@ -859,10 +859,10 @@
 	protected LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
 	}
-	
+
 	/**
 	 * Update the favorite settings.
-	 * 
+	 *
 	 * NOTE: set to <code>null</code> instead of <code>false</code> for backwards compatibility
 	 *  when comparing if content is equal, since 'false' is default
 	 * 	and will be missing for older configurations.
@@ -899,7 +899,7 @@
 						return;
 					}
 				}
-			} 
+			}
 			config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
 			config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String)null);
 			List<String> groups = null;
@@ -913,9 +913,9 @@
 			config.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
 		} catch (CoreException e) {
 			DebugUIPlugin.log(e);
-		}		
-	}	
-	
+		}
+	}
+
 	/**
 	 * Convenience method for getting the workspace root.
 	 * @return the singleton {@link IWorkspaceRoot}
@@ -923,7 +923,7 @@
 	private IWorkspaceRoot getWorkspaceRoot() {
 		return ResourcesPlugin.getWorkspace().getRoot();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -931,10 +931,10 @@
 	public boolean isValid(ILaunchConfiguration config) {
 		setMessage(null);
 		setErrorMessage(null);
-		
+
 		return validateLocalShared() && validateRedirectFile() && validateEncoding() && validateStdinFile();
 	}
-	
+
     /**
      * validates the encoding selection
      * @return true if the validate encoding is allowable, false otherwise
@@ -959,7 +959,7 @@
         if(fFileOutput.getSelection()) {
             int len = fFileText.getText().trim().length();
             if (len == 0) {
-                setErrorMessage(LaunchConfigurationsMessages.CommonTab_8); 
+                setErrorMessage(LaunchConfigurationsMessages.CommonTab_8);
                 return false;
             }
         }
@@ -975,19 +975,19 @@
 			String path = fSharedLocationText.getText().trim();
 			IContainer container = getContainer(path);
 			if (container == null || container.equals(ResourcesPlugin.getWorkspace().getRoot())) {
-				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Invalid_shared_configuration_location_14); 
+				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Invalid_shared_configuration_location_14);
 				return false;
 			} else if (!container.getProject().isOpen()) {
-				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1); 
-				return false;				
+				setErrorMessage(LaunchConfigurationsMessages.CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1);
+				return false;
 			}
 		}
-		return true;		
+		return true;
 	}
 
 	/**
 	 * validates the stdin file location
-	 * 
+	 *
 	 * @return true if the stdin file exists, false otherwise
 	 */
 	private boolean validateStdinFile() {
@@ -1047,7 +1047,7 @@
 		} else {
 		    configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String)null);
 		}
-		
+
 		if (!captureOutput) {
 		    configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
 		} else {
@@ -1060,19 +1060,19 @@
 	 */
 	@Override
 	public String getName() {
-		return LaunchConfigurationsMessages.CommonTab__Common_15; 
+		return LaunchConfigurationsMessages.CommonTab__Common_15;
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	@Override
 	public String getId() {
 		return "org.eclipse.debug.ui.commonTab"; //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
 	 */
@@ -1088,7 +1088,7 @@
 	public Image getImage() {
 		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
@@ -1116,7 +1116,7 @@
 				LaunchHistory history = getLaunchConfigurationManager().getLaunchHistory(extension.getIdentifier());
 				if (history != null && history.accepts(configuration)) {
 					possibleGroups.add(extension);
-				} 
+				}
 			}
 			return possibleGroups.toArray();
 		}
@@ -1128,13 +1128,13 @@
 		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
 
 	}
-	
+
 	/**
 	 * Provides the labels for the favorites table
 	 *
 	 */
 	class FavoritesLabelProvider implements ITableLabelProvider {
-		
+
 		private Map<Object, Image> fImages = new HashMap<Object, Image>();
 
 		@Override
@@ -1170,7 +1170,7 @@
 		public boolean isLabelProperty(Object element, String property) {return false;}
 
 		@Override
-		public void removeListener(ILabelProviderListener listener) {}		
+		public void removeListener(ILabelProviderListener listener) {}
 	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java
index 6de7015..9f11ea0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugElementWorkbenchAdapter.java
@@ -33,7 +33,7 @@
  */
 @Deprecated
 public abstract class DebugElementWorkbenchAdapter implements IWorkbenchAdapter, IWorkbenchAdapter2 {
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
index 33b81d5..93eafda 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugPopup.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
  *******************************************************************************/
@@ -50,7 +50,7 @@
     private IHandlerService fHandlerService;
 
 	private String fCommandId;
-	
+
 	private boolean fPersisted = false;
 
     /**
@@ -58,7 +58,7 @@
      * @param parent The parent shell
      * @param anchor point at which to anchor the popup dialog in Display coordinate space.
      * 	Since 3.3, <code>null</code> can be specified to use a default anchor point
-     * @param commandId The command id to be used for persistence of 
+     * @param commandId The command id to be used for persistence of
      *  the dialog, or <code>null</code>
      */
     public DebugPopup(Shell parent, Point anchor, String commandId) {
@@ -68,7 +68,7 @@
     }
 
     /**
-     * Returns the text to be shown in the popups's information area. 
+     * Returns the text to be shown in the popups's information area.
      * May return <code>null</code>.
      * <p>
      * By default, if this dialog has a persistence command associated with it,
@@ -82,7 +82,7 @@
 	        IWorkbench workbench = PlatformUI.getWorkbench();
 	        IBindingService bindingService = workbench.getAdapter(IBindingService.class);
 	        String formattedBinding = bindingService.getBestActiveBindingFormattedFor(getCommandId());
-	        
+
 	        String infoText = null;
 	        if (formattedBinding != null) {
 				infoText = MessageFormat.format(DebugUIViewsMessages.InspectPopupDialog_1, new Object[] {
@@ -92,7 +92,7 @@
     	}
     	return null;
     }
-    
+
     /**
      * Returns the text to be shown as the action performed when this dialog's
      * persist command is invoked, or <code>null</code>.
@@ -108,9 +108,9 @@
 
     /**
      * Returns the command id to be used for persisting the contents of the
-     * dialog. If the contents should not be persisted, this method should 
-     * return null. 
-     * 
+     * dialog. If the contents should not be persisted, this method should
+     * return null.
+     *
      * @return The command id to be used for persisting the contents of the
      * dialog or <code>null</code>
      */
@@ -125,10 +125,10 @@
     protected void persist() {
     	fPersisted = true;
     }
-    
+
     /**
      * Returns whether the command handler was invoked to persist this popup's result.
-     * 
+     *
      * @return whether the command handler was invoked to persist this popup's result
      */
     protected boolean wasPersisted() {
@@ -144,11 +144,11 @@
 
 
     /**
-     * Returns the initial location to use for the shell based upon the 
-     * current selection in the viewer. Bottom is preferred to top, and 
+     * Returns the initial location to use for the shell based upon the
+     * current selection in the viewer. Bottom is preferred to top, and
      * right is preferred to left, therefore if possible the popup will
      * be located below and to the right of the selection.
-     * 
+     *
      * @param initialSize
      *            the initial size of the shell, as returned by
      *            <code>getInitialSize</code>.
@@ -180,7 +180,7 @@
         return settings;
     }
 
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.PopupDialog#open()
      */
@@ -206,7 +206,7 @@
         if (infoText != null) {
 			setInfoText(infoText);
 		}
-        
+
         return super.open();
     }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
index 6b80485..a861e47 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
@@ -109,17 +109,17 @@
  * The images will be disposed when this plug-in is shutdown.
  * </p>
  * <p>
- * Note: all methods in this class are expected to be called 
+ * Note: all methods in this class are expected to be called
  * on the Display thread unless otherwise noted.
  * </p>
  * @noinstantiate This class is not intended to be instantiated by clients.
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class DebugUITools {
-	
+
 	/**
 	 * The undo context for breakpoints.
-	 * 
+	 *
 	 * @since 3.7
 	 */
 	private static ObjectUndoContext fgBreakpointsUndoContext;
@@ -141,7 +141,7 @@
 	public static Image getImage(String key) {
 		return DebugPluginImages.getImage(key);
 	}
-	
+
 	/**
 	 * Returns the shared image descriptor managed under the given key, or
 	 * <code>null</code> if none.
@@ -156,10 +156,10 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		return DebugPluginImages.getImageDescriptor(key);
 	}
-		
+
 	/**
 	 * Returns the default image descriptor for the given element.
-	 * 
+	 *
 	 * @param element the element
 	 * @return the image descriptor or <code>null</code> if none
 	 */
@@ -170,11 +170,11 @@
 		}
 		return DebugPluginImages.getImageDescriptor(imageKey);
 	}
-	
+
 	private static String getDefaultImageKey(Object element) {
 		return ((DefaultLabelProvider)DebugUIPlugin.getDefaultLabelProvider()).getImageKey(element);
 	}
-	
+
 	/**
 	 * Returns the preference store for the debug UI plug-in.
 	 *
@@ -183,14 +183,14 @@
 	public static IPreferenceStore getPreferenceStore() {
 		return DebugUIPlugin.getDefault().getPreferenceStore();
 	}
-	
+
 	/**
 	 * Returns a new debug model presentation that delegates to
 	 * appropriate debug models.
 	 * <p>
 	 * It is the client's responsibility dispose the presentation.
 	 * </p>
-	 * 
+	 *
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
 	 * @return a debug model presentation
 	 * @since 2.0
@@ -198,7 +198,7 @@
 	public static IDebugModelPresentation newDebugModelPresentation() {
 		return new DelegatingModelPresentation();
 	}
-	
+
 	/**
 	 * Returns a new debug model presentation for specified
 	 * debug model, or <code>null</code> if a presentation does
@@ -206,7 +206,7 @@
 	 * <p>
 	 * It is the client's responsibility dispose the presentation.
 	 * </p>
-	 * 
+	 *
 	 * @param identifier debug model identifier
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
 	 * @return a debug model presentation, or <code>null</code>
@@ -229,11 +229,11 @@
 			}
 		}
 		return null;
-	}	
-	
+	}
+
 	/**
- 	 * Returns the element of the currently selected context in the 
-	 * active workbench window. Returns <code>null</code> if there is no 
+ 	 * Returns the element of the currently selected context in the
+	 * active workbench window. Returns <code>null</code> if there is no
 	 * current debug context.
 	 * <p>
 	 * This method used to return <code>null</code> when called from a non-UI thread,
@@ -252,11 +252,11 @@
 	}
 
     /**
-     * Returns the currently selected context in the given part or part's  
-     * workbench window. Returns <code>null</code> if there is no current 
+     * Returns the currently selected context in the given part or part's
+     * workbench window. Returns <code>null</code> if there is no current
      * debug context.
      * @param part workbench part where the active context is to be evaluated
-     * @return the currently selected debug context in the given workbench part, 
+     * @return the currently selected debug context in the given workbench part,
      * or <code>null</code>
      * @since 3.8
      * @see IDebugContextService#getActiveContext(String)
@@ -275,10 +275,10 @@
         }
         return null;
     }
-	
+
 	/**
 	 * Return the undo context that should be used for operations involving breakpoints.
-	 * 
+	 *
 	 * @return the undo context for breakpoints
 	 * @since 3.7
 	 */
@@ -292,7 +292,7 @@
 
 	/**
 	 * Deletes the given breakpoints using the operation history, which allows to undo the deletion.
-	 * 
+	 *
 	 * @param breakpoints the breakpoints to delete
 	 * @param shell the shell used for potential user interactions, or <code>null</code> if unknown
 	 * @param progressMonitor the progress monitor
@@ -353,7 +353,7 @@
     /**
      * Returns the currently active context for the given workbench part. Returns <code>null</code>
      * if there is no current debug context.</p>
-     * 
+     *
      * @param site the part's site where to look up the active context
      * @return the currently active debug context in the given part, or <code>null</code>
      * @since 3.7
@@ -366,7 +366,7 @@
         if (site instanceof IViewSite) {
             secondaryId = ((IViewSite)site).getSecondaryId();
         }
-        ISelection activeContext = service.getActiveContext(id, secondaryId); 
+        ISelection activeContext = service.getActiveContext(id, secondaryId);
         return getDebugContextElementForSelection(activeContext);
     }
 
@@ -378,10 +378,10 @@
      * {@link IDebugContextService#addDebugContextListener(IDebugContextListener, String, String)}
      * using the part id parameters extracted from the given part parameter.
      * </p>
-     * 
+     *
      * @param site the part's site to get the part ID and part secondary ID from
      * @param listener Debug context listener to add
-     * 
+     *
      * @see IDebugContextService#addDebugContextListener(IDebugContextListener, String, String)
      * @see IDebugContextManager#addDebugContextListener(IDebugContextListener)
      * @since 3.7
@@ -404,10 +404,10 @@
      * {@link IDebugContextService#removeDebugContextListener(IDebugContextListener, String, String)}
      * using the part id parameters extracted from the given part parameter.
      * </p>
-     * 
+     *
      * @param site the part's site to get the part ID and part secondary ID from
      * @param listener Debug context listener to remove
-     * 
+     *
      * @see IDebugContextService#removeDebugContextListener(IDebugContextListener, String, String)
      * @see IDebugContextManager#removeDebugContextListener(IDebugContextListener)
      * @since 3.7
@@ -421,10 +421,10 @@
         }
         service.removeDebugContextListener(listener, id, secondaryId);
     }
-    
+
     /**
 	 * Extracts the first element from the given selection and casts it to IAdaptable.
-	 * 
+	 *
 	 * @param activeContext the selection
 	 * @return an adaptable
 	 */
@@ -440,25 +440,25 @@
         }
         return null;
     }
-    
+
 	/**
 	 * Returns the currently selected resource in the active workbench window,
 	 * or <code>null</code> if none. If an editor is active, the resource adapter
 	 * associated with the editor is returned, if any.
-	 * 
+	 *
 	 * @return selected resource or <code>null</code>
 	 * @since 3.0
 	 */
 	public static IResource getSelectedResource() {
 		return SelectedResourceManager.getDefault().getSelectedResource();
 	}
-			
+
 	/**
 	 * Returns the process associated with the current debug context.
 	 * If there is no debug context currently, the most recently
 	 * launched process is returned. If there is no current process
 	 * <code>null</code> is returned.
-	 * 
+	 *
 	 * @return the current process, or <code>null</code>
 	 * @since 2.0
 	 */
@@ -470,15 +470,15 @@
 				context = launches[launches.length - 1];
 			}
 		}
-        
+
 		if (context instanceof IDebugElement) {
 			return ((IDebugElement)context).getDebugTarget().getProcess();
 		}
-		
+
         if (context instanceof IProcess) {
 			return (IProcess)context;
 		}
-		
+
         if (context instanceof ILaunch) {
 			ILaunch launch= (ILaunch)context;
 			IDebugTarget target= launch.getDebugTarget();
@@ -493,17 +493,17 @@
 				return ps[ps.length - 1];
 			}
 		}
-        
+
         if (context != null) {
             return context.getAdapter(IProcess.class);
         }
-        
+
 		return null;
 	}
 
 	/**
 	 * Open the launch configuration dialog with the specified initial selection.
-	 * The selection may be <code>null</code>, or contain any mix of 
+	 * The selection may be <code>null</code>, or contain any mix of
 	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
 	 * elements.
 	 * <p>
@@ -515,7 +515,7 @@
 	 * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
 	 * and the existing dialog keeps its original mode.
 	 * </p>
-	 * 
+	 *
 	 * @param shell the parent shell for the launch configuration dialog
 	 * @param selection the initial selection for the dialog
 	 * @param mode the mode (run or debug) in which to open the launch configuration dialog.
@@ -527,7 +527,7 @@
 	 * @since 2.0
 	 * @deprecated use openLaunchConfigurationDialogOnGroup(Shell, IStructuredSelection, String)
 	 *  to specify the launch group that the dialog should be opened on. This method will open
-	 *  on the launch group with the specified mode and a <code>null</code> category 
+	 *  on the launch group with the specified mode and a <code>null</code> category
 	 */
 	@Deprecated
 	public static int openLaunchConfigurationDialog(Shell shell, IStructuredSelection selection, String mode) {
@@ -540,10 +540,10 @@
 		}
 		return Window.CANCEL;
 	}
-	
+
 	/**
 	 * Open the launch configuration dialog with the specified initial selection.
-	 * The selection may be <code>null</code>, or contain any mix of 
+	 * The selection may be <code>null</code>, or contain any mix of
 	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
 	 * elements.
 	 * <p>
@@ -555,7 +555,7 @@
 	 * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
 	 * and the existing dialog keeps its original mode.
 	 * </p>
-	 * 
+	 *
 	 * @param shell the parent shell for the launch configuration dialog
 	 * @param selection the initial selection for the dialog
 	 * @param groupIdentifier the identifier of the launch group to display (corresponds to
@@ -569,10 +569,10 @@
 	public static int openLaunchConfigurationDialogOnGroup(Shell shell, IStructuredSelection selection, String groupIdentifier) {
 		return openLaunchConfigurationDialogOnGroup(shell, selection, groupIdentifier, null);
 	}
-	
+
 	/**
 	 * Open the launch configuration dialog with the specified initial selection.
-	 * The selection may be <code>null</code>, or contain any mix of 
+	 * The selection may be <code>null</code>, or contain any mix of
 	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
 	 * elements.
 	 * <p>
@@ -616,7 +616,7 @@
 					dialog.setInitialSelection(selection);
 					dialog.doInitialTreeSelection();
 					if (status != null) {
-						dialog.handleStatus(status); 
+						dialog.handleStatus(status);
 					}
 					result[0] = Window.OK;
 				} else {
@@ -637,7 +637,7 @@
 		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
 		return result[0];
 	}
-		
+
 	/**
 	 * Open the launch configuration properties dialog on the specified launch
 	 * configuration.
@@ -655,7 +655,7 @@
 	public static int openLaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier) {
 		return openLaunchConfigurationPropertiesDialog(shell, configuration, groupIdentifier, null);
 	}
-	
+
 	/**
 	 * Open the launch configuration properties dialog on the specified launch
 	 * configuration.
@@ -677,11 +677,11 @@
 			LaunchConfigurationPropertiesDialog dialog = new LaunchConfigurationPropertiesDialog(shell, configuration, group);
 			dialog.setInitialStatus(status);
 			return dialog.open();
-		} 
-		
+		}
+
 		return Window.CANCEL;
 	}
-	
+
 	/**
      * Open the launch configuration dialog on the specified launch
      * configuration. The dialog displays the tabs for a single configuration
@@ -697,11 +697,11 @@
      * @param configuration the configuration to display
      * @param groupIdentifier group identifier of the launch group the launch configuration
      * belongs to
-     * @param status the status to display, or <code>null</code> if none 
+     * @param status the status to display, or <code>null</code> if none
      * @return the return code from opening the launch configuration dialog -
      *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>. <code>Window.CANCEL</code>
 	 *  is returned if an invalid launch group identifier is provided.
-	 * @see ILaunchGroup 
+	 * @see ILaunchGroup
      * @since 2.1
      */
     public static int openLaunchConfigurationDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier, IStatus status) {
@@ -710,11 +710,11 @@
     		LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(shell, configuration, group);
     		dialog.setInitialStatus(status);
     		return dialog.open();
-    	} 
-    		
+    	}
+
     	return Window.CANCEL;
     }
-    
+
 	/**
 	 * Saves all dirty editors and builds the workspace according to current
 	 * preference settings, and returns whether a launch should proceed.
@@ -730,7 +730,7 @@
 	 * <li>PREF_BUILD_BEFORE_LAUNCH</li>
 	 * </ul>
 	 * </p>
-	 * 
+	 *
 	 * @return whether a launch should proceed
 	 * @since 2.0
 	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
@@ -740,7 +740,7 @@
 	public static boolean saveAndBuildBeforeLaunch() {
 		return DebugUIPlugin.saveAndBuild();
 	}
-	
+
 	/**
 	 * Saves all dirty editors according to current
 	 * preference settings, and returns whether a launch should proceed.
@@ -752,7 +752,7 @@
 	 * <li>PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
 	 * </ul>
 	 * </p>
-	 * 
+	 *
 	 * @return whether a launch should proceed
 	 * @since 2.1
 	 * @deprecated Saving has been moved to the launch delegate <code>LaunchConfigurationDelegate</code> to allow for scoped saving
@@ -761,8 +761,8 @@
 	@Deprecated
 	public static boolean saveBeforeLaunch() {
 		return DebugUIPlugin.preLaunchSave();
-	}	
-	
+	}
+
 	/**
 	 * Saves and builds the workspace according to current preference settings,
 	 * and launches the given launch configuration in the specified mode. It
@@ -771,7 +771,7 @@
 	 * <p>
 	 * This method must be called in the UI thread.
 	 * </p>
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode - run or debug
 	 * @since 2.1
@@ -785,7 +785,7 @@
 	/**
 	 * Stores the toggle data for launch in a Map to be used while launching to
 	 * decide if previous launch for same configuration can be terminated.
-	 * 
+	 *
 	 * @param data the editor or selected tree node
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
 	 *            Shift)
@@ -800,7 +800,7 @@
 	/**
 	 * Stores the toggle data for launch in a Map to be used while launching to
 	 * decide if previous launch for same configuration can be terminated.
-	 * 
+	 *
 	 * @param data the editor or selected tree node
 	 * @since 3.12
 	 */
@@ -901,14 +901,14 @@
 		return false;
 
 	}
-	
+
 	/**
 	 * Saves and builds the workspace according to current preference settings,
 	 * and launches the given launch configuration in the specified mode.
 	 * <p>
 	 * This method must be called in the UI thread.
 	 * </p>
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode - run or debug
 	 * @since 3.12
@@ -937,7 +937,7 @@
 	 * <p>
 	 * This method must be called in the UI thread.
 	 * </p>
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode - run or debug
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
@@ -1002,7 +1002,7 @@
 		}
 	};
 
-	
+
 	/**
 	 * Builds the workspace according to current preference settings, and launches
 	 * the given configuration in the specified mode, returning the resulting launch
@@ -1013,7 +1013,7 @@
 	 * <li>PREF_BUILD_BEFORE_LAUNCH</li>
 	 * </ul>
 	 * </p>
-	 * 
+	 *
 	 * @param configuration the configuration to launch
 	 * @param mode the mode to launch in
 	 * @param monitor progress monitor
@@ -1024,15 +1024,15 @@
 	public static ILaunch buildAndLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
 		return DebugUIPlugin.buildAndLaunch(configuration, mode, monitor);
 	}
-	
+
 	/**
 	 * Returns the perspective to switch to when a configuration of the given type
 	 * is launched in the given mode, or <code>null</code> if no switch should take
 	 * place.
-	 * 
+	 *
 	 * In 3.3 this method is equivalent to calling <code>getLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate)</code>,
 	 * with the 'mode' parameter comprising a single element set and passing <code>null</code> as the launch delegate.
-	 * 
+	 *
 	 * @param type launch configuration type
 	 * @param mode launch mode identifier
 	 * @return perspective identifier or <code>null</code>
@@ -1041,7 +1041,7 @@
 	public static String getLaunchPerspective(ILaunchConfigurationType type, String mode) {
 		return DebugUIPlugin.getDefault().getPerspectiveManager().getLaunchPerspective(type, mode);
 	}
-	
+
 	/**
 	 * Returns the perspective id to switch to when a configuration of the given type launched with the specified delegate
 	 * is launched in the given mode set, or <code>null</code> if no switch should occurr.
@@ -1049,23 +1049,23 @@
 	 * @param delegate the launch delegate
 	 * @param modes the set of modes
 	 * @return the perspective id or <code>null</code> if no switch should occur
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static String getLaunchPerspective(ILaunchConfigurationType type, ILaunchDelegate delegate, Set<String> modes) {
 		return DebugUIPlugin.getDefault().getPerspectiveManager().getLaunchPerspective(type, modes, delegate);
 	}
-	
+
 	/**
 	 * Sets the perspective to switch to when a configuration of the given type
 	 * is launched in the given mode. <code>PERSPECTIVE_NONE</code> indicates no
 	 * perspective switch should take place. <code>PERSPECTIVE_DEFAULT</code> indicates
 	 * a default perspective switch should take place, as defined by the associated
 	 * launch tab group extension.
-	 * 
-	 * In 3.3 this method is equivalent to calling <code>setLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate, String perspectiveid)</code>, 
+	 *
+	 * In 3.3 this method is equivalent to calling <code>setLaunchPerspective(ILaunchConfigurationType type, Set modes, ILaunchDelegate delegate, String perspectiveid)</code>,
 	 * with the parameter 'mode' used in the set modes, and null passed as the delegate
-	 * 
+	 *
 	 * @param type launch configuration type
 	 * @param mode launch mode identifier
 	 * @param perspective identifier, <code>PERSPECTIVE_NONE</code>, or
@@ -1074,32 +1074,32 @@
 	 */
 	public static void setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective) {
 		DebugUIPlugin.getDefault().getPerspectiveManager().setLaunchPerspective(type, mode, perspective);
-	}	
-	
+	}
+
 	/**
-	 * Sets the perspective to switch to when a configuration of the specified type and launched using the 
+	 * Sets the perspective to switch to when a configuration of the specified type and launched using the
 	 * specified launch delegate is launched in the specified modeset. <code>PERSPECTIVE_NONE</code> indicates no
 	 * perspective switch should take place.
-	 * 
-	 * Passing <code>null</code> for the launch delegate is quivalent to using the default perspective for the specified 
+	 *
+	 * Passing <code>null</code> for the launch delegate is quivalent to using the default perspective for the specified
 	 * type.
 	 * @param type the configuration type
 	 * @param delegate the launch delegate
 	 * @param modes the set of modes
 	 * @param perspectiveid identifier or <code>PERSPECTIVE_NONE</code>
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static void setLaunchPerspective(ILaunchConfigurationType type, ILaunchDelegate delegate, Set<String> modes, String perspectiveid) {
 		DebugUIPlugin.getDefault().getPerspectiveManager().setLaunchPerspective(type, modes, delegate, perspectiveid);
 	}
-	
+
 	/**
 	 * Returns whether the given launch configuration is private. Generally,
 	 * private launch configurations should not be displayed to the user. The
 	 * private status of a launch configuration is determined by the
 	 * <code>IDebugUIConstants.ATTR_PRIVATE</code> attribute.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @return whether the given launch configuration is private
 	 * @since 3.0
@@ -1110,7 +1110,7 @@
 
 	/**
 	 * Sets whether step filters should be applied to step commands. This
-	 * setting is a global option applied to all registered debug targets. 
+	 * setting is a global option applied to all registered debug targets.
 	 * <p>
 	 * Since 3.3, this is equivalent to calling <code>DebugPlugin.setUseStepFilters(boolean)</code>.
 	 * </p>
@@ -1122,7 +1122,7 @@
 	public static void setUseStepFilters(boolean useStepFilters) {
 		DebugPlugin.setUseStepFilters(useStepFilters);
 	}
-		
+
 	/**
 	 * Returns whether step filters are applied to step commands.
 	 * <p>
@@ -1135,26 +1135,26 @@
 	public static boolean isUseStepFilters() {
 		return DebugPlugin.isUseStepFilters();
 	}
-		
+
 	/**
-	 * Returns the console associated with the given process, or 
+	 * Returns the console associated with the given process, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param process a process
-	 * @return console associated with the given process, or 
+	 * @return console associated with the given process, or
 	 * <code>null</code> if none
 	 * @since 3.0
 	 */
 	public static IConsole getConsole(IProcess process) {
 		return DebugUIPlugin.getDefault().getProcessConsoleManager().getConsole(process);
 	}
-	
+
 	/**
-	 * Returns the console associated with the given debug element, or 
+	 * Returns the console associated with the given debug element, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param element a debug model element
-	 * @return console associated with the given element, or 
+	 * @return console associated with the given element, or
 	 * <code>null</code> if none
 	 * @since 3.0
 	 */
@@ -1164,23 +1164,23 @@
 			return getConsole(process);
 		}
 		return null;
-	}	
-	
+	}
+
 	/**
 	 * Returns all registered launch group extensions.
-	 *  
+	 *
 	 * @return all registered launch group extensions
 	 * @since 3.0
 	 */
 	public static ILaunchGroup[] getLaunchGroups() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroups();
 	}
-	
+
 	/**
 	 * Returns the last configuration that was launched for specified launch group or
 	 * <code>null</code>, if there is not one. This method does not provide any form of
 	 * filtering on the returned launch configurations.
-	 * 
+	 *
 	 * @param groupId the unique identifier of a launch group
 	 * @return the last launched configuration for the specified group or <code>null</code>.
 	 * @see DebugUITools#getLaunchGroups()
@@ -1189,11 +1189,11 @@
 	public static ILaunchConfiguration getLastLaunch(String groupId) {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLastLaunch(groupId);
 	}
-	
+
 	/**
 	 * Returns the launch group that the given launch configuration belongs to, for the specified
 	 * mode, or <code>null</code> if none.
-	 * 
+	 *
 	 * @param configuration the launch configuration
 	 * @param mode the mode
 	 * @return the launch group the given launch configuration belongs to, for the specified mode,
@@ -1208,29 +1208,29 @@
 			return null;
 		}
 	}
-	
+
     /**
      * Performs source lookup on the given artifact and returns the result.
      * Optionally, a source locator may be specified.
-     *  
+     *
      * @param artifact object for which source is to be resolved
      * @param locator the source locator to use, or <code>null</code>. When <code>null</code>
      *   a source locator is determined from the artifact, if possible. If the artifact
-     *   is a debug element, the source locator from its associated launch is used. 
+     *   is a debug element, the source locator from its associated launch is used.
      * @return a source lookup result
      * @since 3.1
      */
-    public static ISourceLookupResult lookupSource(Object artifact, ISourceLocator locator) {	
+    public static ISourceLookupResult lookupSource(Object artifact, ISourceLocator locator) {
 		return SourceLookupFacility.getDefault().lookup(artifact, locator, false);
     }
-	
+
     /**
      * Displays the given source lookup result in an editor in the given workbench
      * page. Has no effect if the result has an unknown editor id or editor input.
      * The editor is opened, positioned, and annotated.
      * <p>
      * Honors user preference for editors re-use.
-     * </p> 
+     * </p>
      * @param result source lookup result to display
      * @param page the page to display the result in
      * @since 3.1
@@ -1238,21 +1238,21 @@
     public static void displaySource(ISourceLookupResult result, IWorkbenchPage page) {
     	SourceLookupFacility.getDefault().display(result, page);
     }
-    
+
     /**
      * Returns the memory rendering manager.
-     * 
+     *
      * @return the memory rendering manager
      * @since 3.1
      */
     public static IMemoryRenderingManager getMemoryRenderingManager() {
         return MemoryRenderingManager.getDefault();
     }
-    
+
 	/**
 	 * Returns the image associated with the specified type of source container
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param id unique identifier for a source container type
 	 * @return image associated with the specified type of source container
 	 *    or <code>null</code> if none
@@ -1262,11 +1262,11 @@
 	public static Image getSourceContainerImage(String id){
 		return SourceLookupUIUtils.getSourceContainerImage(id);
 	}
-	
+
 	/**
 	 * Returns a new source container browser for the specified type of source container
 	 * or <code>null</code> if a browser has not been registered.
-	 * 
+	 *
 	 * @param id unique identifier for a source container type
 	 * @return source container browser or <code>null</code> if none
 	 * @since 3.2
@@ -1275,11 +1275,11 @@
 	public static ISourceContainerBrowser getSourceContainerBrowser(String id) {
 		return SourceLookupUIUtils.getSourceContainerBrowser(id);
 	}
-	
+
 	/**
-	 * Returns the color associated with the specified preference identifier or 
+	 * Returns the color associated with the specified preference identifier or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param id preference identifier of the color
 	 * @return the color associated with the specified preference identifier
 	 * 	or <code>null</code> if none
@@ -1289,10 +1289,10 @@
 	public static Color getPreferenceColor(String id) {
 		return DebugUIPlugin.getPreferenceColor(id);
 	}
-	
+
 	/**
 	 * Returns the debug context manager.
-	 * 
+	 *
 	 * @return debug context manager
 	 * @since 3.3
 	 */
@@ -1302,10 +1302,10 @@
 
     /**
      * Return the debug context for the given executionEvent or <code>null</code> if none.
-     * 
+     *
      * @param event The execution event that contains the application context
      * @return the current debug context, or <code>null</code>.
-     * 
+     *
      * @since 3.5
      */
     public static ISelection getDebugContextForEvent(ExecutionEvent event) {
@@ -1318,11 +1318,11 @@
 
     /**
      * Return the debug context for the given executionEvent.
-     * 
+     *
      * @param event The execution event that contains the application context
      * @return the debug context. Will not return <code>null</code>.
      * @throws ExecutionException If the current selection variable is not found.
-     * 
+     *
      * @since 3.5
      */
     public static ISelection getDebugContextForEventChecked(ExecutionEvent event)
@@ -1341,9 +1341,9 @@
 
     /**
      * Returns the global instance of toggle breakpoints target manager.
-     * 
+     *
      * @return toggle breakpoints target manager
-     * 
+     *
      * @since 3.8
      */
     public static IToggleBreakpointsTargetManager getToggleBreakpointsTargetManager() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java
index 393cdfa..6ffd542 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DeferredDebugElementWorkbenchAdapter.java
@@ -17,7 +17,7 @@
 
 
 /**
- * Common function for a deferred workbench adapter for a debug element. 
+ * Common function for a deferred workbench adapter for a debug element.
  * <p>
  * Clients may subclass this class to provide custom adapters for elements in a debug
  * model. The debug platform provides <code>IDeferredWorkbenchAdapters</code> for the standard debug
@@ -32,7 +32,7 @@
  */
 @Deprecated
 public abstract class DeferredDebugElementWorkbenchAdapter extends DebugElementWorkbenchAdapter implements IDeferredWorkbenchAdapter {
-    
+
 	/**
 	 * An empty collection of children
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
index 382d083..e5618cd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2013 Keith Seitz and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     Keith Seitz (keiths@redhat.com) - initial implementation
  *     IBM Corporation - integration and code cleanup
@@ -76,11 +76,11 @@
  * into Runtime.exec(...) when a config is launched.
  * <p>
  * Clients may call {@link #setHelpContextId(String)} on this tab prior to control
- * creation to alter the default context help associated with this tab. 
+ * creation to alter the default context help associated with this tab.
  * </p>
  * <p>
  * This class may be instantiated.
- * </p> 
+ * </p>
  * @since 3.0
  * @noextend This class is not intended to be sub-classed by clients.
  */
@@ -88,11 +88,11 @@
 
 	protected TableViewer environmentTable;
 	protected String[] envTableColumnHeaders = {
-		LaunchConfigurationsMessages.EnvironmentTab_Variable_1, 
-		LaunchConfigurationsMessages.EnvironmentTab_Value_2, 
+		LaunchConfigurationsMessages.EnvironmentTab_Variable_1,
+		LaunchConfigurationsMessages.EnvironmentTab_Value_2,
 	};
-	private static final String NAME_LABEL= LaunchConfigurationsMessages.EnvironmentTab_8; 
-	private static final String VALUE_LABEL= LaunchConfigurationsMessages.EnvironmentTab_9; 
+	private static final String NAME_LABEL= LaunchConfigurationsMessages.EnvironmentTab_8;
+	private static final String VALUE_LABEL= LaunchConfigurationsMessages.EnvironmentTab_9;
 	protected static final String P_VARIABLE = "variable"; //$NON-NLS-1$
 	protected static final String P_VALUE = "value"; //$NON-NLS-1$
 	protected Button envAddButton;
@@ -101,7 +101,7 @@
 	protected Button appendEnvironment;
 	protected Button replaceEnvironment;
 	protected Button envSelectButton;
-	
+
 	/**
 	 * Content provider for the environment table
 	 */
@@ -155,7 +155,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Label provider for the environment table
 	 */
@@ -193,7 +193,7 @@
 	public EnvironmentTab() {
 		setHelpContextId(IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_ENVIRONMENT_TAB);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -203,11 +203,11 @@
 		Composite mainComposite = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_HORIZONTAL);
 		setControl(mainComposite);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), getHelpContextId());
-		
+
 		createEnvironmentTable(mainComposite);
 		createTableButtons(mainComposite);
 		createAppendReplace(mainComposite);
-		
+
 		Dialog.applyDialogFont(mainComposite);
 	}
 
@@ -219,16 +219,16 @@
 	 */
 	protected void createAppendReplace(Composite parent) {
 		Composite comp = SWTFactory.createComposite(parent, 1, 2, GridData.FILL_HORIZONTAL);
-		appendEnvironment= createRadioButton(comp, LaunchConfigurationsMessages.EnvironmentTab_16); 
+		appendEnvironment= createRadioButton(comp, LaunchConfigurationsMessages.EnvironmentTab_16);
 		appendEnvironment.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				updateLaunchConfigurationDialog();
 			}
 		});
-		replaceEnvironment= createRadioButton(comp, LaunchConfigurationsMessages.EnvironmentTab_17); 
+		replaceEnvironment= createRadioButton(comp, LaunchConfigurationsMessages.EnvironmentTab_17);
 	}
-	
+
 	/**
 	 * Updates the enablement of the append/replace widgets. The
 	 * widgets should disable when there are no environment variables specified.
@@ -238,7 +238,7 @@
 		appendEnvironment.setEnabled(enable);
 		replaceEnvironment.setEnabled(enable);
 	}
-	
+
 	/**
 	 * Creates and configures the table that displayed the key/value
 	 * pairs that comprise the environment.
@@ -286,7 +286,7 @@
 		tableColumnLayout.setColumnData(tc2, new ColumnWeightData(2, pixelConverter.convertWidthInCharsToPixels(20)));
 		tableComposite.setLayout(tableColumnLayout);
 	}
-	
+
 	/**
 	 * Responds to a selection changed event in the environment table
 	 * @param event the selection change event
@@ -296,7 +296,7 @@
 		envEditButton.setEnabled(size == 1);
 		envRemoveButton.setEnabled(size > 0);
 	}
-	
+
 	/**
 	 * Creates the add/edit/remove buttons for the environment table
 	 * @param parent the composite in which the buttons should be created
@@ -306,21 +306,21 @@
 		Composite buttonComposite = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_END, 0, 0);
 
 		// Create buttons
-		envAddButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_New_4, null); 
+		envAddButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_New_4, null);
 		envAddButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent event) {
 				handleEnvAddButtonSelected();
 			}
 		});
-		envSelectButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_18, null); 
+		envSelectButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_18, null);
 		envSelectButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent event) {
 				handleEnvSelectButtonSelected();
 			}
 		});
-		envEditButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_Edit_5, null); 
+		envEditButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_Edit_5, null);
 		envEditButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent event) {
@@ -328,7 +328,7 @@
 			}
 		});
 		envEditButton.setEnabled(false);
-		envRemoveButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_Remove_6, null); 
+		envRemoveButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.EnvironmentTab_Remove_6, null);
 		envRemoveButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent event) {
@@ -337,28 +337,28 @@
 		});
 		envRemoveButton.setEnabled(false);
 	}
-	
+
 	/**
 	 * Adds a new environment variable to the table.
 	 */
 	protected void handleEnvAddButtonSelected() {
-		MultipleInputDialog dialog = new MultipleInputDialog(getShell(), LaunchConfigurationsMessages.EnvironmentTab_22); 
+		MultipleInputDialog dialog = new MultipleInputDialog(getShell(), LaunchConfigurationsMessages.EnvironmentTab_22);
 		dialog.addTextField(NAME_LABEL, null, false);
 		dialog.addVariablesField(VALUE_LABEL, null, true);
-		
+
 		if (dialog.open() != Window.OK) {
 			return;
 		}
-		
+
 		String name = dialog.getStringValue(NAME_LABEL);
 		String value = dialog.getStringValue(VALUE_LABEL);
-		
+
 		if (name != null && value != null && name.length() > 0 && value.length() >0) {
 			addVariable(new EnvironmentVariable(name.trim(), value.trim()));
 			updateAppendReplace();
 		}
 	}
-	
+
 	/**
 	 * Attempts to add the given variable. Returns whether the variable
 	 * was added or not (as when the user answers not to overwrite an
@@ -384,33 +384,33 @@
 		updateLaunchConfigurationDialog();
 		return true;
 	}
-	
+
 	/**
-	 * Displays a dialog that allows user to select native environment variables 
+	 * Displays a dialog that allows user to select native environment variables
 	 * to add to the table.
 	 */
 	private void handleEnvSelectButtonSelected() {
 		//get Environment Variables from the OS
 		Map<String, EnvironmentVariable> envVariables = getNativeEnvironment();
-		
+
 		//get Environment Variables from the table
 		TableItem[] items = environmentTable.getTable().getItems();
 		for (int i = 0; i < items.length; i++) {
 			EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
 			envVariables.remove(var.getName());
 		}
-		
-		NativeEnvironmentSelectionDialog dialog = new NativeEnvironmentSelectionDialog(getShell(), envVariables); 
-		dialog.setTitle(LaunchConfigurationsMessages.EnvironmentTab_20); 
-		
+
+		NativeEnvironmentSelectionDialog dialog = new NativeEnvironmentSelectionDialog(getShell(), envVariables);
+		dialog.setTitle(LaunchConfigurationsMessages.EnvironmentTab_20);
+
 		int button = dialog.open();
 		if (button == Window.OK) {
-			Object[] selected = dialog.getResult();		
+			Object[] selected = dialog.getResult();
 			for (int i = 0; i < selected.length; i++) {
-				environmentTable.add(selected[i]);				
+				environmentTable.add(selected[i]);
 			}
 		}
-		
+
 		updateAppendReplace();
 		updateLaunchConfigurationDialog();
 	}
@@ -439,7 +439,7 @@
 		}
 		String originalName= var.getName();
 		String value= var.getValue();
-		MultipleInputDialog dialog= new MultipleInputDialog(getShell(), LaunchConfigurationsMessages.EnvironmentTab_11); 
+		MultipleInputDialog dialog= new MultipleInputDialog(getShell(), LaunchConfigurationsMessages.EnvironmentTab_11);
 		dialog.addTextField(NAME_LABEL, originalName, false);
 		if(value != null && value.indexOf(System.getProperty("line.separator")) > -1) { //$NON-NLS-1$
 			dialog.addMultilinedVariablesField(VALUE_LABEL, value, true);
@@ -447,7 +447,7 @@
 		else {
 			dialog.addVariablesField(VALUE_LABEL, value, true);
 		}
-		
+
 		if (dialog.open() != Window.OK) {
 			return;
 		}
@@ -519,13 +519,13 @@
 		updateEnvironment(configuration);
 		updateAppendReplace();
 	}
-	
+
 	/**
 	 * Stores the environment in the given configuration
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
 	@Override
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {	
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		// Convert the table's items into a Map so that this can be saved in the
 		// configuration's attributes.
 		TableItem[] items = environmentTable.getTable().getItems();
@@ -533,13 +533,13 @@
 		for (int i = 0; i < items.length; i++) {
 			EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
 			map.put(var.getName(), var.getValue());
-		} 
+		}
 		if (map.size() == 0) {
 			configuration.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, (Map<String, String>) null);
 		} else {
 			configuration.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, map);
 		}
-		
+
 		if(appendEnvironment.getSelection()) {
 			ILaunchConfiguration orig = configuration.getOriginal();
 			boolean hasTrueValue = false;
@@ -566,19 +566,19 @@
 	 */
 	@Override
 	public String getName() {
-		return LaunchConfigurationsMessages.EnvironmentTab_Environment_7; 
+		return LaunchConfigurationsMessages.EnvironmentTab_Environment_7;
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	@Override
 	public String getId() {
 		return "org.eclipse.debug.ui.environmentTab"; //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
 	 */
@@ -602,21 +602,21 @@
 	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
 		// do nothing when deactivated
 	}
-	
+
 	/**
 	 * This dialog allows users to select one or more known native environment variables from a list.
 	 */
 	private class NativeEnvironmentSelectionDialog extends AbstractDebugCheckboxSelectionDialog {
-		
+
 		private Object fInput;
-		
+
 		public NativeEnvironmentSelectionDialog(Shell parentShell, Object input) {
 			super(parentShell);
 			fInput = input;
 			setShellStyle(getShellStyle() | SWT.RESIZE);
 			setShowSelectAllButtons(true);
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
 		 */
@@ -648,7 +648,7 @@
 		protected String getViewerLabel() {
 			return LaunchConfigurationsMessages.EnvironmentTab_19;
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getLabelProvider()
 		 */
@@ -677,10 +677,10 @@
 				}
 				@Override
 				public void removeListener(ILabelProviderListener listener) {
-				}				
+				}
 			};
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getContentProvider()
 		 */
@@ -711,7 +711,7 @@
 					return elements;
 				}
 				@Override
-				public void dispose() {	
+				public void dispose() {
 				}
 				@Override
 				public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java
index d1eb080..8a38e26 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegate.java
@@ -22,7 +22,7 @@
  * categorize breakpoints. Images and labels for categories are generated
  * via workbench adapters.
  * <p>
- * Organizers may optionally support breakpoint recategorization. 
+ * Organizers may optionally support breakpoint recategorization.
  * </p>
  * <p>
  * Following is example plug-in XML for contributing a breakpoint organizer.
@@ -53,7 +53,7 @@
  * @since 3.1
  */
 public interface IBreakpointOrganizerDelegate {
-    
+
     /**
      * Change event id when a category's breakpoints have changed.
      * The <code>oldValue</code> of the <code>PropertyChangeEvent</code> will be the
@@ -71,84 +71,84 @@
      * the breakpoint. Categories must return <code>true</code> when sent
      * the message <code>equals(Object)</code> with an equivalent category
      * as an argument.
-     * 
+     *
      * @param breakpoint breakpoint to classify
      * @return categories of the given breakpoint or <code>null</code>
      */
     public IAdaptable[] getCategories(IBreakpoint breakpoint);
-    
+
     /**
      * Adds the specified listener. Has no effect if an identical listener is
      * already registered.
-     * 
+     *
      * @param listener listener to add
      */
     public void addPropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Removes the specified listener. Has no effect if an identical listener
      * is not already registered.
-     * 
+     *
      * @param listener listener to remove
      */
     public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Adds the specified breakpoint to the given category. Only called
      * if <code>canAdd(...)</code> returns <code>true</code> for the given
      * breakpoint and category.
-     * 
+     *
      * @param breakpoint breakpoint to recategorize
      * @param category the breakpoint's new category
      */
     public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category);
-    
+
     /**
      * Removes the specified breakpoint from the given category. Only
      * called if <code>canRemove(...)</code> returns <code>true</code> for
      * the given breakpoint and category.
-     * 
+     *
      * @param breakpoint breakpoint to recategorize
      * @param category the category the breakpoint is remove from
      */
     public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category);
-    
+
     /**
      * Returns whether the given breakpoint can be categorized in the
      * specified category.
-     *  
+     *
      * @param breakpoint breakpoint to recatogorize
      * @param category the category to add the breakpoint to
      * @return whether the given breakpoint can be categorized in the
      * specified category
      */
     public boolean canAdd(IBreakpoint breakpoint, IAdaptable category);
-    
+
     /**
      * Returns whether the given breakpoint can be removed from the given
      * category.
-     * 
+     *
      * @param breakpoint breakpoint to recategorize
      * @param category the category to remove the breakpoint from
      * @return whether the given breakpoint can be removed from the given
      * category
      */
     public boolean canRemove(IBreakpoint breakpoint, IAdaptable category);
-    
+
     /**
      * Returns all categories managed by this organizer, or <code>null</code>.
      * When <code>null</code> is returned, the breakpoints view only displays
      * categories that contain breakpoints. When a collection of categories
      * is returned the breakpoints will display all of the categories, some of
      * which may be empty.
-     *  
+     *
      * @return all categories managed by this organizer, or <code>null</code>
      */
     public IAdaptable[] getCategories();
-    
+
     /**
      * Disposes this breakpoint organizer.
      */
     public void dispose();
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegateExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegateExtension.java
index 9bff24a..2b8fabb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegateExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointOrganizerDelegateExtension.java
@@ -23,26 +23,26 @@
  * @since 3.3
  */
 public interface IBreakpointOrganizerDelegateExtension extends IBreakpointOrganizerDelegate {
-    
+
     /**
      * Adds the specified breakpoints to the given category. Only called
      * if <code>canAdd(...)</code> returns <code>true</code> for the given
      * breakpoints and category.
-     * 
+     *
      * @param breakpoints breakpoints add
      * @param category the breakpoints' new category
      */
     public void addBreakpoints(IBreakpoint[] breakpoints, IAdaptable category);
-    
+
     /**
      * Removes the specified breakpoints from the given category. Only
      * called if <code>canRemove(...)</code> returns <code>true</code> for
      * the given breakpoints and category.
-     * 
+     *
      * @param breakpoints breakpoints to remove
      * @param category the category the breakpoint is remove from
      */
     public void removeBreakpoints(IBreakpoint[] breakpoints, IAdaptable category);
-        
-    
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.java
index ddb1ea8..45dfe7a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IBreakpointTypeCategory.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/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
index cb24371..857e126 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
@@ -18,7 +18,7 @@
  * A debug model presentation may implement this interface to override
  * standard editor positioning and annotations associated with
  * source code display for stack frames.
- * 
+ *
  * @since 3.0
  */
 public interface IDebugEditorPresentation {
@@ -30,25 +30,25 @@
 	 * <code>false</code> is returned, the debugger will position and add
 	 * standard annotations to the editor, and a corresponding call to remove
 	 * annotations will not be made. This method is called when the debugger is
-	 * has opened an editor to display source for the given stack frame. 
-	 * 
+	 * has opened an editor to display source for the given stack frame.
+	 *
 	 * @param editorPart the editor the debugger has opened
 	 * @param frame the stack frame for which the debugger is displaying
 	 *  source
 	 * @return <code>true</code> if annotations were added to the given editor part <code>false</code> otherwise
 	 */
 	public boolean addAnnotations(IEditorPart editorPart, IStackFrame frame);
-	
+
 	/**
 	 * Removes any debug related annotations from the given editor.
 	 * This method is called when the debugger clears the source selection
 	 * in an editor opened by the debugger. For example, when a debug
 	 * session is resumed or terminated.
-	 *   
+	 *
 	 * @param editorPart an editor that annotations were added to for
 	 *  a stack frame
 	 * @param thread the thread for which stack frame annotations were
 	 *  added to the editor
 	 */
-	public void removeAnnotations(IEditorPart editorPart, IThread thread);	
+	public void removeAnnotations(IEditorPart editorPart, IThread thread);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
index 3477185..cb1ed1f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.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
  *******************************************************************************/
@@ -28,7 +28,7 @@
  * Following is an example definition of a debug model presentation extension.
  * <pre>
  * &lt;extension point="org.eclipse.debug.ui.debugModelPresentations"&gt;
- *   &lt;debugModelPresentation 
+ *   &lt;debugModelPresentation
  *      id="com.example.debugModelIdentifier"
  *      class="com.example.ExamplePresentation"
  *      detailsViewerConfiguration="com.example.ExampleSourceViewerConfiguration"&gt;
@@ -55,7 +55,7 @@
  * a <code>setAttribute</code> method. The debug UI plug-in defines
  * one presentation attribute:
  * <ul>
- *  <li><code>DISPLAY_VARIABLE_TYPE_NAMES</code> - This is a boolean attribute 
+ *  <li><code>DISPLAY_VARIABLE_TYPE_NAMES</code> - This is a boolean attribute
  *     indicating whether variable elements should be rendered with the declared
  *     type of a variable. For example, a Java debug model presentation would render
  *     an integer as <code>"int x = 3"</code> when true, and <code>"x = 3"</code>
@@ -72,7 +72,7 @@
  * </p>
  * <p>
  * Since 3.1, debug model presentations may optionally implement <code>IColorProvider</code>
- * and <code>IFontProvider</code> to override default fonts and colors for debug elements. 
+ * and <code>IFontProvider</code> to override default fonts and colors for debug elements.
  * </p>
  * <p>
  * Clients may implement this interface.
@@ -83,11 +83,11 @@
  */
 
 public interface IDebugModelPresentation extends ILabelProvider, ISourcePresentation {
-	/** 
+	/**
 	 * Variable type names presentation property (value <code>"org.eclipse.debug.ui.displayVariableTypeNames"</code>).
 	 * When <code>DISPLAY_VARIABLE_TYPE_NAMES</code> is set to <code>true</code>,
 	 * this label provider should include the reference type of a variable  when rendering
-	 * variables. When set to <code>false</code>, this label provider 
+	 * variables. When set to <code>false</code>, this label provider
 	 * should not include the reference type of a variable when rendering
 	 * variables.
 	 * @see #setAttribute(String, Object)
@@ -124,7 +124,7 @@
 	 */
 	@Override
 	public String getText(Object element);
-	
+
 	/**
 	 * Computes a detailed description of the given value, reporting
 	 * the result to the specified listener. This allows a presentation
@@ -133,13 +133,13 @@
 	 * the details are reported back to the specified listener asynchronously.
 	 * If <code>null</code> is reported, the value's value string is displayed
 	 * (<code>IValue.getValueString()</code>).
-	 * 
+	 *
 	 * @param value the value for which a detailed description
 	 * 	is required
 	 * @param listener the listener to report the details to
 	 * 	asynchronously
 	 * @since 2.0
 	 */
-	void computeDetail(IValue value, IValueDetailListener listener);	
+	void computeDetail(IValue value, IValueDetailListener listener);
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentationExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentationExtension.java
index 144dad0..06d625c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentationExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentationExtension.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
  *******************************************************************************/
@@ -14,11 +14,11 @@
  * Optional extension for an {@link IDebugModelPresentation}. Dynamically controls
  * whether labels are computed in a UI thread. The debug platform calls debug model
  * presentation label related methods that do not implement this interface in a
- * <b>non-UI</b> thread. 
+ * <b>non-UI</b> thread.
  * <p>
  * For example, some models may require at least one access in a UI thread to initialize
  * an image registry at which point they may be able to provide labels in a non-UI
- * thread. 
+ * thread.
  * </p>
  * <p>
  * Clients implementing a debug model presentation should also implement
@@ -33,7 +33,7 @@
 	 * foreground, background, etc.), for the specified element. When <code>true</code> is
 	 * returned, label related methods will be called in the UI thread, otherwise methods
 	 * may be called in a non-UI thread.
-	 * 
+	 *
 	 * @param element the element a label is to be retrieved for
 	 * @return whether label related methods should be called on the UI thread
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
index 48431b7..04659d9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.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
  *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
@@ -16,7 +16,7 @@
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.ILaunchManager;
 import org.eclipse.ui.ISharedImages;
- 
+
 /**
  * Constant definitions for debug UI plug-in.
  * <p>
@@ -37,7 +37,7 @@
  *   <li>Step into action</li>
  * 	 <li>Step over group</li>
  *   <li>Step over action</li>
- *   <li>Step return group</li> 
+ *   <li>Step return group</li>
  *   <li>Step return action</li>
  *   <li>Empty thread group</li>
  *   <li>Thread group</li>
@@ -79,7 +79,7 @@
  *   <li>Open action</li>
  *   <li>Empty Breakpoint group</li>
  *   <li>Breakpoint group</li>
- *   <li>Enable action</li> 
+ *   <li>Enable action</li>
  *   <li>Disable action</li>
  *   <li>Remove action</li>
  *   <li>Remove all action</li>
@@ -93,7 +93,7 @@
  *   <li>Empty Expression group</li>
  *   <li>Expression group</li>
  *   <li>Select all action</li>
- * 	 <li>Copy to clipboard action</li>	 
+ * 	 <li>Copy to clipboard action</li>
  *   <li>Remove action</li>
  *   <li>Remove all action</li>
  *   <li>Find action</li>
@@ -113,29 +113,29 @@
  */
 
 public interface IDebugUIConstants {
-	
+
 	/**
 	 * Debug UI plug-in identifier (value <code>"org.eclipse.debug.ui"</code>).
 	 */
 	public static final String PLUGIN_ID = "org.eclipse.debug.ui"; //$NON-NLS-1$;
-	
+
 	/**
 	 * Debug perspective identifier (value <code>"org.eclipse.debug.ui.DebugPerspective"</code>).
 	 */
 	public static final String ID_DEBUG_PERSPECTIVE = PLUGIN_ID + ".DebugPerspective"; //$NON-NLS-1$
-	
+
 	/**
 	 * Console type identifier (value <code>"org.eclipse.debug.ui.ProcessConsoleType"</code>).
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ID_PROCESS_CONSOLE_TYPE = PLUGIN_ID + ".ProcessConsoleType"; //$NON-NLS-1$
-	
+
 	/**
 	 * Constant for referring to no perspective.
 	 */
 	public static final String PERSPECTIVE_NONE = "perspective_none"; //$NON-NLS-1$
-	
+
 	/**
 	 * Constant for referring to a default perspective.
 	 */
@@ -144,19 +144,19 @@
 	// Preferences
 
 	/**
-	 * String preference that identifies the default 'switch to perspective id' when running a 
+	 * String preference that identifies the default 'switch to perspective id' when running a
 	 * launch configuration.  This default is used if a particular launch configuration does not
 	 * override the 'switch to perspective when in run mode' attribute with something else.
 	 */
 	public static final String PREF_SHOW_RUN_PERSPECTIVE_DEFAULT= PLUGIN_ID + ".show_run_perspective_default";  //$NON-NLS-1$
-	
+
 	/**
-	 * String preference that identifies the default 'switch to perspective id' when debugging a 
+	 * String preference that identifies the default 'switch to perspective id' when debugging a
 	 * launch configuration.  This default is used if a particular launch configuration does not
 	 * override the 'switch to perspective when in debug mode' attribute with something else.
 	 */
 	public static final String PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT= PLUGIN_ID + ".show_debug_perspective_default";  //$NON-NLS-1$
-	
+
 	/**
 	 * Boolean preference controlling whether a build is done before
 	 * launching a program (if one is needed).
@@ -174,106 +174,106 @@
 	 * that it opens when displaying source. When <code>true</code> the debugger
 	 * re-uses the same editor when showing source for a selected stack frame (unless
 	 * the editor is dirty).
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String PREF_REUSE_EDITOR = PLUGIN_ID + ".reuse_editor"; //$NON-NLS-1$
-	
+
 	/**
 	 * Integer preference that specifies the length of the Run & Debug launch history lists.
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String PREF_MAX_HISTORY_SIZE = PLUGIN_ID + ".max_history_size"; //$NON-NLS-1$
-	
+
 	/**
 	 * Boolean preference controlling whether the debugger shows types names
 	 * in its variable view. When <code>true</code> the debugger
 	 * will display type names in new variable views.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated no longer used
 	 */
 	@Deprecated
-	public static final String PREF_SHOW_TYPE_NAMES = PLUGIN_ID + ".show_type_names"; //$NON-NLS-1$	
-	
+	public static final String PREF_SHOW_TYPE_NAMES = PLUGIN_ID + ".show_type_names"; //$NON-NLS-1$
+
 	/**
 	 * Boolean preference controlling whether the debugger shows the detail pane
 	 * in its variable view. When <code>true</code> the debugger
 	 * will show the detail panes in new variable views.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated no longer used
 	 */
 	@Deprecated
 	public static final String PREF_SHOW_DETAIL_PANE = PLUGIN_ID + ".show_detail_pane"; //$NON-NLS-1$
-	
+
 	/**
 	 * Boolean preference controlling whether the debugger will force activate the active
 	 * shell/window of the Eclipse workbench when a breakpoint is hit.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	public static final String PREF_ACTIVATE_WORKBENCH= PLUGIN_ID + ".activate_workbench"; //$NON-NLS-1$
-	
+
 	/**
 	 * Boolean preference controlling whether breakpoints are
 	 * automatically skipped during a Run To Line operation.
 	 * If true, breakpoints will be skipped automatically
 	 * during Run To Line. If false, they will be hit.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE= PLUGIN_ID + ".skip_breakpoints_during_run_to_line"; //$NON-NLS-1$
-	
+
 	/**
 	 * String preference controlling in which perspectives view management will
-	 * occur.  This preference, if set, overrides the perspectives enabled 
-	 * through the <code>contextViewBindings</code> extension point. The value 
+	 * occur.  This preference, if set, overrides the perspectives enabled
+	 * through the <code>contextViewBindings</code> extension point. The value
 	 * is a comma-separated list of perspective IDs, an empty string (no perspectives),
 	 * or the value of <code>PREF_MANAGE_VIEW_PERSPECTIVES_DEFAULT</code> ("<code>DEFAULT</code>").
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String PREF_MANAGE_VIEW_PERSPECTIVES= PLUGIN_ID + ".manage_view_perspectives"; //$NON-NLS-1$
 
 	/**
-	 * The default value of the {@link IDebugUIConstants#PREF_MANAGE_VIEW_PERSPECTIVES} preference. 
-	 * 
+	 * The default value of the {@link IDebugUIConstants#PREF_MANAGE_VIEW_PERSPECTIVES} preference.
+	 *
      * @see IDebugUIConstants#PREF_MANAGE_VIEW_PERSPECTIVES
-     * 
+     *
 	 * @since 3.5
 	 */
 	public static final String PREF_MANAGE_VIEW_PERSPECTIVES_DEFAULT= "DEFAULT"; //$NON-NLS-1$
 
 	/**
 	 * Font preference setting for the process console.
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static final String PREF_CONSOLE_FONT= "org.eclipse.debug.ui.consoleFont"; //$NON-NLS-1$
-	
+
 	/**
 	 * Debug view identifier (value <code>"org.eclipse.debug.ui.DebugView"</code>).
 	 */
 	public static final String ID_DEBUG_VIEW= "org.eclipse.debug.ui.DebugView"; //$NON-NLS-1$
-	
+
 	/**
 	 * Breakpoint view identifier (value <code>"org.eclipse.debug.ui.BreakpointView"</code>).
 	 */
 	public static final String ID_BREAKPOINT_VIEW= "org.eclipse.debug.ui.BreakpointView"; //$NON-NLS-1$
-	
+
 	/**
 	 * Variable view identifier (value <code>"org.eclipse.debug.ui.VariableView"</code>).
 	 */
 	public static final String ID_VARIABLE_VIEW= "org.eclipse.debug.ui.VariableView"; //$NON-NLS-1$
-	
+
 	/**
 	 * Expression view identifier (value <code>"org.eclipse.debug.ui.ExpressionView"</code>).
 	 * @since 2.0
 	 */
 	public static final String ID_EXPRESSION_VIEW= "org.eclipse.debug.ui.ExpressionView"; //$NON-NLS-1$
-		
+
 	/**
 	 * Register view identifier (value <code>"org.eclipse.debug.ui.RegisterView"</code>).
 	 * @since 3.0
@@ -288,40 +288,40 @@
 
 	/**
 	 * Console view identifier (value <code>"org.eclipse.debug.ui.ConsoleView"</code>).
-	 * @deprecated Use org.eclipse.ui.console.IConsoleConstants.ID_CONSOLE_VIEW 
+	 * @deprecated Use org.eclipse.ui.console.IConsoleConstants.ID_CONSOLE_VIEW
 	 * @since 3.0
 	 */
 	@Deprecated
 	public static final String ID_CONSOLE_VIEW= "org.eclipse.debug.ui.ConsoleView"; //$NON-NLS-1$
-	
+
 	// Console stream identifiers
-	
+
 	/**
 	 * Identifier for the standard out stream.
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(String)
 	 * @since 2.1
 	 */
 	public static final String ID_STANDARD_OUTPUT_STREAM = IDebugUIConstants.PLUGIN_ID + ".ID_STANDARD_OUTPUT_STREAM"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for the standard error stream.
 	 *
 	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(String)
 	 * @since 2.1
-	 */	
+	 */
 	public static final String ID_STANDARD_ERROR_STREAM = IDebugUIConstants.PLUGIN_ID + ".ID_STANDARD_ERROR_STREAM"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for the standard input stream.
 	 *
 	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(String)
 	 * @since 2.1
-	 */	
+	 */
 	public static final String ID_STANDARD_INPUT_STREAM = IDebugUIConstants.PLUGIN_ID + ".ID_STANDARD_INPUT_STREAM"; //$NON-NLS-1$
-	
+
 	// Debug Action images
-	
+
 	/**
 	 * Debug action image identifier.
 	 */
@@ -331,177 +331,177 @@
 	 * Run action image identifier.
 	 */
 	public static final String IMG_ACT_RUN= "IMG_ACT_RUN"; //$NON-NLS-1$
-    
+
     /** "Link with View" action image identifier. */
     public static final String IMG_ACT_SYNCED= "IMG_ACT_SYNCED"; //$NON-NLS-1$
-	
+
 	/** "Skip Breakpoints" action image identifier */
 	public static final String IMG_SKIP_BREAKPOINTS= "IMG_SKIP_BREAKPOINTS"; //$NON-NLS-1$
-	
-	/** Clear action image identifier. 
+
+	/** Clear action image identifier.
 	 * @deprecated use the platform shared image for clear - {@link ISharedImages#IMG_ETOOL_CLEAR}*/
 	@Deprecated
 	public static final String IMG_LCL_CLEAR= "IMG_LCL_CLEAR"; //$NON-NLS-1$
-	
+
 	/** Display variable type names action image identifier. */
 	public static final String IMG_LCL_TYPE_NAMES= "IMG_LCL_TYPE_NAMES"; //$NON-NLS-1$
-	
+
 	/** Toggle detail pane action image identifier.*/
 	public static final String IMG_LCL_DETAIL_PANE= "IMG_LCL_DETAIL_PANE"; //$NON-NLS-1$
-	
+
 	/** Change variable value action image identifier.*/
 	public static final String IMG_LCL_CHANGE_VARIABLE_VALUE= "IMG_LCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$
-		
+
 	/**
 	 * Disconnect action image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String IMG_LCL_DISCONNECT= "IMG_LCL_DISCONNECT"; //$NON-NLS-1$
-	
+
 	/**
 	 * Scroll lock action image identifier
-	 * 
+	 *
 	 * @since 2.1
 	 */
-	public static final String IMG_LCL_LOCK = "IMG_LCL_LOCK"; //$NON-NLS-1$	
-	
+	public static final String IMG_LCL_LOCK = "IMG_LCL_LOCK"; //$NON-NLS-1$
+
     /**
      * Add action image identifier.
-     * 
+     *
      * @since 3.8
      */
     public static final String IMG_LCL_ADD = "IMG_LCL_MONITOR_EXPRESSION"; //$NON-NLS-1$
 
 	/**
 	 * Remove all action image identifier
-	 * 
+	 *
 	 * @since 2.1
 	 */
-	public static final String IMG_LCL_REMOVE_ALL = "IMG_LCL_REMOVE_ALL"; //$NON-NLS-1$	
-	
+	public static final String IMG_LCL_REMOVE_ALL = "IMG_LCL_REMOVE_ALL"; //$NON-NLS-1$
+
     /**
      * Remove action image identifier
-     * 
+     *
      * @since 3.2
      */
     public static final String IMG_LCL_REMOVE = "IMG_LCL_REMOVE"; //$NON-NLS-1$
-    
+
 	/**
 	 * Content assist action image identifier.
 	 */
 	public static final String IMG_LCL_CONTENT_ASSIST= "IMG_LCL_CONTENT_ASSIST"; //$NON-NLS-1$
-		
+
 	/**
 	 * Content assist action image identifier (enabled).
 	 */
 	public static final String IMG_ELCL_CONTENT_ASSIST= "IMG_ELCL_CONTENT_ASSIST"; //$NON-NLS-1$
-	
+
 	/**
 	 * Content assist action image identifier (disabled).
 	 */
 	public static final String IMG_DLCL_CONTENT_ASSIST= "IMG_DLCL_CONTENT_ASSIST"; //$NON-NLS-1$
-	
+
 	/**
 	 * Content assist action image identifier.
 	 */
 	public static final String IMG_LCL_DETAIL_PANE_UNDER= "IMG_LCL_DETAIL_PANE_UNDER"; //$NON-NLS-1$
-	
+
 	/**
 	 * Content assist action image identifier.
 	 */
 	public static final String IMG_LCL_DETAIL_PANE_RIGHT= "IMG_LCL_DETAIL_PANE_RIGHT"; //$NON-NLS-1$
-	
+
 	/**
 	 * Content assist action image identifier.
 	 */
 	public static final String IMG_LCL_DETAIL_PANE_HIDE= "IMG_LCL_DETAIL_PANE_HIDE"; //$NON-NLS-1$
-	
+
 	// Debug element images
-	
+
 	/** Debug mode launch image identifier. */
 	public static final String IMG_OBJS_LAUNCH_DEBUG= "IMG_OBJS_LAUNCH_DEBUG"; //$NON-NLS-1$
-	
+
 	/** Run mode launch image identifier. */
 	public static final String IMG_OBJS_LAUNCH_RUN= "IMG_OBJS_LAUNCH_RUN"; //$NON-NLS-1$
-	
+
 	/** Terminated run mode launch image identifier. */
 	public static final String IMG_OBJS_LAUNCH_RUN_TERMINATED= "IMG_OBJS_LAUNCH_RUN_TERMINATED"; //$NON-NLS-1$
-	
+
 	/** Running debug target image identifier. */
 	public static final String IMG_OBJS_DEBUG_TARGET= "IMG_OBJS_DEBUG_TARGET"; //$NON-NLS-1$
-	
+
 	/** Suspended debug target image identifier. */
 	public static final String IMG_OBJS_DEBUG_TARGET_SUSPENDED= "IMG_OBJS_DEBUG_TARGET_SUSPENDED"; //$NON-NLS-1$
-	
+
 	/** Terminated debug target image identifier. */
 	public static final String IMG_OBJS_DEBUG_TARGET_TERMINATED= "IMG_OBJS_DEBUG_TARGET_TERMINATED"; //$NON-NLS-1$
-	
+
 	/** Running thread image identifier. */
 	public static final String IMG_OBJS_THREAD_RUNNING= "IMG_OBJS_THREAD_RUNNING"; //$NON-NLS-1$
-	
+
 	/** Suspended thread image identifier. */
 	public static final String IMG_OBJS_THREAD_SUSPENDED= "IMG_OBJS_THREAD_SUSPENDED"; //$NON-NLS-1$
-	
+
 	/** Terminated thread image identifier. */
 	public static final String IMG_OBJS_THREAD_TERMINATED= "IMG_OBJS_THREAD_TERMINATED"; //$NON-NLS-1$
-	
+
 	/** Stack frame (suspended) image identifier. */
 	public static final String IMG_OBJS_STACKFRAME= "IMG_OBJS_STACKFRAME"; //$NON-NLS-1$
-	
+
 	/** Stack frame (running) image identifier. */
 	public static final String IMG_OBJS_STACKFRAME_RUNNING= "IMG_OBJS_STACKFRAME_RUNNING"; //$NON-NLS-1$
-	
+
 	/** Enabled breakpoint image identifier. */
 	public static final String IMG_OBJS_BREAKPOINT= "IMG_OBJS_BREAKPOINT"; //$NON-NLS-1$
-	
+
 	/** Disabled breakpoint image identifier. */
 	public static final String IMG_OBJS_BREAKPOINT_DISABLED= "IMG_OBJS_BREAKPOINT_DISABLED"; //$NON-NLS-1$
-	
+
 	/**
 	 * Breakpoint group image identifier.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String IMG_OBJS_BREAKPOINT_GROUP = "IMG_OBJS_BREAKPOINT_GROUP"; //$NON-NLS-1$
-	
+
 	/**
 	 * Disabled breakpoint group image identifier.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String IMG_OBJS_BREAKPOINT_GROUP_DISABLED = "IMG_OBJS_BREAKPOINT_GROUP_DISABLED"; //$NON-NLS-1$
-		
+
 	/**
 	 * Enabled watchpoint image identifier (access & modification).
 	 * @since 3.0
 	 */
 	public static final String IMG_OBJS_WATCHPOINT= "IMG_OBJS_WATCHPOINT"; //$NON-NLS-1$
-	
+
 	/**
 	 * Disabled watchpoint image identifier (access & modification).
 	 * @since 3.0
 	 */
 	public static final String IMG_OBJS_WATCHPOINT_DISABLED= "IMG_OBJS_WATCHPOINT_DISABLED"; //$NON-NLS-1$
-	
+
 	/**
 	 * Enabled access watchpoint image identifier.
 	 * @since 3.1
 	 */
 	public static final String IMG_OBJS_ACCESS_WATCHPOINT= "IMG_OBJS_ACCESS_WATCHPOINT"; //$NON-NLS-1$
-	
+
 	/**
 	 * Disabled access watchpoint image identifier.
 	 * @since 3.1
 	 */
 	public static final String IMG_OBJS_ACCESS_WATCHPOINT_DISABLED= "IMG_OBJS_ACCESS_WATCHPOINT_DISABLED"; //$NON-NLS-1$
-	
+
 	/**
 	 * Enabled modification watchpoint image identifier.
 	 * @since 3.1
 	 */
 	public static final String IMG_OBJS_MODIFICATION_WATCHPOINT= "IMG_OBJS_MODIFICATION_WATCHPOINT"; //$NON-NLS-1$
-	
+
 	/**
 	 * Disabled modification watchpoint image identifier.
 	 * @since 3.1
@@ -510,104 +510,104 @@
 
 	/** Running system process image identifier. */
 	public static final String IMG_OBJS_OS_PROCESS= "IMG_OBJS_OS_PROCESS"; //$NON-NLS-1$
-	
+
 	/** Terminated system process image identifier. */
 	public static final String IMG_OBJS_OS_PROCESS_TERMINATED= "IMG_OBJS_OS_PROCESS_TERMINATED"; //$NON-NLS-1$
-		
+
 	/**
 	 * Expression image identifier.
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String IMG_OBJS_EXPRESSION= "IMG_OBJS_EXPRESSION"; //$NON-NLS-1$
-	
+
 	/**
 	 * Generic variable image identifier.
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String IMG_OBJS_VARIABLE= "IMG_OBJS_VARIABLE"; //$NON-NLS-1$
 
 	/**
 	 * Generic identifier of register group image.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String IMG_OBJS_REGISTER_GROUP= "IMG_OBJS_REGISTER_GROUP"; //$NON-NLS-1$
 
 	/**
 	 * Generic register image identifier.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String IMG_OBJS_REGISTER= "IMG_OBJS_REGISTER"; //$NON-NLS-1$
 
 	/**
 	 * Environment image identifier.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String IMG_OBJS_ENVIRONMENT = "IMG_OBJS_ENVIRONMENT"; //$NON-NLS-1$
-	
+
 	/**
 	 * Environment variable image identifier.
-	 * 
+	 *
 	 * @since 3.0
 	 */
-	public static final String IMG_OBJS_ENV_VAR = "IMG_OBJS_ENV_VAR"; //$NON-NLS-1$	
-	
+	public static final String IMG_OBJS_ENV_VAR = "IMG_OBJS_ENV_VAR"; //$NON-NLS-1$
+
 	// views
-	
-	/** 
+
+	/**
 	 * Launches view image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String IMG_VIEW_LAUNCHES= "IMG_VIEW_LAUNCHES"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Breakpoints view image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
-	public static final String IMG_VIEW_BREAKPOINTS= "IMG_VIEW_BREAKPOINTS"; //$NON-NLS-1$	
+	public static final String IMG_VIEW_BREAKPOINTS= "IMG_VIEW_BREAKPOINTS"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * Variables view image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String IMG_VIEW_VARIABLES= "IMG_VIEW_VARIABLES"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Expressions view image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
-	public static final String IMG_VIEW_EXPRESSIONS= "IMG_VIEW_EXPRESSIONS"; //$NON-NLS-1$	
+	public static final String IMG_VIEW_EXPRESSIONS= "IMG_VIEW_EXPRESSIONS"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * Console view image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String IMG_VIEW_CONSOLE= "IMG_VIEW_CONSOLE"; //$NON-NLS-1$
-	
+
 	// perspective
-	/** 
+	/**
 	 * Debug perspective image identifier
-	 * 
+	 *
 	 * @since 2.0
 	 */
-	public static final String IMG_PERSPECTIVE_DEBUG= "IMG_PERSPECTIVE_DEBUG"; //$NON-NLS-1$			
-			
+	public static final String IMG_PERSPECTIVE_DEBUG= "IMG_PERSPECTIVE_DEBUG"; //$NON-NLS-1$
+
 	// wizard banners
 	/** Debug wizard banner image identifier. */
 	public static final String IMG_WIZBAN_DEBUG= "IMG_WIZBAN_DEBUG"; //$NON-NLS-1$
-	
+
 	/** Run wizard banner image identifier. */
 	public static final String IMG_WIZBAN_RUN= "IMG_WIZBAN_RUN"; //$NON-NLS-1$
-	
+
 	// overlays
 	/** Error overlay image identifier. */
 	public static final String IMG_OVR_ERROR = "IMG_OVR_ERROR";  //$NON-NLS-1$
@@ -617,7 +617,7 @@
      * @since 3.1
      */
     public static final String IMG_OVR_SKIP_BREAKPOINT = "IMG_OVR_SKIP_BREAKPOINT"; //$NON-NLS-1$
-    
+
 	/**
 	 * Debug action set identifier (value <code>"org.eclipse.debug.ui.debugActionSet"</code>).
 	 */
@@ -625,200 +625,200 @@
 
     /**
      * Debug Toolbar action set identifier (value <code>"org.eclipse.debug.ui.debugToolbarActionSet"</code>).
-     * 
+     *
      * @since 3.8
      */
     public static final String DEBUG_TOOLBAR_ACTION_SET= PLUGIN_ID + ".debugToolbarActionSet"; //$NON-NLS-1$
 
     /**
-     * System property which indicates whether the common debugging actions 
-     * should be shown in the Debug view, as opposed to the top level 
+     * System property which indicates whether the common debugging actions
+     * should be shown in the Debug view, as opposed to the top level
      * toolbar.  Actions contributing to the debug view can use this property
      * to control their visibility.
-     * 
+     *
      * @since 3.8
      */
     public static final String DEBUG_VIEW_TOOBAR_VISIBLE = PLUGIN_ID + ".debugViewToolbarVisible"; //$NON-NLS-1$
-        
+
 	/**
 	 * Launch action set identifier (value <code>"org.eclipse.debug.ui.launchActionSet"</code>).
 	 */
 	public static final String LAUNCH_ACTION_SET= PLUGIN_ID + ".launchActionSet"; //$NON-NLS-1$
-	
+
 	// extensions
 	/**
 	 * Identifier for the standard 'debug' launch group.
-	 * @since 2.1 
+	 * @since 2.1
 	 */
 	public static final String ID_DEBUG_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.debug"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for the standard 'run' launch group.
-	 * @since 2.1 
+	 * @since 2.1
 	 */
-	public static final String ID_RUN_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.run"; //$NON-NLS-1$	
-	
+	public static final String ID_RUN_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.run"; //$NON-NLS-1$
+
 	/**
 	 * Identifier for the standard 'profile' launch group.
-	 * @since 3.0 
+	 * @since 3.0
 	 */
-	public static final String ID_PROFILE_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.profile"; //$NON-NLS-1$	
-	
-	// menus 
-	
-	/** 
+	public static final String ID_PROFILE_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.profile"; //$NON-NLS-1$
+
+	// menus
+
+	/**
 	 * Identifier for an empty group preceding an
 	 * edit group in a menu (value <code>"emptyEditGroup"</code>).
 	 */
 	public static final String EMPTY_EDIT_GROUP = "emptyEditGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for an edit group in a menu (value <code>"editGroup"</code>).
 	 */
 	public static final String EDIT_GROUP = "editGroup"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * step group in a menu (value <code>"emptyStepGroup"</code>).
 	 */
 	public static final String EMPTY_STEP_GROUP = "emptyStepGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a step group in a menu or toolbar (value <code>"stepGroup"</code>).
 	 */
 	public static final String STEP_GROUP = "stepGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a step into group in a menu or toolbar (value <code>"stepIntoGroup"</code>).
 	 */
 	public static final String STEP_INTO_GROUP = "stepIntoGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a step over group in a menu or toolbar (value <code>"stepOverGroup"</code>).
 	 */
 	public static final String STEP_OVER_GROUP = "stepOverGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a step return group in a menu or toolbar (value <code>"stepReturnGroup"</code>).
 	 */
 	public static final String STEP_RETURN_GROUP = "stepReturnGroup"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * thread group in a menu (value <code>"emptyThreadGroup"</code>).
 	 */
 	public static final String EMPTY_THREAD_GROUP = "emptyThreadGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a thread group in a menu or toolbar(value <code>"threadGroup"</code>).
 	 */
 	public static final String THREAD_GROUP = "threadGroup"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * launch group in a menu (value <code>"emptyLaunchGroup"</code>).
 	 */
 	public static final String EMPTY_LAUNCH_GROUP = "emptyLaunchGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a launch group in a menu (value <code>"launchGroup"</code>).
 	 */
 	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for an output group in a menu (value
 	 * <code>"outputGroup"</code>).
 	 */
-	public static final String OUTPUT_GROUP = "outputGroup"; //$NON-NLS-1$	
-	
-	/** 
+	public static final String OUTPUT_GROUP = "outputGroup"; //$NON-NLS-1$
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * variable group in a menu (value <code>"emptyVariableGroup"</code>).
 	 */
 	public static final String EMPTY_VARIABLE_GROUP = "emptyVariableGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a variable group in a menu (value <code>"variableGroup"</code>).
 	 */
 	public static final String VARIABLE_GROUP = "variableGroup"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * navigation group in a menu (value <code>"emptyNavigationGroup"</code>).
 	 */
 	public static final String EMPTY_NAVIGATION_GROUP = "emptyNavigationGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a navigation group in a menu (value <code>"navigationGroup"</code>).
 	 */
 	public static final String NAVIGATION_GROUP = "navigationGroup"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * breakpoint group in a menu (value <code>"emptyBreakpointGroup"</code>).
 	 */
 	public static final String EMPTY_BREAKPOINT_GROUP = "emptyBreakpointGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a breakpoint group in a menu (value <code>"breakpointGroup"</code>).
 	 */
 	public static final String BREAKPOINT_GROUP = "breakpointGroup"; //$NON-NLS-1$
-		
+
 	/**
 	 * Identifier for a "breakpoint group" group in a menu (value <code>"breakpointGroupGroup"</code>).
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String BREAKPOINT_GROUP_GROUP = "breakpointGroupGroup"; //$NON-NLS-1$
-		
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding an
 	 * expression group in a menu (value <code>"emptyExpressionGroup"</code>).
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String EMPTY_EXPRESSION_GROUP = "emptyExpressionGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for an expression group in a menu (value <code>"expressionGroup"</code>).
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String EXPRESSION_GROUP = "expressionGroup"; //$NON-NLS-1$
-	/** 
+	/**
 	 * Identifier for an empty group preceding a
 	 * render group in a menu (value <code>"emptyRenderGroup"</code>).
 	 */
 	public static final String EMPTY_RENDER_GROUP = "emptyRenderGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a render group in a menu or toolbar(value <code>"renderGroup"</code>).
 	 */
 	public static final String RENDER_GROUP = "renderGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a property group in a menu (value <code>"propertyGroup"</code>).
 	 */
 	public static final String PROPERTY_GROUP = "propertyGroup"; //$NON-NLS-1$
-	
-	/** 
+
+	/**
 	 * Identifier for an empty group preceding a
 	 * register group in a menu (value <code>"emptyRegisterGroup"</code>).
 	 */
 	public static final String EMPTY_REGISTER_GROUP = "emptyRegisterGroup"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for a register group in a menu (value <code>"registerGroup"</code>).
 	 */
 	public static final String REGISTER_GROUP = "registerGroup"; //$NON-NLS-1$
 
-   /** 
+   /**
      * Identifier for an empty group preceding a
      * modules group in a menu (value <code>"emptyModulesGroup"</code>).
      * @since 3.4
      */
     public static final String EMPTY_MODULES_GROUP = "emptyModulesGroup"; //$NON-NLS-1$
-    
+
     /**
      * Identifier for a modules group in a menu (value <code>"modulesGroup"</code>).
      * @since 3.4
@@ -829,23 +829,23 @@
 	 * Id for the popup menu associated with the variables (tree viewer) part of the VariableView
 	 */
 	public static final String VARIABLE_VIEW_VARIABLE_ID = "org.eclipse.debug.ui.VariableView.variables"; //$NON-NLS-1$
-	
+
 	/**
 	 * Id for the popup menu associated with the detail (text viewer) part of the VariableView
 	 */
 	public static final String VARIABLE_VIEW_DETAIL_ID = "org.eclipse.debug.ui.VariableView.detail"; //$NON-NLS-1$
-	
+
 	// status codes
 	/**
 	 * Status indicating an invalid extension definition.
 	 */
 	public static final int STATUS_INVALID_EXTENSION_DEFINITION = 100;
-		
+
 	/**
 	 * Status code indicating an unexpected internal error.
 	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
+	public static final int INTERNAL_ERROR = 120;
+
 	// launch configuration attribute keys
 	/**
 	 * Launch configuration attribute - the perspective to
@@ -853,118 +853,118 @@
 	 * run mode (value <code>org.eclipse.debug.ui.target_run_perspective</code>).
 	 * Value is a string corresponding to a perspective identifier,
 	 * or <code>null</code> indicating no perspective change.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated Since 3.0, this launch configuration attribute is no longer supported.
 	 *  Use <code>DebugUITools.setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective)</code>.
 	 */
 	@Deprecated
 	public static final String ATTR_TARGET_RUN_PERSPECTIVE = PLUGIN_ID + ".target_run_perspective";	 //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration attribute - the perspective to
 	 * switch to when a launch configuration is launched in
 	 * debug mode (value <code>org.eclipse.debug.ui.target_debug_perspective</code>).
 	 * Value is a string corresponding to a perspective identifier,
 	 * or <code>null</code> indicating no perspective change.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated Since 3.0, this launch configuration attribute is no longer supported.
 	 *  Use <code>DebugUITools.setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective)</code>.
 	 */
 	@Deprecated
 	public static final String ATTR_TARGET_DEBUG_PERSPECTIVE = PLUGIN_ID + ".target_debug_perspective";		 //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration attribute - the container where the configuration file
 	 * is stored.  The container is set via the 'setContainer()' call on ILaunchConfigurationWorkingCopy.
 	 * This constant is only needed for persisting and reading the default value of the
 	 * container value for individual resources.
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String ATTR_CONTAINER = PLUGIN_ID + ".container"; //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration attribute - a boolean value that indicates if the launch configuration
 	 * is 'private'.  A private configuration is one that does not appear to the user in the launch
 	 * history or the launch configuration dialog.
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String ATTR_PRIVATE = ILaunchManager.ATTR_PRIVATE;
-	
+
 	/**
 	 * Launch configuration attribute - a boolean value that indicates if the launch configuration
 	 * is displayed in the debug favorites menu. Default value is
 	 * <code>false</code> if absent.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated use <code>ATTR_FAVORITE_GROUPS</code> instead
 	 */
 	@Deprecated
-	public static final String ATTR_DEBUG_FAVORITE = PLUGIN_ID + ".debugFavorite"; //$NON-NLS-1$	
-	
+	public static final String ATTR_DEBUG_FAVORITE = PLUGIN_ID + ".debugFavorite"; //$NON-NLS-1$
+
 	/**
 	 * Launch configuration attribute - a boolean value that indicates if the launch configuration
 	 * is displayed in the run favorites menu.Default value is
 	 * <code>false</code> if absent.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated use <code>ATTR_FAVORITE_GROUPS</code> instead
 	 */
 	@Deprecated
-	public static final String ATTR_RUN_FAVORITE = PLUGIN_ID + ".runFavorite"; //$NON-NLS-1$		
-	
+	public static final String ATTR_RUN_FAVORITE = PLUGIN_ID + ".runFavorite"; //$NON-NLS-1$
+
 	/**
 	 * Launch configuration attribute - a list of launch group identifiers
 	 * representing the favorite histories a launch configuration should appear
 	 * in. When <code>null</code>, the configuration does not appear in any
 	 * favorite lists.
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	public static final String ATTR_FAVORITE_GROUPS = PLUGIN_ID + ".favoriteGroups"; //$NON-NLS-1$
-		
+
 	/**
 	 * Launch configuration attribute - a boolean value indicating whether a
 	 * configuration should be launched in the background. Default value is <code>true</code>.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String ATTR_LAUNCH_IN_BACKGROUND = PLUGIN_ID + ".ATTR_LAUNCH_IN_BACKGROUND"; //$NON-NLS-1$
-	
+
 	/**
 	 * ProcessConsole attribute - references the process that was launched.
-	 * 
-	 * @since 3.1 
+	 *
+	 * @since 3.1
 	 */
 	public static final String ATTR_CONSOLE_PROCESS = PLUGIN_ID + ".ATTR_CONSOLE_PROCESS"; //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration attribute specifying the encoding that the console should use.
-	 * When unspecified, the default encoding is used. Encoding names are available 
+	 * When unspecified, the default encoding is used. Encoding names are available
 	 * from {@link org.eclipse.ui.WorkbenchEncoding}.
-	 * 
+	 *
 	 * @since 3.1
      * @deprecated in 3.3 Please use DebugPlugin.ATTR_CONSOLE_ENCODING instead.
 	 */
 	@Deprecated
 	public static final String ATTR_CONSOLE_ENCODING = DebugPlugin.ATTR_CONSOLE_ENCODING;
-	
+
 	/**
 	 * Launch configuration boolean attribute specifying whether output from the launched process will
 	 * be captured and written to the console. Default value is <code>true</code>.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ATTR_CAPTURE_IN_CONSOLE = PLUGIN_ID + ".ATTR_CONSOLE_OUTPUT_ON"; //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration boolean attribute specifying whether input for the
 	 * launched process will be captured from file. Default value is
 	 * <code>null</code>.
-	 * 
+	 *
 	 * @since 3.11
 	 */
 	public static final String ATTR_CAPTURE_STDIN_FILE = PLUGIN_ID + ".ATTR_CAPTURE_STDIN_FILE"; //$NON-NLS-1$
@@ -976,93 +976,93 @@
 	 * will be written to the file. The file name attribute may contain
 	 * variables which will be resolved by the
 	 * {@link org.eclipse.core.variables.IStringVariableManager}.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ATTR_CAPTURE_IN_FILE = PLUGIN_ID + ".ATTR_CAPTURE_IN_FILE"; //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration attribute specifying whether process output will be appended to the
 	 * file specified by the <code>ATTR_CAPTURE_IN_FILE</code> attribute instead of overwriting
 	 * the file. Default value is <code>false</code>.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ATTR_APPEND_TO_FILE = PLUGIN_ID + ".ATTR_APPEND_TO_FILE"; //$NON-NLS-1$
-	
+
 	// Extension points
-	
+
 	/**
 	 * Debug model presentation simple extension point identifier (value <code>"debugModelPresentations"</code>).
 	 */
 	public static final String ID_DEBUG_MODEL_PRESENTATION= "debugModelPresentations"; //$NON-NLS-1$
-	
+
 	/**
 	 * Debug action groups extension point identifier
 	 * (value <code>"debugActionGroups"</code>).
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated The Debug Action Groups extension point no longer exists. Product
-	 *  vendors should use Activities instead. 
+	 *  vendors should use Activities instead.
 	 */
 	@Deprecated
 	public static final String EXTENSION_POINT_DEBUG_ACTION_GROUPS= "debugActionGroups";	 //$NON-NLS-1$
-	
+
 	/**
 	 * Launch configuration tab groups extension point identifier
 	 * (value <code>"launchConfigurationTabGroups"</code>).
-	 * 
+	 *
 	 * @since 2.0
 	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS= "launchConfigurationTabGroups";	 //$NON-NLS-1$	
+	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS= "launchConfigurationTabGroups";	 //$NON-NLS-1$
 
 	/**
 	 * Contributed Launch Configuration Tab extension point identifier
 	 * (value <code>"launchConfigurationTabs"</code>).
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static final String EXTENSION_POINT_LAUNCH_TABS = "launchConfigurationTabs"; //$NON-NLS-1$
-	
+
 	/**
 	 * Launch shortcuts extension point identifier
 	 * (value <code>"launchShortcuts"</code>).
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String EXTENSION_POINT_LAUNCH_SHORTCUTS= "launchShortcuts";	 //$NON-NLS-1$
-	
+
 	/**
 	 * Extension point for launch configuration type images.
-	 * 
+	 *
 	 * @since 2.0
 	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES = "launchConfigurationTypeImages"; //$NON-NLS-1$	
-	
+	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES = "launchConfigurationTypeImages"; //$NON-NLS-1$
+
 	/**
 	 * Console document color provider extension point identifier
 	 * (value <code>"consoleColorProviders"</code>).
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	public static final String EXTENSION_POINT_CONSOLE_COLOR_PROVIDERS = "consoleColorProviders";	 //$NON-NLS-1$
-	
+
 	/**
 	 * Launch groups extension point identifier (value
 	 * <code>"launchGroups"</code>).
-	 * 
+	 *
 	 * @since 2.1
 	 */
 	public static final String EXTENSION_POINT_LAUNCH_GROUPS = "launchGroups";	 //$NON-NLS-1$
-	
+
 	/**
 	 * Console line trackers extension point identifier (value
 	 * <code>"consoleLineTrackers"</code>).
 	 *
 	 * @since 2.1
 	 */
-	public static final String EXTENSION_POINT_CONSOLE_LINE_TRACKERS = "consoleLineTrackers";	 //$NON-NLS-1$		
-		
+	public static final String EXTENSION_POINT_CONSOLE_LINE_TRACKERS = "consoleLineTrackers";	 //$NON-NLS-1$
+
 	/**
 	 * Variables content providers extension point identifier (value
 	 * <code>"variablesContentProviders"</code>).
@@ -1070,7 +1070,7 @@
 	 * @since 3.0
 	 */
 	public static final String EXTENSION_POINT_OBJECT_BROWSERS = "objectBrowsers";	 //$NON-NLS-1$
-		
+
 	/**
 	 * Launch variable components extension point identifier (value
 	 * <code>"launchVariableComponents"</code>). The launch variable
@@ -1078,45 +1078,45 @@
 	 * for an <code>IContextLaunchVariable</code>.
 	 */
 	public static final String EXTENSION_POINT_LAUNCH_VARIABLE_COMPONENTS = "launchVariableComponents";		//$NON-NLS-1$
-		
+
 	/**
 	 * Variable value editors extension point identifier (value
 	 * <code>"variableValueEditors"</code>
-     * 
+     *
      * @since 3.1
 	 */
 	public static final String EXTENSION_POINT_VARIABLE_VALUE_EDITORS = "variableValueEditors"; //$NON-NLS-1$
-	
+
     /**
      * Memory renderings extension point identifier (value
      * <code>"memoryRenderings"</code>
-     * 
+     *
      * @since 3.1
      * @deprecated  As of release 3.4, replaced by {@link #EXTENSION_POINT_MEMORY_RENDERINGS}
      */
     @Deprecated
 	public static final String EXTENSION_POINT_MEMORY_RENDERIGNS = "memoryRenderings"; //$NON-NLS-1$
-    
+
     /**
      * Memory renderings extension point identifier (value
      * <code>"memoryRenderings"</code>
-     * 
+     *
      * @since 3.4
      */
     public static final String EXTENSION_POINT_MEMORY_RENDERINGS = "memoryRenderings"; //$NON-NLS-1$
-    
+
     /**
      * Breakpoint organizers extension point identifier (value
      * <code>"breakpointOrganizers"</code>
-     * 
+     *
      * @since 3.1
      */
-    public static final String EXTENSION_POINT_BREAKPOINT_ORGANIZERS = "breakpointOrganizers"; //$NON-NLS-1$    
-	
+    public static final String EXTENSION_POINT_BREAKPOINT_ORGANIZERS = "breakpointOrganizers"; //$NON-NLS-1$
+
 	/**
 	 * Simple identifier constant (value <code>"detailPaneFactories"</code>) for the
 	 * detail pane factories extension point.
-	 * 
+	 *
 	 * @since 3.3
 	 */
 	public static final String EXTENSION_POINT_DETAIL_FACTORIES = "detailPaneFactories"; //$NON-NLS-1$
@@ -1124,7 +1124,7 @@
    /**
      * Simple identifier constant (value <code>"toggleBreakpointsTargetFactories"</code>) for the
      * toggle breakpoint targets extension point.
-     * 
+     *
      * @since 3.5
      */
     public static final String EXTENSION_POINT_TOGGLE_BREAKPOINTS_TARGET_FACTORIES = "toggleBreakpointsTargetFactories"; //$NON-NLS-1$
@@ -1132,13 +1132,13 @@
     /**
      * Update policies extension point identifier (value
      * <code>"updatePolicies"</code>
-     * 
+     *
      * @since 3.2
      */
-    public static final String EXTENSION_POINT_UPDATE_POLICIES = "updatePolicies"; //$NON-NLS-1$    
+    public static final String EXTENSION_POINT_UPDATE_POLICIES = "updatePolicies"; //$NON-NLS-1$
 
 	/**
-	 * Padded string preference for renderings.  Padded string is the string to be used in place of 
+	 * Padded string preference for renderings.  Padded string is the string to be used in place of
 	 * of a memory byte if a rendering cannot render the data properly.
 	 * @since 3.1
 	 */
@@ -1159,23 +1159,23 @@
 	/**
 	 * Maximum number of characters to display in the details area of the variables
 	 * view, or 0 if unlimited.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_MAX_DETAIL_LENGTH = PLUGIN_ID + ".max_detail_length"; //$NON-NLS-1$
-	
+
 	/**
 	 * Identifier for breakpoint working set type.
 	 * <br>
-	 * Value is: <code>org.eclipse.debug.ui.breakpointWorkingSet</code> 
-	 * 
+	 * Value is: <code>org.eclipse.debug.ui.breakpointWorkingSet</code>
+	 *
 	 * @since 3.2
 	 */
-	public static final String BREAKPOINT_WORKINGSET_ID = "org.eclipse.debug.ui.breakpointWorkingSet"; //$NON-NLS-1$	
+	public static final String BREAKPOINT_WORKINGSET_ID = "org.eclipse.debug.ui.breakpointWorkingSet"; //$NON-NLS-1$
 
 	/**
 	 * Memory view identifier (value <code>"org.eclipse.debug.ui.MemoryView"</code>).
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static String ID_MEMORY_VIEW = "org.eclipse.debug.ui.MemoryView";  //$NON-NLS-1$
@@ -1183,7 +1183,7 @@
 	/**
 	 * Memory view's rendering view pane identifier for the rendering view pane
 	 * on the left. (value <code>"org.eclipse.debug.ui.MemoryView.RenderingViewPane.1"</code>).
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static String ID_RENDERING_VIEW_PANE_1 = "org.eclipse.debug.ui.MemoryView.RenderingViewPane.1"; //$NON-NLS-1$
@@ -1191,15 +1191,15 @@
 	/**
 	 * Memory view's rendering view pane identifier for the rendering view pane
 	 * on the right. (value <code>"org.eclipse.debug.ui.MemoryView.RenderingViewPane.2"</code>).
-	 * 
-	 * @since 3.2 
+	 *
+	 * @since 3.2
 	 */
 	public static String ID_RENDERING_VIEW_PANE_2 = "org.eclipse.debug.ui.MemoryView.RenderingViewPane.2"; //$NON-NLS-1$
 
 	/**
 	 * Preference color to indicate that a <code>MemoryByte</code> does not have history.
 	 * (value <code> org.eclipse.debug.ui.MemoryHistoryUnknownColor </code>)
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_MEMORY_HISTORY_UNKNOWN_COLOR = PLUGIN_ID + ".MemoryHistoryUnknownColor"; //$NON-NLS-1$
@@ -1207,35 +1207,35 @@
 	/**
 	 * 	Preference color to indicate that a <code>MemoryByte</code> has history.
 	 * (value <code> org.eclipse.debug.ui.MemoryHistoryKnownColor </code>)
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PREF_MEMORY_HISTORY_KNOWN_COLOR = PLUGIN_ID + ".MemoryHistoryKnownColor"; //$NON-NLS-1$
-	
+
     /**
      * Annotation type identifier for default annotation of the current instruction
      * pointer (top stack frame in a thread). Value is <code>org.eclipse.debug.ui.currentIP</code>,
      * identifying a <code>org.eclipse.ui.editors.markerAnnotationSpecification</code>
      * extension.
-     * 
+     *
      * @since 3.2
      */
     public static final String ANNOTATION_TYPE_INSTRUCTION_POINTER_CURRENT = "org.eclipse.debug.ui.currentIP"; //$NON-NLS-1$
-    
+
     /**
      * Annotation type identifier for default annotation of secondary instruction pointers
      * (non top stack frames). Value is <code>org.eclipse.debug.ui.secondaryIP</code>,
      * identifying a <code>org.eclipse.ui.editors.markerAnnotationSpecification</code>
      * extension.
-     * 
+     *
      * @since 3.2
      */
-    public static final String ANNOTATION_TYPE_INSTRUCTION_POINTER_SECONDARY = "org.eclipse.debug.ui.secondaryIP"; //$NON-NLS-1$	
+    public static final String ANNOTATION_TYPE_INSTRUCTION_POINTER_SECONDARY = "org.eclipse.debug.ui.secondaryIP"; //$NON-NLS-1$
 
 	/**
 	 * Editor Identifier for the "Common Source Not Found" editor.
 	 * Value is <code>org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor</code>
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String ID_COMMON_SOURCE_NOT_FOUND_EDITOR="org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor"; //$NON-NLS-1$
@@ -1245,7 +1245,7 @@
 	 * (value <code>org.eclipse.debug.ui.changedDebugElement</code>).
 	 * For example, when a variable value changes, variables are rendered in this
 	 * color.
-	 * 
+	 *
 	 * @since 3.2
 	 * @see DebugUITools
 	 */
@@ -1254,7 +1254,7 @@
 
 	/**
 	 * Preference for background color in tree columns when a value changes color.
-	 * 
+	 *
 	 * @since 3.5
 	 * @see DebugUITools
 	 */
@@ -1264,84 +1264,84 @@
 	/**
 	 * The name of the font to use for the variable text in the variables, registers and expression views.
 	 * This font is managed via the workbench font preference page.
-	 * 
+	 *
 	 * @since 3.5
-	 */ 
-	public static final String PREF_VARIABLE_TEXT_FONT= "org.eclipse.debug.ui.VariableTextFont"; //$NON-NLS-1$   
+	 */
+	public static final String PREF_VARIABLE_TEXT_FONT= "org.eclipse.debug.ui.VariableTextFont"; //$NON-NLS-1$
 
 	/**
 	 * The name of the font to use for detail panes. This font is managed via
 	 * the workbench font preference page.
-	 * 
+	 *
 	 * @since 3.5
-	 */ 
-	public static final String PREF_DETAIL_PANE_FONT= "org.eclipse.debug.ui.DetailPaneFont"; //$NON-NLS-1$   
+	 */
+	public static final String PREF_DETAIL_PANE_FONT= "org.eclipse.debug.ui.DetailPaneFont"; //$NON-NLS-1$
 
 	/**
 	 * Instruction pointer image for editor ruler for the currently executing
 	 * instruction in the top stack frame.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String IMG_OBJS_INSTRUCTION_POINTER_TOP = "IMG_OBJS_INSTRUCTION_POINTER_TOP"; //$NON-NLS-1$
 
 	/**
 	 * Instruction pointer image for editor ruler for secondary (non-top) stack frames.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String IMG_OBJS_INSTRUCTION_POINTER = "IMG_OBJS_INSTRUCTION_POINTER"; //$NON-NLS-1$
 
 	/**
-	 * A key for a system property that indicates whether there are toggle 
+	 * A key for a system property that indicates whether there are toggle
 	 * breakpoint factories registered in this installation. This can be used
 	 * to trigger the UI to include menus related to breakpoint types.
-	 * 
+	 *
 	 * @since 3.5
 	 */
 	public static final String SYS_PROP_BREAKPOINT_TOGGLE_FACTORIES_USED = "org.eclipse.debug.ui.breakpoints.toggleFactoriesUsed"; //$NON-NLS-1$
-	
+
 	/**
 	 * Name of the debug context variable which can be used in standard
 	 * expressions and command handlers to access the active debug context.
-	 * 
+	 *
 	 * @since 3.5
 	 */
 	public static final String DEBUG_CONTEXT_SOURCE_NAME = "debugContext"; //$NON-NLS-1$
 
-	
+
 	/**
-	 * ID for the default column layout for the variables, expressions 
+	 * ID for the default column layout for the variables, expressions
 	 * and registers views.
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	public final static String COLUMN_PRESENTATION_ID_VARIABLE = IDebugUIConstants.PLUGIN_ID + ".VARIALBE_COLUMN_PRESENTATION";  //$NON-NLS-1$
-	
+
 	/**
 	 * Default ID for the "Name" column in the Variables views.
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	public final static String COLUMN_ID_VARIABLE_NAME = COLUMN_PRESENTATION_ID_VARIABLE + ".COL_VAR_NAME"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default ID for the "Declared Type" column in the Variables views.
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	public final static String COLUMN_ID_VARIABLE_TYPE = COLUMN_PRESENTATION_ID_VARIABLE + ".COL_VAR_TYPE"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default ID for the "Value" column in the Variables views.
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	public final static String COLUMN_ID_VARIABLE_VALUE = COLUMN_PRESENTATION_ID_VARIABLE + ".COL_VAR_VALUE"; //$NON-NLS-1$
-	
+
 	/**
 	 * Default ID for the "Actual Type" column in the Variables views.
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	public final static String COLUMN_ID_VARIABLE_VALUE_TYPE = COLUMN_PRESENTATION_ID_VARIABLE + ".COL_VALUE_TYPE"; //$NON-NLS-1$
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
index d6e6b6b..3958fec 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
@@ -34,13 +34,13 @@
  */
 
 public interface IDebugView extends IViewPart {
-	
+
 	/**
 	 * Action id for a view's copy action. Any view
 	 * with a copy action that should be invoked when
 	 * CTRL+C is pressed should store their
 	 * copy action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String COPY_ACTION = ActionFactory.COPY.getId();
@@ -50,7 +50,7 @@
 	 * with a cut action that should be invoked when
 	 * CTRL+X is pressed should store their
 	 * cut action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String CUT_ACTION = ActionFactory.CUT.getId();
@@ -60,7 +60,7 @@
 	 * with an action that should be invoked when
 	 * the mouse is double-clicked should store their
 	 * double-click action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String DOUBLE_CLICK_ACTION = "Double_Click_ActionId";	 //$NON-NLS-1$
@@ -70,7 +70,7 @@
 	 * with a find action that should be invoked when
 	 * CTRL+F is pressed should store their
 	 * find action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String FIND_ACTION = ActionFactory.FIND.getId();
@@ -80,7 +80,7 @@
 	 * with a paste action that should be invoked when
 	 * CTRL+V is pressed should store their
 	 * paste action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String PASTE_ACTION = ActionFactory.PASTE.getId();
@@ -90,7 +90,7 @@
 	 * with a remove action that should be invoked when
 	 * the delete key is pressed should store their
 	 * remove action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String REMOVE_ACTION = "Remove_ActionId"; //$NON-NLS-1$
@@ -100,18 +100,18 @@
 	 * with a select all action that should be invoked when
 	 * CTRL+A is pressed should store their
 	 * select all action with this key.
-	 * 
+	 *
 	 * @see #setAction(String, IAction)
 	 */
 	public static final String SELECT_ALL_ACTION = ActionFactory.SELECT_ALL.getId();
-	
+
 	/**
 	 * Returns the viewer contained in this debug view.
 	 *
 	 * @return viewer
 	 */
 	public Viewer getViewer();
-	
+
 	/**
 	 * Returns the debug model presentation for this view specified
 	 * by the debug model identifier.
@@ -122,42 +122,42 @@
 	 *     presentation is registered for the specified id
 	 */
 	public IDebugModelPresentation getPresentation(String id);
-	
+
 	/**
 	 * Installs the given action under the given action id.
 	 *
 	 * If the action has an id that maps to one of the global
-	 * action ids defined by this interface, the action is registered 
+	 * action ids defined by this interface, the action is registered
 	 * as a global action handler.
 	 *
 	 * If the action is an instance of <code>IUpdate</code> it is added/remove
 	 * from the collection of updateables associated with this view.
-	 * 
+	 *
 	 * @param actionID the action id
 	 * @param action the action, or <code>null</code> to clear it
 	 * @see #getAction
 	 */
 	public void setAction(String actionID, IAction action);
-	
+
 	/**
 	 * Adds the given IUpdate to this view's collection of updatable
 	 * objects.  Allows the view to periodically update these registered
-	 * objects.  
+	 * objects.
 	 * Has no effect if an identical IUpdate is already registered.
-	 * 
+	 *
 	 * @param updatable The IUpdate instance to be added
 	 */
 	public void add(IUpdate updatable);
-	
+
 	/**
 	 * Removes the given IUpdate from this view's collection of updatable
 	 * objects.
  	 * Has no effect if an identical IUpdate was not already registered.
- 	 * 
+ 	 *
 	 * @param updatable The IUpdate instance to be removed
 	 */
 	public void remove(IUpdate updatable);
-	
+
 	/**
 	 * Returns the action installed under the given action id.
 	 *
@@ -166,7 +166,7 @@
 	 * @see #setAction
 	 */
 	public IAction getAction(String actionID);
-	
+
 	/**
 	 * Returns the context menu manager for this view.
 	 *
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane.java
index 9dc2c84..7e0381f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane.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
  *     Wind River - Anton Leherbauer - Fix selection provider (Bug 254442)
@@ -26,7 +26,7 @@
  * </p>
  * @see IDetailPaneFactory
  * @see IDetailPane2
- * @since 3.3 
+ * @since 3.3
  */
 public interface IDetailPane {
 
@@ -34,64 +34,64 @@
 	 * Initializes this detail pane for the given workbench part site. This is the first method
 	 * invoked on a detail pane after instantiation.  If this detail pane is being added to a
 	 * non-view component such as a dialog, the passed workbench part site will be <code>null</code>.
-	 * 
+	 *
 	 * @param partSite The workbench part site that this detail pane has been created in or <code>null</code>
 	 */
 	public void init(IWorkbenchPartSite partSite);
-	
+
 	/**
 	 * Creates and returns the main control for this detail pane using the given composite as a
 	 * parent.
-	 * 
+	 *
 	 * @param parent The parent composite that UI components should be added to
 	 * @return The main control for this detail pane
 	 */
 	public Control createControl(Composite parent);
-	
+
 	/**
 	 * Disposes this detail pane. This is the last method invoked on a detail pane and should
 	 * dispose of all UI components including the main composite returned in <code>createControl()</code>.
 	 */
 	public void dispose();
-	
+
 	/**
 	 * Displays details for the given selection, possible <code>null</code>.  An empty selection
 	 * or <code>null</code> should clear this detail pane.
-	 * 
+	 *
 	 * @param selection The selection to be displayed, possibly empty or <code>null</code>
 	 */
 	public void display(IStructuredSelection selection);
-	
+
 	/**
 	 * Allows this detail pane to give focus to an appropriate control, and returns whether
 	 * the detail pane accepted focus. If this detail pane does not want focus, it should
 	 * return <code>false</code>, allowing the containing view to choose another target
 	 * for focus.
-	 * 
+	 *
 	 * @return whether focus was taken
 	 */
 	public boolean setFocus();
-	
+
 	/**
 	 * Returns a unique identifier for this detail pane.
-	 * 
+	 *
 	 * @return A unique identifier for this detail pane
 	 */
 	public String getID();
-	
+
 	/**
 	 * The human readable name of this detail pane. This is a short description of the type
 	 * of details this pane displays that appears in the context menu.
-	 * 
+	 *
 	 * @return name of this detail pane
 	 */
 	public String getName();
-	
+
 	/**
 	 * A brief description of this detail pane, or <code>null</code> if none
-	 * 
+	 *
 	 * @return a description of this detail pane, or <code>null</code> if none
 	 */
 	public String getDescription();
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane2.java
index 1a6fb51..036de50 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane2.java
@@ -19,7 +19,7 @@
  * <p>
  * Clients may implement this interface.
  * </p>
- * 
+ *
  * @since 3.5
  */
 public interface IDetailPane2 extends IDetailPane {
@@ -31,7 +31,7 @@
 	 * returned by {@link #createControl(org.eclipse.swt.widgets.Composite)
 	 * createControl(Composite)}.
 	 * </p>
-	 * 
+	 *
 	 * @return the selection provider of this detail pane or <code>null</code>
 	 */
 	public ISelectionProvider getSelectionProvider();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane3.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane3.java
index ae16374..fd53bf4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane3.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPane3.java
@@ -20,7 +20,7 @@
  * <p>
  * Clients may implement this interface.
  * </p>
- * 
+ *
  * @since 3.6
  */
 public interface IDetailPane3 extends IDetailPane, ISaveablePart {
@@ -35,12 +35,12 @@
 	 * @param listener a property listener
 	 */
 	public void addPropertyListener(IPropertyListener listener);
-	
+
 	/**
 	 * Removes the given property listener from this workbench part.
 	 * Has no effect if an identical listener is not registered.
 	 *
 	 * @param listener a property listener
 	 */
-    public void removePropertyListener(IPropertyListener listener);	
+    public void removePropertyListener(IPropertyListener listener);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPaneFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPaneFactory.java
index c92e41e..60955e4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPaneFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDetailPaneFactory.java
@@ -15,7 +15,7 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 /**
- * A detail pane factory creates one or more types of detail panes. 
+ * A detail pane factory creates one or more types of detail panes.
  * <p>
  * Detail pane factories are contributed via the <code>org.eclipse.debug.ui.detailPaneFactories</code>
  * extension point. Following is an example of a detail pane factory extension:
@@ -31,7 +31,7 @@
  * <p>
  * <p>
  * Clients contributing a detail pane factory are intended to implement this interface.
- * @see IDetailPane  
+ * @see IDetailPane
  * @since 3.3
  *
  */
@@ -41,50 +41,50 @@
 	 * Returns all possible types detail panes that this factory can
 	 * create for the given selection, possibly empty. Detail panes are returned
 	 * as a set of detail pane identifiers.
-	 * 
+	 *
 	 * @param selection The current selection
 	 * @return Set of String IDs for possible detail pane types, possibly empty
 	 */
 	public Set<String> getDetailPaneTypes(IStructuredSelection selection);
-	
+
 	/**
-	 * Returns the identifier of the default detail pane type to use for the given 
-	 * selection, or <code>null</code> if this factory has no preference. 
+	 * Returns the identifier of the default detail pane type to use for the given
+	 * selection, or <code>null</code> if this factory has no preference.
 	 * A factory can override the platform's default detail pane by returning
-	 * a non-<code>null</code> value.  
-	 * 
+	 * a non-<code>null</code> value.
+	 *
 	 * @param selection The current selection
 	 * @return a detail pane type identifier or <code>null</code>
 	 */
 	public String getDefaultDetailPane(IStructuredSelection selection);
-	
+
 	/**
 	 * Creates and returns a detail pane corresponding to the given detail pane
-	 * type identifier that this factory can produce (according to 
+	 * type identifier that this factory can produce (according to
 	 * <code>getDetailPaneTypes(IStructuredSelection selection)</code>).
-	 *  
+	 *
 	 * @param paneID The id of the detain pane type to be created
 	 * @return detail pane or <code>null</code> if one could not be created
 	 */
 	public IDetailPane createDetailPane(String paneID);
-	
+
 	/**
 	 * Returns a name for the detail pane type associated with the given ID
 	 * or <code>null</code> if none. Used to
 	 * populate the context menu with meaningful names of the pane types.
-	 * 
+	 *
 	 * @param paneID detail pane type identifier
 	 * @return detail pane name or <code>null</code> if none
 	 */
 	public String getDetailPaneName(String paneID);
-	
+
 	/**
 	 * Returns a description for the detail pane type associated with the given ID
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param paneID detail pane type identifier
 	 * @return detail pane description or <code>null</code> if none
 	 */
 	public String getDetailPaneDescription(String paneID);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IInstructionPointerPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IInstructionPointerPresentation.java
index 3b90b38..154504c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IInstructionPointerPresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IInstructionPointerPresentation.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
  *******************************************************************************/
@@ -26,7 +26,7 @@
  * <li>Specify the annotation object to use. This is done by returning a non-<code>null</code>
  *  value from <code>getInstructionPointerAnnotation(..)</code>.</li>
  * <li>Specify an <code>annotationType</code> extension to use.
- *  This is done by returning a non-<code>null</code> value from 
+ *  This is done by returning a non-<code>null</code> value from
  *  <code>getInstructionPointerAnnotationType(..)</code>. When specified, the annotation
  *  type controls the image displayed via its associated
  *  <code>markerAnnotationSpecification</code>.</li>
@@ -58,26 +58,26 @@
 	/**
 	 * Returns an annotation used for the specified stack frame in the specified
 	 * editor, or <code>null</code> if a default annotation should be used.
-     * 
+     *
 	 * @param editorPart the editor the debugger has opened
 	 * @param frame the stack frame for which the debugger is displaying
 	 *  source
 	 *  @return annotation or <code>null</code>
 	 */
 	public Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame);
-	
+
 	/**
 	 * Returns an identifier of a <code>org.eclipse.ui.editors.annotationTypes</code> extension used for
 	 * the specified stack frame in the specified editor, or <code>null</code> if a default annotation
 	 * should be used.
-	 * 
+	 *
 	 * @param editorPart the editor the debugger has opened
 	 * @param frame the stack frame for which the debugger is displaying
 	 *  source
 	 *  @return annotation type identifier or <code>null</code>
-	 */	
+	 */
 	public String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame);
-	
+
 	/**
 	 * Returns the instruction pointer image used for the specified stack frame in the specified
 	 * editor, or <code>null</code> if a default image should be used.
@@ -89,9 +89,9 @@
 	 * @param frame the stack frame for which the debugger is displaying
 	 *  source
 	 *  @return image or <code>null</code>
-	 */		
+	 */
 	public Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame);
-	
+
 	/**
 	 * Returns the text to associate with the instruction pointer annotation used for the
 	 * specified stack frame in the specified editor, or <code>null</code> if a default
@@ -104,6 +104,6 @@
 	 * @param frame the stack frame for which the debugger is displaying
 	 *  source
 	 *  @return message or <code>null</code>
-	 */			
+	 */
 	public String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
index 8505b03..e3615ec 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
@@ -12,7 +12,7 @@
 
 import org.eclipse.jface.operation.IRunnableContext;
 
- 
+
  /**
   * A launch configuration dialog is used to edit and launch
   * launch configurations. It contains a launch configuration
@@ -25,19 +25,19 @@
   */
 
 public interface ILaunchConfigurationDialog extends IRunnableContext {
-	
+
 	/**
 	 * Return value from <code>open()</code> method of a
 	 * launch configuration dialog when a launch completed
 	 * successfully with a single click (without opening a
 	 * launch configuration dialog).
-	 * 
+	 *
 	 * @deprecated the launch dialog no longer supports launching without
 	 * 	opening - this constant will never be returned by the dialog
 	 */
 	@Deprecated
 	public static final int LAUNCHED_BEFORE_OPENING = 2;
-			
+
 	/**
 	 * Adjusts the enable state of this dialog's buttons
 	 * to reflect the state of the active tab group.
@@ -47,76 +47,76 @@
 	 * </p>
 	 */
 	public void updateButtons();
-	
+
 	/**
-	 * Updates the message (or error message) shown in the message line to 
+	 * Updates the message (or error message) shown in the message line to
 	 * reflect the state of the currently active tab in this launch
 	 * configuration dialog.
 	 * <p>
-	 * This method may be called to force a message 
+	 * This method may be called to force a message
 	 * update.
 	 * </p>
 	 */
 	public void updateMessage();
-	
+
 	/**
 	 * Sets the contents of the name field to the given name.
-	 * 
+	 *
 	 * @param name new name value
-	 */ 
+	 */
 	public void setName(String name);
-	
+
 	/**
 	 * Returns a unique launch configuration name, using the given name
 	 * as a seed.
-	 * 
+	 *
 	 * @param name seed from which to generate a new unique name
 	 * @return the new unique launch configuration name
-	 */ 
+	 */
 	public String generateName(String name);
-	
+
 	/**
 	 * Returns the tabs currently being displayed, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @return currently displayed tabs, or <code>null</code>
 	 */
 	public ILaunchConfigurationTab[] getTabs();
-	
+
 	/**
 	 * Returns the currently active <code>ILaunchConfigurationTab</code>
 	 * being displayed, or <code>null</code> if there is none.
-	 * 
+	 *
 	 * @return currently active <code>ILaunchConfigurationTab</code>, or <code>null</code>.
 	 */
 	public ILaunchConfigurationTab getActiveTab();
-	
+
 	/**
 	 * Returns the mode in which this dialog was opened -
 	 * run or debug.
-	 * 
+	 *
 	 * @return one of <code>RUN_MODE</code> or <code>DEBUG_MODE</code> defined in <code>ILaunchManager</code>
 	 * @see org.eclipse.debug.core.ILaunchManager
 	 */
-	public String getMode();	
-	
+	public String getMode();
+
 	/**
 	 * Sets the displayed tab to the given tab. Has no effect if the specified
 	 * tab is not one of the tabs being displayed in the dialog currently.
-	 * 
+	 *
 	 * @param tab the tab to display/activate
 	 * @since 2.1
 	 */
 	public void setActiveTab(ILaunchConfigurationTab tab);
-	
+
 	/**
 	 * Sets the displayed tab to the tab with the given index. Has no effect if
 	 * the specified index is not within the limits of the tabs returned by
 	 * <code>getTabs()</code>.
-	 * 
+	 *
 	 * @param index the index of the tab to display
 	 * @since 2.1
 	 */
-	public void setActiveTab(int index);	
-		
+	public void setActiveTab(int index);
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
index e13d559..3a8551d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
@@ -17,19 +17,19 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
- 
+
 /**
  * A launch configuration tab is used to edit/view attributes
  * of a specific type of launch configuration. Launch
  * configurations are presented in a dialog, with a tab folder.
  * Each tab manipulates one ore more attributes of a launch
- * configuration. 
+ * configuration.
  * <p>
  * A tab has the following lifecycle methods:
  * <ul>
- * <li><code>setLaunchConfigurationDialog(ILaunchConfigurationDialog)</code> - 
+ * <li><code>setLaunchConfigurationDialog(ILaunchConfigurationDialog)</code> -
  *  this is the first method called on a tab after it is instantiated.</li>
- * <li><code>initializeFrom(ILaunchConfiguration)</code> - called when a 
+ * <li><code>initializeFrom(ILaunchConfiguration)</code> - called when a
  *  launch configuration is selected to be displayed.</li>
  * <li><code>activated(ILaunchConfigurationWorkingCopy)</code> - called when
  *  a tab is entered.</li>
@@ -75,7 +75,7 @@
 	 * @param parent the parent composite
 	 */
 	public void createControl(Composite parent);
-	
+
 	/**
 	 * Returns the top level control for this tab.
 	 * <p>
@@ -85,8 +85,8 @@
 	 *
 	 * @return the top level control or <code>null</code>
 	 */
-	public Control getControl();	
-	
+	public Control getControl();
+
 	/**
 	 * Initializes the given launch configuration with
 	 * default values for this tab. This method
@@ -94,36 +94,36 @@
 	 * such that the configuration can be initialized with
 	 * meaningful values. This method may be called before this
 	 * tab's control is created.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);	
-	
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);
+
 	/**
 	 * Initializes this tab's controls with values from the given
 	 * launch configuration. This method is called when
 	 * a configuration is selected to view or edit, after this
 	 * tab's control has been created.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 */
-	public void initializeFrom(ILaunchConfiguration configuration);		
-	
+	public void initializeFrom(ILaunchConfiguration configuration);
+
 	/**
 	 * Notifies this launch configuration tab that it has
 	 * been disposed. Marks the end of this tab's lifecycle,
 	 * allowing this tab to perform any cleanup required.
 	 */
 	public void dispose();
-	
+
 	/**
-	 * Copies values from this tab into the given 
+	 * Copies values from this tab into the given
 	 * launch configuration.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 */
 	public void performApply(ILaunchConfigurationWorkingCopy configuration);
-	
+
 	/**
 	 * Returns the current error message for this tab.
 	 * May be <code>null</code> to indicate no error message.
@@ -132,23 +132,23 @@
 	 * as opposed to a message which may simply provide instruction
 	 * or information to the user.
 	 * </p>
-	 * 
+	 *
 	 * @return the error message, or <code>null</code> if none
 	 */
 	public String getErrorMessage();
-	
+
 	/**
 	 * Returns the current message for this tab.
 	 * <p>
-	 * A message provides instruction or information to the 
-	 * user, as opposed to an error message which should 
+	 * A message provides instruction or information to the
+	 * user, as opposed to an error message which should
 	 * describe some error state.
 	 * </p>
-	 * 
+	 *
 	 * @return the message, or <code>null</code> if none
 	 */
-	public String getMessage();	
-	
+	public String getMessage();
+
 	/**
 	 * Returns whether this tab is in a valid state in the context of the specified launch configuration.
 	 * <p>
@@ -162,38 +162,38 @@
 	 * @return whether this tab is in a valid state
 	 */
 	public boolean isValid(ILaunchConfiguration launchConfig);
-	
+
 	/**
 	 * Returns whether this tab is in a state that allows the launch configuration whose values
 	 * this tab is showing to be saved.  This differs from <code>isValid()</code> in that <code>canSave()</code>
 	 * determines if this tab prevents the current launch configuration from being saved, whereas
 	 * <code>isValid()</code> determines if this tab prevents the current launch configuration from
 	 * being launched.
-	 * 
+	 *
 	 * <p>
 	 * This information is typically used by the launch configuration
 	 * dialog to decide when it is okay to save a launch configuration.
 	 * </p>
-	 * 
+	 *
 	 * @return whether this tab is in a state that allows the current launch configuration to be saved
 	 */
 	public boolean canSave();
-	
+
 	/**
 	 * Sets the launch configuration dialog that hosts this tab.
 	 * This is the first method called on a launch configuration
 	 * tab, and marks the beginning of this tab's lifecycle.
-	 * 
+	 *
 	 * @param dialog launch configuration dialog
 	 */
 	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog);
-	
+
 	/**
 	 * Notifies this tab that the specified configuration has been
 	 * launched, resulting in the given launch. This method can be
 	 * called when a tab's control does not exist, to support single-click
 	 * launching.
-	 * 
+	 *
 	 * @param launch the result of launching the current
 	 *  launch configuration
 	 * @deprecated As of R3.0, this method is no longer called by the launch
@@ -203,34 +203,34 @@
 	 */
 	@Deprecated
 	public void launched(ILaunch launch);
-	
+
 	/**
 	 * Returns the name of this tab.
-	 * 
+	 *
 	 * @return the name of this tab
 	 */
 	public String getName();
-	
+
 	/**
 	 * Returns the image for this tab, or <code>null</code> if none
-	 * 
+	 *
 	 * @return the image for this tab, or <code>null</code> if none
 	 */
-	public Image getImage();	
-	
+	public Image getImage();
+
 	/**
 	 * Notification that this tab has become the active tab in the launch
 	 * configuration dialog.
-	 * 
+	 *
 	 * @param workingCopy the launch configuration being edited
 	 * @since 3.0
 	 */
 	public void activated(ILaunchConfigurationWorkingCopy workingCopy);
-	
+
 	/**
 	 * Notification that this tab is no longer the active tab in the launch
 	 * configuration dialog.
-	 *  
+	 *
 	 * @param workingCopy the launch configuration being edited
 	 * @since 3.0
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab2.java
index b019f87..3aa2a08 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab2.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:
  *     Mohamed Hussein (Mentor Graphics) - initial API and implementation (Bug 386673)
  *******************************************************************************/
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
index 340629a..fd0235f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
@@ -14,7 +14,7 @@
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
- 
+
 /**
  * A launch configuration tab group is used to edit/view attributes
  * of a specific type of launch configuration. Launch
@@ -27,9 +27,9 @@
  * <p>
  * A tab group has the following lifecycle methods:
  * <ul>
- * <li><code>createTabs(ILaunchConfigurationDialog, String)</code> - 
+ * <li><code>createTabs(ILaunchConfigurationDialog, String)</code> -
  *  this is the first method called on a tab group after it is instantiated.</li>
- * <li><code>initializeFrom(ILaunchConfiguration)</code> - called when a 
+ * <li><code>initializeFrom(ILaunchConfiguration)</code> - called when a
  *  launch configuration is selected to be displayed.</li>
  * <li><code>performApply(ILaunchConfigurationWorkingCopy)</code> - called when
  *  a tab group's values are to be written to a launch configuration.</li>
@@ -56,7 +56,7 @@
  * group extension.
  * <pre>
  * &lt;extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"&gt;
- *   &lt;launchConfigurationTabGroup 
+ *   &lt;launchConfigurationTabGroup
  *      id="com.example.ExampleTabGroup"
  *      type="com.example.ExampleLaunchConfigurationTypeIdentifier"
  *      class="com.example.ExampleLaunchConfigurationTabGroupClass"&gt;
@@ -88,17 +88,17 @@
 	 * Creates the tabs contained in this tab group for the specified
 	 * launch mode. The tabs control's are not created. This is the
 	 * fist method called in the lifecycle of a tab group.
-	 * 
+	 *
 	 * @param dialog the launch configuration dialog this tab group
 	 *  is contained in
 	 * @param mode the mode the launch configuration dialog was
 	 *  opened in
 	 */
 	public void createTabs(ILaunchConfigurationDialog dialog, String mode);
-	
+
 	/**
 	 * Returns the tabs contained in this tab group.
-	 * 
+	 *
 	 * @return the tabs contained in this tab group
 	 */
 	public ILaunchConfigurationTab[] getTabs();
@@ -110,7 +110,7 @@
 	 * perform any cleanup required.
 	 */
 	public void dispose();
-			
+
 	/**
 	 * Initializes the given launch configuration with
 	 * default values for this tab group. This method
@@ -118,34 +118,34 @@
 	 * such that the configuration can be initialized with
 	 * meaningful values. This method may be called before
 	 * tab controls are created.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);	
-	
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);
+
 	/**
 	 * Initializes this group's tab controls with values from the given
 	 * launch configuration. This method is called when
 	 * a configuration is selected to view or edit.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 */
-	public void initializeFrom(ILaunchConfiguration configuration);		
-		
+	public void initializeFrom(ILaunchConfiguration configuration);
+
 	/**
-	 * Copies values from this group's tabs into the given 
+	 * Copies values from this group's tabs into the given
 	 * launch configuration.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 */
 	public void performApply(ILaunchConfigurationWorkingCopy configuration);
-	
+
 	/**
 	 * Notifies this tab that a configuration has been
 	 * launched, resulting in the given launch. This method can be
 	 * called when a tab's control does not exist, to support single-click
 	 * launching.
-	 * 
+	 *
 	 * @param launch the result of launching the current
 	 *  launch configuration
 	 * @deprecated As of R3.0, this method is no longer called by the launch
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
index 73d66a0..25ad8ce 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
@@ -9,7 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.debug.ui;
- 
+
 import org.eclipse.jface.resource.ImageDescriptor;
 
 /**
@@ -18,7 +18,7 @@
  * a launch group, and a launch history is maintained for each group.
  * A launch group is defined in plug-in XML via the <code>launchGroups</code>
  * extension point.
- * <p> 
+ * <p>
  * Following is an example of a launch group contribution:
  * <pre>
  * 	&lt;extension point="org.eclipse.debug.ui.launchGroups"&gt;
@@ -45,58 +45,58 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface ILaunchGroup {
-	
+
 	/**
 	 * Returns the image for this launch group, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return the image for this launch group, or <code>null</code> if none
 	 */
 	public ImageDescriptor getImageDescriptor();
-	
+
 	/**
 	 * Returns the banner image for this launch group, or <code>null</code> if
 	 * none
-	 * 
+	 *
 	 * @return the banner image for this launch group, or <code>null</code> if
 	 * none
 	 */
 	public ImageDescriptor getBannerImageDescriptor();
-	
+
 	/**
 	 * Returns the label for this launch group
-	 * 
+	 *
 	 * @return the label for this launch group
 	 */
 	public String getLabel();
-		
+
 	/**
 	 * Returns the id for this launch group
-	 * 
+	 *
 	 * @return the id for this launch group
 	 */
 	public String getIdentifier();
-	
+
 	/**
 	 * Returns the category for this launch group, possibly <code>null</code>
-	 * 
+	 *
 	 * @return the category for this launch group, possibly <code>null</code>
 	 */
 	public String getCategory();
-	
+
 	/**
 	 * Returns the mode for this launch group
-	 * 
+	 *
 	 * @return the mode for this launch group
 	 */
 	public String getMode();
-	
+
 	/**
 	 * Returns whether this launch group is public
-	 *  
+	 *
 	 * @return boolean
 	 */
 	public boolean isPublic();
-	
+
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
index 205799b..819eabe 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
@@ -87,29 +87,29 @@
  * <li><code>label</code> specifies a label used to render this shortcut.</li>
  * <li><code>icon</code> specifies a plug-in relative path to an icon used to
  * 	render this shortcut.</li>
- * <li><code>category</code> specifies the launch configuration type category this shortcut is applicable for. 
+ * <li><code>category</code> specifies the launch configuration type category this shortcut is applicable for.
  * When unspecified, the category is <code>null</code> (default).</li>
- * <li><code>path</code> an optional menu path used to group launch shortcuts in menus. 
- * Launch shortcuts are grouped alphabetically based on the <code>path</code> attribute, 
- * and then sorted alphabetically within groups based on the <code>label</code> attribute. 
+ * <li><code>path</code> an optional menu path used to group launch shortcuts in menus.
+ * Launch shortcuts are grouped alphabetically based on the <code>path</code> attribute,
+ * and then sorted alphabetically within groups based on the <code>label</code> attribute.
  * When unspecified, a shortcut appears in the last group. This attribute was added in the 3.0.1 release.</li>
  * <li><code>helpContextId</code> optional attribute specifying the help context
  * identifier to associate with the launch shortcut action in a menu.</li>
- * <li><code>description</code> Provides a human readable description of what the shortcut does (or will do) 
- * if the user selects it. A Description provided in this field will apply as the default description for all 
+ * <li><code>description</code> Provides a human readable description of what the shortcut does (or will do)
+ * if the user selects it. A Description provided in this field will apply as the default description for all
  * of the modes listed in the modes attribute.</li>
- * <li><code>perspective</code> has been <b>deprecated</b> in the 3.1 release. 
- * The top level Run/Debug/Profile cascade menus now support contextual (selection sensitive) 
+ * <li><code>perspective</code> has been <b>deprecated</b> in the 3.1 release.
+ * The top level Run/Debug/Profile cascade menus now support contextual (selection sensitive)
  * launching, and clients should provide a <code>contextualLaunch</code> element instead.</li>
- * <li><code>contextualLaunch</code> holds all descriptions for adding shortcuts to the selection sensitive 
- * Run/Debug/Profile cascade menus. Only objects that provide an <code>org.eclipse.debug.ui.actions.ILaunchable</code> 
- * adapter are considered for the cascade menus. The <code>org.eclipse.debug.ui.actions.ILaunchable</code> 
+ * <li><code>contextualLaunch</code> holds all descriptions for adding shortcuts to the selection sensitive
+ * Run/Debug/Profile cascade menus. Only objects that provide an <code>org.eclipse.debug.ui.actions.ILaunchable</code>
+ * adapter are considered for the cascade menus. The <code>org.eclipse.debug.ui.actions.ILaunchable</code>
  * interface is simply used to tag objects that support contextual launching.</li>
  * <li><code>contextLabel</code> zero or more context menu labels. For
  * shortcuts that pass their filter tests, the specified label will appear
  * in the "Run ->" context menu and be bound to a launch action of the
  * specified mode (e.g. run,debug,profile).</li>
- * <li><code>configurationType</code> allows more that one associated launch configuration type to be 
+ * <li><code>configurationType</code> allows more that one associated launch configuration type to be
  * specified for this launch shortcut. That way consumers of launch shortcut information can know what kinds
  * of launch configurations your short is associated with/creates</li>
  * <li><code>description</code> allows a mode specific description(s) to be provided for this launch shortcut.</li>
@@ -129,21 +129,21 @@
 	 * shortcut is responsible for progress reporting as well
 	 * as error handling, in the event that a launchable entity cannot
 	 * be found, or launching fails.
-	 * 
+	 *
 	 * @param selection workbench selection
-	 * @param mode one of the launch modes defined by the 
+	 * @param mode one of the launch modes defined by the
 	 * 	launch manager
 	 * @see org.eclipse.debug.core.ILaunchManager
 	 */
 	public void launch(ISelection selection, String mode);
-	
+
 	/**
 	 * Locates a launchable entity in the given active editor, and launches
 	 * an application in the specified mode. This launch configuration
 	 * shortcut is responsible for progress reporting as well as error
 	 * handling, in the event that a launchable entity cannot be found,
 	 * or launching fails.
-	 * 
+	 *
 	 * @param editor the active editor in the workbench
 	 * @param mode one of the launch modes defined by the launch
 	 * 		manager
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut2.java
index 7e52490..dbcb252 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut2.java
@@ -18,13 +18,13 @@
 
 /**
  * <p>
- * An extension to a standard launch shortcut ({@link ILaunchShortcut}) allowing 
+ * An extension to a standard launch shortcut ({@link ILaunchShortcut}) allowing
  * launch shortcuts to specify how selections and editors should be launched.
  * </p>
  * <p>
  * To launch a selection (or active editor), the debug platform derives a resource associated
  * with the selection (or active editor), and then resolves the most recently launched configuration
- * associated with that resource. This interface allows a launch shortcut to override the 
+ * associated with that resource. This interface allows a launch shortcut to override the
  * framework's resource and launch configuration resolution for selections (and active editors).
  * </p>
  * <p>
@@ -43,48 +43,48 @@
 	 * Returns an array of  <code>ILaunchConfiguration</code>s that apply to the specified
 	 * selection, an empty collection if one could be created but does not exist, or
 	 * <code>null</code> if default resource mappings should be used to derive associated
-	 * configurations.  
-	 * 
+	 * configurations.
+	 *
 	 * @param selection the current selection
-	 * @return an array of existing <code>ILaunchConfiguration</code>s that could be 
+	 * @return an array of existing <code>ILaunchConfiguration</code>s that could be
 	 *  used to launch the given selection, an empty array if one could be created
 	 *  but does not exist, or <code>null</code> if default resource mappings should
 	 *  be used to derive associated configurations
 	 */
 	public ILaunchConfiguration[] getLaunchConfigurations(ISelection selection);
-	
+
 	/**
-	 * Returns an array of existing <code>ILaunchConfiguration</code>s that could be 
-	 * used to launch the given editor part, an empty array if one 
+	 * Returns an array of existing <code>ILaunchConfiguration</code>s that could be
+	 * used to launch the given editor part, an empty array if one
 	 * could be created but does not exist, or <code>null</code> if default resource
-	 * mappings should be used to derive associated configurations 
-	 * 
+	 * mappings should be used to derive associated configurations
+	 *
 	 * @param editorpart the current selection
-	 * @return an array of existing <code>ILaunchConfiguration</code>s that could be 
-	 *  used to launch the given editor part/editor input, an empty array if one 
+	 * @return an array of existing <code>ILaunchConfiguration</code>s that could be
+	 *  used to launch the given editor part/editor input, an empty array if one
 	 *  could be created but does not exist, or <code>null</code> if default resource
 	 *  mappings should be used to derive associated configurations
 	 */
 	public ILaunchConfiguration[] getLaunchConfigurations(IEditorPart editorpart);
-	
+
 	/**
 	 * Returns an <code>IResource</code> that maps to the given selection for launch
 	 * purposes, or <code>null</code> if none. The resource is used to resolve a configuration
 	 * to launch if this shortcut does not provide specific launch configurations to launch
-	 * for the selection (via {@link #getLaunchConfigurations(ISelection)}. 
-	 *  
+	 * for the selection (via {@link #getLaunchConfigurations(ISelection)}.
+	 *
 	 * @param selection the current selection
 	 * @return an <code>IResource</code> that maps to the given selection for launch
 	 *  purposes or <code>null</code> if none
 	 */
 	public IResource getLaunchableResource(ISelection selection);
-	
+
 	/**
 	 * Returns an <code>IResource</code> that maps to given editor part for launch
 	 * purposes, or <code>null</code> if none. The resource is used to resolve a configuration
 	 * to launch if this shortcut does not provide specific launch configurations to launch
 	 * for the editor (via {@link #getLaunchConfigurations(IEditorPart)}.
-	 * 
+	 *
 	 * @param editorpart the current editor part
 	 * @return an <code>IResource</code> that maps to given editor part for launch
 	 *  purposes, or <code>null</code> if none
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
index 329ce6b..b2096e9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.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
  *******************************************************************************/
@@ -12,7 +12,7 @@
 
 
 import org.eclipse.ui.IEditorInput;
- 
+
 /**
  * A source presentation is used to resolve an editor in
  * which to display a debug model element, breakpoint, or
@@ -20,7 +20,7 @@
  * (which implements this interface) is used to resolve
  * editors when performing source lookup. However, a source
  * locator may override default editor resolution by implementing
- * this interface. 
+ * this interface.
  * <p>
  * Source lookup consists of the following steps:<ol>
  * <li>Locating a source element - the source locator associated
@@ -43,7 +43,7 @@
  * extension to an {@link org.eclipse.debug.core.model.ISourceLocator}.
  * </p>
  * @since 2.0
- */ 
+ */
 public interface ISourcePresentation {
 
 	/**
@@ -57,7 +57,7 @@
 	 * @return an editor input, or <code>null</code> if none
 	 */
 	public IEditorInput getEditorInput(Object element);
-	
+
 	/**
 	 * Returns the id of the editor to use to display the
 	 * given editor input and object, or <code>null</code> if
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
index 05bcc48..cdcb33e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.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
  *******************************************************************************/
@@ -26,7 +26,7 @@
 	/**
 	 * Notifies this listener that the details for the given
 	 * value have been computed as the specified result.
-	 *  
+	 *
 	 * @param value the value for which the detail is provided
 	 * @param result the detailed description of the given value
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
index 0531e32..a313000 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/InspectPopupDialog.java
@@ -55,15 +55,15 @@
 import org.osgi.service.prefs.BackingStoreException;
 
 /**
- * A <code>DebugPopup</code> that can be used to inspect an 
+ * A <code>DebugPopup</code> that can be used to inspect an
  * <code>IExpression</code> object.
  * @since 3.2
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class InspectPopupDialog extends DebugPopup {
-    
+
 	private static final String PREF_INSPECT_POPUP_SASH_WEIGHTS = DebugUIPlugin.getUniqueIdentifier() + "inspectPopupSashWeights"; //$NON-NLS-1$
-	
+
 	private static final int[] DEFAULT_SASH_WEIGHTS = new int[] { 75, 25 };
     private static final int MIN_WIDTH = 300;
     private static final int MIN_HEIGHT = 250;
@@ -75,14 +75,14 @@
     private DetailPaneProxy fDetailPane;
     private Tree fTree;
     private IExpression fExpression;
-    
+
     /**
      * Creates a new inspect popup.
-     * 
+     *
      * @param shell The parent shell
      * @param anchor point at which to anchor the popup in Display coordinates. Since
      *  3.3 <code>null</code> indicates a default location should be used.
-     * @param commandId The command id to be used for persistence of 
+     * @param commandId The command id to be used for persistence of
      * the dialog (possibly <code>null</code>)
      * @param expression The expression being inspected
      */
@@ -120,10 +120,10 @@
         fViewer.setAutoExpandLevel(1);
 
         fDetailPaneComposite = SWTFactory.createComposite(fSashForm, 1, 1, GridData.FILL_BOTH);
-        
+
         fDetailPane = new DetailPaneProxy(new DetailPaneContainer());
         fDetailPane.display(null); // Bring up the default pane so the user doesn't see an empty composite
-      
+
         fTree = fViewer.getTree();
         fTree.addSelectionListener(new SelectionListener() {
             @Override
@@ -135,7 +135,7 @@
         });
 
         initSashWeights();
-      
+
         fViewer.getContentProvider();
         if (view != null) {
             StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
@@ -146,13 +146,13 @@
                 }
             }
         }
-               
+
         TreeRoot treeRoot = new TreeRoot();
         // add update listener to auto-select and display details of root expression
         fViewer.addViewerUpdateListener(new IViewerUpdateListener() {
 			@Override
 			public void viewerUpdatesComplete() {
-			}		
+			}
 			@Override
 			public void viewerUpdatesBegin() {
 			}
@@ -168,14 +168,14 @@
 					fViewer.removeViewerUpdateListener(this);
 				}
 			}
-		});        
+		});
         fViewer.setInput(treeRoot);
 
         return fTree;
     }
-    
+
     /**
-     * Initializes the sash form weights from the preference store (using default values if 
+     * Initializes the sash form weights from the preference store (using default values if
      * no sash weights were stored previously).
      */
     protected void initSashWeights(){
@@ -189,12 +189,12 @@
 	    			intWeights[1] = Integer.parseInt(weights[1]);
 	    			fSashForm.setWeights(intWeights);
 	    			return;
-	    		} catch (NumberFormatException e){} 
+	    		} catch (NumberFormatException e){}
 	    	}
     	}
     	fSashForm.setWeights(DEFAULT_SASH_WEIGHTS);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.PopupDialog#saveDialogBounds(org.eclipse.swt.widgets.Shell)
      */
@@ -217,7 +217,7 @@
 	    	}
 	    }
     }
-    
+
     /**
      * Creates the content for the root element of the tree viewer in the inspect
      * popup dialog.  Always has one child, the expression this popup is displaying.
@@ -238,7 +238,7 @@
 		protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
 			return new Object[] { fExpression };
 		}
-		
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#supportsContextId(java.lang.String)
 		 */
@@ -247,7 +247,7 @@
 			return true;
 		}
     }
-       
+
     /**
      * Attempts to find an appropriate view to emulate, this will either be the
      * variables view or the expressions view.
@@ -268,7 +268,7 @@
         }
         return variablesView;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.debug.ui.DebugPopup#close()
      */
@@ -337,7 +337,7 @@
 	 * pane and provides limited access to the detail pane proxy.
 	 */
 	private class DetailPaneContainer implements IDetailPaneContainer{
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getCurrentPaneID()
 		 */
@@ -345,7 +345,7 @@
 		public String getCurrentPaneID() {
 			return fDetailPane.getCurrentPaneID();
 		}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getCurrentSelection()
 		 */
@@ -353,15 +353,15 @@
 		public IStructuredSelection getCurrentSelection() {
 			return (IStructuredSelection)fViewer.getSelection();
 		}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#refreshDetailPaneContents()
 		 */
 		@Override
-		public void refreshDetailPaneContents() {		
+		public void refreshDetailPaneContents() {
 			fDetailPane.display(getCurrentSelection());
 		}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getParentComposite()
 		 */
@@ -369,7 +369,7 @@
 		public Composite getParentComposite() {
 			return fDetailPaneComposite;
 		}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getWorkbenchPartSite()
 		 */
@@ -377,7 +377,7 @@
 		public IWorkbenchPartSite getWorkbenchPartSite() {
 			return null;
 		}
-	
+
 		/* (non-Javadoc)
 		 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#paneChanged(java.lang.String)
 		 */
@@ -390,7 +390,7 @@
 				applyForegroundColor(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND), paneControl);
 			}
 		}
-	
+
 	}
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
index 3282853..5879c06 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.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
  *******************************************************************************/
@@ -46,7 +46,7 @@
  * terminates.
  * <p>
  * Clients may call {@link #setHelpContextId(String)} on this tab prior to control
- * creation to alter the default context help associated with this tab. 
+ * creation to alter the default context help associated with this tab.
  * </p>
  * <p>
  * This class may be instantiate.
@@ -68,34 +68,34 @@
 	 * variable or the default value, <code>null</code>, indicating no refresh.
 	 */
 	public static final String ATTR_REFRESH_SCOPE = RefreshUtil.ATTR_REFRESH_SCOPE;
-		
+
 	// Check Buttons
 	private Button fRefreshButton;
 	private Button fRecursiveButton;
-	
+
 	// Group box
 	private Group fGroup;
-	
+
 	// Radio Buttons
 	private Button fContainerButton;
 	private Button fProjectButton;
 	private Button fResourceButton;
 	private Button fWorkingSetButton;
 	private Button fWorkspaceButton;
-	
+
 	// Push Button
 	private Button fSelectButton;
-	
+
 	// Working set
 	private IWorkingSet fWorkingSet;
-	
+
 	/**
 	 * Constructor
 	 */
 	public RefreshTab() {
 		setHelpContextId(IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_REFRESH_TAB);
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -104,14 +104,14 @@
 		Composite mainComposite = new Composite(parent, SWT.NONE);
 		setControl(mainComposite);
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), getHelpContextId());
-		
+
 		GridLayout layout = new GridLayout();
 		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
 		mainComposite.setLayout(layout);
 		mainComposite.setLayoutData(gd);
 		mainComposite.setFont(parent.getFont());
-		
-		fRefreshButton = createCheckButton(mainComposite, StringSubstitutionMessages.RefreshTab_31); 
+
+		fRefreshButton = createCheckButton(mainComposite, StringSubstitutionMessages.RefreshTab_31);
 		fRefreshButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -119,7 +119,7 @@
 				updateLaunchConfigurationDialog();
 			}
 		});
-		
+
 		fGroup = new Group(mainComposite, SWT.NONE);
 		fGroup.setFont(mainComposite.getFont());
 		layout = new GridLayout();
@@ -139,38 +139,38 @@
 				}
 			}
 		};
-		
-		fWorkspaceButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_32); 
+
+		fWorkspaceButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_32);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 2;
 		fWorkspaceButton.setLayoutData(gd);
 		fWorkspaceButton.addSelectionListener(adapter);
 
-		fResourceButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_33); 
+		fResourceButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_33);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 2;
 		fResourceButton.setLayoutData(gd);
 		fResourceButton.addSelectionListener(adapter);
 
-		fProjectButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_34); 
+		fProjectButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_34);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 2;
-		fProjectButton.setLayoutData(gd);		
+		fProjectButton.setLayoutData(gd);
 		fProjectButton.addSelectionListener(adapter);
 
-		fContainerButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_35); 
+		fContainerButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_35);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 2;
 		fContainerButton.setLayoutData(gd);
 		fContainerButton.addSelectionListener(adapter);
-				
-		fWorkingSetButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_36); 
+
+		fWorkingSetButton = createRadioButton(fGroup, StringSubstitutionMessages.RefreshTab_36);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 1;
 		fWorkingSetButton.setLayoutData(gd);
-		fWorkingSetButton.addSelectionListener(adapter);		
-		
-		fSelectButton = createPushButton(fGroup, StringSubstitutionMessages.RefreshTab_37, null); 
+		fWorkingSetButton.addSelectionListener(adapter);
+
+		fSelectButton = createPushButton(fGroup, StringSubstitutionMessages.RefreshTab_37, null);
 		gd = (GridData)fSelectButton.getLayoutData();
 		gd.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
 		fSelectButton.addSelectionListener(new SelectionAdapter() {
@@ -179,7 +179,7 @@
 				selectResources();
 			}
 		});
-		
+
 		createVerticalSpacer(fGroup, 2);
 		createRecursiveComponent(fGroup);
 	}
@@ -189,29 +189,29 @@
 	 */
 	private void selectResources() {
 		IWorkingSetManager workingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
-		
+
 		if (fWorkingSet == null){
-			fWorkingSet = workingSetManager.createWorkingSet(StringSubstitutionMessages.RefreshTab_40, new IAdaptable[0]); 
+			fWorkingSet = workingSetManager.createWorkingSet(StringSubstitutionMessages.RefreshTab_40, new IAdaptable[0]);
 		}
 		IWorkingSetEditWizard wizard = workingSetManager.createWorkingSetEditWizard(fWorkingSet);
 		WizardDialog dialog = new WizardDialog(((LaunchConfigurationsDialog)LaunchConfigurationsDialog.getCurrentlyVisibleLaunchConfigurationDialog()).getShell(), wizard);
-		dialog.create();		
-		
+		dialog.create();
+
 		if (dialog.open() == Window.CANCEL) {
 			return;
 		}
 		fWorkingSet = wizard.getSelection();
 		updateLaunchConfigurationDialog();
 	}
-	
+
 	/**
 	 * Creates the controls needed to edit the refresh recursive
 	 * attribute of a launch configuration
-	 * 
+	 *
 	 * @param parent the composite to create the controls in
 	 */
 	private void createRecursiveComponent(Composite parent) {
-		fRecursiveButton = createCheckButton(parent, StringSubstitutionMessages.RefreshTab_0); 
+		fRecursiveButton = createCheckButton(parent, StringSubstitutionMessages.RefreshTab_0);
 		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 		data.horizontalSpan = 2;
 		fRecursiveButton.setLayoutData(data);
@@ -238,9 +238,9 @@
 		updateRefresh(configuration);
 		updateRecursive(configuration);
 		updateScope(configuration);
-		updateEnabledState();		
+		updateEnabledState();
 	}
-	
+
 	/**
 	 * Updates the tab to display the refresh scope specified by the launch config
 	 * @param configuration the configuration to update scope information on
@@ -263,18 +263,18 @@
 		} else {
 			if (scope.equals(RefreshUtil.MEMENTO_WORKSPACE)) {
 				fWorkspaceButton.setSelection(true);
-			} else if (scope.equals(RefreshUtil.MEMENTO_SELECTED_RESOURCE)) { 
+			} else if (scope.equals(RefreshUtil.MEMENTO_SELECTED_RESOURCE)) {
 				fResourceButton.setSelection(true);
-			} else if (scope.equals(RefreshUtil.MEMENTO_SELECTED_CONTAINER)) { 
+			} else if (scope.equals(RefreshUtil.MEMENTO_SELECTED_CONTAINER)) {
 				fContainerButton.setSelection(true);
-			} else if (scope.equals(RefreshUtil.MEMENTO_SELECTED_PROJECT)) { 
+			} else if (scope.equals(RefreshUtil.MEMENTO_SELECTED_PROJECT)) {
 				fProjectButton.setSelection(true);
 			} else if (scope.startsWith("${resource:")) { //$NON-NLS-1$
 				fWorkingSetButton.setSelection(true);
 				try {
 					IResource[] resources = getRefreshResources(scope);
 					IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-					fWorkingSet = workingSetManager.createWorkingSet(StringSubstitutionMessages.RefreshTab_40, resources);					 
+					fWorkingSet = workingSetManager.createWorkingSet(StringSubstitutionMessages.RefreshTab_40, resources);
 				} catch (CoreException e) {
 					fWorkingSet = null;
 				}
@@ -330,7 +330,7 @@
 	/**
 	 * Generates a memento for the refresh scope. This is based on old refresh
 	 * variables.
-	 * 
+	 *
 	 * @return a memento
 	 */
 	private String generateScopeMemento() {
@@ -357,9 +357,9 @@
 	 */
 	@Override
 	public String getName() {
-		return StringSubstitutionMessages.RefreshTab_6; 
+		return StringSubstitutionMessages.RefreshTab_6;
 	}
-	
+
 	/**
 	 * Updates the enablement state of the fields.
 	 */
@@ -377,7 +377,7 @@
 			super.setErrorMessage(null);
 		}
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
 	 */
@@ -391,15 +391,15 @@
 		setErrorMessage(null);
 		setMessage(null);
 		if (fRefreshButton.getSelection() && (fWorkingSetButton.getSelection() && (fWorkingSet == null || fWorkingSet.getElements().length == 0))) {
-			setErrorMessage(StringSubstitutionMessages.RefreshTab_42); 
+			setErrorMessage(StringSubstitutionMessages.RefreshTab_42);
 			return false;
 		}
 		return true;
 	}
-	
+
 	/**
 	 * Refreshes the resources as specified by the given launch configuration.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @param monitor progress monitor which may be <code>null</code>
 	 * @throws CoreException if an exception occurs while refreshing resources
@@ -410,7 +410,7 @@
 
 	/**
 	 * Returns a collection of resources referred to by a refresh scope attribute.
-	 * 
+	 *
 	 * @param scope refresh scope attribute (<code>ATTR_REFRESH_SCOPE</code>)
 	 * @return collection of resources referred to by the refresh scope attribute
 	 * @throws CoreException if unable to resolve a set of resources
@@ -418,11 +418,11 @@
 	public static IResource[] getRefreshResources(String scope) throws CoreException {
 		return RefreshUtil.toResources(scope);
 	}
-	
+
 	/**
 	 * Returns the refresh scope attribute specified by the given launch configuration
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @return refresh scope attribute (<code>ATTR_REFRESH_SCOPE</code>)
 	 * @throws CoreException if unable to access the associated attribute
@@ -434,19 +434,19 @@
 	/**
 	 * Returns whether the refresh scope specified by the given launch
 	 * configuration is recursive.
-	 * 
+	 *
 	 * @param configuration the configuration to check for recursive refresh being set
 	 * @return whether the refresh scope is recursive
 	 * @throws CoreException if unable to access the associated attribute
 	 */
 	public static boolean isRefreshRecursive(ILaunchConfiguration configuration) throws CoreException {
 		return configuration.getAttribute(ATTR_REFRESH_RECURSIVE, true);
-	}	
-	
+	}
+
 	/**
 	 * Creates and returns a memento for the given working set, to be used as a
 	 * refresh attribute.
-	 * 
+	 *
 	 * @param workingSet a working set, or <code>null</code>
 	 * @return an equivalent refresh attribute
 	 */
@@ -462,12 +462,12 @@
 			return RefreshUtil.toMemento(resources);
 		}
 	}
-	
+
 	/**
 	 * Creates and returns a working set from the given refresh attribute created by
 	 * the method <code>getRefreshAttribute(IWorkingSet)</code>, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @param refreshAttribute a refresh attribute that represents a working set
 	 * @return equivalent working set, or <code>null</code>
 	 */
@@ -484,7 +484,7 @@
 		}
 		return null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
@@ -500,10 +500,10 @@
 	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
 		// do nothing on deactivation
 	}
-	
+
 	/**
 	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 * 
+	 *
 	 * @since 3.5
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
index 6cb8e7a..c02930c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/StringVariableSelectionDialog.java
@@ -57,7 +57,7 @@
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class StringVariableSelectionDialog extends ElementListSelectionDialog {
-	
+
 	// button to configure variable's argument
 	private Button fArgumentButton;
 	// variable description
@@ -68,16 +68,16 @@
 	private Button fShowAllButton;
 	private Label fShowAllDescription;
 
-	/** 
+	/**
 	 * Base class for custom variable filters. Clients may extend this class
-	 * to filter specific dynamic variables from the selection dialog. 
-	 * 
+	 * to filter specific dynamic variables from the selection dialog.
+	 *
 	 * @since 3.6
 	 */
 	public static class VariableFilter {
 		/**
 		 * Returns whether the given variable should be filtered.
-		 *  
+		 *
 		 * @param var variable to be consider
 		 * @return <code>true</code> to filter the variable, otherwise <code>false</code>
 		 */
@@ -93,22 +93,22 @@
 
 	/**
 	 * Constructs a new string substitution variable selection dialog.
-	 *  
+	 *
 	 * @param parent parent shell
 	 */
 	public StringVariableSelectionDialog(Shell parent) {
 		super(parent, new StringVariableLabelProvider());
 		setShellStyle(getShellStyle() | SWT.RESIZE);
-		setTitle(StringSubstitutionMessages.StringVariableSelectionDialog_2); 
-		setMessage(StringSubstitutionMessages.StringVariableSelectionDialog_3); 
+		setTitle(StringSubstitutionMessages.StringVariableSelectionDialog_2);
+		setMessage(StringSubstitutionMessages.StringVariableSelectionDialog_3);
 		setMultipleSelection(false);
 		setElements(VariablesPlugin.getDefault().getStringVariableManager().getVariables());
 	}
-	
+
 	/**
 	 * Returns the variable expression the user generated from this
 	 * dialog, or <code>null</code> if none.
-	 *  
+	 *
 	 * @return variable expression the user generated from this
 	 * dialog, or <code>null</code> if none
 	 */
@@ -129,10 +129,10 @@
 		return null;
 	}
 
-	/** 
+	/**
 	 *  Add the given variable filter. Has no effect if the given filter has
 	 *  already been added. Must be called before the dialog is opened.
-	 *  
+	 *
 	 *  @param filter the filter to add
 	 * @since 3.6
 	 */
@@ -145,7 +145,7 @@
 	/**
 	 * Sets the filters, replacing any previous filters.
 	 *  Must be called before the dialog is opened.
-	 * 
+	 *
 	 * @param filters
 	 *            an array of variable filters, use empty Array or <code>null</code> to reset all Filters.
 	 * @since 3.6
@@ -170,9 +170,9 @@
 					}
 				});
 			}
-		});		
+		});
 	}
-	
+
 	private void updateDescription() {
 		if((fShowAllDescription != null) && !fShowAllDescription.isDisposed()) {
 			if(fShowAllSelected) {
@@ -213,7 +213,7 @@
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(ctrl, IDebugHelpContextIds.VARIABLE_SELECTION_DIALOG);
 		return ctrl;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
@@ -227,12 +227,12 @@
 	/**
 	 * Creates an area to display a description of the selected variable
 	 * and a button to configure the variable's argument.
-	 * 
+	 *
 	 * @param parent parent widget
 	 */
 	private void createArgumentArea(Composite parent) {
 		Composite container = SWTFactory.createComposite(parent, parent.getFont(), 2, 1, GridData.FILL_HORIZONTAL, 0, 0);
-		
+
 		Composite btnContainer = SWTFactory.createComposite(container, parent.getFont(), 3, 2, GridData.FILL_HORIZONTAL, 0, 0);
 		boolean bNeedShowAll = false;
 		if(!fFilters.isEmpty()) {
@@ -265,23 +265,23 @@
 		} else {
 			SWTFactory.createHorizontalSpacer(btnContainer, 2);
 		}
-		
+
 		Button editButton = SWTFactory.createPushButton(btnContainer, StringSubstitutionMessages.StringVariableSelectionDialog_0, null, GridData.HORIZONTAL_ALIGN_END);
 		editButton.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				editVariables();
 			}
-		});	
-		
+		});
+
 		SWTFactory.createWrapLabel(container, StringSubstitutionMessages.StringVariableSelectionDialog_6, 2);
-		
+
 		Composite args = SWTFactory.createComposite(container, container.getFont(), 2, 2, GridData.FILL_HORIZONTAL, 0, 0);
 
 		fArgumentText = new Text(args, SWT.BORDER);
 		fArgumentText.setFont(container.getFont());
-		fArgumentText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));		
-		
+		fArgumentText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
 		fArgumentButton = SWTFactory.createPushButton(args, StringSubstitutionMessages.StringVariableSelectionDialog_7, null);
 		fArgumentButton.addSelectionListener(new SelectionAdapter() {
 			@Override
@@ -291,7 +291,7 @@
 		});
 
 		SWTFactory.createWrapLabel(container, StringSubstitutionMessages.StringVariableSelectionDialog_8, 2);
-		
+
 		fDescriptionText = new Text(container, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
 		fDescriptionText.setFont(container.getFont());
 		fDescriptionText.setEditable(false);
@@ -321,12 +321,12 @@
 					});
 				}
 			}
-		});		
+		});
 	}
-	
+
 	/**
 	 * Shows the string variables preference page and returns <code>true</code> if OK was pressed.
-	 * 
+	 *
 	 * @return whether OK was pressed
 	 */
 	private boolean showVariablesPage() {
@@ -344,9 +344,9 @@
 				dialog.setMessage(targetNode.getLabelText());
 				result[0]= (dialog.open() == Window.OK);
 			}
-		});	
+		});
 		return result[0];
-	}	
+	}
 
 	/**
 	 * Configures the argument for the selected variable.
@@ -363,7 +363,7 @@
 
 	/**
 	 * Update variable description and argument button enablement.
-	 * 
+	 *
 	 * @see org.eclipse.ui.dialogs.AbstractElementListSelectionDialog#handleSelectionChanged()
 	 */
 	@Override
@@ -401,13 +401,13 @@
 
 	/**
 	 * Returns the name of the section that this dialog stores its settings in
-	 * 
+	 *
 	 * @return String
 	 */
 	private String getDialogSettingsSectionName() {
 		return IDebugUIConstants.PLUGIN_ID + ".STRING_VARIABLE_SELECTION_DIALOG_SECTION"; //$NON-NLS-1$
 	}
-	
+
 	 /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
      */
@@ -417,7 +417,7 @@
          IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
          if (section == null) {
              section = settings.addNewSection(getDialogSettingsSectionName());
-         } 
+         }
          return section;
     }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/WorkingDirectoryBlock.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/WorkingDirectoryBlock.java
index 6ec72b8..973b5d3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/WorkingDirectoryBlock.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/WorkingDirectoryBlock.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
  *     Remy Chi Jian Suen <remy.suen@gmail.com>
@@ -49,27 +49,27 @@
 /**
  * A control for setting the working directory associated with a launch
  * configuration.
- * 
+ *
  * @since 3.5
  */
 public abstract class WorkingDirectoryBlock extends AbstractLaunchConfigurationTab {
-			
+
 	// Local directory
 	private Button fWorkspaceButton;
 	private Button fFileSystemButton;
 	private Button fVariablesButton;
-	
+
 	//bug 29565 fix
 	private Button fUseDefaultDirButton = null;
 	private Button fUseOtherDirButton = null;
 	private Text fOtherWorkingText = null;
 	private Text fWorkingDirText;
-	
+
 	/**
 	 * The last launch config this tab was initialized from
 	 */
 	private ILaunchConfiguration fLaunchConfiguration;
-	
+
 	/**
 	 * A listener to update for text changes and widget selection
 	 */
@@ -86,16 +86,16 @@
 			}
 			else if (source == fFileSystemButton) {
 				handleWorkingDirBrowseButtonSelected();
-			} 
+			}
 			else if (source == fVariablesButton) {
 				handleWorkingDirVariablesButtonSelected();
-			} 
+			}
 			else if(source == fUseDefaultDirButton) {
 				//only perform the action if this is the button that was selected
 				if(fUseDefaultDirButton.getSelection()) {
 					setDefaultWorkingDir();
 				}
-			} 
+			}
 			else if(source == fUseOtherDirButton) {
 				//only perform the action if this is the button that was selected
 				if(fUseOtherDirButton.getSelection()) {
@@ -104,33 +104,33 @@
 			}
 		}
 	}
-	
+
 	private WidgetListener fListener = new WidgetListener();
-	
+
 	/**
 	 * The name of the launch configuration attribute that will be used to save
 	 * the location of the working directory.
 	 */
 	private final String workingDirectoryAttribteName;
-	
+
 	/**
 	 * The help context id to use to connect this working directory block
 	 * to the help system.
 	 */
 	private final String helpContextId;
-	
+
 	/**
 	 * Creates a new WorkingDirectoryBlock for setting a working directory.
-	 * 
+	 *
 	 * @param workingDirectoryAttribteName the name of the launch configuration attribute to set the working directory's location, cannot be <tt>null</tt>
 	 */
 	protected WorkingDirectoryBlock(String workingDirectoryAttribteName) {
 		this(workingDirectoryAttribteName, null);
 	}
-	
+
 	/**
 	 * Creates a new WorkingDirectoryBlock for setting a working directory.
-	 * 
+	 *
 	 * @param workingDirectoryAttribteName the name of the launch configuration attribute to set the working directory's location, cannot be <tt>null</tt>
 	 * @param helpContextId the help context id to use to hook onto the help system
 	 */
@@ -140,25 +140,25 @@
 		this.workingDirectoryAttribteName = workingDirectoryAttribteName;
 		this.helpContextId = helpContextId;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	public final void createControl(Composite parent) {
-		Font font = parent.getFont();	
+		Font font = parent.getFont();
 		Group group = SWTFactory.createGroup(parent, DebugUIMessages.WorkingDirectoryBlock_12, 2, 1, GridData.FILL_HORIZONTAL);
 		setControl(group);
-		
+
 		if (helpContextId != null) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(group, helpContextId);	
+			PlatformUI.getWorkbench().getHelpSystem().setHelp(group, helpContextId);
 		}
-		
+
 		//default choice
 		Composite comp = SWTFactory.createComposite(group, font, 2, 2, GridData.FILL_BOTH, 0, 0);
 		fUseDefaultDirButton = SWTFactory.createRadioButton(comp, DebugUIMessages.WorkingDirectoryBlock_18);
 		fUseDefaultDirButton.addSelectionListener(fListener);
-		fWorkingDirText = SWTFactory.createSingleText(comp, 1); 
+		fWorkingDirText = SWTFactory.createSingleText(comp, 1);
 		fWorkingDirText.addModifyListener(fListener);
 		fWorkingDirText.setEnabled(false);
 		//user enter choice
@@ -167,60 +167,60 @@
 		fOtherWorkingText = SWTFactory.createSingleText(comp, 1);
 		fOtherWorkingText.addModifyListener(fListener);
 		//buttons
-		Composite buttonComp = SWTFactory.createComposite(comp, font, 3, 2, GridData.HORIZONTAL_ALIGN_END); 
+		Composite buttonComp = SWTFactory.createComposite(comp, font, 3, 2, GridData.HORIZONTAL_ALIGN_END);
 		GridLayout ld = (GridLayout)buttonComp.getLayout();
 		ld.marginHeight = 1;
 		ld.marginWidth = 0;
-		fWorkspaceButton = createPushButton(buttonComp, DebugUIMessages.WorkingDirectoryBlock_0, null); 
+		fWorkspaceButton = createPushButton(buttonComp, DebugUIMessages.WorkingDirectoryBlock_0, null);
 		fWorkspaceButton.addSelectionListener(fListener);
-		fFileSystemButton = createPushButton(buttonComp, DebugUIMessages.WorkingDirectoryBlock_1, null); 
+		fFileSystemButton = createPushButton(buttonComp, DebugUIMessages.WorkingDirectoryBlock_1, null);
 		fFileSystemButton.addSelectionListener(fListener);
-		fVariablesButton = createPushButton(buttonComp, DebugUIMessages.WorkingDirectoryBlock_17, null); 
+		fVariablesButton = createPushButton(buttonComp, DebugUIMessages.WorkingDirectoryBlock_17, null);
 		fVariablesButton.addSelectionListener(fListener);
 	}
-		
+
 	/**
 	 * Show a dialog that lets the user select a working directory
 	 */
 	private void handleWorkingDirBrowseButtonSelected() {
 		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		dialog.setMessage(DebugUIMessages.WorkingDirectoryBlock_7); 
+		dialog.setMessage(DebugUIMessages.WorkingDirectoryBlock_7);
 		String currentWorkingDir = getWorkingDirectoryText();
 		if (!currentWorkingDir.trim().equals("")) { //$NON-NLS-1$
 			File path = new File(currentWorkingDir);
 			if (path.exists()) {
 				dialog.setFilterPath(currentWorkingDir);
-			}		
+			}
 		}
 		String selectedDirectory = dialog.open();
 		if (selectedDirectory != null) {
 			fOtherWorkingText.setText(selectedDirectory);
-		}		
+		}
 	}
 
 	/**
-	 * Show a dialog that lets the user select a working directory from 
+	 * Show a dialog that lets the user select a working directory from
 	 * the workspace
 	 */
 	private void handleWorkspaceDirBrowseButtonSelected() {
 	    IContainer currentContainer= getContainer();
 		if (currentContainer == null) {
 		    currentContainer = ResourcesPlugin.getWorkspace().getRoot();
-		} 
-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(), currentContainer, false,	DebugUIMessages.WorkingDirectoryBlock_4); 
+		}
+		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(), currentContainer, false,	DebugUIMessages.WorkingDirectoryBlock_4);
 		dialog.showClosedProjects(false);
 		dialog.open();
-		Object[] results = dialog.getResult();		
+		Object[] results = dialog.getResult();
 		if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {
 			IPath path = (IPath)results[0];
 			String containerName = path.makeRelative().toString();
 			setOtherWorkingDirectoryText("${workspace_loc:" + containerName + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-		}			
+		}
 	}
-	
+
 	/**
 	 * Returns the selected workspace container or <code>null</code>
-	 * @return the selected workspace container or <code>null</code> 
+	 * @return the selected workspace container or <code>null</code>
 	 */
 	protected IContainer getContainer() {
 		String path = getWorkingDirectoryText();
@@ -236,12 +236,12 @@
                     if (containers.length > 0) {
                         res = containers[0];
                     }
-                } 
+                }
 			    catch (CoreException e) {
 			    	log(e);
 			    }
-			} 
-		    else {	    
+			}
+		    else {
 				res = root.findMember(path);
 			}
 			if (res instanceof IContainer) {
@@ -250,7 +250,7 @@
 		}
 		return null;
 	}
-		
+
 	/**
 	 * The default working dir radio button has been selected.
 	 */
@@ -284,7 +284,7 @@
 			fOtherWorkingText.insert(variableText);
 		}
 	}
-	
+
 	/**
 	 * Sets the default working directory.
 	 */
@@ -298,17 +298,17 @@
 					return;
 				}
 			}
-		} 
+		}
 		catch (CoreException ce) {
 			log(ce);
 		}
 		setDefaultWorkingDirectoryText(System.getProperty("user.dir")); //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Returns the project associated with the specified launch configuration or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @param configuration the launch configuration that has been set to this working directory block
 	 * @return the project specified by the launch configuration, or <tt>null</tt> if nothing has been set
 	 * @throws CoreException if an error occurred while retrieving the project from the launch configuration
@@ -333,7 +333,7 @@
 				setErrorMessage(e.getMessage());
 				return false;
 			}
-		} 
+		}
 		else if (workingDirPath.length() > 0) {
 			IContainer container = getContainer();
 			if (container == null) {
@@ -341,7 +341,7 @@
 				if (dir.isDirectory()) {
 					return true;
 				}
-				setErrorMessage(DebugUIMessages.WorkingDirectoryBlock_10); 
+				setErrorMessage(DebugUIMessages.WorkingDirectoryBlock_10);
 				return false;
 			}
 		} else if (workingDirPath.length() == 0) {
@@ -354,7 +354,7 @@
 	/**
 	 * Sets the default working directory to be used by the launch configuration.
 	 * The default implementation has no default working directory.
-	 * 
+	 *
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
 	@Override
@@ -368,13 +368,13 @@
 	@Override
 	public void initializeFrom(ILaunchConfiguration configuration) {
 		setLaunchConfiguration(configuration);
-		try {			
+		try {
 			String wd = configuration.getAttribute(workingDirectoryAttribteName, (String)null);
 			setDefaultWorkingDir();
 			if (wd != null) {
 				setOtherWorkingDirectoryText(wd);
 			}
-		} 
+		}
 		catch (CoreException e) {
 			setErrorMessage(DebugUIMessages.WorkingDirectoryBlock_Exception_occurred_reading_configuration___15 + e.getStatus().getMessage());
 		}
@@ -392,15 +392,15 @@
 			configuration.setAttribute(workingDirectoryAttribteName, getWorkingDirectoryText());
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
 	 */
 	@Override
 	public String getName() {
-		return DebugUIMessages.WorkingDirectoryBlock_Working_Directory_8; 
+		return DebugUIMessages.WorkingDirectoryBlock_Working_Directory_8;
 	}
-	
+
 	/**
 	 * Logs exceptions that have been caught by this working directory block.
 	 * Subclasses should reimplement if they wish to monitor such exceptions.
@@ -410,7 +410,7 @@
 	protected void log(CoreException e) {
 		// nothing
 	}
-	
+
 	/**
 	 * Retrieves the path from the text box that has been selected.
 	 * @return the working directory the user wishes to use
@@ -421,7 +421,7 @@
 		}
 		return fOtherWorkingText.getText().trim();
 	}
-	
+
 	/**
 	 * Sets the text of the default working directory.
 	 * @param dir the directory to set the widget to
@@ -433,7 +433,7 @@
 			handleUseDefaultWorkingDirButtonSelected();
 		}
 	}
-	
+
 	/**
 	 * Sets the directory of the other working directory to be used.
 	 * @param dir the directory to set the widget to
@@ -446,15 +446,15 @@
 			handleUseOtherWorkingDirButtonSelected();
 		}
 	}
-	
+
 	/**
 	 * Sets the launch configuration to be used by this working directory block.
 	 * @param config set the backing launch configuration for this block
 	 */
 	protected void setLaunchConfiguration(ILaunchConfiguration config) {
 		fLaunchConfiguration = config;
-	}	
-	
+	}
+
 	/**
 	 * Returns the launch configuration that this working directory block is using.
 	 * @return this working directory block's launch configuration
@@ -462,7 +462,7 @@
 	protected ILaunchConfiguration getLaunchConfiguration() {
 		return fLaunchConfiguration;
 	}
-	
+
 	/**
 	 * Allows this entire block to be enabled/disabled
 	 * @param enabled whether to enable it or not
@@ -481,6 +481,6 @@
 			fOtherWorkingText.setEnabled(enabled);
 		}
 	}
-	
+
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
index 65590c8..e73d9c5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.debug.ui.actions;
 
- 
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -73,34 +73,34 @@
 	 * The menu created by this action
 	 */
 	private Menu fMenu;
-		
+
 	/**
 	 * The action used to render this delegate.
 	 */
 	private IAction fAction;
-	
+
 	/**
 	 * The associated <code>ILaunchGroup</code>
 	 * @since 3.3
 	 */
 	private ILaunchGroup fLaunchGroup = null;
-	
+
 	/**
 	 * Indicates whether the launch history has changed and
 	 * the sub menu needs to be recreated.
 	 */
 	protected boolean fRecreateMenu = false;
-	
+
 	/**
 	 * Constructs a launch history action.
-	 * 
+	 *
 	 * @param launchGroupIdentifier unique identifier of the launch group
 	 * extension that this action displays a launch history for.
 	 */
 	public AbstractLaunchHistoryAction(String launchGroupIdentifier) {
 		fLaunchGroup = getLaunchConfigurationManager().getLaunchGroup(launchGroupIdentifier);
 	}
-	
+
 	/**
 	 * A listener to be notified of launch label updates
 	 * @since 3.3
@@ -115,10 +115,10 @@
 			updateTooltip();
 		}
 	};
-	
+
 	/**
 	 * Sets the action used to render this delegate.
-	 * 
+	 *
 	 * @param action the action used to render this delegate
 	 */
 	private void setAction(IAction action) {
@@ -127,17 +127,17 @@
 
 	/**
 	 * Returns the action used to render this delegate.
-	 * 
+	 *
 	 * @return the action used to render this delegate
 	 */
 	protected IAction getAction() {
 		return fAction;
 	}
-	
+
 	/**
 	 * Adds the given action to the specified menu with an accelerator specified
 	 * by the given number.
-	 * 
+	 *
 	 * @param menu the menu to add the action to
 	 * @param action the action to add
 	 * @param accelerator the number that should appear as an accelerator
@@ -158,21 +158,21 @@
 
 	/**
 	 * Initialize this action so that it can dynamically set its tool-tip.  Also set the enabled state
-	 * of the underlying action based on whether there are any registered launch configuration types that 
+	 * of the underlying action based on whether there are any registered launch configuration types that
 	 * understand how to launch in the mode of this action.
 	 * @param action the {@link IAction} to initialize
 	 */
 	private void initialize(IAction action) {
 		getLaunchConfigurationManager().addLaunchHistoryListener(this);
 		setAction(action);
-		updateTooltip(); 		
-		action.setEnabled(existsConfigTypesForMode());	
+		updateTooltip();
+		action.setEnabled(existsConfigTypesForMode());
 	}
-	
+
 	/**
 	 * Return whether there are any registered launch configuration types for
 	 * the mode of this action.
-	 * 
+	 *
 	 * @return whether there are any registered launch configuration types for
 	 * the mode of this action
 	 */
@@ -182,10 +182,10 @@
 			if (configTypes[i].supportsMode(getMode())) {
 				return true;
 			}
-		}		
+		}
 		return false;
 	}
-	
+
 	/**
 	 * Updates this action's tool-tip. The tooltip is based on user preference settings
 	 * for launching - either the previous launch, or based on the selection and which
@@ -197,10 +197,10 @@
 	protected void updateTooltip() {
 		getAction().setToolTipText(getToolTip());
 	}
-	
+
 	/**
 	 * Returns the tooltip specific to a configuration.
-	 * 
+	 *
 	 * @param configuration a <code>ILauncConfiguration</code>
 	 * @return the string for the tool tip
 	 */
@@ -209,22 +209,22 @@
 		String mode= getMode();
 		String label;
 		if (mode.equals(ILaunchManager.RUN_MODE)) {
-			label= ActionMessages.AbstractLaunchHistoryAction_1; 
+			label= ActionMessages.AbstractLaunchHistoryAction_1;
 		} else if (mode.equals(ILaunchManager.DEBUG_MODE)){
-			label= ActionMessages.AbstractLaunchHistoryAction_2; 
+			label= ActionMessages.AbstractLaunchHistoryAction_2;
 		} else if (mode.equals(ILaunchManager.PROFILE_MODE)){
-			label= ActionMessages.AbstractLaunchHistoryAction_3; 
+			label= ActionMessages.AbstractLaunchHistoryAction_3;
 		} else {
-			label= ActionMessages.AbstractLaunchHistoryAction_4; 
+			label= ActionMessages.AbstractLaunchHistoryAction_4;
 		}
 		return MessageFormat.format(ActionMessages.AbstractLaunchHistoryAction_0, new Object[] {
 				label, launchName });
 	}
-	
+
 	/**
 	 * Returns this action's tooltip. The tooltip is retrieved from the launch resource manager
 	 * which builds tool tips asynchronously for context launching support.
-	 * 
+	 *
 	 * @return the string for the tool tip
 	 */
 	private String getToolTip() {
@@ -235,13 +235,13 @@
 		String label = null;
 		String mode = getMode();
 		if (mode.equals(ILaunchManager.RUN_MODE)) {
-			label = ActionMessages.AbstractLaunchHistoryAction_1; 
+			label = ActionMessages.AbstractLaunchHistoryAction_1;
 		} else if (mode.equals(ILaunchManager.DEBUG_MODE)){
-			label = ActionMessages.AbstractLaunchHistoryAction_2; 
+			label = ActionMessages.AbstractLaunchHistoryAction_2;
 		} else if (mode.equals(ILaunchManager.PROFILE_MODE)){
-			label = ActionMessages.AbstractLaunchHistoryAction_3; 
+			label = ActionMessages.AbstractLaunchHistoryAction_3;
 		} else {
-			label = ActionMessages.AbstractLaunchHistoryAction_4; 
+			label = ActionMessages.AbstractLaunchHistoryAction_4;
 		}
 		if(IInternalDebugCoreConstants.EMPTY_STRING.equals(launchName)) {
 			return MessageFormat.format(ActionMessages.AbstractLaunchHistoryAction_5, new Object[] { label });
@@ -269,10 +269,10 @@
 		getLaunchConfigurationManager().removeLaunchHistoryListener(this);
 		DebugUIPlugin.getDefault().getLaunchingResourceManager().removeLaunchLabelChangedListener(fLabelListener);
 	}
-	
+
 	/**
 	 * Return the last launch in this action's launch history.
-	 * 
+	 *
 	 * @return the most recent configuration that was launched from this
 	 *  action's launch history that is not filtered from the menu
 	 */
@@ -290,7 +290,7 @@
 		initMenu();
 		return fMenu;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate2#getMenu(org.eclipse.swt.widgets.Menu)
 	 */
@@ -301,7 +301,7 @@
 		initMenu();
 		return fMenu;
 	}
-	
+
 	/**
 	 * Creates the menu for the action
 	 */
@@ -326,7 +326,7 @@
 
 	/**
 	 * Sets this action's drop-down menu, disposing the previous menu.
-	 * 
+	 *
 	 * @param menu the new menu
 	 */
 	private void setMenu(Menu menu) {
@@ -338,13 +338,13 @@
 
 	/**
 	 * Fills the drop-down menu with favorites and launch history
-	 * 
+	 *
 	 * @param menu the menu to fill
 	 */
-	protected void fillMenu(Menu menu) {	
+	protected void fillMenu(Menu menu) {
 		ILaunchConfiguration[] historyList= getHistory();
 		ILaunchConfiguration[] favoriteList = getFavorites();
-		
+
 		// Add favorites
 		int accelerator = 1;
 		for (int i = 0; i < favoriteList.length; i++) {
@@ -352,13 +352,13 @@
 			LaunchAction action= new LaunchAction(launch, getMode());
 			addToMenu(menu, action, accelerator);
 			accelerator++;
-		}		
-		
+		}
+
 		// Separator between favorites and history
 		if (favoriteList.length > 0 && historyList.length > 0) {
 			addSeparator(menu);
 		}
-		
+
 		// Add history launches next
 		for (int i = 0; i < historyList.length; i++) {
 			ILaunchConfiguration launch= historyList[i];
@@ -366,24 +366,24 @@
 			addToMenu(menu, action, accelerator);
 			accelerator++;
 		}
-		
+
 		if(accelerator == 1) {
-			IAction action = new Action(ActionMessages.AbstractLaunchHistoryAction_6) {}; 
+			IAction action = new Action(ActionMessages.AbstractLaunchHistoryAction_6) {};
 			action.setEnabled(false);
 			ActionContributionItem item= new ActionContributionItem(action);
 			item.fill(menu, -1);
 		}
 	}
-	
+
 	/**
 	 * Adds a separator to the given menu
-	 * 
+	 *
 	 * @param menu the menu to add the separator to
 	 */
 	protected void addSeparator(Menu menu) {
 		new MenuItem(menu, SWT.SEPARATOR);
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -391,7 +391,7 @@
 	public void run(IAction action) {
 		// do nothing - this is just a menu
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
 	 * @since 3.6
@@ -411,8 +411,8 @@
 				configs.add(configuration);
 			}
 			DebugUIPlugin.openLaunchConfigurationsDialog(
-					DebugUIPlugin.getShell(), 
-					new StructuredSelection(configs), 
+					DebugUIPlugin.getShell(),
+					new StructuredSelection(configs),
 					groupid,
 					true);
 			return;
@@ -473,7 +473,7 @@
 		}
 		return getLaunchConfigurationManager().getFilteredLastLaunch(getLaunchGroupIdentifier());
 	}
-	
+
 	/**
 	 * Creates an {@link ILaunchConfiguration} from the given set of {@link ILaunchConfigurationType}s
 	 * @param types the set of {@link String} {@link ILaunchConfigurationType} identifiers
@@ -494,7 +494,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
 	 * @since 3.6
@@ -502,8 +502,8 @@
 	@Override
 	public void init(IAction action) {
 		// do nothing by default
-	}	
-	
+	}
+
 	/**
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -511,9 +511,9 @@
 	public void selectionChanged(IAction action, ISelection selection){
 		if (fAction == null) {
 			initialize(action);
-		} 
+		}
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
 	 */
@@ -523,10 +523,10 @@
 			DebugUIPlugin.getDefault().getLaunchingResourceManager().addLaunchLabelUpdateListener(fLabelListener);
 		}
 	}
-	
+
 	/**
 	 * Returns the launch history associated with this action's launch group.
-	 * 
+	 *
 	 * @return the launch history associated with this action's launch group
 	 * @deprecated this method returns a class that is not API and is not intended
 	 *  for clients of the debug platform. Instead, use <code>getHistory()</code>,
@@ -535,68 +535,68 @@
 	@Deprecated
 	protected LaunchHistory getLaunchHistory() {
 		return getLaunchConfigurationManager().getLaunchHistory(getLaunchGroupIdentifier());
-	} 
-	
+	}
+
 	/**
 	 * Returns the launch history associated with this action's launch group.
-	 * 
+	 *
 	 * @return the launch history associated with this action's launch group
 	 * @since 3.3
 	 */
 	private LaunchHistory internalGetHistory() {
 		return getLaunchConfigurationManager().getLaunchHistory(getLaunchGroupIdentifier());
 	}
-	
+
 	/**
 	 * Returns the launch history associated with this action's launch mode and group in most
 	 * recently launched order. Configurations associated with disabled activities are not included
 	 * in the list. As well, configurations are filtered based on workspace preference settings
 	 * to filter configurations from closed projects, deleted projects, working sets and to filter
 	 * specific launch configuration types.
-	 *  
+	 *
 	 * @return launch history
 	 * @since 3.3
 	 */
 	protected ILaunchConfiguration[] getHistory() {
 		return LaunchConfigurationManager.filterConfigs(internalGetHistory().getHistory());
 	}
-	
+
 	/**
 	 * Returns the launch favorites associated with this action's launch mode and group in user
 	 * preference order. Configurations associated with disabled activities are not included
 	 * in the list. As well, configurations are filtered based on workspace preference settings
 	 * to filter configurations from closed projects, deleted projects, working sets and to filter
 	 * specific launch configuration types.
-	 * 
+	 *
 	 * @return favorite launch configurations
 	 * @since 3.3
 	 */
 	protected ILaunchConfiguration[] getFavorites() {
 		return LaunchConfigurationManager.filterConfigs(internalGetHistory().getFavorites());
 	}
-		
+
 	/**
 	 * Returns the mode (e.g., 'run' or 'debug') of this drop down.
-	 * 
+	 *
 	 * @return the mode of this action
 	 */
 	protected String getMode() {
 		return internalGetHistory().getLaunchGroup().getMode();
 	}
-	
+
 	/**
 	 * Returns the launch configuration manager.
-	 * 
+	 *
 	 * @return launch configuration manager
 	 */
 	private LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
 	}
-	
+
 	/**
 	 * Returns the identifier of the launch group this action is associated
 	 * with.
-	 * 
+	 *
 	 * @return the identifier of the launch group this action is associated
 	 * with
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java
index 685422b..0ba9bcc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.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
  *******************************************************************************/
@@ -60,7 +60,7 @@
 		addToMenu(menu, getOpenDialogAction(), -1);
 		addToMenu(menu, new OrganizeFavoritesAction(getLaunchGroupIdentifier()), -1);
 	}
-	
+
 	/**
 	 * Returns an action to open the launch dialog
 	 * @return the new {@link OpenLaunchDialogAction}
@@ -69,10 +69,10 @@
 	protected IAction getOpenDialogAction() {
 		return new OpenLaunchDialogAction(getLaunchGroupIdentifier());
 	}
-	
+
 	/**
 	 * Launch the last launch, or open the launch config dialog if none.
-	 * 
+	 *
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
index 892e306..42e5844 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AddMemoryRenderingActionDelegate.java
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     WindRiver - Bug 192028 [Memory View] Memory view does not 
- *                 display memory blocks that do not reference IDebugTarget     
+ *     WindRiver - Bug 192028 [Memory View] Memory view does not
+ *                 display memory blocks that do not reference IDebugTarget
  *******************************************************************************/
 
 package org.eclipse.debug.ui.actions;
@@ -49,20 +49,20 @@
 
 /**
  * A cascade menu to add a memory rendering to the memory view. This action delegate can be
- * contributed to a an editor, view or object via standard workbench extension points. 
- * The action works on the {@link IAddMemoryRenderingsTarget} adapter provided 
+ * contributed to a an editor, view or object via standard workbench extension points.
+ * The action works on the {@link IAddMemoryRenderingsTarget} adapter provided
  * by the active debug context, creating a context menu to add applicable renderings
  * to the memory view.
  * <p>
  * Clients may reference/contribute this class as an action delegate
- * in plug-in XML. 
+ * in plug-in XML.
  * </p>
  * @since 3.2
  * @noextend This class is not intended to be subclassed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class AddMemoryRenderingActionDelegate extends Action implements IViewActionDelegate, IEditorActionDelegate, IObjectActionDelegate, IActionDelegate2{
-	
+
 	private IAction fAction;
 	private IWorkbenchPart fPart;
 	private ISelection fCurrentSelection;
@@ -71,7 +71,7 @@
 	private IAdaptable fDebugContext;
 	private IWorkbenchWindow fWindow;
 	private DebugContextListener fDebugContextListener = new DebugContextListener();
-	
+
 	private class AddMemoryRenderingAction extends Action
 	{
 		private IMemoryRenderingType fRenderingType;			// type of rendering to add
@@ -93,13 +93,13 @@
 			}
 		}
 	}
-	
+
 	private class AddMemoryRenderingMenuCreator implements IMenuCreator
 	{
 
 		@Override
 		public void dispose() {
-			
+
 		}
 
 		@Override
@@ -120,16 +120,16 @@
 					}
 					fillMenu(m);
 				}
-			});		
+			});
 			return menu;
 		}
-		
+
 		private void fillMenu(Menu parent)
 		{
 			if (fActionDelegate != null)
 			{
 				IMemoryRenderingType[] types = fActionDelegate.getMemoryRenderingTypes(fPart, fCurrentSelection);
-				
+
 				for (int i=0; i<types.length; i++)
 				{
 					AddMemoryRenderingAction action = new AddMemoryRenderingAction(types[i]);
@@ -138,14 +138,14 @@
 				}
 			}
 		}
-	}	
-	
+	}
+
 	private class DebugContextListener implements IDebugContextListener
 	{
 
 		private void contextActivated(ISelection selection) {
 			setupActionDelegate(selection);
-			
+
 			if(fAction != null)
 				updateAction(fAction, fCurrentSelection);
 		}
@@ -155,9 +155,9 @@
 			contextActivated(event.getContext());
 		}
 
-		
+
 	}
-	
+
 	private void setupActionDelegate(ISelection context)
 	{
 		IAdaptable debugContext = null;
@@ -166,23 +166,23 @@
 			if (((IStructuredSelection)context).getFirstElement() instanceof IAdaptable)
 				debugContext = (IAdaptable)((IStructuredSelection)context).getFirstElement();
 		}
-		
+
 		if (debugContext == null)
 			fActionDelegate = null;
-		
+
 		if (debugContext == fDebugContext)
 			return;
-		
+
 		fDebugContext = debugContext;
-		
+
 		if (fDebugContext == null)
 			return;
-		
+
 		IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(fDebugContext);
-		
+
 		if (retrieval == null)
 			return;
-		
+
 		IAddMemoryRenderingsTarget target = null;
 		if (fCurrentSelection instanceof IStructuredSelection)
 		{
@@ -201,7 +201,7 @@
 			// try to get target from memory block retrieval
 			target = getAddMemoryRenderingTarget(retrieval);
 		}
-		
+
 		fActionDelegate = target;
 	}
 
@@ -210,7 +210,7 @@
 	 */
 	@Override
 	public void init(IViewPart view) {
-		bindPart(view);	
+		bindPart(view);
 	}
 
 	/* (non-Javadoc)
@@ -227,13 +227,13 @@
 	@Override
 	public void selectionChanged(IAction action, ISelection selection) {
 		fCurrentSelection = selection;
-		
+
 		if(action != null) {
 			bindAction(action);
 			updateAction(action, selection);
 		}
 	}
-	
+
 	/**
 	 * @param action - the action to bind with the menu and to update enablement, must not be null
 	 * @param selection the current selection
@@ -265,7 +265,7 @@
 
 	private IAddMemoryRenderingsTarget getAddMemoryRenderingTarget(Object elmt) {
 		IAddMemoryRenderingsTarget target = null;
-		
+
 		if (elmt instanceof IAddMemoryRenderingsTarget)
 		{
 			target = (IAddMemoryRenderingsTarget)elmt;
@@ -283,7 +283,7 @@
 	@Override
 	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
 		bindPart(targetEditor);
-		
+
 		if(action != null) {
 			bindAction(action);
 			updateAction(action, fCurrentSelection);
@@ -296,7 +296,7 @@
 	@Override
 	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
 		bindPart(targetPart);
-		
+
 		if(action != null) {
 			bindAction(action);
 			updateAction(action, fCurrentSelection);
@@ -307,7 +307,7 @@
 	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
 	 */
 	@Override
-	public void init(IAction action) {		
+	public void init(IAction action) {
 		if (action != null) {
 			bindAction(action);
 
@@ -315,7 +315,7 @@
 			action.setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION));
 			action.setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_ADD));
 			action.setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION));
-		}	
+		}
 	}
 
 	/* (non-Javadoc)
@@ -328,7 +328,7 @@
 		fPart = null;
 		fCurrentSelection = null;
 		fActionDelegate = null;
-		
+
 		// remove debug context listener
 		bindPart(null);
 	}
@@ -340,7 +340,7 @@
 	public void runWithEvent(IAction action, Event event) {
 		// do nothing
 	}
-	
+
 	private void bindPart(IWorkbenchPart part)
 	{
 		IWorkbenchWindow window = null;
@@ -350,22 +350,22 @@
 		}
 		if (window != fWindow)
 		{
-				
+
 			if (fWindow != null)
 			{
 				DebugUITools.getDebugContextManager().getContextService(fWindow).removeDebugContextListener(fDebugContextListener);
 			}
-			
+
 			if (window != null)
 			{
 				DebugUITools.getDebugContextManager().getContextService(window).addDebugContextListener(fDebugContextListener);
 			}
 			fWindow = window;
 		}
-		
+
 		if (part != fPart)
 			fPart = part;
-		
+
 		if (fWindow != null)
 			setupActionDelegate(DebugUITools.getDebugContextManager().getContextService(fWindow).getActiveContext());
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java
index aff60b5..90c7abc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/BreakpointTypesContribution.java
@@ -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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -34,21 +34,21 @@
 import org.eclipse.ui.services.IServiceLocator;
 
 /**
- * Breakpoint ruler pop-up action that creates a sub-menu to select the currently 
- * active breakpoint type. This menu contribution can be added to an editor 
- * with the <code>org.eclipse.ui.menus</code> extension point.  The breakpoint 
- * types are calculated based on the toggle breakpoint target factories 
+ * Breakpoint ruler pop-up action that creates a sub-menu to select the currently
+ * active breakpoint type. This menu contribution can be added to an editor
+ * with the <code>org.eclipse.ui.menus</code> extension point.  The breakpoint
+ * types are calculated based on the toggle breakpoint target factories
  * contributed through the <code>toggleBreakpointsTargetFactories</code> extension point.
  * <p>
  * Following is example plug-in XML used to contribute this action to an editor's
- * vertical ruler context menu.  
+ * vertical ruler context menu.
  * <pre>
  * &lt;extension point="org.eclipse.ui.menus"&gt;
  *   &lt;menuContribution
  *     locationURI="popup:#CEditorRulerContext?after=additions"
  *     id="example.RulerPopupActions"&gt;
  *       &lt;menu\
- *         id="breakpointTypes" 
+ *         id="breakpointTypes"
  *         label="Toggle Breakpoint"&gt;
  *         &lt;dynamic\
  *           id="example.rulerContextMenu.breakpointTypesAction"&gt;
@@ -66,7 +66,7 @@
  * @noextend This class is not intended to be sub-classed by clients.
  */
 public class BreakpointTypesContribution extends CompoundContributionItem implements IWorkbenchContribution {
-    
+
     private class SelectTargetAction extends Action {
 		private final Set<String> fPossibleIDs;
         private final String fID;
@@ -86,10 +86,10 @@
             }
         }
     }
- 
+
     private IServiceLocator fServiceLocator;
 
-    private static IContributionItem[] NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS = new IContributionItem[] { 
+    private static IContributionItem[] NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS = new IContributionItem[] {
     	new ContributionItem() {
 			@Override
 			public void fill(Menu menu, int index) {
@@ -97,14 +97,14 @@
 				item.setEnabled(false);
 				item.setText(Messages.BreakpointTypesContribution_0);
 			}
-	
+
 			@Override
 			public boolean isEnabled() {
 				return false;
 			}
     	}
     };
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
      */
@@ -112,8 +112,8 @@
 	protected IContributionItem[] getContributionItems() {
         IWorkbenchPart part = null;
         ISelection selection = null;
-        
-        ISelectionService selectionService = 
+
+        ISelectionService selectionService =
             fServiceLocator.getService(ISelectionService.class);
         if (selectionService != null) {
             selection = selectionService.getSelection();
@@ -127,9 +127,9 @@
         if (part == null || selection == null) {
             return NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS;
         }
-        
+
         // Get breakpoint toggle target IDs.
-        IToggleBreakpointsTargetManager manager = DebugUITools.getToggleBreakpointsTargetManager(); 
+        IToggleBreakpointsTargetManager manager = DebugUITools.getToggleBreakpointsTargetManager();
 		Set<String> enabledIDs = manager.getEnabledToggleBreakpointsTargetIDs(part, selection);
         String preferredId = manager.getPreferredToggleBreakpointsTargetID(part, selection);
 
@@ -141,18 +141,18 @@
             }
             actions.add(action);
         }
-        
+
         if ( enabledIDs.isEmpty() ) {
             return NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS;
         }
-        
+
         IContributionItem[] items = new IContributionItem[enabledIDs.size()];
         for (int i = 0; i < actions.size(); i++) {
             items[i] = new ActionContributionItem(actions.get(i));
         }
         return items;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.menus.IWorkbenchContribution#initialize(org.eclipse.ui.services.IServiceLocator)
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
index 61f658d..69baf7b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
@@ -73,10 +73,10 @@
 	private Map<String, ILaunchGroup> fGroupsByCategory = null;
 	// whether to re-fill the menu (reset on selection change)
 	private boolean fFillMenu = true;
-	
+
 	/**
 	 * Constructs a contextual launch action for the given launch mode.
-	 * 
+	 *
 	 * @param mode launch mode
 	 */
 	public ContextualLaunchAction(String mode) {
@@ -94,7 +94,7 @@
 			}
 		}
 	}
-	
+
 	/*
 	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
 	 */
@@ -126,7 +126,7 @@
 		Menu menu = new Menu(parent);
 		/**
 		 * Add listener to re-populate the menu each time
-		 * it is shown because MenuManager.update(boolean, boolean) 
+		 * it is shown because MenuManager.update(boolean, boolean)
 		 * doesn't dispose pull-down ActionContribution items for each popup menu.
 		 */
 		menu.addMenuListener(new MenuAdapter() {
@@ -153,7 +153,7 @@
 	public void run(IAction action) {
 		// Never called because we become a menu.
 	}
-	
+
 	/*
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
@@ -172,7 +172,7 @@
 		}
 		action.setEnabled(false);
 	}
-	
+
 	/**
 	 * Returns the launch manager
 	 * @return the launch manager
@@ -181,7 +181,7 @@
 	protected ILaunchManager getLaunchManager() {
 		return DebugPlugin.getDefault().getLaunchManager();
 	}
-	
+
     /**
      * Fills the menu with applicable launch shortcuts
      * @param menu The menu to fill
@@ -218,14 +218,14 @@
 				if (!WorkbenchActivityHelper.filterItem(ext) && isApplicable(ext, context)) {
 					filteredShortCuts.add(ext);
 				}
-			} 
+			}
 			catch (CoreException e) {
 				IStatus status = new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "Launch shortcut '" + ext.getId() + "' enablement expression caused exception. Shortcut was removed.", e); //$NON-NLS-1$ //$NON-NLS-2$
 				DebugUIPlugin.log(status);
 				iter.remove();
 			}
 		}
-	
+
 	//we need a separator iff the shared config entry has been added and there are following shortcuts
 		if(menu.getItemCount() > 0 && filteredShortCuts.size() > 0) {
 			 new MenuItem(menu, SWT.SEPARATOR);
@@ -243,7 +243,7 @@
 				}
 			}
 		}
-		
+
 	// add in the open ... dialog shortcut(s)
 		if (categories.isEmpty()) {
 			if (accelerator > 1) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
index 163b2cb..29a64c2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
@@ -25,7 +25,7 @@
  * @since 2.0
  */
 public final class DebugAction extends ExecutionAction {
-	
+
 	public DebugAction() {
 		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
 	}
@@ -37,5 +37,5 @@
 	protected String getMode() {
 		return ILaunchManager.DEBUG_MODE;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java
index 33267b8..c39cdc8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandAction.java
@@ -30,23 +30,23 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * Abstract base class for re-targeting actions which delegate execution to 
- * {@link org.eclipse.debug.core.commands.IDebugCommandHandler} handlers.  
- * The specific type of <code>IDebugCommandHandler</code> is determined by the 
- * abstract {@link #getCommandType()} method.    
+ * Abstract base class for re-targeting actions which delegate execution to
+ * {@link org.eclipse.debug.core.commands.IDebugCommandHandler} handlers.
+ * The specific type of <code>IDebugCommandHandler</code> is determined by the
+ * abstract {@link #getCommandType()} method.
  * <p>
- * This base class is an action which can be instantiated directly by views, 
- * etc.  In order to contribute an action using an extension point, a class 
+ * This base class is an action which can be instantiated directly by views,
+ * etc.  In order to contribute an action using an extension point, a class
  * implementing {@link org.eclipse.ui.IActionDelegate} should be created first.
- * The delegate should then use a <code>DebugCommandAction</code> to implement 
+ * The delegate should then use a <code>DebugCommandAction</code> to implement
  * the needed functionality. The IActionDelegate must use {@link #setActionProxy(IAction)}
  * specifying the workbench's action that is a proxy to the action delegate. This
  * way, the workbench action can be updated visually as needed.<br>
  * Note: <code>IDebugCommandHandler</code> command typically act on the active
- * debug context as opposed to the active selection in view or window.  The 
- * action delegate should ignore the active window selection, and instead allow 
- * the <code>DebugCommandAction</code> to update itself based on the active 
- * debug context. 
+ * debug context as opposed to the active selection in view or window.  The
+ * action delegate should ignore the active window selection, and instead allow
+ * the <code>DebugCommandAction</code> to update itself based on the active
+ * debug context.
  * </p>
  * <p>
  * Clients may subclass this class.
@@ -57,23 +57,23 @@
 public abstract class DebugCommandAction extends Action implements IDebugContextListener {
 
     private boolean fInitialized = false;
-    
+
 	/**
 	 * The window this action is working for.
 	 */
     private IWorkbenchWindow fWindow;
-    
+
     /**
      * The part this action is working for, or <code>null</code> if global to
      * a window.
      */
     private IWorkbenchPart fPart;
-    
+
     /**
      * Command service.
      */
     private DebugCommandService fUpdateService;
-    
+
     /**
      * Delegate this action is working for or <code>null</code> if none.
      */
@@ -85,7 +85,7 @@
             DebugCommandAction.this.setEnabled(enabled);
         }
     };
-    
+
     /**
      * Constructor
      */
@@ -103,7 +103,7 @@
      * that is using this action to perform its actual work. This only needs to be called when
      * an {@link org.eclipse.ui.IActionDelegate} is using one of these actions to perform its
      * function.
-     * 
+     *
      * @param action workbench proxy action
      */
     public void setActionProxy(IAction action) {
@@ -113,39 +113,39 @@
 
     /**
      * Executes this action on the given target object
-     * @param targets the targets to perform the action on 
+     * @param targets the targets to perform the action on
      * @return if the command stays enabled while the command executes
      */
     private boolean execute(final Object[] targets) {
     	return fUpdateService.executeCommand(
-    	    getCommandType(), targets, 
+    	    getCommandType(), targets,
     	    new ICommandParticipant() {
     	        @Override
 				public void requestDone(org.eclipse.debug.core.IRequest request) {
     	            DebugCommandAction.this.postExecute(request, targets);
-    	        }    	      
+    	        }
     	    });
     }
-        
+
     /**
-     * This method is called after the completion of the execution of this 
+     * This method is called after the completion of the execution of this
      * command.  Extending classes may override this method to perform additional
-     * operation after command execution. 
-     * 
-     * @param request The completed request object which was given to the 
+     * operation after command execution.
+     *
+     * @param request The completed request object which was given to the
      * debug command handler.
      * @param targets Objects which were the targets of this action
      */
     protected void postExecute(IRequest request, Object[] targets) {
         // do nothing by default
     }
-    
+
     /**
-     * Returns the {@link org.eclipse.debug.core.commands.IDebugCommandHandler} 
+     * Returns the {@link org.eclipse.debug.core.commands.IDebugCommandHandler}
      * command handler that type this action executes.
-     * 
+     *
      * @return command class.
-     * 
+     *
      * @see org.eclipse.debug.core.commands.IDebugCommandHandler
      */
 	abstract protected Class<?> getCommandType();
@@ -168,7 +168,7 @@
                 fInitialized = true;
                 notifyAll();
             }
-        }        
+        }
         super.setEnabled(enabled);
         if (fAction != null) {
             fAction.setEnabled(enabled);
@@ -177,7 +177,7 @@
 
     /**
      * Initializes this action for a specific part.
-     * 
+     *
      * @param part workbench part
      */
     public void init(IWorkbenchPart part) {
@@ -195,10 +195,10 @@
         	setEnabled(getInitialEnablement());
         }
     }
-    
+
     /**
      * Initializes this action for a workbench window.
-     * 
+     *
      * @param window the window
      */
     public void init(IWorkbenchWindow window) {
@@ -214,12 +214,12 @@
         	setEnabled(getInitialEnablement());
         }
     }
-    
+
     /**
      * Returns whether this action should be enabled when initialized
      * and there is no active debug context. By default, <code>false</code>
      * is returned.
-     * 
+     *
      * @return initial enabled state when there is no active context.
      */
     protected boolean getInitialEnablement() {
@@ -230,7 +230,7 @@
      * Returns the context (selection) this action operates on. By default
      * the active debug context in this action's associated part or window is used,
      * but subclasses may override as required.
-     * 
+     *
      * @return the context this action operates on
      * @since 3.7
      */
@@ -253,9 +253,9 @@
                     wait();
                 } catch (InterruptedException e) {
                 }
-            }           
-        }        
-        
+            }
+        }
+
         ISelection selection = getContext();
         if (selection instanceof IStructuredSelection && isEnabled()) {
             IStructuredSelection ss = (IStructuredSelection) selection;
@@ -287,11 +287,11 @@
         fWindow = null;
         fPart = null;
     }
-    
+
     /**
      * Returns the context service this action linked to. By default, this actions is
      * associated with the context service for the window this action is operating in.
-     * 
+     *
      * @return associated context service
      */
     protected IDebugContextService getDebugContextService() {
@@ -300,9 +300,9 @@
 
     /**
      * Returns the help context id for this action or <code>null</code> if none.
-     * 
+     *
      * @return The help context id for this action or <code>null</code>
-     */ 
+     */
     public abstract String getHelpContextId();
 
     /*
@@ -346,14 +346,14 @@
      */
     @Override
 	public abstract ImageDescriptor getImageDescriptor();
-    
+
     /**
      * Returns the workbench proxy associated with this action or <code>null</code>
      * if none. This is the workbench proxy to an {@link org.eclipse.ui.IActionDelegate}
      * that is using this action to perform its actual work. This is only used when
      * an {@link org.eclipse.ui.IActionDelegate} is using one of these actions to perform its
      * function.
-     * 
+     *
      * @return workbench proxy action or <code>null</code>
      */
     protected IAction getActionProxy() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
index 561e64e..aff4f21 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugCommandHandler.java
@@ -37,17 +37,17 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * Abstract base class for re-targeting command framework handlers, which 
- * delegate execution to {@link org.eclipse.debug.core.commands.IDebugCommandHandler} 
- * handlers. The specific type of <code>IDebugCommandHandler</code> is 
- * determined by the abstract {@link #getCommandType()} method.    
- * 
+ * Abstract base class for re-targeting command framework handlers, which
+ * delegate execution to {@link org.eclipse.debug.core.commands.IDebugCommandHandler}
+ * handlers. The specific type of <code>IDebugCommandHandler</code> is
+ * determined by the abstract {@link #getCommandType()} method.
+ *
  * <p> Note: This class is not an implementation of the <code>IDebugCommandHandler</code>
- * interface, which was somewhat unfortunately named.  <code>IDebugCommandHandler</code> 
- * is an interface that used only by the debugger plug-ins.  This class implements 
- * {@link org.eclipse.core.commands.IHandler} interface and is to be used with the 
+ * interface, which was somewhat unfortunately named.  <code>IDebugCommandHandler</code>
+ * is an interface that used only by the debugger plug-ins.  This class implements
+ * {@link org.eclipse.core.commands.IHandler} interface and is to be used with the
  * platform commands framework. </p>
- * 
+ *
  * <p>
  * Clients may subclass this class.
  * </p>
@@ -59,18 +59,18 @@
 public abstract class DebugCommandHandler extends AbstractHandler {
 
     /**
-     * The DebugCommandService is able to evaluate the command handler 
+     * The DebugCommandService is able to evaluate the command handler
      * enablement in each workbench window separately, however the workbench
      * command framework uses only a single handler instance for all windows.
      * This IEnabledTarget implementation tracks enablement of the command
-     * for a given window.  When the handler enablement is tested, the 
-     * currently active window is used to determine which enabled target 
-     * to use.  
+     * for a given window.  When the handler enablement is tested, the
+     * currently active window is used to determine which enabled target
+     * to use.
      */
     private class EnabledTarget implements IEnabledTarget, IDebugContextListener {
         boolean fEnabled = getInitialEnablement();
         IWorkbenchWindow fWindow;
-        
+
         EnabledTarget(IWorkbenchWindow window) {
             fWindow = window;
 		}
@@ -88,12 +88,12 @@
                 fireHandlerChanged(new HandlerEvent(DebugCommandHandler.this, true, false));
             }
         }
-        
+
         @Override
 		public void debugContextChanged(DebugContextEvent event) {
             DebugCommandService.getService(fWindow).postUpdateCommand(getCommandType(), this);
         }
-        
+
         void dispose() {
             if (isDisposed()) {
                 return;
@@ -101,26 +101,26 @@
             getContextService(fWindow).removeDebugContextListener(this);
             fWindow = null;
         }
-        
+
         boolean isDisposed() {
             return fWindow == null;
         }
     }
 
     /**
-     * Window listener is used to make sure that the handler enablement 
+     * Window listener is used to make sure that the handler enablement
      * is updated when the active workbench window is changed.
      */
     private IWindowListener fWindowListener =  new IWindowListener() {
-        
+
         @Override
 		public void windowOpened(IWorkbenchWindow w) {
         }
-    
+
         @Override
 		public void windowDeactivated(IWorkbenchWindow w) {
         }
-    
+
         @Override
 		public void windowClosed(IWorkbenchWindow w) {
             EnabledTarget enabledTarget = fEnabledTargetsMap.get(w);
@@ -128,14 +128,14 @@
                 enabledTarget.dispose();
             }
         }
-    
+
         @Override
 		public void windowActivated(IWorkbenchWindow w) {
             fCurrentEnabledTarget = fEnabledTargetsMap.get(w);
             fireHandlerChanged(new HandlerEvent(DebugCommandHandler.this, true, false));
         }
     };
-    
+
     /**
      * Map of enabled targets keyed by workbench window.
      */
@@ -146,15 +146,15 @@
      * workbench window.
      */
     private EnabledTarget fCurrentEnabledTarget = null;
-    
+
     /**
-      * The constructor adds the handler as the 
+      * The constructor adds the handler as the
      */
     public DebugCommandHandler() {
         super();
         PlatformUI.getWorkbench().addWindowListener(fWindowListener);
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.core.commands.AbstractHandler#setEnabled(java.lang.Object)
      */
@@ -162,9 +162,9 @@
 	public void setEnabled(Object evaluationContext) {
         // This method is called with the current evaluation context
         // just prior to the isEnabled() being called.  Check the active
-        // window and update the current enabled target based on it 
+        // window and update the current enabled target based on it
         fCurrentEnabledTarget = null;
-        
+
         if (!(evaluationContext instanceof IEvaluationContext)) {
             return;
         }
@@ -175,7 +175,7 @@
             fCurrentEnabledTarget = getEnabledTarget(window);
         }
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.core.commands.AbstractHandler#isEnabled()
      */
@@ -186,7 +186,7 @@
         }
         return fCurrentEnabledTarget.fEnabled;
     }
-    
+
     private EnabledTarget getEnabledTarget(IWorkbenchWindow window) {
         EnabledTarget target = fEnabledTargetsMap.get(window);
         if (target == null) {
@@ -196,7 +196,7 @@
         }
         return target;
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
      */
@@ -212,42 +212,42 @@
         if (selection instanceof IStructuredSelection && isEnabled()) {
             IStructuredSelection ss = (IStructuredSelection) selection;
             boolean enabledAfterExecute = execute(window, ss.toArray());
-            
+
             // enable/disable the action according to the command
             fCurrentEnabledTarget.setEnabled(enabledAfterExecute);
         }
 
         return null;
     }
-    
+
     private IDebugContextService getContextService(IWorkbenchWindow window) {
         return DebugUITools.getDebugContextManager().getContextService(window);
     }
-    
+
     /**
      * Executes this action on the given target objects
-     * @param window the window 
+     * @param window the window
      * @param targets the targets to execute this action on
      * @return  if the command stays enabled while the command executes
      */
     private boolean execute(IWorkbenchWindow window, final Object[] targets) {
-        DebugCommandService service = DebugCommandService.getService(window); 
+        DebugCommandService service = DebugCommandService.getService(window);
     	return service.executeCommand(
-    	    getCommandType(), targets, 
+    	    getCommandType(), targets,
             new ICommandParticipant() {
                 @Override
 				public void requestDone(org.eclipse.debug.core.IRequest request) {
                     DebugCommandHandler.this.postExecute(request, targets);
-                }             
+                }
             });
     }
 
     /**
-     * This method is called after the completion of the execution of this 
+     * This method is called after the completion of the execution of this
      * command.  Extending classes may override this method to perform additional
-     * operation after command execution. 
-     * 
-     * @param request The completed request object which was given the the 
+     * operation after command execution.
+     *
+     * @param request The completed request object which was given the the
      * debug command handler.
      * @param targets Objects which were the targets of this action
      */
@@ -256,20 +256,20 @@
     }
 
     /**
-     * Returns the {@link org.eclipse.debug.core.commands.IDebugCommandHandler} 
+     * Returns the {@link org.eclipse.debug.core.commands.IDebugCommandHandler}
      * command handler that type this action executes.
-     * 
+     *
      * @return command class.
-     * 
+     *
      * @see org.eclipse.debug.core.commands.IDebugCommandHandler
      */
 	abstract protected Class<?> getCommandType();
 
-    
+
     /**
      * Returns whether this action should be enabled when initialized
      * and there is no active debug context.
-     * 
+     *
      * @return false, by default
      */
     protected boolean getInitialEnablement() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
index f6c4cd4..78a4417 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ExportBreakpointsOperation.java
@@ -56,10 +56,10 @@
 	 */
 	private String fFileName = null;
 	private StringWriter fWriter = null;
-	
+
 	/**
 	 * Constructs an operation to export breakpoints to a file.
-	 * 
+	 *
 	 * @param breakpoints the breakpoints to export
 	 * @param fileName absolute path of file to export breakpoints to - the file
 	 * 	will be overwritten if it already exists
@@ -72,7 +72,7 @@
 	/**
 	 * Constructs an operation to export breakpoints to a string buffer. The buffer
 	 * is available after the operation is run via {@link #getBuffer()}.
-	 * 
+	 *
 	 * @param breakpoints the breakpoints to export
 	 * @since 3.5
 	 */
@@ -111,7 +111,7 @@
 				root.putString(IImportExportConstants.IE_NODE_TYPE, marker.getType());
 				Object val = marker.getAttribute(IMarker.LINE_NUMBER);
 				root.putString(IMarker.LINE_NUMBER, (val != null) ? val.toString() : null);
-				val = marker.getAttribute(IImportExportConstants.CHARSTART); 
+				val = marker.getAttribute(IImportExportConstants.CHARSTART);
 				root.putString(IImportExportConstants.CHARSTART, (val != null) ? val.toString() : null);
 				String value = null;
 				boolean wsattrib = false;
@@ -160,9 +160,9 @@
 	/**
 	 * Collects all of the breakpoint working sets that contain the given {@link IBreakpoint}
 	 * in the given list
-	 * 
+	 *
 	 * @param breakpoint the breakpoint to get working set information about
-	 * @return the {@link IImportExportConstants#DELIMITER} delimited {@link String} for all of the work sets the given breakpoint belongs to 
+	 * @return the {@link IImportExportConstants#DELIMITER} delimited {@link String} for all of the work sets the given breakpoint belongs to
 	 * @since 3.5
 	 */
 	private String getWorkingSetsAttribute(IBreakpoint breakpoint) {
@@ -177,7 +177,7 @@
 		}
 		return buffer.toString();
 	}
-	
+
 	/**
 	 * Method to ensure markers and breakpoints are not both added to the working set
 	 * @param set the set to check
@@ -194,13 +194,13 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns a string buffer containing a memento of the exported breakpoints
 	 * or <code>null</code> if the operation was configured to export to a file.
 	 * The memento can be used to import breakpoints into the workspace using an
 	 * {@link ImportBreakpointsOperation}.
-	 * 
+	 *
 	 * @return a string buffer containing a memento of the exported breakpoints
 	 * or <code>null</code> if the operation was configured to export to a file
 	 * @since 3.5
@@ -211,6 +211,6 @@
 		}
 		return null;
 	}
-	
-	
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java
index 29316c3..61f25c9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryBlocksTarget.java
@@ -25,18 +25,18 @@
  * @since 3.2
  */
 public interface IAddMemoryBlocksTarget {
-	
+
 	/**
 	 * Returns whether an add memory block operation can be performed from the specified
 	 * part and the given selection.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection the selection on which the action has been invoked
 	 * @return <code>true</code> if the add memory block operation can be performed from the given part and selection, <code>false</code> otherwise
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public boolean canAddMemoryBlocks(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
+
 	/**
 	 * Returns whether this target will support adding memory block from the specified
 	 * part.
@@ -45,19 +45,19 @@
 	 * part, false otherwise.
 	 */
 	public boolean supportsAddMemoryBlocks(IWorkbenchPart part);
-	
-	
+
+
 	/**
-	 * Perform an add memory block on the given element that is 
+	 * Perform an add memory block on the given element that is
 	 * currently selected in the Debug view. If a memory block can be successfully
 	 * created, implementations must add the resulted memory block to <code>IMemoryBlockManager</code>
 	 * In addition, implementations must query to see if default renderings should be created
 	 * for the given memory block and add these renderings accordingly.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection the selection on which the action has been invoked
-	 * @throws CoreException if unable to perform the action 
-	 * 
+	 * @throws CoreException if unable to perform the action
+	 *
 	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrieval
 	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
 	 * @see org.eclipse.debug.core.IMemoryBlockManager
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java
index 3e42dd8..5377536 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IAddMemoryRenderingsTarget.java
@@ -17,7 +17,7 @@
 import org.eclipse.ui.IWorkbenchPart;
 
 /**
- * Adapter for the platform's retargettable "add memory rendering" action. 
+ * Adapter for the platform's retargettable "add memory rendering" action.
  * Clients implementing this adapter are expected to add the necessary memory blocks
  * and renderings when the adapter is invoked.
  * <p>
@@ -28,10 +28,10 @@
  * <li>Create the new rendering from <code>IMemoryRenderingTypeDelegate</code></li>
  * <li>Bring the required memory view to the top. (<code>IMemoryRenderingSite</code>)</li>
  * <li>Find the container from the memory view to host the new memory rendering.
- *    (<code>IMemoryRenderingContainer</code>)</li> 
+ *    (<code>IMemoryRenderingContainer</code>)</li>
  * <li>Initialize the new rendering with the appropriate memory block and container.</li>
  * <li>Add the new rendering to the container.</li>
- * </ol> 
+ * </ol>
  * </p>
  * <p>
  * Clients may implement this interface.
@@ -44,16 +44,16 @@
 	 * Returns whether a memory rendering can be added from the specified
 	 * part, based on the the given selection, which is the active debug context
 	 * in the current workbench window.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
-	 * @param selection the active debug context in the active workbench window	
+	 * @param selection the active debug context in the active workbench window
 	 * @return <code>true</code> if a memory rendering can be added from the specified
 	 * part with the given selection, <code>false</code> otherwise
 	 */
 	public boolean canAddMemoryRenderings(IWorkbenchPart part, ISelection selection);
-	
+
 	/**
-	 * Adds memory renderings. Based on the part and selection (active debug context), this 
+	 * Adds memory renderings. Based on the part and selection (active debug context), this
 	 * adapter does the following:
 	 * <ol>
 	 * <li>creates and adds the required memory block to the memory block manager</li>
@@ -63,8 +63,8 @@
 	 * @param part the part on which the action has been invoked
 	 * @param selection the active debug context
 	 * @param renderingTypes renderings to add
-	 * @throws CoreException if unable to perform the action 
-	 * 
+	 * @throws CoreException if unable to perform the action
+	 *
 	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrieval
 	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingManager
 	 * @see org.eclipse.debug.core.IMemoryBlockManager
@@ -72,11 +72,11 @@
 	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer
 	 */
 	public void addMemoryRenderings(IWorkbenchPart part, ISelection selection, IMemoryRenderingType[] renderingTypes) throws CoreException;
-	
+
 	/**
 	 * Returns a list of rendering types that can be added from the given workbench part and active
 	 * debug context, possibly empty.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection the active debug context
 	 * @return a list of rendering types that can be added, possibly empty
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
index 38643a3..b348f2f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
@@ -13,7 +13,7 @@
 /**
  * Interface used to tag objects as launchable. Objects that provide
  * an adapter of this type will be considered by the contextual
- * launch support. 
+ * launch support.
  * <p>
  * The debug platform uses the {@link ILaunchable} interface as a tag for
  * objects that can be launched via the context menu 'Run As / Debug As' actions
@@ -32,13 +32,13 @@
  * Thus objects that can be launched need to register {@link ILaunchable} adapters, but
  * don't have to provide implementations. There is also no harm in implementing the interface
  * or providing the adapter. For example, JDT contributes an adapter as follows. Although
- * no adapter is actually provided the platform will answer <code>true</code> to 
+ * no adapter is actually provided the platform will answer <code>true</code> to
  * <code>hasAdapter(...)</code>.
  * </p>
  * <pre>
  * <extension point="org.eclipse.core.runtime.adapters">
- *    <factory 
- *       class="" 
+ *    <factory
+ *       class=""
  *       adaptableType="org.eclipse.jdt.core.IJavaElement">
  *       <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
  *   </factory>
@@ -50,7 +50,7 @@
  * required.
  * </p>
  * <p>
- * Clients that need to check for presence of launchable adapter using 
+ * Clients that need to check for presence of launchable adapter using
  * standard expression mechanism, should use a property tester as follows:
  * <pre>
  * <with variable="selection">
@@ -59,7 +59,7 @@
  *    </iterator>
  * </with>
  * </pre>
- * 
+ *
  * </p>
  * @see org.eclipse.debug.ui.actions.ContextualLaunchAction
  * @since 3.0
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
index 2354134..016bbde 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
@@ -28,8 +28,8 @@
  * the user invokes an associated action. If an adapter does not exist
  * for the part, the retargettable actions asks selected objects in the
  * active part for an adapter. Generally, a debug implementation will
- * provide breakpoint adapters for relevant editors and model objects. 
- * </p>  
+ * provide breakpoint adapters for relevant editors and model objects.
+ * </p>
  * <p>
  * Clients are intended to implement this interface and provide instances as
  * an adapter on applicable parts (for example, editors) that support the
@@ -38,25 +38,25 @@
  * @since 3.0
  */
 public interface IRunToLineTarget {
-	
+
 	/**
-	 * Perform a run to line operation on the given element that is 
+	 * Perform a run to line operation on the given element that is
 	 * currently selected and suspended in the Debug view. Implementations
 	 * must honor the user preference of whether to skip breakpoints
 	 * during the operation -
 	 * see <code>IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE</code>.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection the selection on which the action has been invoked
 	 * @param target suspended element to perform the "run to line" action on
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public void runToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target) throws CoreException;
 
 	/**
 	 * Returns whether a run to line operation can be performed on the given
 	 * element that is currently selected and suspended in the Debug view.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection the selection on which the action has been invoked
 	 * @param target suspended element to perform the "run to line" action on
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
index c0f9c8b..a0f20a1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
@@ -29,8 +29,8 @@
  * the user invokes an associated action. If an adapter does not exist
  * for the part, the retargettable actions asks selected objects in the
  * active part for an adapter. Generally, a debug implementation will
- * provide breakpoint adapters for relevant editors and model objects. 
- * </p> 
+ * provide breakpoint adapters for relevant editors and model objects.
+ * </p>
  * <p>
  * Clients are intended to implement this interface and provide instances as
  * an adapter on applicable parts (for example, editors) and objects (for
@@ -39,25 +39,25 @@
  * @since 3.0
  */
 public interface IToggleBreakpointsTarget {
-	
+
 	/**
 	 * Creates new line breakpoints or removes existing breakpoints.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
+	 *
+	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which line breakpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
+
 	/**
 	 * Returns whether line breakpoints can be toggled on the given selection.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which line breakpoints may be toggled
 	 * @return whether line breakpoints can be toggled on the given selection
@@ -69,46 +69,46 @@
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
+	 *
+	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which method breakpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
+
 	/**
 	 * Returns whether method breakpoints can be toggled on the given selection.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which method breakpoints may be toggled
 	 * @return whether method breakpoints can be toggled on the given selection
 	 */
 	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection);
-	
+
 	/**
 	 * Creates new watchpoints or removes existing breakpoints.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
+	 *
+	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which watchpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
+
 	/**
 	 * Returns whether watchpoints can be toggled on the given selection.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which watchpoints may be toggled
 	 * @return whether watchpoints can be toggled on the given selection
 	 */
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection);	
+	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection);
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension.java
index 99e7e08..70e8d96 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
  * This interface provides the ability to selectively create any type of breakpoint
  * when invoked, rather than a specific type of breakpoint (for example, a line
  * breakpoint). This allows targets to choose the type of breakpoint to create
- * when the user double-clicks in the vertical ruler. 
+ * when the user double-clicks in the vertical ruler.
  * <p>
  * Clients implementing <code>IToggleBreakpointsTarget</code> may optionally
  * implement this interface.
@@ -28,25 +28,25 @@
  * @see org.eclipse.debug.ui.actions.ToggleBreakpointAction
  */
 public interface IToggleBreakpointsTargetExtension extends IToggleBreakpointsTarget {
-	
+
 	/**
 	 * Creates new line breakpoints or removes existing breakpoints.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
+	 *
+	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which line breakpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public void toggleBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
+
 	/**
 	 * Returns whether line breakpoints can be toggled on the given selection.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
+	 *
 	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which line breakpoints may be toggled
 	 * @return whether line breakpoints can be toggled on the given selection
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension2.java
index 8a7bce3..b4c2763 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetExtension2.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
  * Extension interface for {@link org.eclipse.debug.ui.actions.IToggleBreakpointsTargetExtension}.
  * This interface provides the ability to inspect the key modifiers
  * being used when toggling a breakpoint. This allows targets to choose the type of breakpoint to create
- * when the user double-clicks in the vertical ruler. 
+ * when the user double-clicks in the vertical ruler.
  * <p>
  * Clients implementing <code>IToggleBreakpointsTarget</code> or <code>IToggleBreakpointsTargetExtension</code> may optionally
  * implement or adapt to this interface.
@@ -28,27 +28,27 @@
  * @see org.eclipse.debug.ui.actions.ToggleBreakpointAction
  */
 public interface IToggleBreakpointsTargetExtension2 extends IToggleBreakpointsTargetExtension {
-	
+
 	/**
 	 * Creates or removes existing breakpoints based on any modifiers in the given {@link Event}.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
+	 *
+	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which line breakpoints should be toggled
 	 * @param event the accompanying {@link Event} which can be <code>null</code> if unavailable
-	 * @throws CoreException if unable to perform the action 
+	 * @throws CoreException if unable to perform the action
 	 */
 	public void toggleBreakpointsWithEvent(IWorkbenchPart part, ISelection selection, Event event) throws CoreException;
-	
+
 	/**
 	 * Returns whether breakpoints can be toggled on the given selection with the given {@link Event}.
 	 * The selection varies depending on the given part. For example,
 	 * a text selection is provided for text editors, and a structured
 	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
+	 *
+	 * @param part the part on which the action has been invoked
 	 * @param selection selection on which line breakpoints should be toggled
 	 * @param event the accompanying {@link Event} which can be <code>null</code> if unavailable
 	 * @return whether breakpoints can be toggled on the given selection with the given {@link Event}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetFactory.java
index 6102576..b0c6c71 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetFactory.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetFactory.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
  *     Wind River Systems - adapted to use with IToggleBreakpiontsTargetFactory extension
@@ -17,13 +17,13 @@
 import org.eclipse.ui.IWorkbenchPart;
 
 /**
- * A toggle breakpoints target factory creates one or more toggle breakpoint 
+ * A toggle breakpoints target factory creates one or more toggle breakpoint
  * targets.  The toggle breakpoints targets are used by toggle breakpoint actions
- * to create breakpoints appropriate for the active editor, debug session, project, 
+ * to create breakpoints appropriate for the active editor, debug session, project,
  * or selection.
- *  
+ *
  * <p>
- * Toggle breakpoints target factories are contributed via the 
+ * Toggle breakpoints target factories are contributed via the
  * <code>org.eclipse.debug.ui.toggleBreakpointsTargetFactories</code>
  * extension point. Following is an example of a detail pane factory extension:
  * <pre>
@@ -33,7 +33,7 @@
  *            class="com.example.BreakpointToggleTargetFactory"&gt;
  *        &lt;enablement&gt;
  *           &lt;!-- Test the active debug context.  Enable only if the active context
- *                is an element from "Example" debugger, or if there is no debug context 
+ *                is an element from "Example" debugger, or if there is no debug context
  *                associated with the context element.  Also enable if debug context is
  *                empty --&gt;
  *           &lt;with variable="debugContext"&gt;
@@ -44,7 +44,7 @@
  *               &lt;/or&gt;
  *           &lt;/iterate&gt;
  *           &lt;/with&gt;
- *           &lt;!-- If there is no active debug context.  Enable the breakpoint toggle for 
+ *           &lt;!-- If there is no active debug context.  Enable the breakpoint toggle for
  *                the "Example" editors --&gt;
  *           &lt;instanceof value="com.example.Editor"/&gt;
  *        &lt;/enablement&gt;
@@ -54,9 +54,9 @@
  * </p>
  * <p>
  * <p>
- * Clients contributing a toggle breakpoints target factory are intended to 
+ * Clients contributing a toggle breakpoints target factory are intended to
  * implement this interface.
- * 
+ *
  * @see IToggleBreakpointsTarget
  * @see IToggleBreakpointsTargetExtension
  * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTargetManager
@@ -64,55 +64,55 @@
  */
 public interface IToggleBreakpointsTargetFactory {
     /**
-     * Returns all possible types of toggle breakpoints targets that this 
-     * factory can create for the given selection and part, possibly empty. 
+     * Returns all possible types of toggle breakpoints targets that this
+     * factory can create for the given selection and part, possibly empty.
      * Toggle breakpoints targets  are returned as a set of IDs.
-     * 
+     *
      * @param part The active part.
      * @param selection The current selection
-     * @return Set of <code>String</code> IDs for possible toggle breakpoint 
+     * @return Set of <code>String</code> IDs for possible toggle breakpoint
      * targets, possibly empty
      */
 	public Set<String> getToggleTargets(IWorkbenchPart part, ISelection selection);
-    
+
     /**
-     * Returns the identifier of the default toggle breakpoints target to use 
-     * for the given selection, or <code>null</code> if this factory has no 
-     * preference.   
-     * 
+     * Returns the identifier of the default toggle breakpoints target to use
+     * for the given selection, or <code>null</code> if this factory has no
+     * preference.
+     *
      * @param part The active part.
      * @param selection The current selection
      * @return a breakpoint toggle target identifier or <code>null</code>
      */
     public String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection);
-    
+
     /**
-     * Creates and returns a toggle breakpoint target corresponding to the 
-     * given identifier that this factory can produce (according to 
+     * Creates and returns a toggle breakpoint target corresponding to the
+     * given identifier that this factory can produce (according to
      * {@link #getToggleTargets}).
-     *  
+     *
      * @param targetID The id of the toggle target to be created
      * @return toggle target or <code>null</code> if one could not be created
      */
     public IToggleBreakpointsTarget createToggleTarget(String targetID);
-    
+
     /**
-     * Returns a human readable name for the breakpoint toggle target associated with the 
+     * Returns a human readable name for the breakpoint toggle target associated with the
      * given ID. Used to populate the context menu with meaningful names of the types of
      * breakpoints created by the given target.
-     * 
+     *
      * @param targetID toggle breakpoints target identifier
      * @return toggle target name
      */
     public String getToggleTargetName(String targetID);
-    
+
     /**
-     * Returns a description for the breakpoint toggle target associated with the 
-     * given ID or <code>null</code> if none. 
-     * 
+     * Returns a description for the breakpoint toggle target associated with the
+     * given ID or <code>null</code> if none.
+     *
      * @param targetID toggle breakpoints target identifier
      * @return toggle target name or <code>null</code> if none
      */
     public String getToggleTargetDescription(String targetID);
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManager.java
index f768c28..6705c81 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManager.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:
  *     Wind River Systems - initial API and implementation
  *     IBM Corporation - bug fixing
@@ -17,33 +17,33 @@
 import org.eclipse.ui.IWorkbenchPart;
 
 /**
- * Organizes the toggle breakpoints target factories contributed through the 
- * extension point and keeps track of the toggle breakpoints target that 
+ * Organizes the toggle breakpoints target factories contributed through the
+ * extension point and keeps track of the toggle breakpoints target that
  * the factories produce.  The manager is accessed as a singleton through
  * the <code>getDefault()</code> method.
  * <p>
  * The adapter mechanism for obtaining a toggle breakpoints target is
  * still supported through a specialized toggle target factory.  Targets
- * contributed through this mechanism are labeled as "Default" in the UI. 
- * </p>  
+ * contributed through this mechanism are labeled as "Default" in the UI.
+ * </p>
  * <p>
  * Clients should call {@link org.eclipse.debug.ui.DebugUITools#getToggleBreakpointsTargetManager()}
  * for an instance of this instance.
  * </p>
- *  
+ *
  * @see IToggleBreakpointsTargetFactory
  * @see IToggleBreakpointsTarget
  * @see IToggleBreakpointsTargetExtension
- * 
+ *
  * @since 3.8
  * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface IToggleBreakpointsTargetManager {
-    
+
     /**
-     * Returns the set of <code>String</code> IDs of toggle breakpoint targets, 
+     * Returns the set of <code>String</code> IDs of toggle breakpoint targets,
      * which are enabled for the given active part and selection.  The IDs can be used
-     * to create the {@link IToggleBreakpointsTarget} instance.  
+     * to create the {@link IToggleBreakpointsTarget} instance.
      * @param part active part
      * @param selection active selection in part
      * @return Set of toggle target IDs or an empty set
@@ -52,49 +52,49 @@
 
     /**
      * Returns the ID of the calculated preferred toggle breakpoints target for the
-     * given active part and selection.  The returned ID is chosen based on factory 
-     * enablement, whether the target is a default one, and on user choice. 
+     * given active part and selection.  The returned ID is chosen based on factory
+     * enablement, whether the target is a default one, and on user choice.
      * @param part active part
      * @param selection active selection in part
      * @return The toggle target IDs or null if none.
      */
     public String getPreferredToggleBreakpointsTargetID(IWorkbenchPart part, ISelection selection);
-    
+
     /**
      * Given the ID of toggle breakpoint target, this method will try to find the factory
      * that creates it and return an instance of it.
-     * 
+     *
      * @param part The workbench part in which toggle target is to be used
-     * @param selection The active selection to use with toggle target 
+     * @param selection The active selection to use with toggle target
      * @return The instantiated target or null
      */
     public IToggleBreakpointsTarget getToggleBreakpointsTarget(IWorkbenchPart part, ISelection selection);
-    
+
     /**
-     * Given the ID of a toggle breakpoints target, this method will try 
+     * Given the ID of a toggle breakpoints target, this method will try
      * to find the factory that creates it and ask it for the name of it.
-     * 
+     *
      * @param id The ID of the requested toggle breakpoint target.
      * @return The name of the target.
      */
     public String getToggleBreakpointsTargetName(String id);
-    
+
     /**
-     * Given the ID of a toggle breakpoints target, this method will try 
+     * Given the ID of a toggle breakpoints target, this method will try
      * to find the factory that creates it and ask it for the description of it.
-     * 
+     *
      * @param id The ID of the requested toggle breakpoint target.
      * @return The description of the target or null.
      */
     public String getToggleBreakpointsTargetDescription(String id);
-    
+
     /**
      * Adds the given listener to the list of listeners notified when the preferred
      * toggle breakpoints targets change.
      * @param listener The listener to add.
      */
     public void addChangedListener(IToggleBreakpointsTargetManagerListener listener);
-    
+
     /**
      * Removes the given listener from the list of listeners notified when the preferred
      * toggle breakpoints targets change.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManagerListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManagerListener.java
index 58f8fd3..643278c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManagerListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTargetManagerListener.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:
  *     Wind River Systems - initial API and implementation
  *******************************************************************************/
@@ -16,13 +16,13 @@
  * breakpoints target manager.  This interface allows toggle breakpoint
  * actions to update their enablement when the user changes the preferred
  * toggle target settings.
- * 
+ *
  * @see IToggleBreakpointsTargetManager
  * @see IToggleBreakpointsTargetFactory
  * @since 3.8
  */
 public interface IToggleBreakpointsTargetManagerListener {
-    
+
     /**
      * Called when the preferred toggle targets have changed.
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java
index 0fc8f98..6238228 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IVariableValueEditor.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 implementation
  *******************************************************************************/
@@ -30,7 +30,7 @@
  * <ul>
  * <li><code>modelId</code> the debug model identifier for which the given
  * variable value editor is applicable</li>
- * <li><code>class</code> fully qualified name of a class that implements 
+ * <li><code>class</code> fully qualified name of a class that implements
  * {@link IVariableValueEditor}</li>
  * </ul>
  * </p>
@@ -45,7 +45,7 @@
      * Edits the given variable, if appropriate. If this editor does not apply to
      * the given variable this method returns false, which indicates that the
      * Debug Platform's default variable edit dialog should be used.
-     * 
+     *
      * @param variable the variable to edit
      * @param shell the currently active shell, which can be used to open a dialog
      *  for the user
@@ -55,13 +55,13 @@
      *  variable editor
      */
     public boolean editVariable(IVariable variable, Shell shell);
-    
+
     /**
      * Saves the given expression to the given variable, if appropriate. If this
      * editor does not set the given variable's value from the given expression, this
      * method returns false. Returning false indicates that the Debug Platform should
      * perform the default operation to set a variable's value based on a String.
-     * 
+     *
      * @param variable the variable to edit
      * @param expression the expression to assign to the given variable
      * @param shell the currently active shell, which can be used to report errors to the
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java
index d6199cd..213194f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter.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
  *******************************************************************************/
@@ -33,11 +33,11 @@
  * @since 3.2
  */
 public interface IWatchExpressionFactoryAdapter {
-	
+
 	/**
 	 * Creates and returns an expression for the specified variable
 	 * which is used to created an {@link org.eclipse.debug.core.model.IWatchExpression}.
-	 * 
+	 *
 	 * @param variable variable a watch expression is required for
 	 * @return text used to create a watch expression
 	 * @exception org.eclipse.core.runtime.CoreException if unable to create a watch
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter2.java
index 9c30fde..13e8107 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapter2.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
  *     Wind River Systems - integration with non-standard debug models (Bug 209883)
@@ -16,9 +16,9 @@
 /**
  * An optional adapter used to create a watch expression for a selected element.
  * <p>
- * The 'Create Watch Expression' action is enabled for an adaptable element  
+ * The 'Create Watch Expression' action is enabled for an adaptable element
  * that have an associated <code>IWatchExpressionFactoryAdapter2</code>.
- * 
+ *
  * When a watch expression factory adapter is available for an element, the factory is
  * consulted to create a watch expression for that element.
  * </p>
@@ -28,11 +28,11 @@
  * @since 3.4
  */
 public interface IWatchExpressionFactoryAdapter2  {
-	
+
     /**
      * Creates and returns an expression for the specified variable
      * which is used to created an {@link org.eclipse.debug.core.model.IWatchExpression}.
-     * 
+     *
      * @param element element a watch expression is required for
      * @return text used to create a watch expression
      * @exception org.eclipse.core.runtime.CoreException if unable to create a watch
@@ -42,7 +42,7 @@
 
     /**
 	 * Returns whether a watch expression can be created for the specified variable.
-	 * 
+	 *
 	 * @param variable the specified variable
 	 * @return whether an expression can be created
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapterExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapterExtension.java
index 02b149e..1ad06ba 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapterExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IWatchExpressionFactoryAdapterExtension.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
  *******************************************************************************/
@@ -19,7 +19,7 @@
  * By default, the 'Create Watch Expression' action is enabled for instances of
  * {@link org.eclipse.debug.core.model.IVariable} that have an associated
  * {@link org.eclipse.debug.core.model.IWatchExpressionDelegate} registered
- * for that debug model. 
+ * for that debug model.
  * When a watch expression factory adapter is available for a variable that implements
  * this interface, the factory is consulted to enable the action.
  * </p>
@@ -30,10 +30,10 @@
  * @since 3.3
  */
 public interface IWatchExpressionFactoryAdapterExtension extends IWatchExpressionFactoryAdapter {
-	
+
 	/**
 	 * Returns whether a watch expression can be created for the specified variable.
-	 * 
+	 *
 	 * @param variable variable a watch expression is required for
 	 * @return whether an expression can be created
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
index 48e8093..b9816dd 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ImportBreakpointsOperation.java
@@ -69,12 +69,12 @@
 	private boolean fCreateWorkingSets = false;
 
 	private ArrayList<IBreakpoint> fAdded = new ArrayList<IBreakpoint>();
-	
+
 	private String fCurrentWorkingSetProperty = null;
 
 	private BreakpointManager fManager = (BreakpointManager) DebugPlugin.getDefault().getBreakpointManager();
-	
-	/** 
+
+	/**
 	 * When a buffer is specified, a file is not used.
 	 */
 	private StringBuffer fBuffer = null;
@@ -83,8 +83,8 @@
 
 	/**
 	 * Constructs an operation to import breakpoints.
-	 * 
-	 * @param fileName the file to read breakpoints from - the file should have been 
+	 *
+	 * @param fileName the file to read breakpoints from - the file should have been
 	 *            created from an export operation
 	 * @param overwrite whether imported breakpoints will overwrite existing equivalent breakpoints
 	 * @param createWorkingSets whether breakpoint working sets should be created. Breakpoints
@@ -98,7 +98,7 @@
 
 	/**
 	 * Constructs an operation to import breakpoints.
-	 * 
+	 *
 	 * @param fileName the file to read breakpoints from - the file should have been created from an
 	 *            export operation
 	 * @param overwrite whether imported breakpoints will overwrite existing equivalent breakpoints
@@ -115,12 +115,12 @@
 		fCreateWorkingSets = createWorkingSets;
 		fImportBreakpoints = importBreakpoints;
 	}
-	
+
 	/**
 	 * Constructs an operation to import breakpoints from a string buffer. The buffer
 	 * must contain a memento created an {@link ExportBreakpointsOperation}.
-	 * 
-	 * @param buffer the string buffer to read breakpoints from - the file should have been 
+	 *
+	 * @param buffer the string buffer to read breakpoints from - the file should have been
 	 *            created from an export operation
 	 * @param overwrite whether imported breakpoints will overwrite existing equivalent breakpoints
 	 * @param createWorkingSets whether breakpoint working sets should be created. Breakpoints
@@ -132,11 +132,11 @@
 	public ImportBreakpointsOperation(StringBuffer buffer, boolean overwrite, boolean createWorkingSets) {
 		this(buffer, overwrite, createWorkingSets, true);
 	}
-	
+
 	/**
 	 * Constructs an operation to import breakpoints from a string buffer. The buffer must contain a
 	 * memento created an {@link ExportBreakpointsOperation}.
-	 * 
+	 *
 	 * @param buffer the string buffer to read breakpoints from - the file should have been created
 	 *            from an export operation
 	 * @param overwrite whether imported breakpoints will overwrite existing equivalent breakpoints
@@ -152,7 +152,7 @@
 		fOverwriteAll = overwrite;
 		fCreateWorkingSets = createWorkingSets;
 		fImportBreakpoints = importBreakpoints;
-	}	
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.resources.IWorkspaceRunnable#run(org.eclipse.core.runtime.IProgressMonitor)
@@ -202,9 +202,9 @@
 				}
 
 				// filter resource breakpoints that do not exist in this workspace
-				if(resource != null) {	
+				if(resource != null) {
 					try {
-						participants = fManager.getImportParticipants((String) attributes.get(IImportExportConstants.IE_NODE_TYPE)); 
+						participants = fManager.getImportParticipants((String) attributes.get(IImportExportConstants.IE_NODE_TYPE));
 					}
 					catch(CoreException ce) {}
 					IMarker marker = findExistingMarker(attributes, participants);
@@ -229,16 +229,16 @@
 			if(fAdded.size() > 0 && fImportBreakpoints) {
 				fManager.addBreakpoints(fAdded.toArray(new IBreakpoint[fAdded.size()]));
 			}
-		} 
+		}
 		catch(CoreException ce) {
-			throw new InvocationTargetException(ce, 
+			throw new InvocationTargetException(ce,
  MessageFormat.format("There was a problem importing breakpoints from: {0}", new Object[] { fFileName })); //$NON-NLS-1$
 		}
 		finally {
 			localmonitor.done();
 		}
 	}
-	
+
 	/**
 	 * Returns a marker backing an existing breakpoint based on the given set of breakpoint attributes
 	 * @param attributes the map of attributes to compare for marker equality
@@ -247,7 +247,7 @@
 	 * @since 3.5
 	 */
 	protected IMarker findExistingMarker(Map<String, Object> attributes, IBreakpointImportParticipant[] participants) {
-		IBreakpoint[] bps = fManager.getBreakpoints();		 
+		IBreakpoint[] bps = fManager.getBreakpoints();
 		for(int i = 0; i < bps.length; i++) {
 			for(int j = 0; j < participants.length; j++) {
 				try {
@@ -260,7 +260,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Collects all of the properties for a breakpoint from the memento describing it.
 	 * The values in the map will be one of:
@@ -275,7 +275,7 @@
 	 */
 	protected Map<String, Object> collectBreakpointProperties(IMemento memento) {
 		HashMap<String, Object> map = new HashMap<String, Object>();
-		
+
 		//collect attributes from the 'breakpoint' node
 		map.put(IImportExportConstants.IE_BP_ENABLED, memento.getBoolean(IImportExportConstants.IE_BP_ENABLED));
 		map.put(IImportExportConstants.IE_BP_PERSISTANT, memento.getBoolean(IImportExportConstants.IE_BP_PERSISTANT));
@@ -297,14 +297,14 @@
 		map.put(IImportExportConstants.IE_NODE_PATH, child.getString(IImportExportConstants.IE_NODE_PATH));
 		return map;
 	}
-	
+
 	/**
 	 * Collects the 'name' and 'value' key / attribute from the given memento and places it in the specified map
-	 * @param memento the memento to read a name / value attribute from 
+	 * @param memento the memento to read a name / value attribute from
 	 * @param map the map to add the read attribute to
 	 */
 	private void readAttribute(IMemento memento, Map<String, Object> map) {
-		String name = memento.getString(IImportExportConstants.IE_NODE_NAME), 
+		String name = memento.getString(IImportExportConstants.IE_NODE_NAME),
 		   	   value = memento.getString(IImportExportConstants.IE_NODE_VALUE);
 		if (value != null && name != null) {
 			if (name.equals(IInternalDebugUIConstants.WORKING_SET_NAME)) {
@@ -323,7 +323,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * restores all of the attributes back into the given marker, recreates the breakpoint in the
 	 * breakpoint manager, and optionally recreates any working set(s) the breakpoint belongs to.
@@ -368,7 +368,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Updates the working sets the given breakpoint belongs to
 	 * @param wsnames the array of working set names
@@ -407,13 +407,13 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Collects all of the breakpoint working sets that contain the given {@link IBreakpoint}
 	 * in the given list
-	 * 
-	 * @param breakpoint the breakpoint to collect working set containers from 
-	 * @param collector the list to collect containing working sets in 
+	 *
+	 * @param breakpoint the breakpoint to collect working set containers from
+	 * @param collector the list to collect containing working sets in
 	 * @since 3.5
 	 */
 	private void collectContainingWorkingsets(IBreakpoint breakpoint, List<IWorkingSet> collector) {
@@ -426,7 +426,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Method to ensure markers and breakpoints are not both added to the working set
 	 * @param set the set to check
@@ -442,11 +442,11 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns the breakpoints that were imported by this operation, possibly
-	 * an empty list. 
-	 * 
+	 * an empty list.
+	 *
 	 * @return breakpoints imported by this operation
 	 * @since 3.5
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
index 5277097..25c3b5f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
@@ -53,11 +53,11 @@
 	 * The mode to launch in
 	 */
 	private String fMode;
-	
+
 	/**
 	 * Constructs an action that launches the specified launch configuration
 	 * in the specified mode.
-	 * 
+	 *
 	 * @param configuration launch configuration
 	 * @param mode launch mode - one of <code>ILaunchManager.RUN_MODE</code> or
 	 * <code>ILaunchManager.DEBUG_MODE</code>
@@ -87,7 +87,7 @@
 	/**
 	 * If the user has control-clicked the launch history item, open the launch
 	 * configuration dialog on the launch configuration, rather than running it.
-	 * 
+	 *
 	 * @see org.eclipse.jface.action.IAction#runWithEvent(org.eclipse.swt.widgets.Event)
 	 */
 	@Override
@@ -98,12 +98,12 @@
 				//prompt based on pref
 				IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
 				if(store.getBoolean(IInternalDebugUIConstants.PREF_REMOVE_FROM_LAUNCH_HISTORY)) {
-					MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(DebugUIPlugin.getShell(), 
-							ActionMessages.LaunchAction_0, 
+					MessageDialogWithToggle mdwt = MessageDialogWithToggle.openYesNoQuestion(DebugUIPlugin.getShell(),
+							ActionMessages.LaunchAction_0,
  MessageFormat.format(ActionMessages.LaunchAction_1, new Object[] { fConfiguration.getName() }),
-							ActionMessages.LaunchAction_2, 
-							false, 
-							null, 
+							ActionMessages.LaunchAction_2,
+							false,
+							null,
 							null);
 					int ret = mdwt.getReturnCode();
 					if(ret == IDialogConstants.YES_ID) {
@@ -124,18 +124,18 @@
 			else {
 				runInternal(((event.stateMask & SWT.SHIFT) > 0) ? true : false);
 			}
-		} 
+		}
 		else {
 			runInternal(((event.stateMask & SWT.SHIFT) > 0) ? true : false);
 		}
 	}
-	
+
 	/**
 	 * Removes the specified <code>ILaunchConfiguration</code> from the launch histories associated
 	 * with the specified listing of <code>ILaunchGroup</code>s.
 	 * @param config the configuration to remove from the histories from the given launch groups
 	 * @param groups the launch groups whose histories the given configuration should be removed from
-	 * 
+	 *
 	 * @since 3.4
 	 */
 	private void removeFromLaunchHistories(ILaunchConfiguration config, ILaunchGroup[] groups) {
@@ -149,13 +149,13 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Collects all of the launch groups associated with the specified <code>ILaunchConfiguration</code>
 	 * @param config the config to collect launch groups for
-	 * @return the listing of associated <code>ILaunchGroup</code>s for the specified <code>ILaunchConfiguration</code>, or 
+	 * @return the listing of associated <code>ILaunchGroup</code>s for the specified <code>ILaunchConfiguration</code>, or
 	 * an empty listing, never <code>null</code>
-	 * @since 3.4 
+	 * @since 3.4
 	 */
 	private ILaunchGroup[] getAllGroupsForConfiguration(ILaunchConfiguration config) {
 		ArrayList<ILaunchGroup> list = new ArrayList<ILaunchGroup>();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
index 5f563da..98d80bc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
@@ -51,39 +51,39 @@
  */
 @Deprecated
 public class LaunchAsAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	
+
 	/**
-	 * Cascading menu 
+	 * Cascading menu
 	 */
 	private Menu fCreatedMenu;
-	
+
 	/**
-	 * Launch group identifier 
+	 * Launch group identifier
 	 */
 	private String fLaunchGroupIdentifier;
-	
+
 	/**
 	 * Presentation wrapper for this action
 	 */
 	private IAction fAction;
-	
+
 	/**
 	 * Creates a cascading menu action to populate with shortcuts in the given
 	 * launch group.
-	 *  
+	 *
 	 * @param launchGroupIdentifier launch group identifier
 	 */
 	public LaunchAsAction(String launchGroupIdentifier) {
 		super();
 		fLaunchGroupIdentifier = launchGroupIdentifier;
 		ILaunchMode launchMode = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(getMode());
-		setText(launchMode.getLaunchAsLabel()); 
+		setText(launchMode.getLaunchAsLabel());
 		setMenuCreator(this);
 	}
-	
+
 	/**
 	 * Returns the launch group associated with this action.
-	 * 
+	 *
 	 * @return the launch group associated with this action
 	 */
 	private LaunchGroupExtension getLaunchGroup() {
@@ -97,7 +97,7 @@
 	public void run() {
 		//do nothing, this action just creates a cascading menu.
 	}
-		
+
 	private void createAction(Menu parent, IAction action, int count) {
 		StringBuffer label= new StringBuffer();
 		//add the numerical accelerator
@@ -111,7 +111,7 @@
 		ActionContributionItem item= new ActionContributionItem(action);
 		item.fill(parent, -1);
 	}
-	
+
 	/**
 	 * @see IMenuCreator#dispose()
 	 */
@@ -121,7 +121,7 @@
 			getCreatedMenu().dispose();
 		}
 	}
-	
+
 	/**
 	 * @see IMenuCreator#getMenu(Control)
 	 */
@@ -129,7 +129,7 @@
 	public Menu getMenu(Control parent) {
 		return null;
 	}
-	
+
 	/**
 	 * @see IMenuCreator#getMenu(Menu)
 	 */
@@ -143,7 +143,7 @@
 		initMenu();
 		return getCreatedMenu();
 	}
-	
+
 	private void fillMenu() {
 		//Retrieve the current perspective and the registered shortcuts
 		List<LaunchShortcutExtension> shortcuts = null;
@@ -151,7 +151,7 @@
 		 if (activePerspID != null) {
 			 shortcuts = getLaunchConfigurationManager().getLaunchShortcuts(activePerspID, getCategory());
 		 }
-	
+
 		 // If NO shortcuts are listed in the current perspective, add ALL shortcuts
 		 // to avoid an empty cascading menu
 		 if (shortcuts == null || shortcuts.isEmpty()) {
@@ -167,7 +167,7 @@
 			 }
 		 }
 	}
-	
+
 	/**
 	 * Creates the menu for the action
 	 */
@@ -186,7 +186,7 @@
 			}
 		});
 	}
-		
+
 	/**
 	 * Add the shortcut to the menu.
 	 * @param mode the launch mode identifier
@@ -202,11 +202,11 @@
 			PlatformUI.getWorkbench().getHelpSystem().setHelp(action, helpContextId);
 		}
 		/*if (fKeyBindingService != null) {
-			fKeyBindingService.registerGlobalAction(action);	
+			fKeyBindingService.registerGlobalAction(action);
 		}*/
 		createAction(menu, action, menuCount);
 	}
-	
+
 	/**
 	 * Return the ID of the currently active perspective, or <code>null</code>
 	 * if there is none.
@@ -225,16 +225,16 @@
 		}
 		return null;
 	}
-		
+
 	/**
-	 * Returns the mode of this action - run or debug 
-	 * 
+	 * Returns the mode of this action - run or debug
+	 *
 	 * @return the mode of this action - run or debug
 	 */
 	private String getMode() {
 		return getLaunchGroup().getMode();
 	}
-	
+
 	/**
 	 * Returns the category of this action - possibly <code>null</code>
 	 *
@@ -243,15 +243,15 @@
 	private String getCategory() {
 		return getLaunchGroup().getCategory();
 	}
-	
+
 	private Menu getCreatedMenu() {
 		return fCreatedMenu;
 	}
-	
+
 	private void setCreatedMenu(Menu createdMenu) {
 		fCreatedMenu = createdMenu;
 	}
-	
+
 	/**
 	 * Returns the launch configuration manager.
 	 *
@@ -259,8 +259,8 @@
 	 */
 	private LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}	
-	
+	}
+
 	/**
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
 	 */
@@ -288,7 +288,7 @@
 			initialize(action);
 		}
 	}
-	
+
 	/**
 	 * Set the enabled state of the underlying action based on whether there are any
 	 * registered launch shortcuts for this launch mode.
@@ -296,13 +296,13 @@
 	 */
 	private void initialize(IAction action) {
 		fAction = action;
-		action.setEnabled(existsShortcutsForMode());	
-	}	
+		action.setEnabled(existsShortcutsForMode());
+	}
 
 	/**
 	 * Return whether there are any registered launch shortcuts for
 	 * the mode of this action.
-	 * 
+	 *
 	 * @return whether there are any registered launch shortcuts for
 	 * the mode of this action
 	 */
@@ -312,8 +312,8 @@
 			if (ext.getModes().contains(getMode())) {
 				return true;
 			}
-		}		
+		}
 		return false;
-	}	
+	}
 }
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
index b184ebe..99f5cf4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchShortcutsAction.java
@@ -57,42 +57,42 @@
  * selection. This action is similar to <code>ContextualLaunchAction</code>
  * except this action is an <code>IAction</code> rather than an action
  * delegate.
- * <p> 
+ * <p>
  * This action appears in the main Run menu
- * </p> 
+ * </p>
  * <p>
  * Clients may subclass this class.
  * </p>
  * @since 3.1
  */
 public class LaunchShortcutsAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	
+
 	/**
-	 * Cascading menu 
+	 * Cascading menu
 	 */
 	private Menu fCreatedMenu;
-	
+
 	/**
 	 * Launch group
 	 */
 	private ILaunchGroup fGroup;
-	
+
 	/**
 	 * Whether this actions enablement has been initialized
 	 */
 	private boolean fInitialized = false;
-		
+
 	/**
 	 * Creates a cascading menu action to populate with shortcuts in the given
 	 * launch group.
-	 *  
+	 *
 	 * @param launchGroupIdentifier launch group identifier
 	 */
 	public LaunchShortcutsAction(String launchGroupIdentifier) {
 		super();
 		fGroup = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(launchGroupIdentifier);
 		ILaunchMode mode = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(fGroup.getMode());
-		setText(mode.getLaunchAsLabel()); 
+		setText(mode.getLaunchAsLabel());
 		setMenuCreator(this);
 		setEnabled(existsConfigTypesForMode());
 	}
@@ -104,7 +104,7 @@
 	public void run() {
 		//do nothing, this action just creates a cascading menu.
 	}
-	
+
 	/**
 	 * @see IMenuCreator#dispose()
 	 */
@@ -114,7 +114,7 @@
 			fCreatedMenu.dispose();
 		}
 	}
-	
+
 	/**
 	 * @see IMenuCreator#getMenu(Control)
 	 */
@@ -122,7 +122,7 @@
 	public Menu getMenu(Control parent) {
 		return null;
 	}
-	
+
 	/**
 	 * @see IMenuCreator#getMenu(Menu)
 	 */
@@ -135,7 +135,7 @@
 		initMenu();
 		return fCreatedMenu;
 	}
-	
+
 	/**
 	 * @return an Evaluation context with default variable = selection
 	 */
@@ -153,10 +153,10 @@
 		context.setAllowPluginActivation(true);
 		context.addVariable("selection", list); //$NON-NLS-1$
 		return context;
-	}	
-	
+	}
+
 	/**
-	 * Fills the fly-out menu 
+	 * Fills the fly-out menu
 	 */
 	private void fillMenu() {
 		IEvaluationContext context = createContext();
@@ -200,13 +200,13 @@
 		}
 		if (accelerator == 1) {
 			// No shortcuts added. Add "none available" action.
-			IAction action= new Action(ActionMessages.LaunchShortcutsAction_1) {}; 
+			IAction action= new Action(ActionMessages.LaunchShortcutsAction_1) {};
 			action.setEnabled(false);
 			ActionContributionItem item= new ActionContributionItem(action);
 			item.fill(fCreatedMenu, -1);
 		}
 	}
-	
+
 	/**
 	 * Returns the first element of the current selection
 	 * @param context the current evaluation context
@@ -217,7 +217,7 @@
 		List<?> list = (List<?>) context.getVariable("selection"); //$NON-NLS-1$
 		return (list.isEmpty() ? null : list.get(0));
 	}
-	
+
 	/**
 	 * Add the shortcut to the context menu's launch sub-menu.
 	 * @param mode the launch mode identifier
@@ -246,7 +246,7 @@
 		ActionContributionItem item= new ActionContributionItem(action);
 		item.fill(menu, -1);
 	}
-	
+
 	/**
 	 * Evaluate the enablement logic in the contextualLaunch
 	 * element description. A true result means that we should
@@ -260,7 +260,7 @@
 		Expression expr = ext.getContextualLaunchEnablementExpression();
 		return ext.evalEnablementExpression(context, expr);
 	}
-	
+
 	/**
 	 * Creates the menu for the action
 	 */
@@ -279,16 +279,16 @@
 			}
 		});
 	}
-		
+
 	/**
-	 * Returns the mode of this action - run or debug 
-	 * 
+	 * Returns the mode of this action - run or debug
+	 *
 	 * @return the mode of this action - run or debug
 	 */
 	protected String getMode() {
 		return fGroup.getMode();
 	}
-	
+
 	/**
 	 * Returns the launch configuration manager.
 	 *
@@ -296,8 +296,8 @@
 	 */
 	private LaunchConfigurationManager getLaunchConfigurationManager() {
 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}	
-	
+	}
+
 	/**
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
 	 */
@@ -326,7 +326,7 @@
 	/**
 	 * Return whether there are any registered launch configuration types for
 	 * the mode of this action.
-	 * 
+	 *
 	 * @return whether there are any registered launch configuration types for
 	 * the mode of this action
 	 */
@@ -337,7 +337,7 @@
 			if (configType.supportsMode(getMode())) {
 				return true;
 			}
-		}		
+		}
 		return false;
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
index 649542d..7cc212d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
@@ -48,11 +48,11 @@
 	 * Launch group identifier
 	 */
 	private String fIdentifier;
-	
+
 	/**
 	 * Constructs an action that opens the launch configuration dialog in
 	 * the context of the specified launch group.
-	 * 
+	 *
 	 * @param identifier unique identifier of a launch group extension
 	 */
 	public OpenLaunchDialogAction(String identifier) {
@@ -65,7 +65,7 @@
 		}
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.OPEN_LAUNCH_CONFIGURATION_ACTION);
 	}
-	
+
 	/**
 	 * @see org.eclipse.jface.action.IAction#run()
 	 */
@@ -82,7 +82,7 @@
 		int result = DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), selection, fIdentifier);
 		notifyResult(result == Window.OK);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
 	 */
@@ -90,7 +90,7 @@
 	public void runWithEvent(IAction action, Event event) {
 		run();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
@@ -98,7 +98,7 @@
 	public void run(IAction action) {
 		run();
 	}
-	
+
 	/**
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
 	 */
@@ -114,11 +114,11 @@
 			action.setEnabled(existsConfigTypesForMode());
 		}
 	}
-	
+
 	/**
 	 * Return whether there are any registered launch configuration types for
 	 * the mode of this action.
-	 * 
+	 *
 	 * @return whether there are any registered launch configuration types for
 	 * the mode of this action
 	 */
@@ -129,25 +129,25 @@
 			if (configType.supportsMode(getMode())) {
 				return true;
 			}
-		}		
+		}
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
 	 */
 	@Override
 	public void init(IWorkbenchWindow window) {}
-	
+
 	/**
 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
 	@Override
 	public void selectionChanged(IAction action, ISelection selection) {}
-	
+
 	/**
 	 * Returns the launch mode for this action.
-	 * 
+	 *
 	 * @return launch mode
 	 */
 	private String getMode() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
index 3de0d72..2e3c700 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.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

  *     Wind River Systems - bug 227877

@@ -48,7 +48,7 @@
 

 /**

  * Re-launches the last launch.

- * 

+ *

  * @see ContextRunner

  * @see ILaunchConfiguration

  * @see RunLastAction

@@ -69,11 +69,11 @@
 			}

 		}

 	}

-	

+

 	private Listener fListener = new Listener();

 	private IWorkbenchWindow fWorkbenchWindow;

 	private IAction fAction;

-	

+

 	/* (non-Javadoc)

 	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()

 	 */

@@ -150,17 +150,17 @@
 					DebugUITools.launch(configuration, getMode(), isShift);

 				} else {

 					String configName = configuration.getName();

-					String title = ActionMessages.RelaunchLastAction_Cannot_relaunch_1; 

+					String title = ActionMessages.RelaunchLastAction_Cannot_relaunch_1;

 					String message = MessageFormat.format(ActionMessages.RelaunchLastAction_Cannot_relaunch___0___because_it_does_not_support__2__mode_2, new Object[] {

 							configName, getMode() });

-					MessageDialog.openError(getShell(), title, message);				

+					MessageDialog.openError(getShell(), title, message);

 				}

 			} else {

 				// If the history is empty, just open the launch config dialog

 				openLaunchConfigurationDialog();

 			}

 		} catch (CoreException ce) {

-			DebugUIPlugin.errorDialog(getShell(), ActionMessages.RelaunchLastAction_Error_relaunching_3, ActionMessages.RelaunchLastAction_Error_encountered_attempting_to_relaunch_4, ce); // 

+			DebugUIPlugin.errorDialog(getShell(), ActionMessages.RelaunchLastAction_Error_relaunching_3, ActionMessages.RelaunchLastAction_Error_encountered_attempting_to_relaunch_4, ce); //

 		}

 	}

 

@@ -172,11 +172,11 @@
 		if (dwindow == null) {

 			return;

 		}

-		LaunchConfigurationsDialog dialog = new LaunchConfigurationsDialog(DebugUIPlugin.getShell(), DebugUIPlugin.getDefault().getLaunchConfigurationManager().getDefaultLaunchGroup(getMode()));		

+		LaunchConfigurationsDialog dialog = new LaunchConfigurationsDialog(DebugUIPlugin.getShell(), DebugUIPlugin.getDefault().getLaunchConfigurationManager().getDefaultLaunchGroup(getMode()));

 		dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED);

 		dialog.open();

 	}

-	

+

 	/* (non-Javadoc)

 	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)

 	 */

@@ -184,9 +184,9 @@
 	public void selectionChanged(IAction action, ISelection selection){

 		if (fAction == null) {

 			initialize(action);

-		}		

+		}

 	}

-	

+

 	/**

 	 * Set the enabled state of the underlying action based on whether there are any

 	 * registered launch configuration types that understand how to launch in the

@@ -209,11 +209,11 @@
 			}

 		}

 	}

-	

+

 	/**

 	 * Return whether there are any registered launch configuration types for

 	 * the mode of this action.

-	 * 

+	 *

 	 * @return whether there are any registered launch configuration types for

 	 * the mode of this action

 	 */

@@ -224,10 +224,10 @@
 			if (configType.supportsMode(getMode())) {

 				return true;

 			}

-		}		

+		}

 		return false;

 	}

-	

+

 	/**

 	 * Return the last launch that occurred in the workspace.

 	 * @return the filtered last launch

@@ -235,54 +235,54 @@
 	protected ILaunchConfiguration getLastLaunch() {

 		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getFilteredLastLaunch(getLaunchGroupId());

 	}

-	

+

 	/**

 	 * Returns the parent shell for this menu item

-	 * 

+	 *

 	 * @return the parent shell

 	 */

 	protected Shell getShell() {

 		return fWorkbenchWindow.getShell();

 	}

-	

+

 	/**

 	 * Returns the mode (run or debug) of this action.

-	 * @return the mode 

+	 * @return the mode

 	 */

 	protected abstract String getMode();

-	

+

 	/**

 	 * Returns the launch group id of this action.

-	 * 

+	 *

 	 * @return  the launch group id

 	 */

-	protected abstract String getLaunchGroupId();	

+	protected abstract String getLaunchGroupId();

 

 	/**

 	 * Returns the text to display on the menu item.

-	 * 

+	 *

 	 * @return the text for the menu item

 	 */

 	protected abstract String getText();

-	

+

 	/**

 	 * Returns the text to display in the menu item tooltip

-	 * 

+	 *

 	 * @return the text for the tooltip

 	 */

 	protected abstract String getTooltipText();

-	

+

 	/**

 	 * Returns the command id this action is associated with.

-	 * 

+	 *

 	 * @return command id

 	 */

 	protected abstract String getCommandId();

-	

+

 	/**

 	 * Returns a description for this action (to associate with command).

-	 * 

+	 *

 	 * @return command description

 	 */

-	protected abstract String getDescription();	

+	protected abstract String getDescription();

 }

diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java
index c48abc8..754a3b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointAction.java
@@ -34,14 +34,14 @@
  * @since 3.2
  */
 public abstract class RulerBreakpointAction extends Action {
-	
+
 	private ITextEditor fEditor;
 	private IVerticalRulerInfo fRulerInfo;
-	
+
 	/**
 	 * Constructs an action to work on breakpoints in the specified
 	 * text editor with the specified vertical ruler information.
-	 * 
+	 *
 	 * @param editor text editor
 	 * @param info vertical ruler information
 	 */
@@ -53,7 +53,7 @@
 	/**
 	 * Returns the breakpoint at the last line of mouse activity in the ruler
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @return breakpoint associated with activity in the ruler or <code>null</code>
 	 */
 	protected IBreakpoint getBreakpoint() {
@@ -85,19 +85,19 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Returns the editor this action was created for.
-	 * 
+	 *
 	 * @return editor
 	 */
 	protected ITextEditor getEditor() {
 		return fEditor;
 	}
-	
+
 	/**
 	 * Returns the vertical ruler information this action was created for.
-	 * 
+	 *
 	 * @return vertical ruler information
 	 */
 	protected IVerticalRulerInfo getVerticalRulerInfo() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java
index 05ad9ed..50a721d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerBreakpointTypesActionDelegate.java
@@ -1,13 +1,13 @@
 /*******************************************************************************
  * Copyright (c) 2005, 2013 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River Systems - adapted action to use for breakpoint types 
+ *     Wind River Systems - adapted action to use for breakpoint types
  ******************************************************************************/
 package org.eclipse.debug.ui.actions;
 
@@ -39,15 +39,15 @@
 import org.eclipse.ui.texteditor.ITextEditorExtension;
 
 /**
- * Breakpoint ruler pop-up action that creates a sub-menu to select the currently 
- * active breakpoint type.   This action delegate can be contributed to an editor 
- * with the <code>editorActions</code> extension point.  The breakpoint types are 
+ * Breakpoint ruler pop-up action that creates a sub-menu to select the currently
+ * active breakpoint type.   This action delegate can be contributed to an editor
+ * with the <code>editorActions</code> extension point.  The breakpoint types are
  * calculated based on the toggle breakpoint target factories contributed through
  * the <code>toggleBreakpointsTargetFactories</code> extension point.
  * <p>
  * Following is example plug-in XML used to contribute this action to an editor's
- * vertical ruler context menu.  It uses the <code>popupMenus</code> extension 
- * point, by referencing the ruler's context menu identifier in the 
+ * vertical ruler context menu.  It uses the <code>popupMenus</code> extension
+ * point, by referencing the ruler's context menu identifier in the
  * <code>targetID</code> attribute.
  * <pre>
  * &lt;extension point="org.eclipse.ui.popupMenus"&gt;
@@ -71,7 +71,7 @@
  * @see IToggleBreakpointsTargetFactory
  * @noextend This class is not intended to be subclassed by clients.
  * @since 3.5
- *  
+ *
  * @deprecated Should use BreakpointTypesContribution instead.
  */
 @Deprecated
@@ -80,12 +80,12 @@
     private IAction fCallerAction = null;
     private IVerticalRulerInfo fRulerInfo;
     private ISelection fSelection;
-    
+
     /**
      * The menu created by this action
      */
     private Menu fMenu;
-    
+
     private class SelectTargetAction extends Action {
 		private final Set<String> fPossibleIDs;
         private final String fID;
@@ -104,23 +104,23 @@
         }
     }
 
-    
+
     @Override
 	public void selectionChanged(IAction action, ISelection selection) {
         // In the editor we're not using the selection.
     }
-    
+
     @Override
 	public void run(IAction action) {
         // Do nothing, this is a pull-down menu.
     }
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
      */
     @Override
 	public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
-        // Clean up old editor data. 
+        // Clean up old editor data.
         if (fCallerAction != null) {
             fCallerAction.setMenuCreator(null);
         }
@@ -128,13 +128,13 @@
             ((ITextEditorExtension) fEditor).removeRulerContextMenuListener(this);
         }
         fRulerInfo = null;
-        
+
         // Set up new editor data.
         fCallerAction = callerAction;
         fCallerAction.setMenuCreator(this);
-        
+
         fEditor= targetEditor == null ? null : targetEditor.getAdapter(ITextEditor.class);
-        
+
         if (fEditor != null) {
             if (fEditor instanceof ITextEditorExtension) {
                 ((ITextEditorExtension) fEditor).addRulerContextMenuListener(this);
@@ -160,7 +160,7 @@
 	public void menuAboutToShow(IMenuManager manager) {
         fSelection = StructuredSelection.EMPTY;
         if (fEditor != null && fRulerInfo != null) {
-            
+
             IDocumentProvider provider = fEditor.getDocumentProvider();
             if (provider != null) {
                 IDocument document =  provider.getDocument(fEditor.getEditorInput());
@@ -172,18 +172,18 @@
                     } catch (BadLocationException e) {}
                 }
             }
-            ToggleBreakpointsTargetManager toggleTargetManager = ToggleBreakpointsTargetManager.getDefault(); 
+            ToggleBreakpointsTargetManager toggleTargetManager = ToggleBreakpointsTargetManager.getDefault();
 			Set<String> enabledIDs = toggleTargetManager.getEnabledToggleBreakpointsTargetIDs(fEditor, fSelection);
             fCallerAction.setEnabled(enabledIDs.size() > 0);
         } else {
             fCallerAction.setEnabled(false);
         }
-        
+
     }
-    
+
     /**
      * Sets this action's drop-down menu, disposing the previous menu.
-     * 
+     *
      * @param menu the new menu
      */
     private void setMenu(Menu menu) {
@@ -208,14 +208,14 @@
         initMenu();
         return fMenu;
     }
-    
+
     /**
      * Fills the drop-down menu with enabled toggle breakpoint targets
-     * 
+     *
      * @param menu the menu to fill
      */
     private void fillMenu(Menu menu) {
-        ToggleBreakpointsTargetManager manager = ToggleBreakpointsTargetManager.getDefault(); 
+        ToggleBreakpointsTargetManager manager = ToggleBreakpointsTargetManager.getDefault();
 		Set<String> enabledIDs = manager.getEnabledToggleBreakpointsTargetIDs(fEditor, fSelection);
         String preferredId = manager.getPreferredToggleBreakpointsTargetID(fEditor, fSelection);
 		for (String id : enabledIDs) {
@@ -225,7 +225,7 @@
             }
             ActionContributionItem item= new ActionContributionItem(action);
             item.fill(menu, -1);
-        } 
+        }
     }
 
     /**
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java
index b41960f..c9c9a16 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerEnableDisableBreakpointActionDelegate.java
@@ -36,7 +36,7 @@
  * </pre>
  * </p>
  * <p>
- * Clients may refer to this class as an action delegate in plug-in XML. 
+ * Clients may refer to this class as an action delegate in plug-in XML.
  * </p>
  * @since 3.2
  * @noextend This class is not intended to be subclassed by clients.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java
index fba8e40..4aade5a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RulerToggleBreakpointActionDelegate.java
@@ -22,7 +22,7 @@
 import org.eclipse.ui.texteditor.ITextEditor;
 
 /**
- * Toggles a breakpoint when ruler is double-clicked. This action delegate can be 
+ * Toggles a breakpoint when ruler is double-clicked. This action delegate can be
  * contributed to an editor with the <code>editorActions</code> extension point.
  * This action is as a factory that creates another action that performs the
  * actual breakpoint toggling. The created action acts on the editor's
@@ -30,7 +30,7 @@
  * <p>
  * Following is example plug-in XML used to contribute this action to an editor.
  * Note that the label attribute of this action is not displayed in the editor.
- * Instead, the label of the created action is displayed. 
+ * Instead, the label of the created action is displayed.
  * <pre>
  * &lt;extension point="org.eclipse.ui.editorActions"&gt;
  *    &lt;editorContribution
@@ -65,14 +65,14 @@
  * </pre>
  * </p>
  * <p>
- * Clients may refer to this class as an action delegate in plug-in XML. 
+ * Clients may refer to this class as an action delegate in plug-in XML.
  * </p>
  * @since 3.1
  * @noextend This class is not intended to be subclassed by clients.
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class RulerToggleBreakpointActionDelegate extends AbstractRulerActionDelegate implements IActionDelegate2 {
-	
+
 	private IEditorPart fEditor = null;
 	private ToggleBreakpointAction fDelegate = null;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
index ed3a126..57c570c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
@@ -26,7 +26,7 @@
  * @since 2.0
  */
 public final class RunAction extends ExecutionAction {
-	
+
 	public RunAction() {
 		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
index 0372d40..7f68738 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
@@ -45,7 +45,7 @@
  * an appropriate <code>IRunToLineTarget</code> adapter.
  * <p>
  * Clients may reference/contribute this class as an action delegate
- * in plug-in XML. 
+ * in plug-in XML.
  * </p>
  * <p>
  * Since 3.1, this action also implements {@link org.eclipse.ui.IViewActionDelegate}.
@@ -55,13 +55,13 @@
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class RunToLineActionDelegate implements IEditorActionDelegate, IActionDelegate2, IViewActionDelegate {
-	
+
 	private IWorkbenchPart fActivePart = null;
 	private IRunToLineTarget fPartTarget = null;
 	private IAction fAction = null;
 	private DebugContextListener fContextListener = new DebugContextListener();
 	private ISuspendResume fTargetElement = null;
-	
+
 	class DebugContextListener implements IDebugContextListener {
 
 		protected void contextActivated(ISelection selection) {
@@ -80,9 +80,9 @@
 		public void debugContextChanged(DebugContextEvent event) {
 			contextActivated(event.getContext());
 		}
-		
-	}		
-	
+
+	}
+
 	/*(non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#dispose()
 	 */
@@ -91,7 +91,7 @@
 		DebugUITools.getDebugContextManager().getContextService(fActivePart.getSite().getWorkbenchWindow()).removeDebugContextListener(fContextListener);
 		fActivePart = null;
 		fPartTarget = null;
-		
+
 	}
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
@@ -102,7 +102,7 @@
 			try {
 				fPartTarget.runToLine(fActivePart, fActivePart.getSite().getSelectionProvider().getSelection(), fTargetElement);
 			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(fActivePart.getSite().getWorkbenchWindow().getShell(), ActionMessages.RunToLineAction_0, ActionMessages.RunToLineAction_1, e.getStatus()); // 
+				DebugUIPlugin.errorDialog(fActivePart.getSite().getWorkbenchWindow().getShell(), ActionMessages.RunToLineAction_0, ActionMessages.RunToLineAction_1, e.getStatus()); //
 			}
 		}
 	}
@@ -114,7 +114,7 @@
 		this.fAction = action;
 		update();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.texteditor.IUpdate#update()
 	 */
@@ -136,20 +136,20 @@
 					    }
 					}
 				}
-				fAction.setEnabled(enabled);				
+				fAction.setEnabled(enabled);
 			}
 		};
 		DebugUIPlugin.getStandardDisplay().asyncExec(r);
 	}
-		
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
 	 */
 	@Override
 	public void init(IAction action) {
-		this.fAction = action; 
+		this.fAction = action;
 		if (action != null) {
-			action.setText(ActionMessages.RunToLineActionDelegate_4); 
+			action.setText(ActionMessages.RunToLineActionDelegate_4);
 			action.setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_RUN_TO_LINE));
 			action.setDisabledImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RUN_TO_LINE));
 		}
@@ -167,9 +167,9 @@
 	@Override
 	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
 		init(action);
-		bindTo(targetEditor);	
+		bindTo(targetEditor);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
 	 */
@@ -177,10 +177,10 @@
 	public void init(IViewPart view) {
 		bindTo(view);
 	}
-	
+
 	/**
 	 * Binds this action to operate on the given part's run to line adapter.
-	 *  
+	 *
 	 * @param part the workbench part to bind this delegate to
 	 */
 	private void bindTo(IWorkbenchPart part) {
@@ -205,6 +205,6 @@
 			ISelection activeContext = service.getActiveContext();
 			fContextListener.contextActivated(activeContext);
 		}
-		update();			
+		update();
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
index 7e6222c..e852dab 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineHandler.java
@@ -32,10 +32,10 @@
 
 /**
  * Handles a run to line operation. Clients implementing a run to line action
- * can use this handler to carry out a run to line operation implemented with 
+ * can use this handler to carry out a run to line operation implemented with
  * a breakpoint. Handles the user preference to skip breakpoints while performing
  * a run to line operation, and cancelling the run to line operation if another
- * breakpoint is encountered before the operation is completed. 
+ * breakpoint is encountered before the operation is completed.
  * <p>
  * Clients may instantiate this class.
  * </p>
@@ -43,15 +43,15 @@
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class RunToLineHandler implements IDebugEventSetListener, IBreakpointManagerListener, IWorkspaceRunnable {
-    
+
     private IDebugTarget fTarget;
     private ISuspendResume fResumee;
     private IBreakpoint fBreakpoint;
     private boolean fAutoSkip = false;
-    
+
     /**
      * Constructs a handler to perform a run to line operation.
-     * 
+     *
      * @param target the debug target in which the operation is to be performed
      * @param suspendResume the element to be resumed to begin the operation
      * @param breakpoint the run to line breakpoint
@@ -86,7 +86,7 @@
                 }
             }
         }
-        
+
     }
 
     /* (non-Javadoc)
@@ -97,15 +97,15 @@
         // if the user changes the breakpoint manager enablement, don't restore it
         fAutoSkip = false;
     }
-    
+
     private IBreakpointManager getBreakpointManager() {
         return getDebugPlugin().getBreakpointManager();
     }
-    
+
     private DebugPlugin getDebugPlugin() {
         return DebugPlugin.getDefault();
     }
-    
+
     /**
      * Cancels the run to line operation.
      */
@@ -134,7 +134,7 @@
             getBreakpointManager().setEnabled(false);
             breakpointManager.addBreakpointManagerListener(this);
         }
-        Job job = new Job(ActionMessages.RunToLineHandler_0) { 
+        Job job = new Job(ActionMessages.RunToLineHandler_0) {
             @Override
 			protected IStatus run(IProgressMonitor jobMonitor) {
                 if (!jobMonitor.isCanceled()) {
@@ -147,9 +147,9 @@
                     }
                 }
                 return Status.OK_STATUS;
-            }  
+            }
         };
         job.schedule();
     }
-    
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
index f41cad7..247eb9b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleBreakpointAction.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
  *     Wind River Systems - added support for IToggleBreakpointsTargetFactory
@@ -38,28 +38,28 @@
  * adapter which may optionally be an instance of an
  * <code>IToggleBreakpointsTargetExtension</code>.
  * <p>
- * Clients may instantiate this class. 
+ * Clients may instantiate this class.
  * </p>
  * @since 3.1
  * @see org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class ToggleBreakpointAction extends Action implements IUpdate {
-	
+
 	private IWorkbenchPart fPart;
 	private IDocument fDocument;
 	private IVerticalRulerInfo fRulerInfo;
 	private IToggleBreakpointsTargetManagerListener fListener = new IToggleBreakpointsTargetManagerListener() {
 	    @Override
 		public void preferredTargetsChanged() {
-	        update();	        
+	        update();
 	    }
 	};
 
 	/**
 	 * Constructs a new action to toggle a breakpoint in the given
 	 * part containing the given document and ruler.
-	 * 
+	 *
 	 * @param part the part in which to toggle the breakpoint - provides
 	 *  an <code>IToggleBreakpointsTarget</code> adapter
 	 * @param document the document breakpoints are being set in or
@@ -74,7 +74,7 @@
 		fRulerInfo = rulerInfo;
 		DebugUITools.getToggleBreakpointsTargetManager().addChangedListener(fListener);
 	}
-	
+
 	/*
 	 *  (non-Javadoc)
 	 * @see org.eclipse.jface.action.IAction#run()
@@ -83,7 +83,7 @@
 	public void run() {
 		doIt(null);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.action.Action#runWithEvent(org.eclipse.swt.widgets.Event)
 	 */
@@ -91,11 +91,11 @@
 	public void runWithEvent(Event event) {
 		doIt(event);
 	}
-	
+
 	/**
 	 * Delegate method to perform the toggling
 	 * @param event the event, possibly <code>null</code>
-	 * 
+	 *
 	 * @since 3.8
 	 */
 	void doIt(Event event) {
@@ -107,7 +107,7 @@
 					ITextSelection selection = getTextSelection(document, line);
 					IToggleBreakpointsTarget target = DebugUITools.getToggleBreakpointsTargetManager().getToggleBreakpointsTarget(fPart, selection);
 					if (target != null) {
-						IToggleBreakpointsTargetExtension2 ext = (IToggleBreakpointsTargetExtension2) 
+						IToggleBreakpointsTargetExtension2 ext = (IToggleBreakpointsTargetExtension2)
 								DebugPlugin.getAdapter(target, IToggleBreakpointsTargetExtension2.class);
 						if (ext != null) {
 							if(ext.canToggleBreakpointsWithEvent(fPart, selection, event)) {
@@ -115,7 +115,7 @@
 								return;
 							}
 						}
-						IToggleBreakpointsTargetExtension ext2 = (IToggleBreakpointsTargetExtension) 
+						IToggleBreakpointsTargetExtension ext2 = (IToggleBreakpointsTargetExtension)
 								DebugPlugin.getAdapter(target, IToggleBreakpointsTargetExtension.class);
 						if(ext2 != null) {
 							if (ext2.canToggleBreakpoints(fPart, selection)) {
@@ -141,16 +141,16 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Report an error to the user.
-	 * 
+	 *
 	 * @param e underlying exception
 	 */
 	private void reportException(Exception e) {
 		DebugUIPlugin.errorDialog(fPart.getSite().getShell(), ActionMessages.ToggleBreakpointAction_1, ActionMessages.ToggleBreakpointAction_2, e); //
 	}
-	
+
 	/**
 	 * Disposes this action. Clients must call this method when
 	 * this action is no longer needed.
@@ -164,28 +164,28 @@
 
 	/**
 	 * Returns the document on which this action operates.
-	 * 
+	 *
 	 * @return the document or <code>null</code> if none
 	 */
 	private IDocument getDocument() {
 		if (fDocument != null)
 			return fDocument;
-		
+
 		if (fPart instanceof ITextEditor) {
 			ITextEditor editor= (ITextEditor)fPart;
 			IDocumentProvider provider = editor.getDocumentProvider();
 			if (provider != null)
 				return provider.getDocument(editor.getEditorInput());
 		}
-		
+
 		IDocument doc = fPart.getAdapter(IDocument.class);
 		if (doc != null) {
 			return doc;
 		}
-		
+
 		return null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.texteditor.IUpdate#update()
 	 */
@@ -197,8 +197,8 @@
 		    if (line > -1) {
 		        try {
 		            ITextSelection selection = getTextSelection(document, line);
-                   
-                    IToggleBreakpointsTarget adapter = 
+
+                    IToggleBreakpointsTarget adapter =
                         ToggleBreakpointsTargetManager.getDefault().getToggleBreakpointsTarget(fPart, selection);
                     if (adapter == null) {
                         setEnabled(false);
@@ -213,7 +213,7 @@
                     }
                     if (adapter.canToggleLineBreakpoints(fPart, selection) ||
                         adapter.canToggleWatchpoints(fPart, selection) ||
-                        adapter.canToggleMethodBreakpoints(fPart, selection)) 
+                        adapter.canToggleMethodBreakpoints(fPart, selection))
                     {
                         setEnabled(true);
                         return;
@@ -228,9 +228,9 @@
 
 	/**
 	 * Determines the text selection for the breakpoint action.  If clicking on the ruler inside
-	 * the highlighted text, return the text selection for the highlighted text.  Otherwise, 
+	 * the highlighted text, return the text selection for the highlighted text.  Otherwise,
 	 * return a text selection representing the start of the line.
-	 * 
+	 *
 	 * @param document	The IDocument backing the Editor.
 	 * @param line	The line clicked on in the ruler.
 	 * @return	An ITextSelection as described.
@@ -246,7 +246,7 @@
 					&& ((ITextSelection) selection).getStartLine() <= line
 					&& ((ITextSelection) selection).getEndLine() >= line) {
 				textSelection = (ITextSelection) selection;
-			} 
+			}
 		}
 		return textSelection;
 	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
index aeed58b..9c289af 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
@@ -21,7 +21,7 @@
  * that provide an <code>IToggleBreakpointsTarget</code> adapter.
  * <p>
  * Clients may reference/contribute this class as an object contribution
- * action delegate in plug-in XML. 
+ * action delegate in plug-in XML.
  * </p>
  * @since 3.0
  * @noextend This class is not intended to be subclassed by clients.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
index ac1bdd8..475ddfb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
@@ -21,7 +21,7 @@
  * that provide an <code>IToggleBreakpointsTarget</code> adapter.
  * <p>
  * Clients may reference/contribute this class as an object contribution
- * action delegate in plug-in XML. 
+ * action delegate in plug-in XML.
  * </p>
  * @since 3.0
  * @noextend This class is not intended to be subclassed by clients.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
index 62b9b5e..c019328 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
@@ -30,7 +30,7 @@
 
 	private IProcess fProcess;
 	private IConsole fConsole;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#connect(org.eclipse.debug.core.model.IProcess, org.eclipse.debug.ui.console.IConsole)
 	 */
@@ -39,7 +39,7 @@
 		fProcess = process;
 		fConsole = console;
 		IStreamsProxy streamsProxy = fProcess.getStreamsProxy();
-		if (streamsProxy != null) { 
+		if (streamsProxy != null) {
 			fConsole.connect(streamsProxy);
 		}
 	}
@@ -71,28 +71,28 @@
 		}
 		if (IDebugUIConstants.ID_STANDARD_ERROR_STREAM.equals(streamIdentifer)) {
 			return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR);
-		}		
+		}
 		if (IDebugUIConstants.ID_STANDARD_INPUT_STREAM.equals(streamIdentifer)) {
 			return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR);
-		}		
+		}
 		return null;
 	}
 
 	/**
 	 * Returns the process this color provider is providing color for, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @return the process this color provider is providing color for, or
 	 * <code>null</code> if none
 	 */
 	protected IProcess getProcess() {
 		return fProcess;
 	}
-	
+
 	/**
 	 * Returns the console this color provider is connected to, or
 	 * <code>null</code> if none.
-	 * 
+	 *
 	 * @return IConsole the console this color provider is connected to, or
 	 * <code>null</code> if none
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
index 32962f1..47d67bc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
@@ -49,10 +49,10 @@
 	private int fFileLength;
 	private int fFileLineNumber;
 	private String fEditorId;
-	
+
 	/**
 	 * Constructs a hyperlink to the specified file.
-	 * 
+	 *
 	 * @param file the file to open when activated
 	 * @param editorId the identifier of the editor to open the file in, or
 	 * <code>null</code> if the default editor should be used
@@ -117,7 +117,7 @@
 					}
 				} catch (PartInitException e) {
 					DebugUIPlugin.log(e);
-				}	
+				}
 			}
 		}
 	}
@@ -135,7 +135,7 @@
 	@Override
 	public void linkExited() {
 	}
-	
+
 	private String getEditorId() {
 		if (fEditorId == null) {
 			IWorkbench workbench= DebugUIPlugin.getDefault().getWorkbench();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
index 55f46ec..02e1318 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
@@ -35,21 +35,21 @@
 	 * Connects this console to the given streams proxy. This associates the
 	 * standard in, out, and error streams with the console. Keyboard input will
 	 * be written to the given proxy.
-	 * 
+	 *
 	 * @param streamsProxy the proxy to connect this console to
 	 */
 	public void connect(IStreamsProxy streamsProxy);
-	
+
 	/**
 	 * Connects this console to the given stream monitor, uniquely identified by
 	 * the given identifier. This allows for more than the standard (in, out,
 	 * error) streams to be connected to the console.
-	 * 
+	 *
 	 * @param streamMonitor the monitor to connect this console to
 	 * @param streamIdentifer the stream identifier to connect this console to
 	 */
 	public void connect(IStreamMonitor streamMonitor, String streamIdentifer);
-	
+
 	/**
 	 * Adds the given hyperlink to this console. The link will be notified when
 	 * entered, exited, and activated.
@@ -58,7 +58,7 @@
 	 * current bounds, it is added immediately. Otherwise, the link is added
 	 * when the console's document grows to contain the link's region.
 	 * </p>
-	 * @param link the hyperlink to add 
+	 * @param link the hyperlink to add
 	 * @param offset the character offset within the console document where the
 	 * text associated with the hyperlink begins
 	 * @param length the length of the associated hyperlink text
@@ -75,19 +75,19 @@
 	 * current bounds, it is added immediately. Otherwise, the link is added
 	 * when the console's document grows to contain the link's region.
 	 * </p>
-	 * @param link the hyperlink to add 
+	 * @param link the hyperlink to add
 	 * @param offset the character offset within the console document where the
 	 * text associated with the hyperlink begins
 	 * @param length the length of the associated hyperlink text
 	 * @since 3.1
 	 */
 	public void addLink(IHyperlink link, int offset, int length);
-	
+
 	/**
 	 * Returns the region of text associated with the given hyperlink, or
 	 * <code>null</code> if the given hyperlink is not contained in this
 	 * console.
-	 * 
+	 *
 	 * @param link a console hyperlink
 	 * @return region of text associated with the hyperlink, or <code>null</code>
 	 * @deprecated replaced with getRegion(IHyperlink link) instead
@@ -99,27 +99,27 @@
 	 * Returns the region of text associated with the given hyperlink, or
 	 * <code>null</code> if the given hyperlink is not contained in this
 	 * console.
-	 * 
+	 *
 	 * @param link a console hyperlink
 	 * @return region of text associated with the hyperlink, or <code>null</code>
 	 * @since 3.1
 	 */
 	public IRegion getRegion(IHyperlink link);
-	
+
 	/**
 	 * Returns the document associated with this console.
-	 * 
+	 *
 	 * @return document
 	 */
-	public IDocument getDocument(); 
-	
+	public IDocument getDocument();
+
 	/**
 	 * Returns the process associated with this console.
-	 * 
+	 *
 	 * @return the process associated with this console
 	 */
 	public IProcess getProcess();
-	
+
 	/**
 	 * Adds the given pattern match listener to this console. The listener will
      * be connected and receive match notifications.
@@ -127,18 +127,18 @@
 	 * @since 3.1
 	 */
 	public void addPatternMatchListener(IPatternMatchListener matchListener);
-	
+
     /**
      * Removes the given pattern match listener from this console. The listener will be
-     * disconnected and will no longer receive match notifications. 
+     * disconnected and will no longer receive match notifications.
      * @param matchListener the pattern match listener to remove.
      * @since 3.1
      */
 	public void removePatternMatchListener(IPatternMatchListener matchListener);
-	
+
 	/**
 	 * Returns the stream associated with the specified stream identifier.
-     * @param streamIdentifier Uniquely identifies the required stream 
+     * @param streamIdentifier Uniquely identifies the required stream
      * @return The stream or <code>null</code> if none found with matching streamIdentifier
      * @since 3.1
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
index aa81dd7..523fe79 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
@@ -28,7 +28,7 @@
  * provider extension.
  * <pre>
  * &lt;extension point="org.eclipse.debug.ui.consoleColorProviders"&gt;
- *   &lt;consoleColorProvider 
+ *   &lt;consoleColorProvider
  *      id="com.example.ExampleConsoleColorProvider"
  *      class="com.example.ExampleConsoleColorProviderClass"
  *      processType="ExampleProcessType"&gt;
@@ -44,7 +44,7 @@
  * this content provider is associated with (which corresponds to the
  * <code>ATTR_PROCESS_TYPE</code> attribute on a process).</li>
  * </ul>
- * </p> 
+ * </p>
  * <p>
  * Clients may implement this interface.
  * </p>
@@ -57,30 +57,30 @@
 	 * Returns whether the console associated with this color provider's
 	 * process can currently accept keyboard input. This attribute is dynamic
 	 * and may change over the lifetime of a process/document.
-	 * 
+	 *
 	 * @return whether the console associated with this color provider's
 	 * process can currently accept keyboard input
 	 */
 	public boolean isReadOnly();
-	
+
 	/**
 	 * Returns the color to draw output associated with the given stream.
-	 * 
+	 *
 	 * @param streamIdentifer the identifier of the stream
 	 * @return Color
 	 */
 	public Color getColor(String streamIdentifer);
-	
+
 	/**
 	 * Connects this color provider to the given process and console.
 	 * This color provider should connect its streams to the given console
 	 * document.
-	 * 
+	 *
 	 * @param process the process to connect this color provider to
 	 * @param console the console  to connect this color provider to
 	 */
 	public void connect(IProcess process, IConsole console);
-	
+
 	/**
 	 * Disconnects this color provider.
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java
index bf7ccf7..b50537a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.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
  *******************************************************************************/
@@ -22,7 +22,7 @@
  * Since 3.1, this interface now extends
  * {@link org.eclipse.ui.console.IHyperlink}.
  * </p>
- * 
+ *
  * @since 2.1
  * @deprecated replaced by org.eclipse.ui.console.IHyperlink
  */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java
index a518818..5330f11 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.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
  *******************************************************************************/
@@ -20,7 +20,7 @@
  * extension.
  * <pre>
  * &lt;extension point="org.eclipse.debug.ui.consoleLineTrackers"&gt;
- *   &lt;consoleLineTracker 
+ *   &lt;consoleLineTracker
  *      id="com.example.ExampleConsoleLineTracker"
  *      class="com.example.ExampleConsoleLineTrackerClass"
  *      processType="ExampleProcessType"&gt;
@@ -42,11 +42,11 @@
  * @since 2.1
  */
 public interface IConsoleLineTracker {
-	
+
 	/**
 	 * Notification that a console document has been created for which this
-	 * listener is registered. 
-	 *  
+	 * listener is registered.
+	 *
 	 * @param console console that has been created
 	 */
 	public void init(IConsole console);
@@ -55,14 +55,14 @@
 	 * Notification that a line of text has been appended to the console. The
 	 * given region describes the offset and length of the line appended to the
 	 * console, excluding the line delimiter.
-	 * 
+	 *
 	 * @param line region describing the offset and length of line appended to
 	 * the console, excluding the line delimiter
 	 */
 	public void lineAppended(IRegion line);
-	
+
 	/**
-	 * Disposes this console line tracker. 
+	 * Disposes this console line tracker.
 	 */
 	public void dispose();
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java
index e8c61ad..7d72f56 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.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
  *******************************************************************************/
@@ -19,11 +19,11 @@
  * @since 3.0
  */
 public interface IConsoleLineTrackerExtension extends IConsoleLineTracker {
-	
+
 	/**
 	 * Notification that all output streams connected to the console have been
 	 * closed. No more lines will be appended after this method is called.
 	 */
 	public void consoleClosed();
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/AbstractDebugContextProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/AbstractDebugContextProvider.java
index e19bd79..3f1824d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/AbstractDebugContextProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/AbstractDebugContextProvider.java
@@ -24,20 +24,20 @@
  * @since 3.3
  */
 public abstract class AbstractDebugContextProvider implements IDebugContextProvider {
-	
+
 	/**
 	 * Event listeners
 	 */
 	private ListenerList<IDebugContextListener> fListeners = new ListenerList<>();
-	
+
 	/**
 	 * Part or <code>null</code>
 	 */
 	private IWorkbenchPart fPart;
-	
+
 	/**
 	 * Constructs a context provider for the specified part, possibly <code>null</code>.
-	 * 
+	 *
 	 * @param part workbench part or <code>null</code>
 	 */
 	public AbstractDebugContextProvider(IWorkbenchPart part) {
@@ -70,7 +70,7 @@
 
 	/**
 	 * Fires the given context event to all registered listeners.
-	 * 
+	 *
 	 * @param event debug context event
 	 */
 	protected void fire(final DebugContextEvent event) {
@@ -86,7 +86,7 @@
 					DebugUIPlugin.log(exception);
 				}
 			});
-			
+
 		}
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/DebugContextEvent.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/DebugContextEvent.java
index 7cc2787..a8e116f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/DebugContextEvent.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/DebugContextEvent.java
@@ -32,22 +32,22 @@
 	 * The context
 	 */
 	private ISelection fContext;
-	
+
 	/**
 	 * Change flags.
 	 */
 	private int fFlags;
-	
+
 	/**
 	 * Change constant (bit mask) indicating a context has been activated.
 	 */
 	public static final int ACTIVATED = 0x01;
-	
+
 	/**
 	 * Change constant (bit mask) indicating the state of a context has changed.
 	 * State changes are only broadcast for previously activated contexts.
 	 */
-	public static final int STATE = 0x10;	
+	public static final int STATE = 0x10;
 
 	/**
      * Generated serial version UID for this class.
@@ -56,7 +56,7 @@
 
 	/**
 	 * Constructs a new debug context event.
-	 * 
+	 *
 	 * @param source source of the event - a debug context provider
 	 * @param context the relevant context
 	 * @param flags bit mask indicating how the context has changed - see change constants
@@ -67,29 +67,29 @@
 		fContext = context;
 		fFlags = flags;
 	}
-	
+
 	/**
 	 * Returns the debug context associated with this event.
-	 * 
+	 *
 	 * @return debug context, possible an empty selection
 	 */
 	public ISelection getContext() {
 		return fContext;
 	}
-	
+
 	/**
 	 * Returns flags which describe in more detail how a context has changed.
 	 * See change constants defined in this class.
-	 * 
+	 *
 	 * @return event flags
 	 */
 	public int getFlags() {
 		return fFlags;
 	}
-	
+
 	/**
 	 * Returns the context provider that initiated this event.
-	 * 
+	 *
 	 * @return context provider
 	 */
 	public IDebugContextProvider getDebugContextProvider() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextListener.java
index c55cfc8..3163dd2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextListener.java
@@ -23,10 +23,10 @@
  * @since 3.3
  */
 public interface IDebugContextListener {
-	
+
 	/**
 	 * Notification the debug context has changed as specified by the given event.
-	 * 
+	 *
 	 * @param event debug context event
 	 */
 	public void debugContextChanged(DebugContextEvent event);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextManager.java
index 61f12e4..5db6718 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextManager.java
@@ -21,7 +21,7 @@
  * <p>
  * Clients register debug context providers with a context service - i.e.
  * for a specific window.
- * </p> 
+ * </p>
  * @see IDebugContextProvider
  * @see IDebugContextListener
  * @see IDebugContextService
@@ -29,25 +29,25 @@
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
  */
-public interface IDebugContextManager {		
-	
+public interface IDebugContextManager {
+
 	/**
 	 * Registers the given listener for debug context notification in all windows.
-	 * 
+	 *
 	 * @param listener debug context listener
-	 */	
+	 */
 	public void addDebugContextListener(IDebugContextListener listener);
-	
+
 	/**
 	 * Unregisters the given listener for context notification in all windows.
-	 * 
+	 *
 	 * @param listener debug context listener
-	 */	
+	 */
 	public void removeDebugContextListener(IDebugContextListener listener);
-	
+
 	/**
 	 * Returns the debug context service for the specified window.
-	 * 
+	 *
 	 * @param window workbench window
 	 * @return debug context service
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider.java
index f8a22f6..579569f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider.java
@@ -15,7 +15,7 @@
 
 /**
  * Interface common to all objects that provide a debug context. A context provider
- * is registered with a debug context service associated with a specific window.  
+ * is registered with a debug context service associated with a specific window.
  * <p>
  * A context provider can provide context information for a specific workbench part.
  * There can only be one context provider registered per part with a context
@@ -26,9 +26,9 @@
  * A context provider does not have to be associated with a part. In this case the provider
  * specifies <code>null</code> for its part, and provides context information for the window.
  * There can only be one context provider without an associated part registered per context
- * service (i.e. per window). A context provider that provides context without an associated 
+ * service (i.e. per window). A context provider that provides context without an associated
  * part is only active (i.e. used to provide context information) when there are no other
- * context providers with associated parts registered with that service. 
+ * context providers with associated parts registered with that service.
  * </p>
  * <p>
  * Clients may implement this interface.
@@ -39,32 +39,32 @@
  * @since 3.3
  */
 public interface IDebugContextProvider {
-	
+
 	/**
 	 * Returns the part associated with this context provider or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return part associated with this context provider or <code>null</code>
 	 */
 	public IWorkbenchPart getPart();
-	
+
     /**
      * Registers the given listener for debug context events.
-     * 
+     *
      * @param listener event listener
      */
 	public void addDebugContextListener(IDebugContextListener listener);
-    
+
     /**
      * Unregisters the given listener for debug context events.
-     * 
+     *
      * @param listener event listener
      */
 	public void removeDebugContextListener(IDebugContextListener listener);
-	
+
     /**
      * Returns the currently active context, possibly empty or <code>null</code>.
-     * 
+     *
      * @return active context, possibly empty or <code>null</code>.
      */
 	public ISelection getActiveContext();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider2.java
index 48c8b16..93176c3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextProvider2.java
@@ -6,7 +6,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *     Patrick Chuong (Texas Instruments) - Allow multiple debug views and 
+ *     Patrick Chuong (Texas Instruments) - Allow multiple debug views and
  *     		multiple debug context providers (Bug 327263)
  *****************************************************************/
 package org.eclipse.debug.ui.contexts;
@@ -16,26 +16,26 @@
 
 
 /**
- * This extension to {@link IDebugContextProvider} allows clients to specify the scope that the context 
+ * This extension to {@link IDebugContextProvider} allows clients to specify the scope that the context
  * provider will apply to. With {@link IDebugContextProvider2}, a provider indicate if it should be a context
- * provider for the entire {@link IWorkbenchWindow} or only for is given {@link IWorkbenchPart}. 
- * 
+ * provider for the entire {@link IWorkbenchWindow} or only for is given {@link IWorkbenchPart}.
+ *
  * <p>
  * This interface is intended to be implemented by clients
  * </p>
- * 
+ *
  * @since 3.7
  */
 public interface IDebugContextProvider2 extends IDebugContextProvider {
 	/**
-	 * Return whether the provider can be set as an active provider for the 
-	 * window.  
+	 * Return whether the provider can be set as an active provider for the
+	 * window.
 	 * <p>
-	 * If <code>true</code>, when the provider's part is 
+	 * If <code>true</code>, when the provider's part is
 	 * activated this provider will become the active debug context provider
 	 * for the whole window.  If <code>false</code>, this provider will
 	 * only set the active context in a given workbench part.
-	 *  
+	 *
 	 * @return <code>true</code> if this provider can act as the provider for the entire window, <code>false</code> if it can
 	 * only be the provider for its given part.
 	 * provider for a window.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextService.java
index 7b2a5d7..690c2ec 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/IDebugContextService.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Patrick Chuong (Texas Instruments) - Allow multiple debug views and 
+ *     Patrick Chuong (Texas Instruments) - Allow multiple debug views and
  *     		multiple debug context providers (Bug 327263)
  *******************************************************************************/
 package org.eclipse.debug.ui.contexts;
@@ -15,7 +15,7 @@
 import org.eclipse.jface.viewers.ISelection;
 
 
-/** 
+/**
  * Debug context service for a window. Clients may register for debug context
  * notification with this service. A context service is obtained from the
  * debug context manager.
@@ -25,156 +25,156 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface IDebugContextService {
-	
+
 	/**
 	 * Registers for the given listener for debug context change notification
 	 * in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 */
 	public void addDebugContextListener(IDebugContextListener listener);
 	/**
 	 * Unregisters for the given listener for debug context change notification
 	 * in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
-	 */	
+	 */
 	public void removeDebugContextListener(IDebugContextListener listener);
-	
+
 	/**
 	 * Registers for the given debug context listener for context notification
 	 * from the specified part in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 * @param partId part identifier
 	 */
 	public void addDebugContextListener(IDebugContextListener listener, String partId);
-	
+
 	/**
 	 * Unregisters the given debug context listener for context change notification
 	 * from the specified part in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 * @param partId part identifier
 	 */
 	public void removeDebugContextListener(IDebugContextListener listener, String partId);
-		
+
 	/**
 	 * Returns the active context in this service's window
 	 * or <code>null</code>.
-	 * 
+	 *
 	 * @return active context or <code>null</code>
 	 */
 	public ISelection getActiveContext();
-	
+
 	/**
 	 * Returns the active context in the specified part of this service's window
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param partId part identifier
 	 * @return active context or <code>null</code>
 	 */
 	public ISelection getActiveContext(String partId);
-	
+
 	/**
 	 * Registers the given debug context listener for post context change notification
 	 * in this service's window. Post listeners are notified of context changes after all
-	 * non-post listeners are notified.  
-	 * 
+	 * non-post listeners are notified.
+	 *
 	 * @param listener debug context listener
 	 */
 	public void addPostDebugContextListener(IDebugContextListener listener);
-	
+
 	/**
 	 * Unregisters the given debug context listener for post context change notification
 	 * in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener.
-	 */	
+	 */
 	public void removePostDebugContextListener(IDebugContextListener listener);
-	
+
 	/**
 	 * Registers the given debug context listener for post context change notification
 	 * in the specified part of this service's window. Post listeners are notified of
-	 * context changes after all non-post listeners are notified. 
-	 * 
+	 * context changes after all non-post listeners are notified.
+	 *
 	 * @param listener debug context listener
 	 * @param partId part identifier
 	 */
 	public void addPostDebugContextListener(IDebugContextListener listener, String partId);
-	
+
 	/**
 	 * Unregisters the given debug context listener for post context change notification
 	 * in the specified part of this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 * @param partId part identifier
 	 */
 	public void removePostDebugContextListener(IDebugContextListener listener, String partId);
-	
+
 	/**
 	 * Registers the given debug context provider with this service.
-	 * 
+	 *
 	 * @param provider debug context provider
 	 */
 	public void addDebugContextProvider(IDebugContextProvider provider);
-	
+
 	/**
 	 * Unregisters the given debug context provider from this service.
-	 * 
+	 *
 	 * @param provider debug context provider
 	 */
 	public void removeDebugContextProvider(IDebugContextProvider provider);
-	
+
 	/**
 	 * Returns the active context in the specified part of this service's window
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param partId part identifier
 	 * @param partSecondaryId part secondary identifier
 	 * @return active context or <code>null</code>
 	 * @since 3.7
 	 */
 	ISelection getActiveContext(String partId, String partSecondaryId);
-	
+
 	/**
 	 * Registers for the given debug context listener for context notification
 	 * from the specified part in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 * @param partId part identifier
 	 * @param partSecondaryId part secondary identifier
 	 * @since 3.7
 	 */
 	void addDebugContextListener(IDebugContextListener listener, String partId, String partSecondaryId);
-	
+
 	/**
 	 * Unregisters the given debug context listener for context change notification
 	 * from the specified part in this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 * @param partId part identifier
 	 * @param partSecondaryId part secondary identifier
 	 * @since 3.7
 	 */
 	void removeDebugContextListener(IDebugContextListener listener, String partId, String partSecondaryId);
-	
+
 	/**
 	 * Registers the given debug context listener for post context change notification
 	 * in the specified part of this service's window. Post listeners are notified of
-	 * context changes after all non-post listeners are notified. 
-	 * 
+	 * context changes after all non-post listeners are notified.
+	 *
 	 * @param listener debug context listener
 	 * @param partSecondaryId part secondary identifier
 	 * @param partId part identifier
 	 * @since 3.7
 	 */
 	void addPostDebugContextListener(IDebugContextListener listener, String partId, String partSecondaryId);
-	
+
 	/**
 	 * Unregisters the given debug context listener for post context change notification
 	 * in the specified part of this service's window.
-	 * 
+	 *
 	 * @param listener debug context listener
 	 * @param partSecondaryId part secondary identifier
 	 * @param partId part identifier
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java
index 02477bf..95762d3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTrigger.java
@@ -20,17 +20,17 @@
  * preferences. The debug platform asks each registered launch for its suspend
  * trigger adapter or registers with the launch itself if it implements
  * <code>ISuspendTrigger</code>.
- * </p>  
+ * </p>
  * <p>
  * It is important that the same instance of a suspend trigger adapter is
  * returned each time it is asked for the same object, such that listeners
  * can be added and removed from the same instance. When a listener is removed
  * and no more listeners are registered, this trigger can be disposed or replaced
- * with a new adapter the next time one is requested. 
+ * with a new adapter the next time one is requested.
  * </p>
  * <p>
  * Clients may implement this interface. The debug platform provides a suspend trigger
- * adapter for implementations of <code>ILaunch</code>. The implementation provided by 
+ * adapter for implementations of <code>ILaunch</code>. The implementation provided by
  * the platform is based on a standard debug model that fires debug events. Clients
  * wishing to provide their own implementation must also provide their own implementation
  * of <code>ILaunch</code> (or subclass of <code>Launch</code>), in order to register
@@ -40,19 +40,19 @@
  * @since 3.3
  */
 public interface ISuspendTrigger {
-	
+
     /**
      * Registers the given listener for suspend notifications.
-     * 
+     *
      * @param listener suspend listener
      */
 	public void addSuspendTriggerListener(ISuspendTriggerListener listener);
-    
+
     /**
      * Unregisters the given listener for suspend notifications.
-     * 
+     *
      * @param listener suspend listener
      */
 	public void removeSuspendTriggerListener(ISuspendTriggerListener listener);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java
index 393151e..f701c5a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/contexts/ISuspendTriggerListener.java
@@ -26,11 +26,11 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface ISuspendTriggerListener {
-	
+
 	/**
 	 * Notification the given launch has suspended at the
 	 * specified context.
-	 * 
+	 *
 	 * @param launch the launch that has suspended
 	 * @param context the context on which the launch suspended
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRendering.java
index ab9dcdd..938b6ac 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRendering.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
- *     Wind River - Bug 206407 AbstractMemoryRendering connect()s the wrong "this" 
+ *     Wind River - Bug 206407 AbstractMemoryRendering connect()s the wrong "this"
  *******************************************************************************/
 package org.eclipse.debug.ui.memory;
 
@@ -41,13 +41,13 @@
  * Abstract implementation of a memory rendering.
  * <p>
  * To contribute an action to a rendering, an <code>objectContribution</code> can
- * be used on a rendering implementation class itself using a 
+ * be used on a rendering implementation class itself using a
  * <code>popupMenus</code> extension. Additionally, the context menu created
  * by <code>createPopupMenu()</code> is registered with an identifier of this
  * rendering's container identifier. Actions may also be contributed to the
  * container's context menu specifically by using a  <code>viewerContribution</code>
  * on a <code>popupMenus</code> extension that has a <code>targetID</code> referring
- * to this rendering container's identifier. 
+ * to this rendering container's identifier.
  * </p>
  * <p>
  * Clients implementing memory renderings must subclass this class.
@@ -62,7 +62,7 @@
 	private boolean fVisible = true;
 	private MenuManager fPopupMenuMgr;
 	private String fRenderingId;
-	
+
 	private class ConnectionJob extends Job
 	{
 		Runnable fRunnable;
@@ -79,25 +79,25 @@
 			return Status.OK_STATUS;
 		}
 	}
-	
+
 	/**
 	 * Client may provide a label decorator adapter from its memory block
 	 * to decorate the label of a rendering.
-	 * @since 3.2 
+	 * @since 3.2
 	 */
 	private ILabelDecorator fLabelDecorator;
 	private IMenuListener fMenuListener;
-	
+
 	/**
 	 * Constructs a new rendering of the given type.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 */
 	public AbstractMemoryRendering(String renderingId)
 	{
 		fRenderingId = renderingId;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#init(org.eclipse.debug.ui.memory.IMemoryRenderingSite, org.eclipse.debug.core.model.IMemoryBlock)
 	 */
@@ -105,7 +105,7 @@
 	public void init(IMemoryRenderingContainer container, IMemoryBlock block) {
 		fContainer = container;
 		fMemoryBlock = block;
-		
+
 		fLabelDecorator = fMemoryBlock.getAdapter(ILabelDecorator.class);
 	}
 
@@ -121,11 +121,11 @@
 			Runnable runnable = new Runnable(){
 				@Override
 				public void run() {
-						((IMemoryBlockExtension)fMemoryBlock).disconnect(AbstractMemoryRendering.this);		
+						((IMemoryBlockExtension)fMemoryBlock).disconnect(AbstractMemoryRendering.this);
 				}};
 			new ConnectionJob(runnable).schedule();
 		}
-		
+
 		if (fPopupMenuMgr != null)
 		{
 			fPopupMenuMgr.removeMenuListener(fMenuListener);
@@ -133,7 +133,7 @@
 			fPopupMenuMgr.dispose();
 			fPopupMenuMgr = null;
 		}
-		
+
 		if (fPropertyListeners != null)
 			fPropertyListeners = null;
 	}
@@ -165,13 +165,13 @@
 	@Override
 	public void becomesVisible() {
 		fVisible = true;
-		
+
 		if (fMemoryBlock instanceof IMemoryBlockExtension)
 		{
 			Runnable runnable = new Runnable(){
 				@Override
 				public void run() {
-					((IMemoryBlockExtension)fMemoryBlock).connect(AbstractMemoryRendering.this);		
+					((IMemoryBlockExtension)fMemoryBlock).connect(AbstractMemoryRendering.this);
 				}};
 			new ConnectionJob(runnable).schedule();
 		}
@@ -188,7 +188,7 @@
 			Runnable runnable = new Runnable(){
 				@Override
 				public void run() {
-						((IMemoryBlockExtension)fMemoryBlock).disconnect(AbstractMemoryRendering.this);		
+						((IMemoryBlockExtension)fMemoryBlock).disconnect(AbstractMemoryRendering.this);
 				}};
 			new ConnectionJob(runnable).schedule();
 		}
@@ -216,10 +216,10 @@
 	 */
 	@Override
 	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-				
+
 		if (fPropertyListeners == null)
 			fPropertyListeners = new ListenerList<>();
-		
+
 		fPropertyListeners.add(listener);
 	}
 
@@ -228,7 +228,7 @@
 	 */
 	@Override
 	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		
+
 		if (fPropertyListeners == null)
 			return;
 		fPropertyListeners.remove(listener);
@@ -241,18 +241,18 @@
 	public Image getImage() {
 		return decorateImage(null);
 	}
-	
+
 	/**
 	 * Decorates and returns this rendering's image.
-	 * 
+	 *
 	 * @param image base image
 	 * @return decorated image
 	 * @since 3.2
-	 */	
+	 */
 	protected Image decorateImage(Image image) {
 		if (fLabelDecorator != null)
 			return fLabelDecorator.decorateImage(image, this);
-		return image;		
+		return image;
 	}
 
 	/* (non-Javadoc)
@@ -263,26 +263,26 @@
 	{
 		if (fMemoryBlock == null)
 			return IInternalDebugCoreConstants.EMPTY_STRING;
-		
+
 		StringBuffer label = new StringBuffer(IInternalDebugCoreConstants.EMPTY_STRING);
-		
+
 		if (fMemoryBlock instanceof IMemoryBlockExtension)
 		{
 			String expression = ((IMemoryBlockExtension)fMemoryBlock).getExpression();
-			
+
 			if (expression == null)
 				expression = IInternalDebugCoreConstants.EMPTY_STRING;
-			
+
 			label.append(expression);
-			
+
 			if (expression.startsWith("&")) //$NON-NLS-1$
-				label.insert(0, "&"); //$NON-NLS-1$		
-			
+				label.insert(0, "&"); //$NON-NLS-1$
+
 			// show full address if the rendering is visible
 			// hide address if the rendering is invisible
 			try {
 				if (fVisible && ((IMemoryBlockExtension)fMemoryBlock).getBigBaseAddress() != null)
-				{	
+				{
 					label.append(" : 0x"); //$NON-NLS-1$
 					label.append(((IMemoryBlockExtension)fMemoryBlock).getBigBaseAddress().toString(16).toUpperCase());
 				}
@@ -295,13 +295,13 @@
 			long address = fMemoryBlock.getStartAddress();
 			label.append(Long.toHexString(address).toUpperCase());
 		}
-		
+
 		IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getRenderingId());
-		
+
 		if (type != null)
 		{
 			String preName = type.getLabel();
-			
+
 			if (preName != null)
 			{
 				label.append(" <"); //$NON-NLS-1$
@@ -309,13 +309,13 @@
 				label.append(">");  //$NON-NLS-1$
 			}
 		}
-		
+
 		return decorateLabel(label.toString());
 	}
-	
+
 	/**
 	 * Decorates and returns this rendering's label.
-	 * 
+	 *
 	 * @param label base label
 	 * @return decorated label
 	 * @since 3.2
@@ -323,24 +323,24 @@
 	protected String decorateLabel(String label) {
 		if (fLabelDecorator != null)
 			return fLabelDecorator.decorateText(label.toString(), this);
-		return label.toString();		
+		return label.toString();
 	}
-	
+
 	/**
 	 * Helper method for creating a pop up menu in the rendering for a control.
 	 * Call this method when a context menu is required for a control
 	 * in a rendering.
 	 * <p>
 	 * To contribute an action to a rendering, an <code>objectContribution</code> can
-	 * be used on a rendering implementation class itself using a 
+	 * be used on a rendering implementation class itself using a
 	 * <code>popupMenus</code> extension. Additionally, the context menu created
 	 * by this method is registered with an identifier of this rendering's container.
-	 * Actions may also be contributed to the context menu specifically by using a 
+	 * Actions may also be contributed to the context menu specifically by using a
 	 * <code>viewerContribution</code> on a <code>popupMenus</code> extension
-	 * that has a <code>targetID</code> referring to this rendering container's identifier. 
+	 * that has a <code>targetID</code> referring to this rendering container's identifier.
 	 * </p>
 	 * <p>
-	 * Clients are expected to become a menu listener for their pop  up 
+	 * Clients are expected to become a menu listener for their pop  up
 	 * menu if they require to fill the context menu for the rendering.
 	 * </p>
 	 * @param control - control to create the pop up menu for
@@ -353,37 +353,37 @@
 			fPopupMenuMgr.setRemoveAllWhenShown(true);
 			IMemoryRenderingSite site = fContainer.getMemoryRenderingSite();
 			String menuId = fContainer.getId();
-						
+
 			ISelectionProvider selProvider = site.getSite().getSelectionProvider();
-			
+
 			fMenuListener = new IMenuListener() {
 							@Override
 							public void menuAboutToShow(IMenuManager manager) {
 								manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
 							}};
 			fPopupMenuMgr.addMenuListener(fMenuListener);
-			
+
 			site.getSite().registerContextMenu(menuId, fPopupMenuMgr, selProvider);
 		}
-		
+
 		Menu popupMenu = fPopupMenuMgr.createContextMenu(control);
 		control.setMenu(popupMenu);
 	}
-	
+
 	/**
 	 * Returns the pop up menu manager for this rendering, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return the pop up menu manager for this rendering, or <code>null</code>
 	 */
 	protected MenuManager getPopupMenuManager()
 	{
 		return fPopupMenuMgr;
 	}
-	
+
 	/**
 	 * Fires the given event to all registered listeners.
-	 * 
+	 *
 	 * @param event the event to fire
 	 */
 	protected void firePropertyChangedEvent(PropertyChangeEvent event)
@@ -396,10 +396,10 @@
 			SafeRunner.run(notifier);
 		}
 	}
-	
+
 	/**
 	 * Returns the container hosting this memory rendering.
-	 * 
+	 *
 	 * @return the container hosting this memory rendering
 	 */
 	public IMemoryRenderingContainer getMemoryRenderingContainer()
@@ -409,7 +409,7 @@
 
 	/**
 	 * Returns whether this rendering is currently visible.
-	 * 
+	 *
 	 * @return whether this rendering is currently visible
 	 */
 	public boolean isVisible() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
index f49b04a..7647ad6 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractMemoryRenderingBindingsProvider.java
@@ -24,10 +24,10 @@
  * @since 3.1
  */
 public abstract class AbstractMemoryRenderingBindingsProvider implements IMemoryRenderingBindingsProvider {
-    	
+
 	// list of binding listeners
 	private ListenerList<IMemoryRenderingBindingsListener> fListeners;
-        
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider#addListener(org.eclipse.debug.ui.memory.IMemoryRenderingBindingsListener)
 	 */
@@ -47,7 +47,7 @@
 			fListeners.remove(listener);
 		}
 	}
-	
+
 	/**
 	 * Notifies all registered listeners that bindings have changed.
 	 */
@@ -55,7 +55,7 @@
 		if (fListeners == null) {
 			return;
 		}
-		
+
 		for (IMemoryRenderingBindingsListener iMemoryRenderingBindingsListener : fListeners) {
 			final IMemoryRenderingBindingsListener listener = iMemoryRenderingBindingsListener;
 			ISafeRunnable runnable = new ISafeRunnable() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
index 3c775b8..adcaa5c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java
@@ -121,7 +121,7 @@
  * The label of the rendering is constructed by retrieving the expression from
  * <code>IMemoryBlockExtension</code>.  For IMemoryBlock, the label is constructed
  * using the memory block's start address.
- * 
+ *
  * This rendering manages the change states of its memory bytes if the memory
  * block does not opt to manage the change states.  For IMemoryBlockExtension, if
  * the memory block returns false when #supportsChangeManagement() is called, this
@@ -130,17 +130,17 @@
  * #supportsChangeManagement() is called.  This will cause this rendering to stop
  * calculating the change states of the memory block.  Instead it would rely on the
  * attributes returned in the MemoryByte array to determine if a byte has changed.
- * For IMemoryBlock, this rendering will manage the change states its content.   
- * 
+ * For IMemoryBlock, this rendering will manage the change states its content.
+ *
  *  When firing change event, be aware of the following:
  *  - whenever a change event is fired, the content provider for Memory View
- *    view checks to see if memory has actually changed.  
+ *    view checks to see if memory has actually changed.
  *  - If memory has actually changed, a refresh will commence.  Changes to the memory block
  *    will be computed and will be shown with the delta icons.
- *  - If memory has not changed, content will not be refreshed.  However, previous delta information 
+ *  - If memory has not changed, content will not be refreshed.  However, previous delta information
  * 	  will be erased.  The screen will be refreshed to show that no memory has been changed.  (All
  *    delta icons will be removed.)
- *    
+ *
  * Please note that these APIs will be called multiple times by the Memory View.
  * To improve performance, debug adapters need to cache the content of its memory block and only
  * retrieve updated data when necessary.
@@ -148,47 +148,47 @@
 
  * @since 3.1
  */
-public abstract class AbstractTableRendering extends AbstractBaseTableRendering implements IPropertyChangeListener, IResettableMemoryRendering{	
+public abstract class AbstractTableRendering extends AbstractBaseTableRendering implements IPropertyChangeListener, IResettableMemoryRendering{
 
 	/**
 	 *  Property identifier for the selected address in a table rendering
 	 *  This property is used for synchronization between renderings.
 	 */
 	public static final String PROPERTY_SELECTED_ADDRESS = "selectedAddress"; //$NON-NLS-1$
-	
+
 	/**
 	 * Property identifier for the column size in a table rendering
 	 * This property is used for synchronization between renderings.
 	 */
 	public static final String PROPERTY_COL_SIZE = "columnSize"; //$NON-NLS-1$
-	
+
 	/**
-	 * Property identifier for the top row address in a table rendering. 
+	 * Property identifier for the top row address in a table rendering.
 	 * This property is used for synchronization between renderings.
 	 */
 	public static final String PROPERTY_TOP_ADDRESS = "topAddress"; //$NON-NLS-1$
-	
+
 	/**
 	 * Property identifier for the row size in a table rendering
 	 * This property is used for synchronization between renderings.
 	 * @since 3.2
 	 */
 	public static final String PROPERTY_ROW_SIZE = "rowSize"; //$NON-NLS-1$
-	
+
 	private static final int BUFFER_THRESHOLD = 1;			// threshold value
 	private static final int BUFFER_START = 0;				// flag to indicate asking for threshold at buffer start
 	private static final int BUFFER_END = 1;				// flat to indicate asking for threshold at buffer end
-	
+
 	private PageBook fPageBook;
 	private TableViewer fTableViewer;
 	private TextViewer fTextViewer;
-	
+
 	private int fBytePerLine;								// number of bytes per line: 16
 	private int fColumnSize;								// number of bytes per column:  1,2,4,8
-	private int fAddressableSize;	
-	
+	private int fAddressableSize;
+
 	private boolean fIsShowingErrorPage;
-	
+
 	private TableRenderingContentProvider fContentProvider;
 	private BigInteger fSelectedAddress;
 	private TableRenderingContentInput fContentInput;
@@ -201,7 +201,7 @@
 	private TraverseListener fCursorTraverseListener;
 	private KeyAdapter fCursorKeyAdapter;
 	private BigInteger fTopRowAddress;
-	
+
 	private CopyTableRenderingToClipboardAction fCopyToClipboardAction;
 	private GoToAddressAction fGoToAddressAction;
 	private ResetToBaseAddressAction fResetMemoryBlockAction;
@@ -216,12 +216,12 @@
 	private SelectionAdapter fCursorSelectionListener;
 	private IWorkbenchAdapter fWorkbenchAdapter;
 	private IMemoryBlockConnection fConnection;
-	
+
 	private boolean fIsShowAddressColumn = true;
 	private SelectionAdapter fScrollbarSelectionListener;
 
 	private PropertyDialogAction fPropertiesAction;
-	
+
 	private int fPageSize;
 	private NextPageAction fNextAction;
 	private PrevPageAction fPrevAction;
@@ -230,14 +230,14 @@
 	private FormatTableRenderingAction fFormatRenderingAction;
 
 	private IMenuListener fMenuListener;
-	
+
 	private int fPreBuffer;
 	private int fPostBuffer;
-	
+
 	private class EventHandleLock
 	{
 		Object fOwner;
-		
+
 		public boolean acquireLock(Object client)
 		{
 			if (fOwner == null)
@@ -247,7 +247,7 @@
 			}
 			return false;
 		}
-		
+
 		public boolean releaseLock(Object client)
 		{
 			if (fOwner == client)
@@ -257,10 +257,10 @@
 			}
 			return false;
 		}
-		
-	}	
-	
-	
+
+	}
+
+
 	private class ToggleAddressColumnAction extends Action {
 
 		public ToggleAddressColumnAction() {
@@ -272,7 +272,7 @@
 
 		/*
 		 * (non-Javadoc)
-		 * 
+		 *
 		 * @see org.eclipse.jface.action.IAction#run()
 		 */
 		@Override
@@ -283,25 +283,25 @@
 		}
 
 		/**
-		 * 
+		 *
 		 */
 		private void updateActionLabel() {
 			if (fIsShowAddressColumn) {
-				setText(DebugUIMessages.ShowAddressColumnAction_0); 
+				setText(DebugUIMessages.ShowAddressColumnAction_0);
 			} else {
-				setText(DebugUIMessages.ShowAddressColumnAction_1); 
+				setText(DebugUIMessages.ShowAddressColumnAction_1);
 			}
 		}
 	}
-	
-	
+
+
 	private class NextPageAction extends Action
 	{
 		private NextPageAction()
 		{
 			super();
 			setText(DebugUIMessages.AbstractTableRendering_4);
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".NextPageAction_context"); //$NON-NLS-1$ 
+			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".NextPageAction_context"); //$NON-NLS-1$
 		}
 
 		@Override
@@ -311,7 +311,7 @@
 			handlePageStartAddressChanged(address);
 		}
 	}
-	
+
 	private class PrevPageAction extends Action
 	{
 		private PrevPageAction()
@@ -328,16 +328,16 @@
 			handlePageStartAddressChanged(address);
 		}
 	}
-	
+
 	/**
 	 * Constructs a new table rendering of the specified type.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 */
 	public AbstractTableRendering(String renderingId) {
 		super(renderingId);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
 	 */
@@ -347,13 +347,13 @@
 		if (event.getProperty().equals(IInternalDebugUIConstants.FONT_NAME))
 		{
 			if (!fIsDisposed)
-			{			
+			{
 				Font memoryViewFont = JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME);
-				setFont(memoryViewFont);		
+				setFont(memoryViewFont);
 			}
 			return;
 		}
-		
+
 		if (event.getProperty().equals(IDebugUIConstants.PREF_PADDED_STR) ||
 			event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR) ||
 			event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR))
@@ -365,31 +365,31 @@
 			}
 			return;
 		}
-		
+
 		Object evtSrc = event.getSource();
-		
+
 		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE) ||
 			event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PRE_BUFFER_SIZE) ||
 			event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE)) {
 			// always update page size, only refresh if the table is visible
 			getPageSizeFromPreference();
 		}
-		
+
 		// do not handle event if the rendering is displaying an error
 		if (isDisplayingError()) {
 			return;
 		}
-		
+
 		// do not handle property change event if the rendering is not visible
 		if (!isVisible()) {
 			return;
 		}
-		
+
 		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM)) {
 			handleDyanicLoadChanged();
 			return;
 		}
-		
+
 		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) {
 			if (!isDynamicLoad())
 			{
@@ -398,7 +398,7 @@
 			}
 			return;
 		}
-		
+
 		if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PRE_BUFFER_SIZE) ||
 			event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE)) {
 			if (isDynamicLoad())
@@ -408,26 +408,26 @@
 			}
 			return;
 		}
-		
+
 		if (evtSrc == this) {
 			return;
 		}
-		
+
 		if (!(evtSrc instanceof IMemoryRendering)) {
 			return;
 		}
-		
+
 		IMemoryRendering rendering = (IMemoryRendering)evtSrc;
 		IMemoryBlock memoryBlock = rendering.getMemoryBlock();
-		
+
 		// do not handle event from renderings displaying other memory blocks
 		if (memoryBlock != getMemoryBlock()) {
 			return;
 		}
-	
+
 		String propertyName = event.getProperty();
 		Object value = event.getNewValue();
-		
+
 		if (propertyName.equals(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS) && value instanceof BigInteger)
 		{
 			selectedAddressChanged((BigInteger)value);
@@ -457,11 +457,11 @@
 	}
 
 	private void handleDyanicLoadChanged() {
-		
+
 		// if currently in dynamic load mode, update page
 		// start address
 		updateSyncPageStartAddress();
-		
+
 		updateDynamicLoadProperty();
 		if (isDynamicLoad())
 		{
@@ -478,27 +478,27 @@
 	}
 
 	private void updateDynamicLoadProperty() {
-		
+
 		boolean value = DebugUIPlugin
 				.getDefault()
 				.getPreferenceStore()
 				.getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
-		
+
 		if (value != isDynamicLoad())
 		{
 			fContentProvider.setDynamicLoad(value);
-		
+
 			if (!fIsDisposed) {
 				if (isDynamicLoad()) {
 					fContentInput.setPostBuffer(20);
 					fContentInput.setPreBuffer(20);
 					fContentInput.setNumLines(getNumberOfVisibleLines());
-	
+
 				} else {
 					fContentInput.setPostBuffer(0);
 					fContentInput.setPreBuffer(0);
 					fContentInput.setNumLines(fPageSize);
-				}	
+				}
 			}
 		}
 	}
@@ -517,14 +517,14 @@
 		if (!isVisible() && !force) {
 			return;
 		}
-		
+
 		// do not handle event if the base address of the memory
 		// block has changed, wait for debug event to update to
 		// new location
 		if (isBaseAddressChanged()) {
 			return;
 		}
-	
+
 		if (!address.equals(fTopRowAddress))
 		{
 			fTopRowAddress = address;
@@ -551,27 +551,27 @@
 		{
 			setTopIndex(table,  index);
 		}
-		
+
 		if (isAddressVisible(fSelectedAddress)) {
 			fTableCursor.setVisible(true);
 		} else {
 			fTableCursor.setVisible(false);
 		}
-		
+
 	}
 
 	/**
 	 * @param address the address
 	 */
 	private void handleTopAddressChangedforExtended(final BigInteger address) {
-		
+
 		Object evtLockClient = new Object();
-		try 
+		try
 		{
 		if (!fEvtHandleLock.acquireLock(evtLockClient)) {
 			return;
 		}
-		
+
 		if (!isAddressOutOfRange(address))
 		{
 			Table table = fTableViewer.getTable();
@@ -612,11 +612,11 @@
 			}
 		}
 		else
-		{	
+		{
 			// approaching limit, reload table
 			reloadTable(address, false);
 		}
-		
+
 		if (isAddressVisible(fSelectedAddress)) {
 			fTableCursor.setVisible(true);
 		} else {
@@ -627,22 +627,22 @@
 		{
 			fEvtHandleLock.releaseLock(evtLockClient);
 		}
-	}	
-	
+	}
+
 	/**
 	 * @param value the new value
 	 */
 	private void selectedAddressChanged(BigInteger value) {
-		
+
 		// do not handle event if the base address of the memory
 		// block has changed, wait for debug event to update to
 		// new location
 		if (isBaseAddressChanged()) {
 			return;
 		}
-		
+
 		try {
-			// do not handle event if the event is out of range and the 
+			// do not handle event if the event is out of range and the
 			// rendering is in non-dynamic-load mode, otherwise, will
 			// cause rendering to continue to scroll when it shouldn't
 			if (isDynamicLoad()) {
@@ -654,63 +654,63 @@
 			// do nothing
 		}
 	}
-	
+
 	private void handlePageStartAddressChanged(BigInteger address)
 	{
 		// do not handle if in dynamic mode
 		if (isDynamicLoad()) {
 			return;
 		}
-		
+
 		if (fContentInput == null) {
 			return;
 		}
-		
+
 		if (!(getMemoryBlock() instanceof IMemoryBlockExtension)) {
 			return;
 		}
-		
+
 		// do not handle event if the base address of the memory
 		// block has changed, wait for debug event to update to
 		// new location
 		if (isBaseAddressChanged()) {
 			return;
 		}
-		
+
 		if(fContentProvider.getBufferTopAddress().equals(address)) {
 			return;
 		}
-	
+
 		BigInteger start = fContentInput.getStartAddress();
 		BigInteger end = fContentInput.getEndAddress();
-		
+
 		// smaller than start address, load at start address
 		if (address.compareTo(start) < 0)
 		{
 			if (isAtTopLimit()) {
 				return;
 			}
-			
+
 			address = start;
 		}
-		
+
 		// bigger than end address, no need to load, already at top
 		if (address.compareTo(end) > 0)
 		{
 			if (isAtBottomLimit()) {
 				return;
 			}
-			
+
 			address = end.subtract(BigInteger.valueOf(getPageSizeInUnits()));
 		}
-		
+
 		fContentInput.setLoadAddress(address);
 		refresh();
 		updateSyncPageStartAddress();
 		setTopIndex(fTableViewer.getTable(), 0);
 		fTopRowAddress = address;
 		updateSyncTopAddress();
-		
+
 		BigInteger selectedAddress = (BigInteger)getSynchronizedProperty(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
 		if (selectedAddress != null)
 		{
@@ -732,49 +732,49 @@
 	 */
 	@Override
 	public Control createControl(Composite parent) {
-		
+
 		fPageBook = new PageBook(parent, SWT.NONE);
 		createErrorPage(fPageBook);
 		createTableViewer(fPageBook);
-		
+
 		fTableViewer.getTable().redraw();
 		createToolTip();
-		
+
 		return fPageBook;
 	}
 
 	/**
 	 * Create the table viewer and other support controls
 	 * for this rendering.
-	 * 
+	 *
 	 * @param parent parent composite
 	 */
 	private void createTableViewer(Composite parent) {
-		
+
 		fTableViewer= new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.HIDE_SELECTION | SWT.BORDER);
-		
+
 		TableRenderingLabelProvider labelProvider;
 		if (hasCustomizedDecorations()) {
 			labelProvider = new TableRenderingLabelProviderEx(this);
 		} else {
 			labelProvider = new TableRenderingLabelProvider(this);
 		}
-		
+
 		fTableViewer.setLabelProvider(labelProvider);
-		
+
 		fContentProvider = new TableRenderingContentProvider();
 		fContentProvider.setDynamicLoad(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM));
-		
-		fTableViewer.setContentProvider(fContentProvider);		
+
+		fTableViewer.setContentProvider(fContentProvider);
 		fContentProvider.setViewer(fTableViewer);
-		
+
 		ScrollBar scroll = ((Table)fTableViewer.getControl()).getVerticalBar();
 		scroll.setMinimum(-100);
-		scroll.setMaximum(200);		
+		scroll.setMaximum(200);
 
 		fTableViewer.getTable().setHeaderVisible(true);
 		fTableViewer.getTable().setLinesVisible(true);
-		
+
 
 		// set up addressable size and figure out number of bytes required per line
 		fAddressableSize = -1;
@@ -787,24 +787,24 @@
 			fAddressableSize = 1;
 			displayError(e1);
 			return;
-			
+
 		}
 		if (getAddressableSize() < 1) {
 			fAddressableSize = 1;
 		}
-		
+
 // set up initial format
 		setupInitialFormat();
-		
-// set up selected address		
+
+// set up selected address
 		setupSelectedAddress();
-		
+
 		// figure out top visible address
 		BigInteger topVisibleAddress = getInitialTopVisibleAddress();
-		
+
 		getPageSizeFromPreference();
-		
-		
+
+
 		if (isDynamicLoad())
 		{
 			int numLines = getNumberOfVisibleLines();
@@ -827,7 +827,7 @@
 		else
 		{
 			BigInteger addressToLoad = topVisibleAddress;
-			
+
 			// check synchronization service to see if we need to sync with another rendering
 			Object obj = getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
 			if (obj != null && obj instanceof BigInteger)
@@ -836,24 +836,24 @@
 			}
 			fContentInput = new TableRenderingContentInput(this, 0, 0, addressToLoad, fPageSize, false, null);
 		}
-		
+
 		fTableViewer.setInput(fContentInput);
-		
+
 		// set up cell modifier
 		fCellModifier = new TableRenderingCellModifier(this);
 		fTableViewer.setCellModifier(fCellModifier);
-		
-		// SET UP FONT		
+
+		// SET UP FONT
 		// set to a non-proportional font
 		fTableViewer.getTable().setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
 		if (!(getMemoryBlock() instanceof IMemoryBlockExtension))
-		{		
+		{
 			// If not extended memory block, do not create any buffer
 			// no scrolling
 			fContentInput.setPreBuffer(0);
 			fContentInput.setPostBuffer(0);
 		}
-		
+
 		// set up table cursor
 		createCursor(fTableViewer.getTable(), fSelectedAddress);
 		fTableViewer.getTable().addMouseListener(new MouseAdapter() {
@@ -861,12 +861,12 @@
 			public void mouseDown(MouseEvent e) {
 				handleTableMouseEvent(e);
 			}});
-		
+
 		// create pop up menu for the rendering
 		createActions();
 		createPopupMenu(fTableViewer.getControl());
 		createPopupMenu(fTableCursor);
-		
+
 		fMenuListener = new IMenuListener() {
 					@Override
 					public void menuAboutToShow(IMenuManager manager) {
@@ -874,14 +874,14 @@
 						manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
 					}};
 		getPopupMenuManager().addMenuListener(fMenuListener);
-		
+
 		// now the rendering is successfully created
 		fIsCreated = true;
 
 		//synchronize
 		addRenderingToSyncService();
 		synchronize();
-		
+
 		fTopRowAddress = getTopVisibleAddress();
 		// Need to resize column after content is filled in
 		// Pack function does not work unless content is not filled in
@@ -892,12 +892,12 @@
 			{
 				if(((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress() == null)
 				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_1, null)); 
-					displayError(e);				
+					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_1, null));
+					displayError(e);
 				}
 			}
 		} catch (DebugException e1) {
-			displayError(e1);	
+			displayError(e1);
 		}
 
 		// add font change listener and update font when the font has been changed
@@ -907,17 +907,17 @@
 			@Override
 			public void widgetSelected(SelectionEvent event) {
 				handleScrollBarSelection();
-				
+
 			}};
 		scroll.addSelectionListener(fScrollbarSelectionListener);
 		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
 	}
-	
+
 	private boolean validateInitialFormat()
 	{
 		int rowSize = getDefaultRowSize();
 		int columnSize = getDefaultColumnSize();
-		
+
 		if (rowSize < columnSize || rowSize % columnSize != 0 || rowSize == 0 || columnSize == 0)
 		{
 			return false;
@@ -946,7 +946,7 @@
 	}
 
 	private void setupSelectedAddress() {
-		// figure out selected address 
+		// figure out selected address
 		BigInteger selectedAddress = (BigInteger) getSynchronizedProperty(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
 		if (selectedAddress == null)
 		{
@@ -970,9 +970,9 @@
 	}
 
 	private void setupInitialFormat() {
-		
+
 		boolean validated = validateInitialFormat();
-		
+
 		if (!validated)
 		{
 			// pop up dialog to ask user for default values
@@ -984,24 +984,24 @@
 			msgBuffer.append("\n"); //$NON-NLS-1$
 			msgBuffer.append(DebugUIMessages.AbstractTableRendering_18);
 			msgBuffer.append("\n\n"); //$NON-NLS-1$
-			
+
 			int bytePerLine = fBytePerLine;
 			int columnSize = fColumnSize;
-			
+
 			// initialize this value to populate the dialog properly
 			fBytePerLine = getDefaultRowSize() / getAddressableSize();
 			fColumnSize = getDefaultColumnSize() / getAddressableSize();
 
 			FormatTableRenderingDialog dialog = new FormatTableRenderingDialog(this, DebugUIPlugin.getShell());
 			dialog.openError(msgBuffer.toString());
-			
+
 			// restore to original value before formatting
 			fBytePerLine = bytePerLine;
 			fColumnSize = columnSize;
-			
+
 			bytePerLine = dialog.getRowSize() * getAddressableSize();
 			columnSize = dialog.getColumnSize() * getAddressableSize();
-			
+
 			format(bytePerLine, columnSize);
 		}
 		else
@@ -1010,10 +1010,10 @@
 			int bytePerLine = getDefaultRowSize();
 			// column size is now stored as number of addressable units
 			int columnSize = getDefaultColumnSize();
-			
-			// format memory block with specified "bytesPerLine" and "columnSize"	
+
+			// format memory block with specified "bytesPerLine" and "columnSize"
 			boolean ok = format(bytePerLine, columnSize);
-			
+
 			if (!ok)
 			{
 				// this is to ensure that the rest of the rendering can be created
@@ -1024,42 +1024,42 @@
 	}
 
 	private int getDefaultColumnSize() {
-		
+
 		// default to global preference store
 		IPreferenceStore prefStore = DebugUITools.getPreferenceStore();
 		int columnSize = prefStore.getInt(IDebugPreferenceConstants.PREF_COLUMN_SIZE);
 		// actual column size is number of addressable units * size of the addressable unit
 		columnSize = columnSize * getAddressableSize();
-		
+
 		// check synchronized column size
 		Integer colSize = (Integer)getSynchronizedProperty(AbstractTableRendering.PROPERTY_COL_SIZE);
 		if (colSize != null)
 		{
 			// column size is stored as actual number of bytes in synchronizer
-			int syncColSize = colSize.intValue(); 
+			int syncColSize = colSize.intValue();
 			if (syncColSize > 0)
 			{
 				columnSize = syncColSize;
-			}	
+			}
 		}
 		else
 		{
 			IPersistableDebugElement elmt = getMemoryBlock().getAdapter(IPersistableDebugElement.class);
 			int defaultColSize = -1;
-			
+
 			if (elmt != null)
 			{
 				if (elmt.supportsProperty(this, IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL)) {
 					defaultColSize = getDefaultFromPersistableElement(IDebugPreferenceConstants.PREF_COL_SIZE_BY_MODEL);
 				}
 			}
-			
+
 			if (defaultColSize <= 0)
 			{
 				// if not provided, get default by model
 				defaultColSize = getDefaultColumnSizeByModel(getMemoryBlock().getModelIdentifier());
 			}
-			
+
 			if (defaultColSize > 0) {
 				columnSize = defaultColSize * getAddressableSize();
 			}
@@ -1068,20 +1068,20 @@
 	}
 
 	private int getDefaultRowSize() {
-		
+
 		int rowSize = DebugUITools.getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_ROW_SIZE);
 		int bytePerLine = rowSize * getAddressableSize();
-		
+
 		// check synchronized row size
 		Integer size = (Integer)getSynchronizedProperty(AbstractTableRendering.PROPERTY_ROW_SIZE);
 		if (size != null)
 		{
 			// row size is stored as actual number of bytes in synchronizer
-			int syncRowSize = size.intValue(); 
+			int syncRowSize = size.intValue();
 			if (syncRowSize > 0)
 			{
 				bytePerLine = syncRowSize;
-			}	
+			}
 		}
 		else
 		{
@@ -1095,12 +1095,12 @@
 					return defaultRowSize * getAddressableSize();
 				}
 			}
-			
+
 			if (defaultRowSize <= 0) {
 				// no synchronized property, ask preference store by id
 				defaultRowSize = getDefaultRowSizeByModel(getMemoryBlock().getModelIdentifier());
 			}
-			
+
 			if (defaultRowSize > 0) {
 				bytePerLine = defaultRowSize * getAddressableSize();
 			}
@@ -1120,7 +1120,7 @@
 					IStatus status = DebugUIPlugin.newErrorStatus("Model returned invalid type on " + propertyId, null); //$NON-NLS-1$
 					DebugUIPlugin.log(status);
 				}
-				
+
 				if (valueMB != null)
 				{
 					Integer value = (Integer)valueMB;
@@ -1132,50 +1132,50 @@
 		}
 		return defaultValue;
 	}
-	
+
 	private void getPageSizeFromPreference()
 	{
 		fPageSize = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE);
 		fPreBuffer = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PRE_BUFFER_SIZE);
 		fPostBuffer = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE);
 	}
-	
+
 	private void createCursor(Table table, BigInteger address)
 	{
 		fTableCursor = new TableCursor(table, SWT.NONE);
 		Display display = fTableCursor.getDisplay();
-		
+
 		// set up cursor color
 		fTableCursor.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION));
 		fTableCursor.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
-		
+
 		fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
 		fTableCursor.setVisible(true);
-		
+
 		fCursorKeyAdapter = new KeyAdapter() {
 			@Override
 			public void keyPressed(KeyEvent e)
 			 {
 			 	handleCursorKeyPressed(e);
-			 }	
+			 }
 		};
 		fTableCursor.addKeyListener(fCursorKeyAdapter);
-		
+
 		fCursorTraverseListener = new TraverseListener() {
 			@Override
 			public void keyTraversed(TraverseEvent e) {
 				handleCursorTraverseEvt(e);
 			}};
-					
+
 		fTableCursor.addTraverseListener(fCursorTraverseListener);
-		
+
 		fCursorMouseListener = new MouseAdapter() {
 			@Override
 			public void mouseDown(MouseEvent e) {
 				handleCursorMouseEvent(e);
 			}};
 		fTableCursor.addMouseListener(fCursorMouseListener);
-		
+
 		// cursor may be disposed before disposed is called
 		// remove listeners whenever the cursor is disposed
 		fTableCursor.addDisposeListener(new DisposeListener() {
@@ -1189,35 +1189,35 @@
 				fTableCursor.removeMouseListener(fCursorMouseListener);
 				fTableCursor.removeSelectionListener(fCursorSelectionListener);
 			}});
-		
+
 		fCursorSelectionListener = new SelectionAdapter() {
 					@Override
 					public void widgetSelected(SelectionEvent e) {
-						
+
 						if (!fEvtHandleLock.acquireLock(this)) {
 							return;
 						}
-	
+
 						handleCursorMoved();
-						
+
 						fEvtHandleLock.releaseLock(this);
 
 					}
 				};
 		fTableCursor.addSelectionListener(fCursorSelectionListener);
-		
-		
+
+
 		setCursorAtAddress(address);
-		
-		fCursorEditor = new TableEditor (fTableViewer.getTable());	
+
+		fCursorEditor = new TableEditor (fTableViewer.getTable());
 	}
-	
+
 	private void handleCursorTraverseEvt(TraverseEvent e){
-		
+
 		if (fTableCursor.getRow() == null) {
 			return;
 		}
-		
+
 		Table table = (Table)fTableCursor.getParent();
 		int row = table.indexOf(fTableCursor.getRow());
 		int col = fTableCursor.getColumn();
@@ -1227,7 +1227,7 @@
 			{
 				return;
 			}
-			
+
 			row = row +1;
 			col = 0;
 			fTableCursor.setSelection(row, col);
@@ -1238,52 +1238,52 @@
 			{
 				return;
 			}
-			
+
 			row = row - 1;
 			col = getNumCol()+1;
 			fTableCursor.setSelection(row, col);
-		}			
-		
+		}
+
 		Object evtLockClient = new Object();
 		if (!fEvtHandleLock.acquireLock(evtLockClient)) {
 			return;
 		}
-		
+
 		handleCursorMoved();
-		
+
 		fEvtHandleLock.releaseLock(evtLockClient);
 
 	}
-	
+
 	/**
 	 * Update selected address.
 	 * Load more memory if required.
 	 */
 	private void handleCursorMoved()
-	{	
+	{
 		if (fIsDisposed) {
 			return;
 		}
-		
+
 		BigInteger selectedAddress = getSelectedAddressFromCursor(fTableCursor);
-		
+
 		// when the cursor is moved, the selected address is changed
 		if (selectedAddress != null && !selectedAddress.equals(fSelectedAddress))
 		{
 			setSelectedAddress(selectedAddress);
 			updateSyncSelectedAddress();
 		}
-		
+
 		// now check to see if the cursor is approaching buffer limit
 		TableItem item = fTableCursor.getRow();
 		if (item == null) {
 			return;
 		}
-		
+
 		if (getMemoryBlock() instanceof IMemoryBlockExtension)
 		{
 			int row = fTableViewer.getTable().indexOf(item);
-			
+
 			if (row < getBufferThreshold(BUFFER_START))
 			{
 				if (!isAtTopLimit() && getBufferThreshold(BUFFER_START) > 0)
@@ -1307,7 +1307,7 @@
 				}
 			}
 		}
-		
+
 		// if the cursor has moved, the top index of the table may change
 		// just update the synchronization service
 		BigInteger address = getTopVisibleAddress();
@@ -1317,7 +1317,7 @@
 			updateSyncTopAddress();
 		}
 	}
-	
+
 	private void handleCursorKeyPressed(KeyEvent event)
 	{
 		// allow edit if user hits return
@@ -1325,10 +1325,10 @@
 		{
 			activateCellEditor(null);
 			return;
-		}		
-		
+		}
+
 		if (MemoryViewUtil.isValidEditEvent(event.keyCode))
-		{	
+		{
 			// activate edit as soon as user types something at the cursor
 			if (event.getSource() instanceof TableCursor)
 			{
@@ -1338,7 +1338,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Calculate selected address based on cursor's current position
 	 * @param cursor the cursor
@@ -1348,7 +1348,7 @@
 	{
 		TableItem row = cursor.getRow();
 		int col = cursor.getColumn();
-		
+
 		return getAddressFromTableItem(row, col);
 	}
 
@@ -1356,14 +1356,14 @@
 		if (row == null) {
 			return null;
 		}
-		
+
 		// get row address
 		String temp = ((TableRenderingLine)row.getData()).getAddress();
 		BigInteger rowAddress = new BigInteger(temp, 16);
-		
+
 		int offset;
 		if (col > 0)
-		{	
+		{
 			// 	get address offset
 			int addressableUnit = getAddressableUnitPerColumn();
 			offset = (col-1) * addressableUnit;
@@ -1372,11 +1372,11 @@
 		{
 			offset = 0;
 		}
-		
+
 		return rowAddress.add(BigInteger.valueOf(offset));
 	}
-	
-	
+
+
 	/**
 	 * Sets the cursor at the specified address
 	 * @param address the address
@@ -1387,12 +1387,12 @@
 		if (fContentProvider.getBufferTopAddress() == null) {
 			return false;
 		}
-		
+
 		// selected address is out of range, simply return false
 		if (address.compareTo(fContentProvider.getBufferTopAddress()) < 0) {
 			return false;
 		}
-		
+
 		// calculate selected row address
 		int addressableUnit = getAddressableUnitPerLine();
 		int numOfRows = address.subtract(fContentProvider.getBufferTopAddress()).intValue()/addressableUnit;
@@ -1400,120 +1400,120 @@
 
 		// try to find the row of the selected address
 		int row = findAddressIndex(address);
-			
+
 		if (row == -1)
 		{
 			return false;
 		}
-		
+
 		// calculate offset to the row address
 		BigInteger offset = address.subtract(rowAddress);
-		
+
 		// locate column
 		int colAddressableUnit = getAddressableUnitPerColumn();
 		int col = ((offset.intValue()/colAddressableUnit)+1);
-		
+
 		if (col == 0) {
 			col = 1;
 		}
-		
+
 		fTableCursor.setSelection(row, col);
-		
-		return true;		
+
+		return true;
 	}
-	
-	
+
+
 	/**
 	 * Format view tab based on the bytes per line and column.
-	 * 
+	 *
 	 * @param bytesPerLine - number of bytes per line, possible values: (1 / 2 / 4 / 8 / 16 / 32 / 64 / 128) * addressableSize
 	 * @param columnSize - number of bytes per column, possible values: (1 / 2 / 4 / 8 / 16 / 32 / 64 / 128) * addressableSize
 	 * @return true if format is successful, false, otherwise
-	 * 
+	 *
 	 */
 	@Override
 	public boolean format(int bytesPerLine, int columnSize)
-	{	
-		
+	{
+
 		// selected address gets changed as the cursor is moved
 		// during the reformat.
 		// Back up the address and restore it later.
 		BigInteger selectedAddress = fSelectedAddress;
-		
+
 		// bytes per cell must be divisible to bytesPerLine
 		if (bytesPerLine % columnSize != 0)
 		{
 			return false;
 		}
-		
+
 		if (bytesPerLine < columnSize)
 		{
 			return false;
 		}
-		
+
 		// do not format if the view tab is already in that format
 		if(fBytePerLine == bytesPerLine && fColumnSize == columnSize){
 			return false;
 		}
-		
+
 		fBytePerLine = bytesPerLine;
 		fColumnSize = columnSize;
-		
+
 		Object evtLockClient = new Object();
 		if (!fEvtHandleLock.acquireLock(evtLockClient)) {
 			return false;
 		}
-		
+
 		// if the tab is already created and is being reformatted
 		if (fIsCreated)
-		{	
+		{
 			if (fTableViewer == null) {
 				return false;
 			}
-			
+
 			if (fTableViewer.getTable() == null) {
 				return false;
 			}
-			
+
 			// clean up old columns
 			TableColumn[] oldColumns = fTableViewer.getTable().getColumns();
-			
+
 			for (int i=0; i<oldColumns.length; i++)
 			{
 				oldColumns[i].dispose();
 			}
-			
+
 			// clean up old cell editors
 			CellEditor[] oldCellEditors = fTableViewer.getCellEditors();
-			
+
 			for (int i=0; i<oldCellEditors.length; i++)
 			{
 				oldCellEditors[i].dispose();
 			}
 		}
-		
+
 		TableColumn column0 = new TableColumn(fTableViewer.getTable(),SWT.LEFT,0);
-		column0.setText(DebugUIMessages.AbstractTableRendering_2); 
-		
+		column0.setText(DebugUIMessages.AbstractTableRendering_2);
+
 		// create new byte columns
-		TableColumn [] byteColumns = new TableColumn[bytesPerLine/columnSize];		
-		
+		TableColumn [] byteColumns = new TableColumn[bytesPerLine/columnSize];
+
 		String[] columnLabels = new String[0];
 		IMemoryBlockTablePresentation presentation = getTablePresentationAdapter();
 		if (presentation != null)
 		{
 			columnLabels = presentation.getColumnLabels(getMemoryBlock(), bytesPerLine, getNumCol());
 		}
-		
+
 		// check that column labels are not null
 		if (columnLabels == null) {
 			columnLabels = new String[0];
 		}
-		
+
 		for (int i=0;i<byteColumns.length; i++)
 		{
 			TableColumn column = new TableColumn(fTableViewer.getTable(), SWT.LEFT, i+1);
-			
+
 			// if the number of column labels returned is correct
 			// use supplied column labels
 			if (columnLabels.length == byteColumns.length)
@@ -1526,7 +1526,7 @@
 				int addressableUnit = columnSize/getAddressableSize();
 				if (getAddressableUnitPerColumn() >= 4)
 				{
-					column.setText(Integer.toHexString(i*addressableUnit).toUpperCase() + 
+					column.setText(Integer.toHexString(i*addressableUnit).toUpperCase() +
 						" - " + Integer.toHexString(i*addressableUnit+addressableUnit-1).toUpperCase()); //$NON-NLS-1$
 				}
 				else
@@ -1535,7 +1535,7 @@
 				}
 			}
 		}
-		
+
 		//Empty column for cursor navigation
 		TableColumn emptyCol = new TableColumn(fTableViewer.getTable(),SWT.LEFT,byteColumns.length+1);
 		emptyCol.setText(" "); //$NON-NLS-1$
@@ -1545,7 +1545,7 @@
 		// +2 to include properties for address and navigation column
 		String[] columnProperties = new String[byteColumns.length+2];
 		columnProperties[0] = TableRenderingLine.P_ADDRESS;
-		
+
 		int addressableUnit = columnSize / getAddressableSize();
 
 		// use column beginning offset to the row address as properties
@@ -1555,52 +1555,52 @@
 			// the line address
 			columnProperties[i] = Integer.toHexString((i-1)*addressableUnit);
 		}
-		
+
 		// Empty column for cursor navigation
 		columnProperties[columnProperties.length-1] = " "; //$NON-NLS-1$
-		
-		fTableViewer.setColumnProperties(columnProperties);		
-		
-		
+
+		fTableViewer.setColumnProperties(columnProperties);
+
+
 		Table table = fTableViewer.getTable();
 		fEditors = new CellEditor[table.getColumnCount()];
 		for (int i=0; i<fEditors.length; i++)
 		{
 			fEditors[i] = new TextCellEditor(table);
 		}
-		
+
 		// create and set cell editors
-		fTableViewer.setCellEditors(fEditors);	
-		
+		fTableViewer.setCellEditors(fEditors);
+
 		if (fIsCreated)
 		{
 			fTableViewer.refresh();
-		}		
-		
+		}
+
 		resizeColumnsToPreferredSize();
 		updateSyncRowSize();
 		updateSyncColSize();
-		
+
 		if (fIsCreated)
 		{
 			// for Linux GTK, this must happen after table viewer is refreshed
 			int i = findAddressIndex(fTopRowAddress);
-			
+
 			if (i >= 0) {
 				setTopIndex(fTableViewer.getTable(), i);
 			}
-			
+
 			if (isAddressVisible(selectedAddress)) {
 				// after refresh, make sure the cursor is at the correct position
 				setCursorAtAddress(selectedAddress);
-			}			
+			}
 		}
-		
+
 		fEvtHandleLock.releaseLock(evtLockClient);
-		
+
 		return true;
 	}
-	
+
 	/**
 	 * Create the error page for this rendering.
 	 * The error page is used to report any error resulted from
@@ -1611,14 +1611,14 @@
 	{
 		if (fTextViewer == null)
 		{
-			fTextViewer = new TextViewer(parent, SWT.WRAP);	
+			fTextViewer = new TextViewer(parent, SWT.WRAP);
 			fTextViewer.setDocument(new Document());
 			StyledText styleText = fTextViewer.getTextWidget();
 			styleText.setEditable(false);
 			styleText.setEnabled(false);
 		}
 	}
-	
+
 	/**
 	 * Displays the content of the table viewer.
 	 */
@@ -1627,11 +1627,11 @@
 		fIsShowingErrorPage = false;
 		fPageBook.showPage(fTableViewer.getControl());
 	}
-	
+
 	/**
 	 * Displays an error message for the given exception.
-	 * 
-	 * @param e exception to display 
+	 *
+	 * @param e exception to display
 	 */
 	public void displayError(DebugException e)
 	{
@@ -1639,26 +1639,26 @@
 		fIsShowingErrorPage = true;
 
 		styleText = fTextViewer.getTextWidget();
-		
+
 		if (styleText != null) {
 			styleText.setText(DebugUIMessages.AbstractTableRendering_3 + e.getMessage());
 		}
 		fPageBook.showPage(fTextViewer.getControl());
-		
+
 		// clear content cache if we need to display error
 		fContentProvider.clearContentCache();
 	}
-	
+
 	/**
 	 * Returns whether the error page is displayed.
-	 * 
+	 *
 	 * @return whether the error page is displayed
 	 */
 	public boolean isDisplayingError()
-	{	
+	{
 		return fIsShowingErrorPage;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#getControl()
 	 */
@@ -1666,31 +1666,31 @@
 	public Control getControl() {
 		return fPageBook;
 	}
-	
+
 	/**
 	 * Returns the addressable size of this rendering's memory block in bytes.
-	 * 
+	 *
 	 * @return the addressable size of this rendering's memory block in bytes
 	 */
 	@Override
 	public int getAddressableSize() {
 		return fAddressableSize;
 	}
-	
+
 	private Object getSynchronizedProperty(String propertyId)
 	{
 		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
+
 		if (syncService == null) {
 			return null;
 		}
-		
-		return syncService.getProperty(getMemoryBlock(), propertyId);	
+
+		return syncService.getProperty(getMemoryBlock(), propertyId);
 	}
-	
+
 	/**
 	 * This method estimates the number of visible lines in the rendering
-	 * table.  
+	 * table.
 	 * @return estimated number of visible lines in the table
 	 */
 	private int getNumberOfVisibleLines()
@@ -1698,25 +1698,25 @@
 		if(fTableViewer == null) {
 			return -1;
 		}
-		
+
 		Table table = fTableViewer.getTable();
 		int height = fTableViewer.getTable().getSize().y;
-		
+
 		// when table is not yet created, height is zero
 		if (height == 0)
 		{
 			// make use of the table viewer to estimate table size
 			height = fTableViewer.getTable().getParent().getSize().y;
 		}
-		
+
 		int numberOfLines = doGetNumberOfVisibleLines(table, height);
-		
+
 		if (numberOfLines <= 0)
 		{
 			return 0;
 		}
-	
-		return numberOfLines;		
+
+		return numberOfLines;
 	}
 
 	/**
@@ -1727,35 +1727,35 @@
 	private int doGetNumberOfVisibleLines(Table table, int height) {
 		// height of border
 		int border = fTableViewer.getTable().getHeaderHeight();
-		
+
 		// height of scroll bar
 		int scroll = fTableViewer.getTable().getHorizontalBar().getSize().y;
 
-		// height of table is table's area minus border and scroll bar height		
+		// height of table is table's area minus border and scroll bar height
 		height = height-border-scroll;
 
 		// calculate number of visible lines
 		int lineHeight = getMinTableItemHeight(table);
-		
+
 		int numberOfLines = height/lineHeight;
 		return numberOfLines;
 	}
-	
+
 	private static void  setTopIndex(Table table, int index)
 	{
 		table.setTopIndex(index);
 	}
 
 	private void addRenderingToSyncService()
-	{	
+	{
 		IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
-		
+
 		if (syncService == null) {
 			return;
 		}
-		
+
 		syncService.addPropertyChangeListener(this, null);
-	
+
 		// we could be in a format error even though the error is not yet displayed
 		// do not update sync property in this case
 		if (!isDisplayingError())
@@ -1763,13 +1763,13 @@
 			if (syncService.getSynchronizationProvider() == null) {
 				syncService.setSynchronizationProvider(this);
 			}
-			
+
 			// check if there is already synchronization info available
 			Object selectedAddress =getSynchronizedProperty( AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
 			Object rowSize = getSynchronizedProperty(AbstractTableRendering.PROPERTY_ROW_SIZE);
 			Object colSize =getSynchronizedProperty( AbstractTableRendering.PROPERTY_COL_SIZE);
 			Object topAddress =getSynchronizedProperty( AbstractTableRendering.PROPERTY_TOP_ADDRESS);
-			
+
 			if (!isDynamicLoad())
 			{
 				Object pageStartAddress = getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
@@ -1777,14 +1777,14 @@
 					updateSyncPageStartAddress();
 				}
 			}
-			
+
 			// if info is available, some other view tab has already been
 			// created
 			// do not overwrite info in the synchronizer if that's the case
 			if (selectedAddress == null) {
 				updateSyncSelectedAddress();
 			}
-			
+
 			if (rowSize == null)
 			{
 				updateSyncRowSize();
@@ -1798,12 +1798,12 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Get properties from synchronizer and synchronize settings
 	 */
 	private void synchronize()
-	{			
+	{
 		if (!isDynamicLoad())
 		{
 			BigInteger pageStart = (BigInteger)getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS);
@@ -1818,12 +1818,12 @@
 				handlePageStartAddressChanged(pageStart);
 			}
 		}
-		
+
 		Integer rowSize = (Integer) getSynchronizedProperty(AbstractTableRendering.PROPERTY_ROW_SIZE);
 		Integer columnSize = (Integer) getSynchronizedProperty(AbstractTableRendering.PROPERTY_COL_SIZE);
 		BigInteger selectedAddress = (BigInteger)getSynchronizedProperty(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS);
 		BigInteger topAddress = (BigInteger)getSynchronizedProperty(AbstractTableRendering.PROPERTY_TOP_ADDRESS);
-		
+
 		if (rowSize != null)
 		{
 			int rSize = rowSize.intValue();
@@ -1831,7 +1831,7 @@
 				rowSizeChanged(rSize);
 			}
 		}
-		
+
 		if (columnSize != null) {
 			int colSize = columnSize.intValue();
 			if (colSize > 0 && colSize != fColumnSize) {
@@ -1854,7 +1854,7 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Resize column to the preferred size.
 	 */
@@ -1863,23 +1863,23 @@
 		// pack columns
 		Table table = fTableViewer.getTable();
 		TableColumn[] columns = table.getColumns();
-		
+
 		for (int i=0 ;i<columns.length-1; i++)
-		{	
+		{
 			columns[i].pack();
 		}
-		
+
 		if (!fIsShowAddressColumn)
 		{
 			columns[0].setWidth(0);
 		}
 	}
-	
+
 	/**
 	 * update selected address in synchronizer if update is true.
 	 */
 	private void updateSyncSelectedAddress() {
-		
+
 		if (!fIsCreated) {
 			return;
 		}
@@ -1891,33 +1891,33 @@
 	 * update column size in synchronizer
 	 */
 	private void updateSyncColSize() {
-		
+
 		if (!fIsCreated) {
 			return;
 		}
-		
+
 		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_COL_SIZE, null, Integer.valueOf(fColumnSize));
 		firePropertyChangedEvent(event);
 	}
-	
+
 	/**
 	 * update column size in synchronizer
 	 */
 	private void updateSyncRowSize() {
-		
+
 		if (!fIsCreated) {
 			return;
 		}
-		
+
 		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_ROW_SIZE, null, Integer.valueOf(fBytePerLine));
 		firePropertyChangedEvent(event);
 	}
-	
+
 	/**
 	 * update top visible address in synchronizer
 	 */
 	private void updateSyncTopAddress() {
-		
+
 		if (!fIsCreated) {
 			return;
 		}
@@ -1925,17 +1925,17 @@
 		PropertyChangeEvent event = new PropertyChangeEvent(this, AbstractTableRendering.PROPERTY_TOP_ADDRESS, null, fTopRowAddress);
 		firePropertyChangedEvent(event);
 	}
-	
+
 	private void updateSyncPageStartAddress() {
-	
+
 		if (!fIsCreated) {
 			return;
 		}
-		
+
 		if (isBaseAddressChanged()) {
 			return;
 		}
-		
+
 		BigInteger pageStart;
 		if (isDynamicLoad())
 		{
@@ -1948,33 +1948,33 @@
 			// otherwise, the address is the buffer's start address
 			pageStart = fContentProvider.getBufferTopAddress();
 		}
-		
+
 		PropertyChangeEvent event = new PropertyChangeEvent(this, IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS, null, pageStart);
 		firePropertyChangedEvent(event);
 	}
-	
+
 	/**
 	 * Fills the context menu for this rendering
-	 * 
+	 *
 	 * @param menu menu to fill
 	 */
 	protected void fillContextMenu(IMenuManager menu) {
-	
+
 		menu.add(new Separator("topMenu")); //$NON-NLS-1$
 		menu.add(fResetMemoryBlockAction);
 		menu.add(fGoToAddressAction);
-	
+
 		menu.add(new Separator());
-		
+
 		menu.add(fFormatRenderingAction);
 
 		if (!isDynamicLoad() && getMemoryBlock() instanceof IMemoryBlockExtension)
-		{		
+		{
 			menu.add(new Separator());
 			menu.add(fPrevAction);
 			menu.add(fNextAction);
 		}
-		
+
 		menu.add(new Separator());
 		menu.add(fReformatAction);
 		menu.add(fToggleAddressColumnAction);
@@ -1986,32 +1986,32 @@
 			menu.add(new Separator());
 			menu.add(fPropertiesAction);
 		}
-		
+
 	}
-	
+
 	/**
 	 * Returns the number of addressable units per row.
-	 *  
+	 *
 	 * @return number of addressable units per row
 	 */
 	@Override
 	public int getAddressableUnitPerLine() {
 		return fBytePerLine / getAddressableSize();
 	}
-	
+
 	/**
 	 * Returns the number of addressable units per column.
-	 * 
+	 *
 	 * @return number of addressable units per column
 	 */
 	@Override
 	public int getAddressableUnitPerColumn() {
 		return fColumnSize / getAddressableSize();
 	}
-	
+
 	/**
 	 * Returns the number of bytes displayed in a single column cell.
-	 * 
+	 *
 	 * @return the number of bytes displayed in a single column cell
 	 */
 	@Override
@@ -2022,15 +2022,15 @@
 
 	/**
 	 * Returns the number of bytes displayed in a row.
-	 * 
+	 *
 	 * @return the number of bytes displayed in a row
 	 */
 	@Override
 	public int getBytesPerLine()
-	{		
+	{
 		return fBytePerLine;
 	}
-	
+
 	/**
 	 * Updates labels of this rendering.
 	 */
@@ -2039,7 +2039,7 @@
 	{
 		// update tab labels
 		updateRenderingLabel(true);
-		
+
 		if (fTableViewer != null)
 		{
 			// update column labels
@@ -2047,10 +2047,10 @@
 			fTableViewer.refresh();
 		}
 	}
-	
+
 
 	/* Returns the label of this rendering.
-	 * 
+	 *
 	 * @return label of this rendering
 	 */
 	@Override
@@ -2058,20 +2058,20 @@
 		if (fLabel == null) {
 			fLabel = buildLabel(true);
 		}
-		
+
 		return fLabel;
 	}
 
-	
+
 	/**
 	 * Updates the label of this rendering, optionally displaying the
 	 * base address of this rendering's memory block.
-	 * 
+	 *
 	 * @param showAddress whether to display the base address of this
 	 *  rendering's memory block in this rendering's label
 	 */
 	protected void updateRenderingLabel(boolean showAddress)
-	{	
+	{
 		fLabel = buildLabel(showAddress);
 		firePropertyChangedEvent(new PropertyChangeEvent(this, IBasicPropertyConstants.P_TEXT, null, fLabel));
 	}
@@ -2083,17 +2083,17 @@
 			label = ((IMemoryBlockExtension)getMemoryBlock()).getExpression();
 			if (label == null)
 			{
-				label = DebugUIMessages.AbstractTableRendering_8; 
+				label = DebugUIMessages.AbstractTableRendering_8;
 			}
-			
+
 			if (label.startsWith("&")) //$NON-NLS-1$
 			 {
 				label = "&" + label; //$NON-NLS-1$
 			}
-			
+
 			try {
 				if (showAddress && ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress() != null)
-				{	
+				{
 					label += " : 0x"; //$NON-NLS-1$
 					label += ((IMemoryBlockExtension)getMemoryBlock()).getBigBaseAddress().toString(16).toUpperCase();
 				}
@@ -2106,39 +2106,39 @@
 			long address = getMemoryBlock().getStartAddress();
 			label = Long.toHexString(address).toUpperCase();
 		}
-		
+
 		String preName = DebugUITools.getMemoryRenderingManager().getRenderingType(getRenderingId()).getLabel();
-		
+
 		if (preName != null)
 		 {
 			label += " <" + preName + ">"; //$NON-NLS-1$ //$NON-NLS-2$
 		}
-		
+
 		return decorateLabel(label);
 	}
-	
+
 	private void setColumnHeadings()
 	{
 		String[] columnLabels = new String[0];
-		
+
 		IMemoryBlockTablePresentation presentation = getTablePresentationAdapter();
 		if (presentation != null)
 		{
 			columnLabels = presentation.getColumnLabels(getMemoryBlock(), fBytePerLine, getNumCol());
 		}
-		
+
 		// check that column labels returned are not null
 		if (columnLabels == null) {
 			columnLabels = new String[0];
 		}
-		
+
 		int numByteColumns = fBytePerLine/fColumnSize;
-		
+
 		TableColumn[] columns = fTableViewer.getTable().getColumns();
-		
+
 		int j=0;
 		for (int i=1; i<columns.length-1; i++)
-		{	
+		{
 			// if the number of column labels returned is correct
 			// use supplied column labels
 			if (columnLabels.length == numByteColumns)
@@ -2151,7 +2151,7 @@
 				// otherwise, use default
 				if (fColumnSize >= 4)
 				{
-					columns[i].setText(Integer.toHexString(j*fColumnSize).toUpperCase() + 
+					columns[i].setText(Integer.toHexString(j*fColumnSize).toUpperCase() +
 							" - " + Integer.toHexString(j*fColumnSize+fColumnSize-1).toUpperCase()); //$NON-NLS-1$
 				}
 				else
@@ -2162,26 +2162,26 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Refresh the table viewer with the current top visible address.
 	 * Update labels in the memory rendering.
 	 */
 	@Override
 	public void refresh()
-	{	
+	{
 		// refresh at start address of this memory block
 		// address may change if expression is evaluated to a different value
 		IMemoryBlock mem = getMemoryBlock();
 		BigInteger address;
-		
+
 		if (mem instanceof IMemoryBlockExtension)
 		{
 			try {
 				address = ((IMemoryBlockExtension)mem).getBigBaseAddress();
 				if (address == null)
-				{	
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_10, null)); 
+				{
+					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_10, null));
 					displayError(e);
 					return;
 				}
@@ -2192,18 +2192,18 @@
 					// get to new address
 					setSelectedAddress(address);
 					updateSyncSelectedAddress();
-					
+
 					reloadTable(address, true);
-					
+
 					if (!isDynamicLoad())
 					{
 						updateSyncPageStartAddress();
 						setTopIndex(fTableViewer.getTable(), 0);
 					}
-					
+
 					fTopRowAddress = getTopVisibleAddress();
 					updateSyncTopAddress();
-					
+
 					fContentInput.updateContentBaseAddress();
 				}
 				else
@@ -2219,7 +2219,7 @@
 			} catch (DebugException e) {
 				displayError(e);
 				return;
-			}				
+			}
 		}
 		else
 		{
@@ -2227,39 +2227,39 @@
 			reloadTable(address, true);
 		}
 	}
-	
+
 	synchronized private void reloadTable(BigInteger topAddress, boolean updateDelta){
-		
+
 		if (fTableViewer == null) {
 			return;
 		}
-		
+
 		try
 		{
-			Table table = (Table)fTableViewer.getControl();	
-			
+			Table table = (Table)fTableViewer.getControl();
+
 			TableRenderingContentInput input;
 			if (isDynamicLoad()) {
 				input = new TableRenderingContentInput(this, fPreBuffer, fPostBuffer, topAddress, getNumberOfVisibleLines(), updateDelta, null);
 			} else {
 				input = new TableRenderingContentInput(this, fContentInput.getPreBuffer(), fContentInput.getPostBuffer(), topAddress, fPageSize, updateDelta, null);
 			}
-			
+
 			fContentInput = input;
 			fTableViewer.setInput(fContentInput);
-	
+
 			if (isDynamicLoad())
 			{
 				if (getMemoryBlock() instanceof IMemoryBlockExtension)
 				{
 					int topIdx = findAddressIndex(topAddress);
-					
+
 					if (topIdx != -1)
 					{
 						setTopIndex(table, topIdx);
 					}
 				}
-				
+
 				// cursor needs to be refreshed after reload
 				if (isAddressVisible(fSelectedAddress)) {
 					setCursorAtAddress(fSelectedAddress);
@@ -2282,9 +2282,9 @@
 		{
 		}
 	}
-	
+
 	private BigInteger getTopVisibleAddress() {
-		
+
 		if (fTableViewer == null) {
 			return BigInteger.valueOf(0);
 		}
@@ -2294,10 +2294,10 @@
 
 		if (topIndex < 1) { topIndex = 0; }
 
-		if (table.getItemCount() > topIndex) 
+		if (table.getItemCount() > topIndex)
 		{
 			TableRenderingLine topItem = (TableRenderingLine)table.getItem(topIndex).getData();
-			
+
 			String calculatedAddress = null;
 			if (topItem == null)
 			{
@@ -2305,44 +2305,44 @@
 			}
 			else
 			{
-				calculatedAddress = topItem.getAddress();				
+				calculatedAddress = topItem.getAddress();
 			}
-			
+
 			BigInteger bigInt = new BigInteger(calculatedAddress, 16);
 			return bigInt;
 		}
 		return BigInteger.valueOf(0);
 	}
-	
+
 	private int findAddressIndex(BigInteger address)
 	{
 		TableItem items[] = fTableViewer.getTable().getItems();
-	
+
 		for (int i=0; i<items.length; i++){
-			
+
 			// Again, when the table resizes, the table may have a null item
 			// at then end.  This is to handle that.
 			if (items[i] != null)
-			{	
+			{
 				TableRenderingLine line = (TableRenderingLine)items[i].getData();
 				BigInteger lineAddress = new BigInteger(line.getAddress(), 16);
 				int addressableUnit = getAddressableUnitPerLine();
 				BigInteger endLineAddress = lineAddress.add(BigInteger.valueOf(addressableUnit));
-				
+
 				if (lineAddress.compareTo(address) <= 0 && endLineAddress.compareTo(address) > 0)
-				{	
+				{
 					return i;
 				}
 			}
 		}
-		
+
 		return -1;
 	}
-	
+
 	private static int getTopVisibleIndex(Table table)
 	{
 		int index = table.getTopIndex();
-		
+
 		TableItem item;
 		try {
 			item = table.getItem(index);
@@ -2350,7 +2350,7 @@
 			return 0;
 		}
 		int cnt = table.getItemCount();
-		
+
 		while (item.getBounds(0).y < 0)
 		{
 			index++;
@@ -2361,120 +2361,120 @@
 			}
 			item = table.getItem(index);
 		}
-		
+
 		return index;
 	}
-	
+
 	/**
 	 * Returns this rendering's table viewer.
-	 * 
+	 *
 	 * @return the {@link TableViewer}
 	 */
 	public TableViewer getTableViewer()
 	{
 		return fTableViewer;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#dispose()
 	 */
 	@Override
 	public void dispose() {
-		try {	
+		try {
 			// prevent rendering from being disposed again
 			if (fIsDisposed) {
 				return;
 			}
-			
+
 			fIsDisposed = true;
-			
+
 			if (fContentProvider != null) {
 				fContentProvider.dispose();
 			}
-			
+
 			ScrollBar scroll = ((Table)fTableViewer.getControl()).getVerticalBar();
 			if (scroll != null && !scroll.isDisposed()) {
 				scroll.removeSelectionListener(fScrollbarSelectionListener);
 			}
-			
+
 			if (!fTableCursor.isDisposed())
 			{
 				fTableCursor.removeTraverseListener(fCursorTraverseListener);
 				fTableCursor.removeKeyListener(fCursorKeyAdapter);
 				fTableCursor.removeMouseListener(fCursorMouseListener);
 			}
-			
+
 			fCursorEditor.dispose();
-			
+
 			fTextViewer = null;
 			fTableViewer = null;
 			fTableCursor = null;
-			
+
 			// clean up cell editors
 			for (int i=0; i<fEditors.length; i++)
 			{
 				fEditors[i].dispose();
 			}
-			
+
 			// remove font change listener when the view tab is disposed
 			JFaceResources.getFontRegistry().removeListener(this);
-			
+
 			// remove the view tab from the synchronizer
 			IMemoryRenderingSynchronizationService syncService = getMemoryRenderingContainer().getMemoryRenderingSite().getSynchronizationService();
 			if (syncService != null) {
 				syncService.removePropertyChangeListener(this);
 			}
-			
+
 			DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-			
+
 			fToolTipShell.dispose();
-			
+
 			if (getPopupMenuManager() != null)
 			{
 				getPopupMenuManager().removeMenuListener(fMenuListener);
 			}
-			
+
 			super.dispose();
 
 		} catch (Exception e) {}
 	}
-	
+
 	private int getNumCol() {
-		
+
 		int bytesPerLine = getBytesPerLine();
 		int columnSize = getBytesPerColumn();
-		
+
 		return bytesPerLine/columnSize;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.IMemoryViewTab#setFont(org.eclipse.swt.graphics.Font)
 	 */
 	private void setFont(Font font)
-	{	
+	{
 		int oldIdx = getTopVisibleIndex(fTableViewer.getTable());
-		
+
 		// BUG in table, if font is changed when table is not starting
 		// from the top, causes table grid-line to be misaligned.
 		setTopIndex(fTableViewer.getTable(),  0);
-		
+
 		// set font
 		fTableViewer.getTable().setFont(font);
 		fTableCursor.setFont(font);
-		
+
 		setTopIndex(fTableViewer.getTable(),  oldIdx);
-		
+
 		resizeColumnsToPreferredSize();
-		
+
 		// update table cursor and force redraw
 		setCursorAtAddress(fSelectedAddress);
 	}
-	
-	
+
+
 	/**
 	 * Moves the cursor to the specified address.
 	 * Will load more memory if the address is not currently visible.
-	 * 
+	 *
 	 * @param address address to position cursor at
 	 * @throws DebugException if an exception occurs
 	 */
@@ -2482,21 +2482,21 @@
 	public void goToAddress(BigInteger address) throws DebugException {
 		Object evtLockClient = new Object();
 		try
-		{	
+		{
 			if (!fEvtHandleLock.acquireLock(evtLockClient)) {
 				return;
 			}
 
-			// if address is within the range, highlight			
+			// if address is within the range, highlight
 			if (!isAddressOutOfRange(address))
 			{
 				setSelectedAddress(address);
 				updateSyncSelectedAddress();
 				setCursorAtAddress(fSelectedAddress);
-				
+
 				// force the cursor to be shown
 				if (!isAddressVisible(fSelectedAddress))
-				{	
+				{
 					int i = findAddressIndex(fSelectedAddress);
 					fTableViewer.getTable().showItem(fTableViewer.getTable().getItem(i));
 				}
@@ -2509,7 +2509,7 @@
 				{
 					Status stat = new Status(
 					 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-					 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null  
+					 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null
 					);
 					DebugException e = new DebugException(stat);
 					throw e;
@@ -2517,32 +2517,32 @@
 
 				BigInteger startAdd = fContentInput.getStartAddress();
 				BigInteger endAdd = fContentInput.getEndAddress();
-				
+
 				if (address.compareTo(startAdd) < 0 ||
 					address.compareTo(endAdd) > 0)
 				{
 					Status stat = new Status(
 					 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-					 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null  
+					 DebugException.NOT_SUPPORTED, DebugUIMessages.AbstractTableRendering_11, null
 					);
 					DebugException e = new DebugException(stat);
 					throw e;
 				}
-				
+
 				setSelectedAddress(address);
 				updateSyncSelectedAddress();
-				
+
 				reloadTable(address, false);
-				
+
 				if (!isDynamicLoad())
-				{						
+				{
 					updateSyncPageStartAddress();
 				}
-				
+
 				// if the table is reloaded, the top address is changed in this case
 				fTopRowAddress = address;
 				updateSyncTopAddress();
-				
+
 				// set the cursor at the selected address after reload
 				setCursorAtAddress(address);
 			}
@@ -2557,7 +2557,7 @@
 			fEvtHandleLock.releaseLock(evtLockClient);
 		}
 	}
-	
+
 	/**
 	 * Check if address provided is out of buffered range
 	 * @param address the address
@@ -2567,7 +2567,7 @@
 	{
 		return fContentProvider.isAddressOutOfRange(address);
 	}
-	
+
 	/**
 	 * Check if address is visible
 	 * @param address the address
@@ -2575,23 +2575,23 @@
 	 */
 	private boolean isAddressVisible(BigInteger address)
 	{
-		// if view tab is not yet created 
+		// if view tab is not yet created
 		// cursor should always be visible
 		if (!fIsCreated) {
 			return true;
 		}
-		
+
 		BigInteger topVisible = getTopVisibleAddress();
 		int addressableUnit = getAddressableUnitPerLine();
 		BigInteger lastVisible = getTopVisibleAddress().add(BigInteger.valueOf((getNumberOfVisibleLines() * addressableUnit) + addressableUnit));
-		
+
 		if (topVisible.compareTo(address) <= 0 && lastVisible.compareTo(address) > 0)
 		{
 			return true;
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Create actions for this rendering
 	 */
@@ -2600,21 +2600,21 @@
 		fGoToAddressAction = new GoToAddressAction(getMemoryRenderingContainer(), this);
 		fResetMemoryBlockAction = new ResetToBaseAddressAction(this);
 		fPrintViewTabAction = new PrintTableRenderingAction(this, fTableViewer);
-		
-		fFormatRenderingAction = new FormatTableRenderingAction(this);		
+
+		fFormatRenderingAction = new FormatTableRenderingAction(this);
 		fReformatAction = new ReformatAction(this);
 		fToggleAddressColumnAction = new ToggleAddressColumnAction();
-		
+
 		IMemoryRenderingSite site = getMemoryRenderingContainer().getMemoryRenderingSite();
 		if (site.getSite().getSelectionProvider() != null)
 		{
-			fPropertiesAction = new PropertyDialogAction(site.getSite(),site.getSite().getSelectionProvider()); 
+			fPropertiesAction = new PropertyDialogAction(site.getSite(),site.getSite().getSelectionProvider());
 		}
-		
+
 		fNextAction = new NextPageAction();
 		fPrevAction = new PrevPageAction();
 	}
-	
+
 	/**
 	 * Handle scrolling and reload table if necessary
 	 */
@@ -2622,23 +2622,23 @@
 	{
 		Object evtLockClient = new Object();
 		try
-		{			
+		{
 			if (fIsDisposed) {
 				return;
 			}
-			
+
 			BigInteger address = getTopVisibleAddress();
-	
+
 			if (!fTopRowAddress.equals(address))
 			{
 				fTopRowAddress = address;
 				updateSyncTopAddress();
 			}
-			
+
 			if (!fEvtHandleLock.acquireLock(evtLockClient)) {
 				return;
 			}
-			
+
 			if (getMemoryBlock() instanceof IMemoryBlockExtension)
 			{
 
@@ -2669,12 +2669,12 @@
 						}
 					}
 					else
-					{	
+					{
 						// approaching limit, reload table
 						reloadTable(address, false);
 					}
 				}
-				
+
 				if (isAddressVisible(fSelectedAddress)) {
 					fTableCursor.setVisible(true);
 				} else {
@@ -2687,53 +2687,53 @@
 			fEvtHandleLock.releaseLock(evtLockClient);
 		}
 	}
-	
-	
+
+
 	private boolean isAtTopLimit()
-	{	
+	{
 		BigInteger startAddress = fContentInput.getStartAddress();
 		startAddress = MemoryViewUtil.alignToBoundary(startAddress, getAddressableUnitPerLine() );
-		
+
 		BigInteger startBufferAddress = fContentProvider.getBufferTopAddress();
 		startBufferAddress = MemoryViewUtil.alignToBoundary(startBufferAddress, getAddressableUnitPerLine());
-		
+
 		if (startAddress.compareTo(startBufferAddress) == 0) {
 			return true;
 		}
-		
+
 		return false;
 	}
-	
+
 	private boolean isAtBottomLimit()
 	{
 		BigInteger endAddress = fContentInput.getEndAddress();
 		endAddress = MemoryViewUtil.alignToBoundary(endAddress, getAddressableUnitPerLine());
-		
+
 		BigInteger endBufferAddress = fContentProvider.getBufferEndAddress();
 		endBufferAddress = MemoryViewUtil.alignToBoundary(endBufferAddress, getAddressableUnitPerLine());
-		
+
 		if (endAddress.compareTo(endBufferAddress) == 0) {
 			return true;
 		}
-		
-		return false;		
+
+		return false;
 	}
-	
+
 	private boolean needMoreLines()
 	{
 		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{		
+		{
 			Table table = fTableViewer.getTable();
 			TableItem firstItem = table.getItem(0);
 			TableItem lastItem = table.getItem(table.getItemCount()-1);
-			
+
 			if (firstItem == null || lastItem == null) {
 				return true;
 			}
-			
+
 			TableRenderingLine first = (TableRenderingLine)firstItem.getData();
 			TableRenderingLine last = (TableRenderingLine) lastItem.getData();
-			
+
 			if (first == null ||last == null)
 			{
 				// For some reason, the table does not return the correct number
@@ -2741,18 +2741,18 @@
 				// This check is to ensure that we don't get a null pointer exception.
 				return true;
 			}
-			
+
 			BigInteger startAddress = new BigInteger(first.getAddress(), 16);
 			BigInteger lastAddress = new BigInteger(last.getAddress(), 16);
 			int addressableUnit = getAddressableUnitPerLine();
 			lastAddress = lastAddress.add(BigInteger.valueOf(addressableUnit));
-			
+
 			BigInteger topVisibleAddress = getTopVisibleAddress();
 			long numVisibleLines = getNumberOfVisibleLines();
 			long numOfBytes = numVisibleLines * addressableUnit;
-			
+
 			BigInteger lastVisibleAddrss = topVisibleAddress.add(BigInteger.valueOf(numOfBytes));
-			
+
 			// if there are only 3 lines left at the top, refresh
 			BigInteger numTopLine = topVisibleAddress.subtract(startAddress).divide(BigInteger.valueOf(addressableUnit));
 			if (numTopLine.compareTo(BigInteger.valueOf(getBufferThreshold(BUFFER_START))) <= 0 && (startAddress.compareTo(BigInteger.valueOf(0)) != 0))
@@ -2761,7 +2761,7 @@
 					return true;
 				}
 			}
-			
+
 			// if there are only 3 lines left at the bottom, refresh
 			BigInteger numBottomLine = lastAddress.subtract(lastVisibleAddrss).divide(BigInteger.valueOf(addressableUnit));
 			if (numBottomLine.compareTo(BigInteger.valueOf(getBufferThreshold(BUFFER_END))) <= 0)
@@ -2770,10 +2770,10 @@
 					return true;
 				}
 			}
-			
+
 			return false;
 		}
-		
+
 		return false;
 	}
 
@@ -2783,7 +2783,7 @@
 		TableItem selectedRow = null;
 		int colNum = -1;
 		int numCol = fTableViewer.getColumnProperties().length;
-		
+
 		for (int j=0; j<tableItems.length; j++)
 		{
 			TableItem item = tableItems[j];
@@ -2798,12 +2798,12 @@
 				}
 			}
 		}
-		
+
 		// if column position cannot be determined, return
 		if (colNum < 1) {
 			return;
 		}
-		
+
 		// handle user mouse click onto table
 		// move cursor to new position
 		if (selectedRow != null)
@@ -2811,15 +2811,15 @@
 			int row = fTableViewer.getTable().indexOf(selectedRow);
 			fTableCursor.setVisible(true);
 			fTableCursor.setSelection(row, colNum);
-			
+
 			// manually call this since we don't get an event when
 			// the table cursor changes selection.
 			handleCursorMoved();
-			
+
 			fTableCursor.setFocus();
-		}			
+		}
 	}
-	
+
 	/**
 	 * Handle column size changed event from synchronizer
 	 * @param newColumnSize the new column size
@@ -2837,7 +2837,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * @param newRowSize - new row size in number of bytes
 	 */
@@ -2847,7 +2847,7 @@
 		if (!isVisible()) {
 			return;
 		}
-		
+
 		int bytesPerLine = newRowSize;
 		int col = getBytesPerColumn();
 		if (bytesPerLine < getBytesPerColumn()) {
@@ -2861,9 +2861,9 @@
 			public void run() {
 				format(rowSize, columnSize);
 			}
-		});		
+		});
 	}
-	
+
 	private void handleCursorMouseEvent(MouseEvent e){
 		if (e.button == 1)
 		{
@@ -2871,19 +2871,19 @@
 			if (col > 0 && col <= (getNumCol())) {
 				activateCellEditor(null);
 			}
-		}			
+		}
 	}
-	
+
 	/**
 	 * Activate cell editor and pre-fill it with initial value.
 	 * If initialValue is null, use cell content as initial value
-	 * @param initialValue the initial value to edit 
+	 * @param initialValue the initial value to edit
 	 */
 	private void activateCellEditor(String initialValue) {
-		
+
 		int col = fTableCursor.getColumn();
 		int row = findAddressIndex(fSelectedAddress);
-		
+
 		if (row < 0) {
 			return;
 		}
@@ -2892,22 +2892,22 @@
 		{
 			return;
 		}
-		
+
 		ICellModifier cellModifier = null;
-		
+
 		if (fTableViewer == null)
 		{
 			return;
 		}
 		cellModifier = fTableViewer.getCellModifier();
-		
+
 		TableItem tableItem = fTableViewer.getTable().getItem(row);
-		
+
 		Object element = tableItem.getData();
 		Object property = fTableViewer.getColumnProperties()[col];
 		Object value = cellModifier.getValue(element, (String)property);
-		
-		// The cell modifier canModify function always returns false if the edit action 
+
+		// The cell modifier canModify function always returns false if the edit action
 		// is not invoked from here.  This is to prevent data to be modified when
 		// the table cursor loses focus from a cell.  By default, data will
 		// be changed in a table when the cell loses focus.  This is to workaround
@@ -2916,57 +2916,57 @@
 		((TableRenderingCellModifier)cellModifier).setEditActionInvoked(true);
 		boolean canEdit = cellModifier.canModify(element, (String)property);
 		((TableRenderingCellModifier)cellModifier).setEditActionInvoked(false);
-		
+
 		if (!canEdit) {
 			return;
 		}
-		
+
 		// activate based on current cursor position
 		TextCellEditor selectedEditor = (TextCellEditor)fTableViewer.getCellEditors()[col];
 
-		
+
 		if (fTableViewer != null && selectedEditor != null)
 		{
 			// The control that will be the editor must be a child of the Table
 			Text text = (Text)selectedEditor.getControl();
-			
+
 			String cellValue  = null;
-			
+
 			if (initialValue != null)
 			{
-				cellValue = initialValue;	
+				cellValue = initialValue;
 			}
-			else	
+			else
 			{
 				cellValue = ((String)value);
 			}
-			
+
 			text.setText(cellValue);
-	
+
 			fCursorEditor.horizontalAlignment = SWT.LEFT;
 			fCursorEditor.grabHorizontal = true;
-	
+
 			// Open the text editor in selected column of the selected row.
 			fCursorEditor.setEditor (text, tableItem, col);
-	
+
 			// Assign focus to the text control
 			selectedEditor.setFocus();
-			
+
 			if (initialValue != null)
 			{
 				text.clearSelection();
 			}
-			
+
 			text.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
 
 			// add listeners for the text control
 			addListeners(text);
-			
+
 			// move cursor below text control
 			fTableCursor.moveBelow(text);
 		}
 	}
-	
+
 	/**
 	 * @param text the {@link Text} widget to add the listeners to
 	 */
@@ -2979,7 +2979,7 @@
 			}
 		};
 		text.addFocusListener(fEditorFocusListener);
-		
+
 		fEditorKeyListener = new KeyAdapter() {
 			@Override
 			public void keyPressed(KeyEvent e) {
@@ -2989,16 +2989,16 @@
 
 		text.addKeyListener(fEditorKeyListener);
 	}
-	
+
 	/**
 	 * @param text the {@link Text} widget to remove the listeners from
 	 */
 	private void removeListeners(Text text) {
-		
+
 		text.removeFocusListener(fEditorFocusListener);
 		text.removeKeyListener(fEditorKeyListener);
 	}
-	
+
 	private void handleTableEditorFocusLost(FocusEvent event)
 	{
 		final FocusEvent e = event;
@@ -3012,16 +3012,16 @@
 				{
 					int row = findAddressIndex(fSelectedAddress);
 					int col = fTableCursor.getColumn();
-					
+
 					Text text = (Text)e.getSource();
 					removeListeners(text);
 
 					// get new value
 					String newValue = text.getText();
-					
+
 					// modify memory at fRow and fCol
 					modifyValue(row, col, newValue);
-							
+
 					// show cursor after modification is completed
 					setCursorAtAddress(fSelectedAddress);
 					fTableCursor.moveAbove(text);
@@ -3030,13 +3030,13 @@
 				}
 				catch (NumberFormatException e1)
 				{
-					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
+					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title,
 						DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-				}		
+				}
 			}
-		});		
+		});
 	}
-	
+
 	/**
 	 * @param event the {@link KeyEvent}
 	 */
@@ -3050,54 +3050,54 @@
 				Text text = (Text)e.getSource();
 				int row = findAddressIndex(fSelectedAddress);
 				int col = fTableCursor.getColumn();
-				
+
 				try
 				{
 					switch (e.keyCode)
 					{
 						case SWT.ARROW_UP :
-							
-							// move text editor box up one row		
+
+							// move text editor box up one row
 							if (row-1 < 0) {
 								return;
 							}
-						
+
 							// modify value for current cell
 							modifyValue(row, col, text.getText());
-													
+
 							row--;
 
-							//	update cursor location and selection in table	
+							//	update cursor location and selection in table
 							fTableCursor.setSelection(row, col);
 							handleCursorMoved();
-							
+
 							// remove listeners when focus is lost
 							removeListeners(text);
 							activateCellEditor(null);
 							break;
 						case SWT.ARROW_DOWN :
-							
+
 							// move text editor box down one row
-							
+
 							if (row+1 >= fTableViewer.getTable().getItemCount()) {
 								return;
 							}
-							
+
 							// modify value for current cell
 							modifyValue(row, col, text.getText());
-						
+
 							row++;
-							
-							//	update cursor location and selection in table								
+
+							//	update cursor location and selection in table
 							fTableCursor.setSelection(row, col);
 							handleCursorMoved();
-												
+
 							// remove traverse listener when focus is lost
 							removeListeners(text);
-							activateCellEditor(null);		
+							activateCellEditor(null);
 							break;
 						case 0:
-							
+
 						// if user has entered the max number of characters allowed in a cell, move to next cell
 						// Extra changes will be used as initial value for the next cell
 							int numCharsPerByte = getNumCharsPerByte();
@@ -3107,9 +3107,9 @@
 								{
 									String newValue = text.getText();
 									text.setText(newValue.substring(0, getBytesPerColumn()*numCharsPerByte));
-									
+
 									modifyValue(row, col, text.getText());
-									
+
 									// if cursor is at the end of a line, move to next line
 									if (col >= getNumCol())
 									{
@@ -3121,34 +3121,34 @@
 										// move to next column
 										row++;
 									}
-									
+
 									// update cursor position and selected address
 									fTableCursor.setSelection(row, col);
 									handleCursorMoved();
-									
+
 									removeListeners(text);
-						
+
 									// activate text editor at next cell
 									activateCellEditor(newValue.substring(getBytesPerColumn()*numCharsPerByte));
 								}
 							}
-							break;	
+							break;
 						case SWT.ESC:
 
 							// if user has pressed escape, do not commit the changes
 							// that's why "modifyValue" is not called
 							fTableCursor.setSelection(row, col);
 							handleCursorMoved();
-					
+
 							removeListeners(text);
-							
+
 							// cursor needs to have focus to remove focus from cell editor
 							fTableCursor.setFocus();
-							break;	
+							break;
 						default :
 							numCharsPerByte = getNumCharsPerByte();
 							if (numCharsPerByte > 0)
-							{								
+							{
 								if (text.getText().length()> getBytesPerColumn()* numCharsPerByte)
 								{
 									String newValue = text.getText();
@@ -3164,12 +3164,12 @@
 									{
 										col++;
 									}
-									
+
 									fTableCursor.setSelection(row, col);
 									handleCursorMoved();
-									
+
 									removeListeners(text);
-									
+
 									activateCellEditor(newValue.substring(getBytesPerColumn()*numCharsPerByte));
 								}
 							}
@@ -3178,19 +3178,19 @@
 				}
 				catch (NumberFormatException e1)
 				{
-					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, 
+					MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title,
 						DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null);
-					
+
 					fTableCursor.setSelection(row, col);
 					handleCursorMoved();
-			
+
 					removeListeners(text);
 				}
 			}
 		});
 	}
 
-	
+
 	/**
 	 * Modify value and send new value to debug adapter
 	 * @param row the row
@@ -3201,23 +3201,23 @@
 	private void modifyValue(int row, int col, String newValue) throws NumberFormatException
 	{
 		if (newValue.length() == 0)
-		{	
+		{
 			// do not do anything if user has not entered anything
 			return;
 		}
-		
+
 		TableItem tableItem = fTableViewer.getTable().getItem(row);
 
 		Object property = fTableViewer.getColumnProperties()[col];
 		fTableViewer.getCellModifier().modify(tableItem, (String)property, newValue);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesHidden()
 	 */
 	@Override
 	public void becomesHidden() {
-		
+
 		if (isVisible() == false)
 		{
 			// super should always be called
@@ -3226,25 +3226,25 @@
 		}
 
 		super.becomesHidden();
-		
+
 		if (getMemoryBlock() instanceof IMemoryBlockExtension)
-		{	
+		{
 			updateRenderingLabel(false);
 		}
-			
+
 		// once the view tab is disabled, all deltas information becomes invalid.
 		// reset changed information and recompute if data has really changed when
-		// user revisits the same tab.	
+		// user revisits the same tab.
 		fContentProvider.resetDeltas();
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IMemoryRendering#becomesVisible()
 	 */
 	@Override
 	public void becomesVisible() {
-		
+
 		// do not do anything if already visible
 		if (isVisible() == true)
 		{
@@ -3252,9 +3252,9 @@
 			super.becomesVisible();
 			return;
 		}
-		
+
 		super.becomesVisible();
-		
+
 		boolean value = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM);
 		if (value != isDynamicLoad()) {
 			// this call will cause a reload
@@ -3262,17 +3262,17 @@
 		} else {
 			refresh();
 		}
-		
+
 		synchronize();
 		updateRenderingLabel(true);
 	}
-	
+
 	/**
 	 * Resets this memory rendering.
 	 * The cursor will be moved to the base address of the memory block.
 	 * The table will be positioned to have the base address
 	 * at the top.
-	 * 
+	 *
 	 * @deprecated use <code>resetRendering</code> to reset this rendering.
 	 */
 	@Deprecated
@@ -3284,9 +3284,9 @@
 			MemoryViewUtil.openError(DebugUIMessages.AbstractTableRendering_12, DebugUIMessages.AbstractTableRendering_13, e); //
 		}
 	}
-	
+
 	/**
-	 * Reset this rendering to the base address.  
+	 * Reset this rendering to the base address.
 	 * The cursor will be moved to the base address of the memory block.
 	 * The table will be positioned to have the base address
 	 * at the top.
@@ -3308,10 +3308,10 @@
 		goToAddress(baseAddress);
 		topVisibleAddressChanged(baseAddress, true);
 	}
-	
+
 	/**
 	 * Returns the currently selected address in this rendering.
-	 * 
+	 *
 	 * @return the currently selected address in this rendering
 	 */
 	@Override
@@ -3321,7 +3321,7 @@
 
 	/**
 	 * Returns the currently selected content in this rendering as a String.
-	 * 
+	 *
 	 * @return the currently selected content in this rendering
 	 */
 	@Override
@@ -3330,31 +3330,31 @@
 		if (isAddressOutOfRange(fSelectedAddress)) {
 			return IInternalDebugCoreConstants.EMPTY_STRING;
 		}
-		
+
 		int col = fTableCursor.getColumn();
 		TableItem rowItem = fTableCursor.getRow();
 		int row = fTableViewer.getTable().indexOf(rowItem);
-		
+
 		if (col == 0)
 		{
 			return rowItem.getText(0);
 		}
-		
+
 		// check precondition
 		if (col > getBytesPerLine()/getBytesPerColumn())
 		{
 			return IInternalDebugCoreConstants.EMPTY_STRING;
 		}
-				
+
 		TableItem tableItem = getTableViewer().getTable().getItem(row);
-		
-		return tableItem.getText(col);	
+
+		return tableItem.getText(col);
 	}
-	
+
 	/**
 	 * Returns the currently selected content in this rendering as MemoryByte.
-	 * 
-	 * @return the currently selected content in array of MemoryByte.  
+	 *
+	 * @return the currently selected content in array of MemoryByte.
 	 * Returns an empty array if the selected address is out of buffered range.
 	 */
 	@Override
@@ -3363,39 +3363,39 @@
 		if (isAddressOutOfRange(fSelectedAddress)) {
 			return new MemoryByte[0];
 		}
-		
+
 		int col = fTableCursor.getColumn();
 		TableItem rowItem = fTableCursor.getRow();
-		
+
 		// check precondition
 		if (col == 0 || col > getBytesPerLine()/getBytesPerColumn())
 		{
 			return new MemoryByte[0];
 		}
-		
+
 		Object data = rowItem.getData();
 		if (data == null || !(data instanceof TableRenderingLine)) {
 			return new MemoryByte[0];
 		}
-		
+
 		TableRenderingLine line = (TableRenderingLine)data;
 		int offset = (col-1)*(getAddressableUnitPerColumn()*getAddressableSize());
 		int end = offset + (getAddressableUnitPerColumn()*getAddressableSize());
-		
+
 		// make a copy of the bytes to ensure that data cannot be changed
 		// by caller
 		MemoryByte[] bytes = line.getBytes(offset, end);
 		MemoryByte[] retBytes = new MemoryByte[bytes.length];
-		
+
 		System.arraycopy(bytes, 0, retBytes, 0, bytes.length);
-		
+
 		return retBytes;
 	}
-	
+
 	/**
 	 * Returns the number of characters a byte will convert to
 	 * or -1 if unknown.
-	 * 
+	 *
 	 * @return the number of characters a byte will convert to
 	 *  or -1 if unknown
 	 */
@@ -3404,9 +3404,9 @@
 	{
 		return -1;
 	}
-	
+
 	private int getMinTableItemHeight(Table table){
-		
+
 		// Hack to get around Linux GTK problem.
 		// On Linux GTK, table items have variable item height as
 		// carriage returns are actually shown in a cell.  Some rows will be
@@ -3423,36 +3423,36 @@
 			{
 				minHeight = Math.min(items[i].getBounds(0).height, minHeight);
 			}
-			
+
 			return minHeight;
-				
+
 		}
 		return table.getItemHeight();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public <T> T getAdapter(Class<T> adapter) {
-		
+
 		if (adapter == IColorProvider.class) {
 			return (T) getColorProviderAdapter();
 		}
-		
+
 		if (adapter == ILabelProvider.class) {
 			return (T) getLabelProviderAdapter();
 		}
-		
+
 		if (adapter == IFontProvider.class) {
 			return (T) getFontProviderAdapter();
 		}
-		
+
 		if (adapter == IMemoryBlockTablePresentation.class) {
 			return (T) getTablePresentationAdapter();
 		}
-		
+
 		if (adapter == IWorkbenchAdapter.class)
 		{
 			// needed workbench adapter to fill the title of property page
@@ -3462,17 +3462,17 @@
 					public Object[] getChildren(Object o) {
 						return new Object[0];
 					}
-	
+
 					@Override
 					public ImageDescriptor getImageDescriptor(Object object) {
 						return null;
 					}
-	
+
 					@Override
 					public String getLabel(Object o) {
 						return AbstractTableRendering.this.getLabel();
 					}
-	
+
 					@Override
 					public Object getParent(Object o) {
 						return null;
@@ -3481,7 +3481,7 @@
 			}
 			return (T) fWorkbenchAdapter;
 		}
-		
+
 		if (adapter == IMemoryBlockConnection.class) {
 			if (fConnection == null) {
 				fConnection = new IMemoryBlockConnection() {
@@ -3505,21 +3505,21 @@
 							} else {
 								fContentProvider.loadContentForSimpleMemoryBlock();
 							}
-	
+
 							// update UI asynchronously
 							Display display = DebugUIPlugin.getDefault().getWorkbench().getDisplay();
 							display.asyncExec(new Runnable() {
 								@Override
 								public void run() {
 									updateLabels();
-									
+
 									if (getMemoryBlock() instanceof IMemoryBlockExtension) {
 										int topIdx = findAddressIndex(fTopRowAddress);
 										if (topIdx != -1) {
 											setTopIndex(fTableViewer.getTable(),topIdx);
 										}
 									}
-									
+
 									// cursor needs to be refreshed after reload
 									if (isAddressVisible(fSelectedAddress))
 									{
@@ -3531,11 +3531,11 @@
 									{
 										fTableCursor.setVisible(false);
 									}
-									
+
 									if (!isDynamicLoad()) {
 										updateSyncPageStartAddress();
 									}
-									
+
 									updateSyncTopAddress();
 								}
 							});
@@ -3546,11 +3546,11 @@
 				};
 			}
 			return (T) fConnection;
-		}	
-		
+		}
+
 		return super.getAdapter(adapter);
 	}
-	
+
 	private boolean hasCustomizedDecorations()
 	{
 		if (getFontProviderAdapter() == null &&
@@ -3560,7 +3560,7 @@
 		}
 		return true;
 	}
-	
+
 	private boolean isBaseAddressChanged()
 	{
 		try {
@@ -3580,7 +3580,7 @@
 		}
 		return false;
 	}
-	
+
 	/**
 	 * Returns the color provider for this rendering's memory block or
 	 * <code>null</code> if none.
@@ -3588,7 +3588,7 @@
 	 * By default a color provider is obtained by asking this rendering's
 	 * memory block for its {@link IColorProvider} adapter. When the color
 	 * provider is queried for color information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
+	 * {@link MemoryRenderingElement} as an argument.
 	 * </p>
 	 * @return the color provider for this rendering's memory block,
 	 *  or <code>null</code>
@@ -3597,7 +3597,7 @@
 	{
 		return getMemoryBlock().getAdapter(IColorProvider.class);
 	}
-	
+
 	/**
 	 * Returns the label provider for this rendering's memory block or
 	 * <code>null</code> if none.
@@ -3605,7 +3605,7 @@
 	 * By default a label provider is obtained by asking this rendering's
 	 * memory block for its {@link ILabelProvider} adapter. When the label
 	 * provider is queried for label information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
+	 * {@link MemoryRenderingElement} as an argument.
 	 * </p>
 	 * @return the label provider for this rendering's memory block,
 	 *  or <code>null</code>
@@ -3614,7 +3614,7 @@
 	{
 		return getMemoryBlock().getAdapter(ILabelProvider.class);
 	}
-	
+
 	/**
 	 * Returns the font provider for this rendering's memory block or
 	 * <code>null</code> if none.
@@ -3622,7 +3622,7 @@
 	 * By default a font provider is obtained by asking this rendering's
 	 * memory block for its {@link IFontProvider} adapter. When the font
 	 * provider is queried for font information, it is provided with a
-	 * {@link MemoryRenderingElement} as an argument. 
+	 * {@link MemoryRenderingElement} as an argument.
 	 * </p>
 	 * @return the font provider for this rendering's memory block,
 	 *  or <code>null</code>
@@ -3631,7 +3631,7 @@
 	{
 		return getMemoryBlock().getAdapter(IFontProvider.class);
 	}
-	
+
 	/**
 	 * Returns the table presentation for this rendering's memory block or
 	 * <code>null</code> if none.
@@ -3646,27 +3646,27 @@
 	{
 		return getMemoryBlock().getAdapter(IMemoryBlockTablePresentation.class);
 	}
-	
+
 	private boolean isDynamicLoad()
 	{
 		return fContentProvider.isDynamicLoad();
 	}
-	
+
 	private int getPageSizeInUnits()
 	{
 		return fPageSize * getAddressableUnitPerLine();
 	}
-	
+
 	private void setSelectedAddress(BigInteger address)
 	{
 		fSelectedAddress = address;
 	}
-		
+
 	/**
 	 * Setup the viewer so it supports hovers to show the offset of each field
 	 */
 	private void createToolTip() {
-		
+
 		fToolTipShell = new Shell(DebugUIPlugin.getShell(), SWT.ON_TOP | SWT.RESIZE );
 		GridLayout gridLayout = new GridLayout();
 		gridLayout.numColumns = 1;
@@ -3674,66 +3674,66 @@
 		gridLayout.marginHeight = 0;
 		fToolTipShell.setLayout(gridLayout);
 		fToolTipShell.setBackground(fTableViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		
+
 		final Control toolTipControl = createToolTipControl(fToolTipShell);
-		
+
 		if (toolTipControl == null)
 		{
 			// if client decide not to use tooltip support
 			fToolTipShell.dispose();
 			return;
 		}
-		
+
 		MouseTrackAdapter listener = new MouseTrackAdapter(){
-			
+
 			private TableItem fTooltipItem = null;
 			private int fCol = -1;
-			
+
 			@Override
 			public void mouseExit(MouseEvent e){
-				
+
 				if (!fToolTipShell.isDisposed()) {
 					fToolTipShell.setVisible(false);
 				}
 				fTooltipItem = null;
 			}
-			
+
 			@Override
 			public void mouseHover(MouseEvent e){
-				
+
 				Point hoverPoint = new Point(e.x, e.y);
 				Control control = null;
-				
+
 				if (e.widget instanceof Control) {
 					control = (Control)e.widget;
 				}
-				
+
 				if (control == null) {
 					return;
 				}
-				
+
 				hoverPoint = control.toDisplay(hoverPoint);
 				TableItem item = getItem(hoverPoint);
 				int column = getColumn(hoverPoint);
-				
+
 				//Only if there is a change in hover
 				if(this.fTooltipItem != item || fCol != column){
-					
+
 					//Keep Track of the latest hover
 					fTooltipItem = item;
 					fCol = column;
-					
+
 					if(item != null){
 						toolTipAboutToShow(toolTipControl, fTooltipItem, column);
-						
+
 						//Setting location of the tooltip
 						Rectangle shellBounds = fToolTipShell.getBounds();
 						shellBounds.x = hoverPoint.x;
 						shellBounds.y = hoverPoint.y + item.getBounds(0).height;
-						
+
 						fToolTipShell.setBounds(shellBounds);
 						fToolTipShell.pack();
-						
+
 						fToolTipShell.setVisible(true);
 					}
 					else {
@@ -3742,11 +3742,11 @@
 				}
 			}
 		};
-		
+
 		fTableViewer.getTable().addMouseTrackListener(listener);
 		fTableCursor.addMouseTrackListener(listener);
 	}
-	
+
 	/**
 	 * Bug with table widget,BUG 113015, the widget is not able to return the correct
 	 * table item if SWT.FULL_SELECTION is not on when the table is created.
@@ -3763,14 +3763,14 @@
 			Point start = new Point(items[i].getBounds(0).x, items[i].getBounds(0).y);
 			start = fTableViewer.getTable().toDisplay(start);
 			Point end = new Point(start.x + items[i].getBounds(0).width, start.y + items[i].getBounds(0).height);
-			
+
 			if (start.y < point.y && point.y < end.y) {
 				return items[i];
 			}
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Method for figuring out which column the point is located.
 	 * @param point the {@link Point} to et the column number for
@@ -3798,7 +3798,7 @@
 	 * a label is used to display the address of the cell. Clients may override this
 	 * method to create custom tooltip controls.
 	 * <p>
-	 * Also see the methods <code>getToolTipText(...)</code> and 
+	 * Also see the methods <code>getToolTipText(...)</code> and
 	 * <code>toolTipAboutToShow(...)</code>.
 	 * </p>
 	 * @param composite parent for the tooltip control
@@ -3813,8 +3813,8 @@
 				GridData.VERTICAL_ALIGN_CENTER));
 		return fToolTipLabel;
 	}
-	
-	
+
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.IResettableMemoryRendering#resetRendering()
 	 */
@@ -3868,13 +3868,13 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * Returns the text to display in a tool tip at the specified address
 	 * for the specified bytes. By default the address of the bytes is displayed.
 	 * Subclasses may override.
-	 * 
-	 * @param address address of cell that tool tip is displayed for 
+	 *
+	 * @param address address of cell that tool tip is displayed for
 	 * @param bytes the bytes in the cell
 	 * @return the tooltip text for the memory bytes located at the specified
 	 *         address
@@ -3884,11 +3884,11 @@
 	{
 		StringBuffer buf = new StringBuffer("0x"); //$NON-NLS-1$
 		buf.append(address.toString(16).toUpperCase());
-		
+
 		return buf.toString();
 	}
-	
-	
+
+
 	private String getRowPrefId(String modelId) {
 		String rowPrefId = IDebugPreferenceConstants.PREF_ROW_SIZE + ":" + modelId; //$NON-NLS-1$
 		return rowPrefId;
@@ -3898,7 +3898,7 @@
 		String colPrefId = IDebugPreferenceConstants.PREF_COLUMN_SIZE + ":" + modelId; //$NON-NLS-1$
 		return colPrefId;
 	}
-	
+
 	/**
 	 * @param modelId the debug model identifier
 	 * @return default number of addressable units per line for the model
@@ -3910,12 +3910,12 @@
 		{
 			DebugUITools.getPreferenceStore().setValue(getRowPrefId(modelId), IDebugPreferenceConstants.PREF_ROW_SIZE_DEFAULT);
 		}
-		
+
 		row = DebugUITools.getPreferenceStore().getInt(getRowPrefId(modelId));
 		return row;
-		
+
 	}
-	
+
 	/**
 	 * @param modelId the debug model identifier
 	 * @return default number of addressable units per column for the model
@@ -3927,11 +3927,11 @@
 		{
 			DebugUITools.getPreferenceStore().setValue(getColumnPrefId(modelId), IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
 		}
-		
+
 		col = DebugUITools.getPreferenceStore().getInt(getColumnPrefId(modelId));
 		return col;
 	}
-	
+
 	private int getBufferThreshold(int startOrEnd)
 	{
 		if (startOrEnd == BUFFER_START)
@@ -3941,20 +3941,20 @@
 			}
 			return BUFFER_THRESHOLD;
 		}
-		
+
 		if (BUFFER_THRESHOLD > fPostBuffer) {
 			return fPostBuffer;
 		}
-		
+
 		return BUFFER_THRESHOLD;
 	}
 
-	
+
 	/**
 	 * Returns text for the given memory bytes at the specified address for the specified
 	 * rendering type. This is called by the label provider for.
 	 * Subclasses must override.
-	 * 
+	 *
 	 * @param renderingTypeId rendering type identifier
 	 * @param address address where the bytes belong to
 	 * @param data the bytes
@@ -3964,7 +3964,7 @@
 	 */
 	@Override
 	abstract public String getString(String renderingTypeId, BigInteger address, MemoryByte[] data);
-	
+
 	/**
 	 * Returns bytes for the given text corresponding to bytes at the given
 	 * address for the specified rendering type. This is called by the cell modifier
@@ -3972,7 +3972,7 @@
 	 * Subclasses must convert the string value to an array of bytes.  The bytes will
 	 * be passed to the debug adapter for memory block modification.
 	 * Returns <code>null</code> if the bytes cannot be formatted properly.
-	 * 
+	 *
 	 * @param renderingTypeId rendering type identifier
 	 * @param address address the bytes begin at
 	 * @param currentValues current values of the data in bytes format
@@ -3983,5 +3983,5 @@
 	abstract public byte[] getBytes(String renderingTypeId, BigInteger address, MemoryByte[] currentValues, String newValue);
 
 
-}	
+}
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java
index fc5758b..13d7aa3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTextRendering.java
@@ -19,7 +19,7 @@
 import org.eclipse.debug.ui.IDebugUIConstants;
 
 /**
- * Abstract implementation of a rendering that translates memory into 
+ * Abstract implementation of a rendering that translates memory into
  * text, displayed in a table.
  * <p>
  * Clients should subclass from this class if they wish to provide a table
@@ -27,24 +27,24 @@
  * </p>
  * @since 3.1
  */
-abstract public class AbstractTextRendering extends AbstractTableRendering { 	
-	
+abstract public class AbstractTextRendering extends AbstractTableRendering {
+
 	private String fCodePage;
 
 	/**
 	 * Constructs a text rendering of the specified type.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 */
 	public AbstractTextRendering(String renderingId)
 	{
 		super(renderingId);
 	}
-	
+
 	/**
 	 * Constructs a text rendering of the specified type on the given
 	 * code page.
-	 * 
+	 *
 	 * @param renderingId memory rendering type identifier
 	 * @param codePage the name of a supported
      *  {@link java.nio.charset.Charset </code>charset<code>}, for
@@ -55,12 +55,12 @@
 		super(renderingId);
 		fCodePage = codePage;
 	}
-	
+
 	/**
 	 * Sets the code page for this rendering.  This does not cause
 	 * the rendering to be updated with the new code page.  Clients need
 	 * to update the rendering manually when the code page is changed.
-	 * 
+	 *
 	 * @param codePage the name of a supported
 	 * {@link java.nio.charset.Charset </code>charset<code>}, for
      *  example <code>CP1252</code>
@@ -69,7 +69,7 @@
 	{
 		fCodePage = codePage;
 	}
-	
+
 	/**
 	 * Returns the current code page used by this rendering.  Returns null
 	 * if not set.
@@ -80,7 +80,7 @@
 	{
 		return fCodePage;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[])
 	 */
@@ -90,7 +90,7 @@
 			String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR);
 			if(fCodePage == null)
 				return IInternalDebugCoreConstants.EMPTY_STRING;
-			
+
 			boolean[] invalid = new boolean[data.length];
 			boolean hasInvalid = false;
 			byte byteArray[] = new byte[data.length];
@@ -103,7 +103,7 @@
 				}
 				byteArray[i] = data[i].getValue();
 			}
-			
+
 			if (hasInvalid)
 			{
 				StringBuffer strBuf = new StringBuffer();
@@ -123,7 +123,7 @@
 			return "-- error --"; //$NON-NLS-1$
 		}
 	}
-	
+
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String)
@@ -131,13 +131,13 @@
 	@Override
 	public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) {
 		try {
-			
+
 			if (fCodePage == null)
 				return new byte[0];
-			
+
 			byte[] bytes =  data.getBytes(fCodePage);
 			return bytes;
-			
+
 		} catch (UnsupportedEncodingException e) {
 			return new byte[0];
 		}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java
index ff86003..66f471f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryBlockTablePresentation.java
@@ -25,7 +25,7 @@
  * presentation as documented in <code>org.eclipse.debug.ui.IDebugModelPresentation</code>.
  * In addition, implement this interface in your debug model presentation.  Your model
  * presentation will be called when <code>org.eclipse.debug.ui.memory.AbstractTableRendering</code>
- * constructs its column and row labels. 
+ * constructs its column and row labels.
  * </p>
  * <p>
  * Clients may implement this interface.
@@ -34,29 +34,29 @@
  */
 public interface IMemoryBlockTablePresentation extends IDebugModelPresentation
 {
-	
+
 	/**
      * Returns a collection of labels to head columns in a <code>AbstractTableRendering</code>
      * rendering, or <code>null</code> if default labels should be used.
-     *  
+     *
 	 * @param blk memory block
 	 * @param bytesPerLine the number if bytes to be displayed
-	 * @param numColumns the number of columns the bytes are divided into 
+	 * @param numColumns the number of columns the bytes are divided into
 	 * @return a collection of labels to head columns in a <code>AbstractTableRendering</code>
      * rendering, or <code>null</code> if default labels should be used
 	 */
 	public String[] getColumnLabels(IMemoryBlock blk, int bytesPerLine, int numColumns);
-	
-	
+
+
 	/**
      * Renders and returns a label for a row starting at the given address within the given
      * memory block, or <code>null</code> if default rendering should be used.
-     * 
+     *
 	 * @param blk memory block
 	 * @param address an address in the memory block
 	 * @return a label for a row starting at the given address within the given
      * memory block, or <code>null</code> if default rendering should be used
 	 */
 	public String getRowLabel(IMemoryBlock blk, BigInteger address);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java
index 36c6024..b8e14e1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRendering.java
@@ -57,7 +57,7 @@
  * rendering is activated, it should set itself as the synchrnoization provider in its
  * rendering site and fire property change events to communicate information to
  * interested listeners.
- * </p> 
+ * </p>
  * <p>
  * Clients contributing a memory rendering type are intended to implement this interface
  * and <code>IMemoryRenderingTypeDelegate</code>. The factory will be used to create instances
@@ -66,17 +66,17 @@
  * @since 3.1
  */
 public interface IMemoryRendering extends IAdaptable{
-    
+
     /**
      * Initializes this rendering to be hosted in the given container, displaying
      * the given memory block. This method is called before this rendering's control
      * has been created.
-     * 
+     *
      * @param container container hosting this rendering
      * @param block the memory block to render
      */
     public void init(IMemoryRenderingContainer container, IMemoryBlock block);
-    
+
     /**
      * Creates the top level control for this rendering under the given parent composite.
      * This method is called after this rendering's <code>init</code> method has been
@@ -99,58 +99,58 @@
      * @return the top level control or <code>null</code>
      */
     public Control getControl();
-    
+
     /**
      * Disposes this rendering.
      */
     public void dispose();
-    
+
     /**
      * Notification this rendering has become the active rendering. Only one
      * rendering can be active at once. Generally, the active rendering is
      * visible and has focus.
      */
     public void activated();
-    
+
     /**
      * Notification this rendering is no longer the active rendering.
      */
     public void deactivated();
-    
+
     /**
      * Notification this rendering has become visible in its container.
      * Note that a rendering does not have to be active to be visible.
      */
     public void becomesVisible();
-    
+
     /**
      * Notification this rendering has become hidden in its container.
      */
     public void becomesHidden();
-    
+
     /**
      * Returns the memory block displayed by this rendering.
-     * 
+     *
      * @return the memory block displayed by this rendering
      */
     public IMemoryBlock getMemoryBlock();
-    
+
     /**
      * Returns the identifier associated with this rendering's type.
-     *  
+     *
      * @return the identifier associated with this rendering's type
      * @see IMemoryRenderingType
      */
     public String getRenderingId();
-    
+
     /**
      * Adds a listener for property changes to this rendering.
      * Has no effect if an identical listener is already registered.
-     * 
+     *
      * @param listener a property change listener
      */
     public void addPropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Removes the given property change listener from this rendering.
      * Has no effect if the identical listener is not registered.
@@ -158,19 +158,19 @@
      * @param listener a property change listener
      */
     public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Returns an image for this rendering. Clients should not dispose
      * this image. This rendering will dispose the image if required when
      * this rendering is disposed.
-     * 
+     *
      * @return an image for this rendering
      */
     public Image getImage();
-    
+
     /**
      * Returns a label for this rendering.
-     * 
+     *
      * @return a label for this rendering
      */
     public String getLabel();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java
index 6e5ab8c..6d85123 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsListener.java
@@ -4,14 +4,14 @@
  * 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
  *******************************************************************************/
 
 package org.eclipse.debug.ui.memory;
 
-/** 
+/**
  * A rendering bindings listener is notified of changes in the renderings provided by
  * a rendering bindings provider. When bindings change, a memory block may be bound
  * to a different set of renderings.
@@ -25,7 +25,7 @@
  * @see IMemoryRenderingBindingsProvider#removeListener
  */
 public interface IMemoryRenderingBindingsListener {
-	
+
 	/**
 	 * Notification that the bindings provided by a rendering bindings
 	 * provider have changed.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java
index e70659f..4ffb32f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingBindingsProvider.java
@@ -28,36 +28,36 @@
  * @since 3.1
  */
 public interface IMemoryRenderingBindingsProvider {
-	
+
 	/**
      * Returns all rendering types bound to the given memory block.
      * This includes default and primary rendering types.
-     * 
+     *
      * @param block memory block
 	 * @return all rendering types bound to the given memory block
 	 */
 	public IMemoryRenderingType[] getRenderingTypes(IMemoryBlock block);
-    
+
     /**
-     * Returns default rendering types bound to the given memory block, 
+     * Returns default rendering types bound to the given memory block,
      * possibly empty.
-     * 
+     *
      * @param block memory block
-     * @return default rendering types bound to the given memory block, 
+     * @return default rendering types bound to the given memory block,
      * possibly empty
      */
     public IMemoryRenderingType[] getDefaultRenderingTypes(IMemoryBlock block);
-    
+
     /**
      * Returns the primary rendering type bound to the given memory block,
      * or <code>null</code> if none.
-     * 
+     *
      * @param block memory block
      * @return the primary rendering type bound to the given memory block,
      * or <code>null</code> if none
      */
     public IMemoryRenderingType getPrimaryRenderingType(IMemoryBlock block);
-		
+
     /**
      * Adds a listener to this binding provider.  The listener will be notified
      * when rendering bindings change.
@@ -67,9 +67,9 @@
      * @param listener listener to add
      */
 	public void addListener(IMemoryRenderingBindingsListener listener);
-	
+
     /**
-     * Removes a listener from this binding provider.  
+     * Removes a listener from this binding provider.
      * <p>
      * Has no effect if an identical listener is not already registered.
      * </p>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java
index 9b5717d..6870adb 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingContainer.java
@@ -17,61 +17,61 @@
  * for hosting a memory renderings.
  * <p>
  * Clients hosting memory renderings may implement this interface.
- * </p>  
+ * </p>
  * @since 3.1
  */
 public interface IMemoryRenderingContainer {
 	/**
 	 * Returns the rendering site hosting this container.
-	 * 
+	 *
 	 * @return the rendering site hosting this container
 	 */
 	public IMemoryRenderingSite getMemoryRenderingSite();
-	
+
 	/**
 	 * Returns the identifier of this container. Identifiers
 	 * are unique within a container.
-	 * 
+	 *
 	 * @return the identifier of this container
 	 */
 	public String getId();
-	
+
 	/**
 	 * Adds the given rendering to this container. A rendering must be
 	 * initialized before it is added to a container. This causes
 	 * the rendering's control to be created.
-	 * 
+	 *
 	 * @param rendering the rendering to add
 	 */
 	public void addMemoryRendering(IMemoryRendering rendering);
-	
+
 	/**
-	 * Removes the given rendering from this container. This 
+	 * Removes the given rendering from this container. This
 	 * causes the rendering to be disposed.
-	 * 
+	 *
 	 * @param rendering the rendering to remove
 	 */
 	public void removeMemoryRendering(IMemoryRendering rendering);
-	
+
 	/**
 	 * Returns all renderings currently hosted by this container.
-	 *  
+	 *
 	 * @return all renderings currently hosted by this container
 	 */
 	public IMemoryRendering[] getRenderings();
-	
+
 	/**
 	 * Returns the active rendering in this container, or <code>null</code>
 	 * if none.
-	 * 
+	 *
 	 * @return the active rendering in this container, or <code>null</code>
 	 * if none
 	 */
 	public IMemoryRendering getActiveRendering();
-	
+
 	/**
 	 * Returns the label for this container.
-	 * 
+	 *
 	 * @return the label for this container
 	 */
 	public String getLabel();
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java
index be00945..2c7f107 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingManager.java
@@ -20,29 +20,29 @@
  * @noextend This interface is not intended to be extended by clients.
  */
 public interface IMemoryRenderingManager extends IMemoryRenderingBindingsProvider {
- 
-    
+
+
     /**
      * Returns all contributed memory rendering types.
-     * 
+     *
      * @return all contributed memory rendering types
      */
     public IMemoryRenderingType[] getRenderingTypes();
-    
+
     /**
      * Returns the memory rendering type with the given identifier, or
      * <code>null</code> if none.  The memory rendering manager will
      * search through rendering types that are contributed via explicit
      * rendering bindings.  (i.e. rendering types contributed via the
-     * memoryRenderings extension point). This method will not return 
+     * memoryRenderings extension point). This method will not return
      * rendering types that are contributed by a memory binding provider.
-     * 
+     *
      * @param id memory rendering type identifier
      * @return the memory rendering type with the given identifier, or
      * <code>null</code> if none
      */
     public IMemoryRenderingType getRenderingType(String id);
-    
+
 }
 
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java
index 027cf51..3197703 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite.java
@@ -18,7 +18,7 @@
  * <p>
  * A rendering site has an optional synchronization provider at any one time. If a
  * rendering provides synchronization information it should set itself as the synchronization
- * provider for its memory rendering site when it is activated. 
+ * provider for its memory rendering site when it is activated.
  * </p>
  * <p>
  * Clients hosting memory rendering may implement this interface.
@@ -29,26 +29,26 @@
 
     /**
      * Returns the workbench part site hosting memory renderings for this rendering site.
-     * 
+     *
      * @return the view site hosting memory renderings for this rendering site
      */
     public IWorkbenchPartSite getSite();
-        
+
     /**
      * Returns the syncrhonization service for this rendering site
      * or <code>null</code> if none.
-     * 
+     *
      * @return the syncrhonization service for this rendering site or <code>null</code>
      */
     public IMemoryRenderingSynchronizationService getSynchronizationService();
-    
+
     /**
      * Returns all the memory rendering containers within this rendering site.
-     * 
+     *
      * @return all the memory rendering containers within this rendering site
      */
     public IMemoryRenderingContainer[] getMemoryRenderingContainers();
-    
+
     /**
      * Returns the rendering container with the given id or <code>null</code>
      * if none.
@@ -58,6 +58,6 @@
      * if none
      */
     public IMemoryRenderingContainer getContainer(String id);
-    
-    
+
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite2.java
index 037811e..94fed29 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSite2.java
@@ -11,16 +11,16 @@
 package org.eclipse.debug.ui.memory;
 
 /**
- * Extension to memory site that allows a client to request a rendering container 
+ * Extension to memory site that allows a client to request a rendering container
  * to become visible.
- * 
+ *
  * @since 3.8
  */
 public interface IMemoryRenderingSite2 extends IMemoryRenderingSite {
-	
+
     /**
-     * Sets whether the identified container should be visible. 
-     * 
+     * Sets whether the identified container should be visible.
+     *
      * @param id identifier of the container to be affected
      * @param visible whether the given container should be made visible
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java
index 9a3de43..bf81198 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingSynchronizationService.java
@@ -22,19 +22,19 @@
  * @since 3.1
  */
 public interface IMemoryRenderingSynchronizationService {
-    
+
     /**
      * Adds a listener for property changes notification for the specified properties.
-     * Specifying <code>null</code> indicates that the listener is interested in all 
+     * Specifying <code>null</code> indicates that the listener is interested in all
      * properties. If an identical listener is already registered, the properties
      * it is registered to listen for are updated.
      *
      * @param listener a property change listener
      * @param properties properties the listener is interested in, or <code>null</code>
      *  to indicate all properties.
-     */    
+     */
     public void addPropertyChangeListener(IPropertyChangeListener listener, String[] properties);
-    
+
     /**
      * Removes the given listener for property change notification.
      * Has no effect if the identical listener is not registered.
@@ -42,31 +42,31 @@
      * @param listener a property change listener
      */
     public void removePropertyChangeListener(IPropertyChangeListener listener);
-    
+
     /**
      * Returns the current value of the specified property for the given memory block, or
      * <code>null</code> if none.
-     * 
+     *
      * @param block memory block for which a property is requested
      * @param property the name of the property
      * @return the property value or <code>null</code>
      */
     public Object getProperty(IMemoryBlock block, String property);
-	
+
     /**
      * Sets the rendering currently providing sychronization information for
      * this synchronization service, or <code>null</code> if none.
-     * 
+     *
      * @param rendering active rendering providing synchronization information or
      *  <code>null</code>
      */
     public void setSynchronizationProvider(IMemoryRendering rendering);
-    
+
     /**
      * Returns the rendering currently providing synchronization information for
      * this synchronization service, or <code>null</code if none.
-     * 
+     *
      * @return rendering providing synchronization information or <code>null</code>
      */
-    public IMemoryRendering getSynchronizationProvider(); 
+    public IMemoryRendering getSynchronizationProvider();
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java
index 3fff87e..a2769ee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingType.java
@@ -19,32 +19,32 @@
  * Clients contributing a rendering usually
  * implement {@link org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate}
  * and {@link org.eclipse.debug.ui.memory.IMemoryRendering}. Clients providing
- * dynamic rendering bindings via an 
+ * dynamic rendering bindings via an
  * {@link org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider}
  * may implement this interface.
  * </p>
  * @since 3.1
  */
 public interface IMemoryRenderingType {
-    
+
     /**
      * Returns a label for this type of memory rendering.
-     * 
+     *
      * @return a label for this type of memory rendering
      */
     public String getLabel();
-    
+
     /**
      * Returns the unique identifier for this rendering type.
-     * 
+     *
      * @return the unique identifier for this rendering type
      */
     public String getId();
-    
+
     /**
      * Creates and returns a new rendering of this type or <code>null</code>
      * if none.
-     * 
+     *
      * @return a new rendering of this type
      * @exception CoreException if an exception occurs creating
      *  the rendering
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java
index 9429124..0e273c2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IMemoryRenderingTypeDelegate.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
  *******************************************************************************/
@@ -16,17 +16,17 @@
  * A factory that creates memory renderings.
  * <p>
  * Clients contributing a memory rendering type are intended to implement this
- * interface. This factory will be used to create renderings. 
+ * interface. This factory will be used to create renderings.
  * </p>
  * @since 3.1
  * @see org.eclipse.debug.ui.memory.IMemoryRendering
  */
 public interface IMemoryRenderingTypeDelegate {
-    
+
     /**
      * Creates and returns a rendering of the specified type, or <code>null</code>
      * if none.
-     * 
+     *
      * @param id unique identifier of a memory rendering type
      * @return a new rendering of the given type or <code>null</code>
      * @exception CoreException if unable to create the rendering
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IRepositionableMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IRepositionableMemoryRendering.java
index ff755ed..24cac1a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IRepositionableMemoryRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IRepositionableMemoryRendering.java
@@ -17,8 +17,8 @@
 
 /**
  * A memory rendering that can be repositioned.  Reposition behavior is rendering
- * specific.  Typically, reposition means that the rendering should move its 
- * cursor/current selection to the given address. However, clients may define 
+ * specific.  Typically, reposition means that the rendering should move its
+ * cursor/current selection to the given address. However, clients may define
  * its reposition behavior that is suitable for the rendering.
  * <p>
  * Clients may implement this interface.
@@ -27,15 +27,15 @@
  *
  */
 public interface IRepositionableMemoryRendering extends IMemoryRendering{
-	
+
 	/**
 	 * Returns the currently selected address of this rendering or <code>null</code> if none
 	 * @return the currently selected address of this rendering or <code>null</code> if none
 	 */
 	public BigInteger getSelectedAddress();
-	
+
 	/**
-	 * Returns the currently selected content as <code>MemoryByte</code> array.  
+	 * Returns the currently selected content as <code>MemoryByte</code> array.
 	 * Returns an empty array if there is no selection.
 	 * @return the currently selected as <code>MemoryByte</code> array or empty if there is
 	 * no selection.
@@ -44,9 +44,9 @@
 
 	/**
 	 * Position the rendering to the given address.
-	 * 
+	 *
 	 * @param address the address to go to
-	 * @throws DebugException when there is a problem repositioning the rendering to the 
+	 * @throws DebugException when there is a problem repositioning the rendering to the
 	 * address
 	 */
 	public void goToAddress(BigInteger address) throws DebugException ;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java
index 100f742..0c09b0d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/IResettableMemoryRendering.java
@@ -16,7 +16,7 @@
 /**
  * A memory rendering that can be reset.  Reset behavior is rendering
  * specific.  Typically, reset means that the rendering would position
- * itself back to the base address of its memory block.  However, clients 
+ * itself back to the base address of its memory block.  However, clients
  * may define its reset behavior that is suitable for its rendering.
  * <p>
  * Clients may implement this interface.
@@ -25,10 +25,10 @@
  *
  */
 public interface IResettableMemoryRendering extends IMemoryRendering {
-	
+
 	/**
 	 * Reset this memory rendering.
-	 * 
+	 *
 	 * @throws DebugException when there is a problem resetting this memory rendering.
 	 */
 	public void resetRendering() throws DebugException;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java
index 7629ec1..4d76ca8 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/MemoryRenderingElement.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
  *******************************************************************************/
@@ -30,11 +30,11 @@
 	private IMemoryRendering fRendering;
 	private BigInteger fAddress;
 	private MemoryByte[] fBytes;
-	
+
 	/**
 	 * Constructs a new memory rendering element for the given rendering
 	 * and specified bytes.
-	 * 
+	 *
 	 * @param rendering the rendering containing the memory block being rendered
 	 * @param address the address at which the rendering is taking place
 	 * @param bytes the memory bytes being rendered
@@ -45,30 +45,30 @@
 		fAddress = address;
 		fBytes = bytes;
 	}
-	
+
 	/**
 	 * Returns the memory rendering in which bytes are being rendered.
-	 * 
+	 *
 	 * @return the memory rendering in which bytes are being rendered
 	 */
 	public IMemoryRendering getRendering()
 	{
 		return fRendering;
 	}
-	
+
 	/**
 	 * Returns the address at which bytes are being rendered.
-	 * 
+	 *
 	 * @return the address at which bytes are being rendered
 	 */
 	public BigInteger getAddress() {
 		return fAddress;
 	}
-	
+
 
 	/**
 	 * Returns the memory bytes being rendered.
-	 * 
+	 *
 	 * @return the memory bytes being rendered
 	 */
 	public MemoryByte[] getBytes() {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java
index 2473d07..03d5c5f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.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
  *******************************************************************************/
@@ -31,10 +31,10 @@
 		return new ISourceContainer[0];
 	}
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Generally, a source container browser can add source containers. Subclasses
 	 * should override as required.
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#canAddSourceContainers(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
 	 */
 	@Override
@@ -49,10 +49,10 @@
 		return new ISourceContainer[0];
 	}
 	/* (non-Javadoc)
-	 * 
+	 *
 	 * Not all source containers can be edited. Subclasses should override
 	 * as required.
-	 * 
+	 *
 	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#canEditSourceContainers(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector, org.eclipse.debug.core.sourcelookup.ISourceContainer[])
 	 */
 	@Override
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
index e6a3381..aac8d04 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditor.java
@@ -61,31 +61,31 @@
  * @since 3.2
  */
 public class CommonSourceNotFoundEditor extends EditorPart implements IReusableEditor  {
-	
+
 	/**
 	 * Text widgets used for this editor
 	 */
-	private Text fText;	
-	
+	private Text fText;
+
 	/**
 	 * Launch listener to handle launch events, or <code>null</code> if none
 	 */
 	private ILaunchesListener2 fLaunchesListener;
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	@Override
 	public void doSave(IProgressMonitor monitor) {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.EditorPart#doSaveAs()
 	 */
 	@Override
 	public void doSaveAs() {
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
 	 */
@@ -95,7 +95,7 @@
 		setInput(input);
 		initialize();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.EditorPart#isDirty()
 	 */
@@ -103,7 +103,7 @@
 	public boolean isDirty() {
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
 	 */
@@ -111,40 +111,40 @@
 	public boolean isSaveAsAllowed() {
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	public void createPartControl(Composite parent) {
 		GridLayout topLayout = new GridLayout();
-		GridData data = new GridData();	
+		GridData data = new GridData();
 		topLayout.numColumns = 1;
 		topLayout.verticalSpacing = 10;
 		parent.setLayout(topLayout);
-		parent.setLayoutData(data);		
+		parent.setLayoutData(data);
 		parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
-		
+
 		fText = new Text(parent,SWT.READ_ONLY|SWT.WRAP);
         data = new GridData(GridData.FILL_HORIZONTAL);
         data.grabExcessHorizontalSpace = true;
         fText.setLayoutData(data);
-		fText.setForeground(JFaceColors.getErrorText(fText.getDisplay()));	
-		fText.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));	
+		fText.setForeground(JFaceColors.getErrorText(fText.getDisplay()));
+		fText.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
 		if (getEditorInput() != null) {
 			setInput(getEditorInput());
 		}
-		
-		createButtons(parent);		
-		
+
+		createButtons(parent);
+
 		Dialog.applyDialogFont(parent);
-		
+
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugHelpContextIds.NO_SOURCE_EDITOR);
 	}
 
 	/**
 	 * Create buttons to be displayed in this editor
-	 * 
+	 *
 	 * @param parent composite to create the buttons in.
 	 */
 	protected void createButtons(Composite parent) {
@@ -154,7 +154,7 @@
 		data.grabExcessHorizontalSpace = false;
 		data.grabExcessVerticalSpace = false;
 		button.setLayoutData(data);
-		button.setText(SourceLookupUIMessages.addSourceLocation_addButton2); 
+		button.setText(SourceLookupUIMessages.addSourceLocation_addButton2);
 		button.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent evt) {
@@ -162,20 +162,20 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Edits the source lookup path associated with the active debug context.
 	 * After the path is edited, source lookup is performed again and this
 	 * editor is closed.
 	 */
 	protected void editSourceLookupPath(){
-		ISourceLocator locator = null;		
-		ILaunch launch = null;		
+		ISourceLocator locator = null;
+		ILaunch launch = null;
 		IAdaptable selection = DebugUITools.getDebugContext();
 		if(selection == null) {
-			new MessageDialog(getSite().getShell(), 
-					SourceLookupUIMessages.CommonSourceNotFoundEditor_0,	
-					null, 
+			new MessageDialog(getSite().getShell(),
+					SourceLookupUIMessages.CommonSourceNotFoundEditor_0,
+					null,
 					SourceLookupUIMessages.CommonSourceNotFoundEditor_1,
 					MessageDialog.INFORMATION,
 					new String[] {IDialogConstants.OK_LABEL}, 0).open();
@@ -183,26 +183,26 @@
 		}
 		if (selection.getAdapter(ILaunch.class) != null ) {
 			launch = selection.getAdapter(ILaunch.class);
-			locator = launch.getSourceLocator();			
-		} 
+			locator = launch.getSourceLocator();
+		}
 		else if (selection.getAdapter(IDebugElement.class) != null ) {
 			launch = selection.getAdapter(IDebugElement.class).getLaunch();
-			locator = launch.getSourceLocator();					
+			locator = launch.getSourceLocator();
 		}
 		else {
 			return;  //should not occur
 		}
 		if (locator == null || !(locator instanceof AbstractSourceLookupDirector)) {
-			return; 
+			return;
 		}
-		final SourceLookupDialog dialog = new SourceLookupDialog(DebugUIPlugin.getShell(),(AbstractSourceLookupDirector) locator);		
+		final SourceLookupDialog dialog = new SourceLookupDialog(DebugUIPlugin.getShell(),(AbstractSourceLookupDirector) locator);
 		if(dialog.open() == Window.OK) {
 			IWorkbenchPage page = getEditorSite().getPage();
 			SourceLookupManager.getDefault().displaySource(getArtifact(), page, true);
 			closeEditor();
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
 	 */
@@ -212,7 +212,7 @@
 			fText.setFocus();
 		}
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.part.EditorPart#setInput(org.eclipse.ui.IEditorInput)
 	 */
@@ -220,22 +220,22 @@
 	public void setInput(IEditorInput input) {
 		super.setInput(input);
 		setPartName(input.getName());
-		if (fText != null) {			
+		if (fText != null) {
 			fText.setText(getText());
 		}
 		firePropertyChange(PROP_INPUT);
 	}
-	
+
 	/**
 	 * Return the text to be displayed in this editor. The text is reset each time
 	 * the editor input is set.
-	 * 
+	 *
 	 * @return the text to be displayed in this editor
 	 */
 	protected String getText() {
 		return getEditorInput().getToolTipText() + "\n"; //$NON-NLS-1$
 	}
-	
+
 	/**
 	 * Closes this editor.
 	 */
@@ -255,11 +255,11 @@
 			}
 		});
 	}
-	
-	
+
+
 	/*
 	 * (non-Javadoc)
-	 * 
+	 *
 	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
 	 */
 	@Override
@@ -268,11 +268,11 @@
 			DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(fLaunchesListener);
 		super.dispose();
 	}
-	
+
 	/**
 	 * Returns the artifact this editor was opened for (i.e. the artifact that source
 	 * was not found for), or <code>null</code>
-	 * 
+	 *
 	 * @return artifact with associated source or <code>null</code>
 	 */
 	protected Object getArtifact() {
@@ -283,7 +283,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Initialize this editor.
 	 * Called after <code>init(IEditorSite, IEditorInput)</code>. By default, a launch
@@ -319,8 +319,8 @@
 
 			@Override
 			public void launchesChanged(ILaunch[] launches) {
-			}}; 
-			
+			}};
+
 		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(fLaunchesListener);
 	}
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
index 4529315..33f9517 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
@@ -31,7 +31,7 @@
  * @since 3.2
  */
 public class CommonSourceNotFoundEditorInput extends PlatformObject implements IEditorInput {
-	
+
 	/**
 	 * input element label (cached on creation)
 	 */
@@ -40,7 +40,7 @@
 	 * the artifact that the editor is being opened for
 	 */
 	private Object fArtifact;
-	
+
 	/**
 	 * Constructs an editor input for the given artifact associated with source.
 	 *
@@ -56,8 +56,8 @@
 		if (fLabel == null) {
 			fLabel = IInternalDebugCoreConstants.EMPTY_STRING;
 		}
-	}	
-	
+	}
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IEditorInput#exists()
 	 */
@@ -65,7 +65,7 @@
 	public boolean exists() {
 		return false;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
 	 */
@@ -73,15 +73,15 @@
 	public ImageDescriptor getImageDescriptor() {
 		return DebugUITools.getDefaultImageDescriptor(fArtifact);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IEditorInput#getName()
 	 */
 	@Override
 	public String getName() {
-		return fLabel;		
+		return fLabel;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IEditorInput#getPersistable()
 	 */
@@ -89,7 +89,7 @@
 	public IPersistableElement getPersistable() {
 		return null;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
 	 */
@@ -97,14 +97,14 @@
 	public String getToolTipText() {
 		return MessageFormat.format(SourceLookupUIMessages.addSourceLocation_editorMessage, new Object[] { fLabel });
 	}
-		
+
 	/**
 	 * Returns the artifact that source was not found for.
-	 * 
+	 *
 	 * @return artifact that source was not found for
 	 */
 	public Object getArtifact(){
 		return fArtifact;
 	}
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
index f73c9f8..44742c0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.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
  *******************************************************************************/
@@ -40,43 +40,43 @@
 	/**
 	 * Creates and returns new source containers to add to the given
 	 * source lookup director.
-	 * 
+	 *
 	 * @param shell the shell to use to parent any dialogs
 	 * @param director the director the new containers will be added to
 	 * @return the new source containers to add
 	 */
 	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director);
-	
+
 	/**
 	 * Returns whether this browser can add any source containers to the
 	 * given source lookup director.
-	 * 
+	 *
 	 * @param director source lookup director to potentially add source
 	 *  containers to
 	 * @return whether this browser can add any source containers to the
 	 * given source lookup director
 	 */
 	public boolean canAddSourceContainers(ISourceLookupDirector director);
-	
+
 	/**
 	 * Edits and returns source containers to replace the given source
 	 * containers.
-	 * 
+	 *
 	 * @param shell the shell to use to parent any dialogs
 	 * @param director the director the new containers will be added to
 	 * @param containers the source containers to be edited
 	 * @return the replacement source containers
 	 */
 	public ISourceContainer[] editSourceContainers(Shell shell, ISourceLookupDirector director, ISourceContainer[] containers);
-	
+
 	/**
 	 * Returns whether this browser can edit the given source containers.
-	 * 
+	 *
 	 * @param director source lookup director to potentially edit source
 	 *  containers for
 	 * @param containers the containers to edit
 	 * @return whether this browser can edit the given source containers
 	 */
-	public boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers);	
-	
+	public boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers);
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceDisplay.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceDisplay.java
index 1cc942d..8227228 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceDisplay.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceDisplay.java
@@ -22,8 +22,8 @@
  * The debug platform provides a source display adapter for instances
  * of <code>IStackFrame</code>. The standard adapter uses the source locator associated
  * with the stack frame's launch to lookup source. Clients may provide their own
- * source display adapters as required. 
- * </p> 
+ * source display adapters as required.
+ * </p>
  * <p>
  * Clients may implement this interface.
  * </p>
@@ -31,15 +31,15 @@
  * @since 3.3
  */
 public interface ISourceDisplay {
-	
+
 	/**
 	 * Displays source for the given element in the specified page.
-	 * 
+	 *
 	 * @param element debug model element to display source for
 	 * @param page the page in which to display source
 	 * @param forceSourceLookup whether source lookup should be performed,
 	 *  ignoring any previously cached results for the same element
 	 */
 	public void displaySource(Object element, IWorkbenchPage page, boolean forceSourceLookup);
-	
+
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.java
index 0971543..927dea1 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceLookupResult.java
@@ -18,7 +18,7 @@
  * of an editor (editor id, and editor input) in which to display
  * the result.
  * @see org.eclipse.debug.ui.DebugUITools#lookupSource(Object, org.eclipse.debug.core.model.ISourceLocator)
- * @see org.eclipse.debug.ui.DebugUITools#displaySource(ISourceLookupResult, org.eclipse.ui.IWorkbenchPage)  
+ * @see org.eclipse.debug.ui.DebugUITools#displaySource(ISourceLookupResult, org.eclipse.ui.IWorkbenchPage)
  * @since 3.1
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
@@ -28,32 +28,32 @@
     /**
      * Returns the artifact for which source lookup was performed,
      * such as a stack frame.
-     * 
+     *
      * @return the artifact for which source lookup was performed
      */
     public Object getArtifact();
-    
+
     /**
      * Returns the source element resolved during source lookup,
      * or <code>null</code> if a source element was not resolved.
-     * 
+     *
      * @return resolved source element or <code>null</code> if unknown
      */
     public Object getSourceElement();
-        
+
     /**
      * Returns the identifier of an editor used to display this result,
      * or <code>null</code> if unknown.
-     * 
+     *
      * @return the identifier of an editor used to display this result,
      * or <code>null</code> if unknown
      */
     public String getEditorId();
-    
+
     /**
      * Returns the editor input used to display result,
      * or <code>null</code> if unknown.
-     * 
+     *
      * @return the editor input used to display result,
      * or <code>null</code> if unknown
      */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
index 4cc9f57..c63d37f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
@@ -42,37 +42,37 @@
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class SourceLookupDialog extends TitleAreaDialog {
-	
+
 	private SourceLookupPanel fPanel;
 	private ISourceLookupDirector fDirector;
-	
+
 	/**
 	 * Constructs a dialog to edit the source lookup path managed by the
 	 * given source lookup director. Persists the resulting source lookup
 	 * path on the launch configuration associated with the given source
 	 * lookup director.
-	 * 
+	 *
 	 * @param shell shell to parent the dialog
 	 * @param director source lookup director managing the source lookup
 	 *  path to be edited
 	 */
 	public SourceLookupDialog(Shell shell, ISourceLookupDirector director) {
-		super(shell);	
+		super(shell);
         setShellStyle(getShellStyle() | SWT.RESIZE);
 		fDirector = director;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		// create a composite with standard margins and spacing
-		setTitle(SourceLookupUIMessages.manageSourceDialog_description); 
+		setTitle(SourceLookupUIMessages.manageSourceDialog_description);
 		setTitleImage(DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_EDIT_SRC_LOC_WIZ));
 		setMessage(SourceLookupUIMessages.SourceLookupDialog_add_edit_remove);
 		Composite composite = new Composite(parent, SWT.NONE);
-		
+
 		GridLayout layout = new GridLayout();
 		layout.marginHeight =
 			convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
@@ -83,7 +83,7 @@
 		layout.horizontalSpacing =
 			convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
 		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);			
+		GridData data = new GridData(GridData.FILL_BOTH);
 		composite.setLayoutData(data);
 		composite.setFont(parent.getFont());
 		fPanel = new SourceLookupPanel();
@@ -95,10 +95,10 @@
 			setErrorMessage(SourceLookupUIMessages.SourceLookupDialog_0+config.getName()+SourceLookupUIMessages.SourceLookupDialog_1);
 		}
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,  IDebugHelpContextIds.EDIT_SOURCELOOKUP_DIALOG);
-		
+
 		return composite;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
 	 */
@@ -111,21 +111,21 @@
 				copy = config.getWorkingCopy();
 				fPanel.performApply(copy);
 				copy.doSave();
-			} 
+			}
 			catch (CoreException e) {DebugUIPlugin.log(e);}
 		}
 		super.okPressed();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */	
+	 */
 	@Override
 	protected void configureShell(Shell shell) {
 		super.configureShell(shell);
-		shell.setText(SourceLookupUIMessages.manageSourceDialog_title); 
+		shell.setText(SourceLookupUIMessages.manageSourceDialog_title);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.jface.window.Window#close()
 	 */
@@ -134,7 +134,7 @@
 		fPanel.dispose();
 		return super.close();
 	}
-    
+
     /* (non-Javadoc)
      * @see org.eclipse.jface.dialogs.Dialog#getDialogBoundsSettings()
      * @since 3.2
@@ -145,7 +145,7 @@
          IDialogSettings section = settings.getSection(getClass().getName());
          if (section == null) {
              section = settings.addNewSection(getClass().getName());
-         } 
+         }
          return section;
     }
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
index af2f4ed..e908e70 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
@@ -33,26 +33,26 @@
  * with associated participants and source containers.
  * <p>
  * Clients may call {@link #setHelpContextId(String)} on this tab prior to control
- * creation to alter the default context help associated with this tab. 
+ * creation to alter the default context help associated with this tab.
  * </p>
  * <p>
- * This tab may be instantiated. 
+ * This tab may be instantiated.
  * </p>
- * @since 3.0	 
+ * @since 3.0
  * @noextend This class is not intended to be subclassed by clients.
  */
 
 public class SourceLookupTab extends AbstractLaunchConfigurationTab {
 	//the panel displaying the containers
 	private SourceLookupPanel fSourceLookupPanel;
-		
+
 	/**
 	 * Constructs a new tab with default context help.
 	 */
 	public SourceLookupTab() {
 		setHelpContextId(IDebugHelpContextIds.SOURCELOOKUP_TAB);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
@@ -67,7 +67,7 @@
 		topLayout.numColumns = 1;
 		comp.setLayout(topLayout);
 		comp.setFont(parent.getFont());
-		
+
 		fSourceLookupPanel = new SourceLookupPanel();
 		fSourceLookupPanel.setLaunchConfigurationDialog(
 				getLaunchConfigurationDialog());
@@ -77,15 +77,15 @@
 		gd.widthHint = 250;
 		Dialog.applyDialogFont(comp);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
 	@Override
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		
+
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
 	 */
@@ -93,7 +93,7 @@
 	public void initializeFrom(ILaunchConfiguration configuration) {
 		fSourceLookupPanel.initializeFrom(configuration);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
@@ -101,7 +101,7 @@
 	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		fSourceLookupPanel.performApply(configuration);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
 	 */
@@ -109,15 +109,15 @@
 	public String getId() {
 	    return "org.eclipse.debug.ui.sourceLookupTab"; //$NON-NLS-1$
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
 	 */
 	@Override
 	public String getName() {
-		return SourceLookupUIMessages.sourceTab_tabTitle; 
+		return SourceLookupUIMessages.sourceTab_tabTitle;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
 	 */
@@ -125,7 +125,7 @@
 	public Image getImage() {
 		return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_TAB);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 	 */
@@ -133,7 +133,7 @@
 	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
 		fSourceLookupPanel.activated(workingCopy);
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
 	 */
@@ -145,10 +145,10 @@
 			}
 			fSourceLookupPanel.dispose();
 		}
-		fSourceLookupPanel = null;		
+		fSourceLookupPanel = null;
 		super.dispose();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getErrorMessage()
 	 */
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
index de72438..23d3e88 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
@@ -35,22 +35,22 @@
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class WorkingSetSourceContainer extends CompositeSourceContainer{
-	
+
 	private IWorkingSet fWorkingSet;
 	/**
 	 * Unique identifier for the working set source container type
 	 * (value <code>org.eclipse.debug.ui.containerType.workingSet</code>.)
 	 */
 	public static final String TYPE_ID = DebugUIPlugin.getUniqueIdentifier()+".containerType.workingSet"; //$NON-NLS-1$
-		
+
 	/**
 	 * Creates a source container for the working set.
 	 * @param workingSet the working set represented by this container
 	 */
 	public WorkingSetSourceContainer(IWorkingSet workingSet) {
-		fWorkingSet = workingSet;		
+		fWorkingSet = workingSet;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
 	 */
@@ -58,23 +58,23 @@
 	public String getName() {
 		return fWorkingSet.getName();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#equals(java.lang.Object)
 	 */
 	@Override
 	public boolean equals(Object obj) {
-		if (obj != null && obj instanceof WorkingSetSourceContainer) {			
-			return ((WorkingSetSourceContainer)obj).fWorkingSet.equals(fWorkingSet);			
-		}				
+		if (obj != null && obj instanceof WorkingSetSourceContainer) {
+			return ((WorkingSetSourceContainer)obj).fWorkingSet.equals(fWorkingSet);
+		}
 		return false;
-	}		
+	}
 
 	@Override
 	public int hashCode() {
 		return fWorkingSet.hashCode();
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
 	 */
@@ -82,29 +82,29 @@
 	public ISourceContainerType getType() {
 		return getSourceContainerType(TYPE_ID);
 	}
-			
+
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
 	 */
 	@Override
 	protected ISourceContainer[] createSourceContainers() throws CoreException {
 		IAdaptable[] elements = fWorkingSet.getElements();
-		
+
 		if(elements == null) {
 			return new ISourceContainer[0];
 		}
-		
+
 		ArrayList<ISourceContainer> locationList = new ArrayList<ISourceContainer>();
 		for (int i = 0; i < elements.length; i++) {
 			IResource resource = elements[i].getAdapter(IResource.class);
-			
+
 			if (resource != null) {
 				switch (resource.getType()) {
-				case IResource.FOLDER:							
-					locationList.add(new FolderSourceContainer((IFolder)resource, true));											
+				case IResource.FOLDER:
+					locationList.add(new FolderSourceContainer((IFolder)resource, true));
 					break;
 				case IResource.PROJECT:
-					locationList.add(new ProjectSourceContainer((IProject)resource, true));			
+					locationList.add(new ProjectSourceContainer((IProject)resource, true));
 					break;
 					//if the element corresponds to an IFile, do nothing
 					default:
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/stringsubstitution/IArgumentSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/stringsubstitution/IArgumentSelector.java
index 5d44370..93b6a4c 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/stringsubstitution/IArgumentSelector.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/stringsubstitution/IArgumentSelector.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
  *******************************************************************************/
@@ -16,17 +16,17 @@
 
 /**
  * A variable presentation extension can contribute an argument selector
- * which is use to configure the argument for a string substitution 
+ * which is use to configure the argument for a string substitution
  * variable.
- * 
+ *
  * @since 3.9
  */
 public interface IArgumentSelector {
 
 	/**
-	 * Selects and returns an argument for the given variable, 
+	 * Selects and returns an argument for the given variable,
 	 * or <code>null</code> if none.
-	 * 
+	 *
 	 * @param variable the variable an argument is being selected for
 	 * @param shell the shell to create any dialogs on, or <code>null</code> if none
 	 * @return argument for the given variable or <code>null</code>