Bug 462035 - Solve whitespace issues in eclipse.runtime plug-ins

Change-Id: I776107680b86a43d201b760be935914fa352315f
Signed-off-by: Simon Scholz <simon.scholz@vogella.com>
diff --git a/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
index b93240b..da301c3 100644
--- a/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -123,6 +123,7 @@
 org.eclipse.jdt.core.compiler.source=1.5
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
@@ -133,15 +134,18 @@
 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=0
@@ -161,26 +165,33 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
 org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
 org.eclipse.jdt.core.formatter.continuation_indentation=2
 org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
 org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
@@ -190,9 +201,17 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -200,7 +219,7 @@
 org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
 org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
@@ -240,10 +259,11 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
@@ -258,12 +278,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -272,7 +294,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
@@ -287,11 +309,12 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
@@ -314,6 +337,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -342,6 +366,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -351,6 +376,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -360,16 +386,25 @@
 org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
 org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
 org.eclipse.jdt.core.formatter.tabulation.char=tab
 org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
 org.eclipse.jdt.core.incompatibleJDKLevel=ignore
 org.eclipse.jdt.core.incompleteClasspath=error
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
index 78c4da7..7bd3405 100644
--- a/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
+++ b/bundles/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -1,9 +1,126 @@
-#Fri Feb 23 16:59:24 EST 2007
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=false
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=false
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=false
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Whitespace_remove
+cleanup_settings_version=2
 eclipse.preferences.version=1
-formatter_profile=_core
-formatter_settings_version=11
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=org.eclipse.jdt.ui.default.eclipse_profile
+formatter_settings_version=12
 org.eclipse.jdt.ui.ignorelowercasenames=true
 org.eclipse.jdt.ui.importorder=;
 org.eclipse.jdt.ui.ondemandthreshold=3
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return Returns the ${bare_field_name}.\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} The ${bare_field_name} to set.\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *     IBM Corporation - initial API and implementation\r\n ******************************************************************************/\r\n</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @since 3.2\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="New classes and interfaces" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\r\n * Copyright (c) 2006 IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n *     IBM Corporation - initial API and implementation\r\n *******************************************************************************/\r\n${package_declaration}\r\n\r\n/**\r\n * \r\n */\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block&\#13;\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=false
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=false
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=false
+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=false
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false
+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=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=false
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=false
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=false
+sp_cleanup.remove_unused_private_types=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=false
+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=false
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_type_arguments=false
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/InitLegacyPreferences.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/InitLegacyPreferences.java
index af9ef63..3c17165 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/InitLegacyPreferences.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/InitLegacyPreferences.java
@@ -4,7 +4,7 @@
  *  are made available under the terms of the Eclipse Public License v1.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 @@
 public class InitLegacyPreferences implements ILegacyPreferences {
 	/**
 	 * The method tries to initialize the preferences using the legacy Plugin method.
-	 * 
+	 *
 	 * @param object - plugin to initialize
 	 * @param name - ID of the plugin to be initialized
-	 * 
+	 *
 	 * @see Plugin#initializeDefaultPluginPreferences
-	 * 
+	 *
 	 * @since org.eclipse.core.runtime 3.2
-	 * 
+	 *
 	 * @deprecated Marked deprecated to suppress warnings. This class is added to support
 	 * backward compatibility only and should not be used in any new code.
 	 */
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/PreferenceForwarder.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/PreferenceForwarder.java
index b15408d..33aa1f6 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/PreferenceForwarder.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/PreferenceForwarder.java
@@ -4,7 +4,7 @@
  *  are made available under the terms of the Eclipse Public License v1.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,11 +21,11 @@
 
 /**
  * This class represents a convenience layer between the Eclipse 3.0
- * preferences and pre-3.0 preferences. It acts as a bridge between the 
+ * preferences and pre-3.0 preferences. It acts as a bridge between the
  * org.eclipse.core.runtime.Preferences object associated with a particular plug-in
  * object, and its corresponding preference node in the 3.0 preference node
  * hierarchy.
- * 
+ *
  * @since 3.0
  * @deprecated to avoid warnings for interacting with deprecated Preferences class.
  */
@@ -153,7 +153,7 @@
 	/**
 	 * Does its best at determining the default value for the given key. Checks the
 	 * given object's type and then looks in the list of defaults to see if a value
-	 * exists. If not or if there is a problem converting the value, the default default 
+	 * exists. If not or if there is a problem converting the value, the default default
 	 * value for that type is returned.
 	 */
 	private Object getDefault(String key, Object obj) {
@@ -199,7 +199,7 @@
 	 * Returns the current value of the boolean-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>false</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a boolean.
 	 *
 	 * @param name the name of the property
@@ -214,7 +214,7 @@
 	 * Sets the current value of the boolean-valued property with the
 	 * given name.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -251,7 +251,7 @@
 	 * Returns the default value for the boolean-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>false</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a boolean.
 	 *
 	 * @param name the name of the property
@@ -264,7 +264,7 @@
 
 	/**
 	 * Sets the default value for the boolean-valued property with the
-	 * given name. 
+	 * given name.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -286,7 +286,7 @@
 	 * Returns the current value of the double-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0.0</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a double.
 	 *
 	 * @param name the name of the property
@@ -301,7 +301,7 @@
 	 * Sets the current value of the double-valued property with the
 	 * given name.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -314,7 +314,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new current value of the property; must be 
+	 * @param value the new current value of the property; must be
 	 *   a number (not a NaN)
 	 */
 	@Override
@@ -342,7 +342,7 @@
 	 * Returns the default value for the double-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0.0</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a double.
 	 *
 	 * @param name the name of the property
@@ -355,7 +355,7 @@
 
 	/**
 	 * Sets the default value for the double-valued property with the
-	 * given name. 
+	 * given name.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -366,7 +366,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new default value for the property; must be 
+	 * @param value the new default value for the property; must be
 	 *   a number (not a NaN)
 	 */
 	@Override
@@ -380,7 +380,7 @@
 	 * Returns the current value of the float-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0.0f</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a float.
 	 *
 	 * @param name the name of the property
@@ -395,7 +395,7 @@
 	 * Sets the current value of the float-valued property with the
 	 * given name.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -408,7 +408,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new current value of the property; must be 
+	 * @param value the new current value of the property; must be
 	 *   a number (not a NaN)
 	 */
 	@Override
@@ -436,7 +436,7 @@
 	 * Returns the default value for the float-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0.0f</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a float.
 	 *
 	 * @param name the name of the property
@@ -449,7 +449,7 @@
 
 	/**
 	 * Sets the default value for the float-valued property with the
-	 * given name. 
+	 * given name.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -460,7 +460,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new default value for the property; must be 
+	 * @param value the new default value for the property; must be
 	 *   a number (not a NaN)
 	 */
 	@Override
@@ -474,7 +474,7 @@
 	 * Returns the current value of the integer-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as an integter.
 	 *
 	 * @param name the name of the property
@@ -489,7 +489,7 @@
 	 * Sets the current value of the integer-valued property with the
 	 * given name.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -527,7 +527,7 @@
 	 * Returns the default value for the integer-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as an integer.
 	 *
 	 * @param name the name of the property
@@ -540,7 +540,7 @@
 
 	/**
 	 * Sets the default value for the integer-valued property with the
-	 * given name. 
+	 * given name.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -562,7 +562,7 @@
 	 * Returns the current value of the long-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0L</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a long.
 	 *
 	 * @param name the name of the property
@@ -577,7 +577,7 @@
 	 * Sets the current value of the long-valued property with the
 	 * given name.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -615,7 +615,7 @@
 	 * Returns the default value for the long-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0L</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a long.
 	 *
 	 * @param name the name of the property
@@ -628,7 +628,7 @@
 
 	/**
 	 * Sets the default value for the long-valued property with the
-	 * given name. 
+	 * given name.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -664,7 +664,7 @@
 	 * Sets the current value of the string-valued property with the
 	 * given name.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -701,8 +701,8 @@
 	/**
 	 * Returns the default value for the string-valued property
 	 * with the given name.
-	 * Returns the default-default value (the empty string <code>""</code>) 
-	 * is no default property with the given name, or if the default 
+	 * Returns the default-default value (the empty string <code>""</code>)
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a string.
 	 *
 	 * @param name the name of the property
@@ -715,7 +715,7 @@
 
 	/**
 	 * Sets the default value for the string-valued property with the
-	 * given name. 
+	 * given name.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -758,13 +758,13 @@
 	 * <p>
 	 * Note that the recommended way of re-initializing a property to the
 	 * appropriate default value is to call <code>setToDefault</code>.
-	 * This is implemented by removing the named value from the object, 
+	 * This is implemented by removing the named value from the object,
 	 * thereby exposing the default value.
 	 * </p>
 	 * <p>
 	 * A property change event is always reported. In the event
 	 * object, the property name is the name of the property, and the
-	 * old and new values are either strings, or <code>null</code> 
+	 * old and new values are either strings, or <code>null</code>
 	 * indicating the default-default value.
 	 * </p>
 	 *
@@ -782,7 +782,7 @@
 	 * Returns a list of all properties known to this preference object which
 	 * have current values other than their default value.
 	 *
-	 * @return an array of property names 
+	 * @return an array of property names
 	 */
 	@Override
 	public String[] propertyNames() {
@@ -793,7 +793,7 @@
 	 * Returns a list of all properties known to this preference object which
 	 * have default values other than their default-default value.
 	 *
-	 * @return an array of property names 
+	 * @return an array of property names
 	 */
 	@Override
 	public String[] defaultPropertyNames() {
@@ -820,7 +820,7 @@
 
 	/**
 	 * Flush the values of these plug-in preferences to disk.
-	 * 
+	 *
 	 * @throws BackingStoreException
 	 */
 	public void flush() throws BackingStoreException {
@@ -830,7 +830,7 @@
 	}
 
 	/*
-	 * Something bad happened so log it. 
+	 * Something bad happened so log it.
 	 */
 	private void logError(String message, Exception e) {
 		IStatus status = new Status(IStatus.ERROR, PrefsMessages.OWNER_NAME, IStatus.ERROR, message, e);
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/ProductPreferencesService.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/ProductPreferencesService.java
index ebf2e4b..b274a6c 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/ProductPreferencesService.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/preferences/legacy/ProductPreferencesService.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationHandler.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationHandler.java
index c64aa6f..89b38e2 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationHandler.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationHandler.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -125,7 +125,7 @@
 
 	/**
 	 * Saves the keyring file to disk.
-	 * @exception CoreException 
+	 * @exception CoreException
 	 */
 	private static void saveKeyring() throws CoreException {
 		try {
@@ -141,9 +141,9 @@
 	 * Adds the given authorization information to the key ring. The
 	 * information is relevant for the specified protection space and the
 	 * given authorization scheme. The protection space is defined by the
-	 * combination of the given server URL and realm. The authorization 
-	 * scheme determines what the authorization information contains and how 
-	 * it should be used. The authorization information is a <code>Map</code> 
+	 * combination of the given server URL and realm. The authorization
+	 * scheme determines what the authorization information contains and how
+	 * it should be used. The authorization information is a <code>Map</code>
 	 * of <code>String</code> to <code>String</code> and typically
 	 * contains information such as user names and passwords.
 	 *
@@ -154,8 +154,8 @@
 	 *		"realm1@example.com" or "" for no realm.
 	 * @param authScheme the scheme for which this authorization information
 	 *		applies. For example, "Basic" or "" for no authorization scheme
-	 * @param info a <code>Map</code> containing authorization information 
-	 *		such as user names and passwords (key type : <code>String</code>, 
+	 * @param info a <code>Map</code> containing authorization information
+	 *		such as user names and passwords (key type : <code>String</code>,
 	 *		value type : <code>String</code>)
 	 * @exception CoreException if there are problems setting the
 	 *		authorization information. Reasons include:
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CompatibilityHelper.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CompatibilityHelper.java
index dc6b0e1..0efa40f 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CompatibilityHelper.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CompatibilityHelper.java
@@ -18,7 +18,7 @@
  * This class isolates calls to the backward compatibility layer.
  * It uses reflection so it can be loaded with success even in the absence of
  * the compatibility plugin.
- * 
+ *
  * @deprecated Marked as deprecated to suppress deprecation warnings.
  */
 @Deprecated
@@ -31,9 +31,9 @@
 	public synchronized static void nullCompatibility() {
 		compatibility = null;
 	}
-	
+
 	public synchronized static Bundle initializeCompatibility() {
-		// if compatibility is stale (has been uninstalled or unresolved) 
+		// if compatibility is stale (has been uninstalled or unresolved)
 		// then we try to get a new resolved compatibility bundle
 		if (compatibility == null || (compatibility.getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED | Bundle.STOPPING)) != 0)
 			compatibility = org.eclipse.core.internal.runtime.InternalPlatform.getDefault().getBundle(PI_RUNTIME_COMPATIBILITY);
@@ -70,7 +70,7 @@
 				IStatus error = new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e);
 				InternalPlatform.getDefault().log(error);
 			}
-			//Ignore the exceptions, return null			
+			//Ignore the exceptions, return null
 		}
 		return null;
 	}
@@ -98,7 +98,7 @@
 			Method setPlugin = descriptor.getClass().getMethod("hasPluginObject"); //$NON-NLS-1$
 			result = (Boolean) setPlugin.invoke(descriptor);
 		} catch (Exception e) {
-			//Ignore the exceptions			
+			//Ignore the exceptions
 		}
 		return result.booleanValue();
 	}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
index 4eea8c8..04e2f95 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Julian Chen - fix for bug #92572, jclRM
@@ -46,7 +46,7 @@
 			Platform.ARCH_PPC, //
 			Platform.ARCH_SPARC, //
 			Platform.ARCH_X86, //
-			Platform.ARCH_AMD64, // 
+			Platform.ARCH_AMD64, //
 			Platform.ARCH_IA64, //
 			Platform.ARCH_IA64_32};
 
@@ -455,9 +455,6 @@
 		return result;
 	}
 
-	/**
-	 * 
-	 */
 	public IPreferencesService getPreferencesService() {
 		return preferencesTracker == null ? null : (IPreferencesService) preferencesTracker.getService();
 	}
@@ -569,7 +566,7 @@
 	}
 
 	/*
-	 * Finds and loads the options file 
+	 * Finds and loads the options file
 	 */
 	void initializeDebugFlags() {
 		// load runtime options
@@ -599,7 +596,7 @@
 
 	/**
 	 * Returns a list of known system architectures.
-	 * 
+	 *
 	 * @return the list of system architectures known to the system
 	 * XXX This is useless
 	 */
@@ -609,7 +606,7 @@
 
 	/**
 	 * Returns a list of known operating system names.
-	 * 
+	 *
 	 * @return the list of operating systems known to the system
 	 * XXX This is useless
 	 */
@@ -619,7 +616,7 @@
 
 	/**
 	 * Returns a list of known windowing system names.
-	 * 
+	 *
 	 * @return the list of window systems known to the system
 	 * XXX This is useless
 	 */
@@ -628,7 +625,7 @@
 	}
 
 	/**
-	 * Notifies all listeners of the platform log.  This includes the console log, if 
+	 * Notifies all listeners of the platform log.  This includes the console log, if
 	 * used, and the platform log file.  All Plugin log messages get funnelled
 	 * through here as well.
 	 */
@@ -650,7 +647,7 @@
 			// look for the keyring file
 			if (args[i - 1].equalsIgnoreCase(KEYRING))
 				keyringFile = arg;
-			// look for the user password.  
+			// look for the user password.
 			if (args[i - 1].equalsIgnoreCase(PASSWORD))
 				password = arg;
 		}
@@ -698,7 +695,7 @@
 	/**
 	 * Internal method for starting up the platform.  The platform is not started with any location
 	 * and should not try to access the instance data area.
-	 * 
+	 *
 	 * Note: the content type manager must be initialized only after the registry has been created
 	 */
 	public void start(BundleContext runtimeContext) {
@@ -712,8 +709,8 @@
 		initializeAuthorizationHandler();
 		startServices();
 
-		// See if need to activate rest of the runtime plugins. Plugins are "gently" activated by touching 
-		// a class from the corresponding plugin(s). 
+		// See if need to activate rest of the runtime plugins. Plugins are "gently" activated by touching
+		// a class from the corresponding plugin(s).
 		boolean shouldActivate = !"false".equalsIgnoreCase(context.getProperty(PROP_ACTIVATE_PLUGINS)); //$NON-NLS-1$
 		if (shouldActivate) {
 			// activate Preferences plugin by creating a class from it:
@@ -745,7 +742,7 @@
 		}
 		instanceLocation = new ServiceTracker<Location,Location>(context, filter, null);
 		instanceLocation.open();
-		
+
 		try {
 			filter = context.createFilter(Location.USER_FILTER);
 		} catch (InvalidSyntaxException e) {
@@ -753,7 +750,7 @@
 		}
 		userLocation = new ServiceTracker<Location,Location>(context, filter, null);
 		userLocation.open();
-		
+
 		try {
 			filter = context.createFilter(Location.CONFIGURATION_FILTER);
 		} catch (InvalidSyntaxException e) {
@@ -761,7 +758,7 @@
 		}
 		configurationLocation = new ServiceTracker<Location,Location>(context, filter, null);
 		configurationLocation.open();
-		
+
 		try {
 			filter = context.createFilter(Location.INSTALL_FILTER);
 		} catch (InvalidSyntaxException e) {
@@ -769,27 +766,27 @@
 		}
 		installLocation = new ServiceTracker<Location,Location>(context, filter, null);
 		installLocation.open();
-		
+
 		if (context != null) {
 			logTracker = new ServiceTracker<FrameworkLog,FrameworkLog>(context, FrameworkLog.class, null);
 			logTracker.open();
 		}
-		
+
 		if (context != null) {
 			bundleTracker = new ServiceTracker<PackageAdmin,PackageAdmin>(context, PackageAdmin.class, null);
 			bundleTracker.open();
 		}
-		
+
 		if (context != null) {
 			contentTracker = new ServiceTracker<IContentTypeManager,IContentTypeManager>(context, IContentTypeManager.class, null);
 			contentTracker.open();
 		}
-		
+
 		if (context != null) {
 			preferencesTracker = new ServiceTracker<IPreferencesService,IPreferencesService>(context, IPreferencesService.class, null);
 			preferencesTracker.open();
 		}
-		
+
 		try {
 			filter = context.createFilter("(objectClass=" + IBundleGroupProvider.class.getName() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
 		} catch (InvalidSyntaxException e) {
@@ -797,13 +794,13 @@
 		}
 		groupProviderTracker = new ServiceTracker<IBundleGroupProvider,IBundleGroupProvider>(context, filter, null);
 		groupProviderTracker.open();
-		
+
 		logReaderTracker = new ServiceTracker<ExtendedLogReaderService,ExtendedLogReaderService>(context, ExtendedLogReaderService.class.getName(), null);
 		logReaderTracker.open();
-		
+
 		extendedLogTracker = new ServiceTracker<ExtendedLogService,ExtendedLogService>(context, ExtendedLogService.class, null);
 		extendedLogTracker.open();
-		
+
 		environmentTracker = new ServiceTracker<EnvironmentInfo,EnvironmentInfo>(context, EnvironmentInfo.class, null);
 		environmentTracker.open();
 
@@ -813,7 +810,7 @@
 
 	private void startServices() {
 		// The check for getProduct() is relatively expensive (about 3% of the headless startup),
-		// so we don't want to enforce it here. 
+		// so we don't want to enforce it here.
 		customPreferencesService = context.registerService(IProductPreferencesService.class, new ProductPreferencesService(), new Hashtable<String,String>());
 
 		// Only register this interface if compatibility is installed - the check for a bundle presence
@@ -897,7 +894,7 @@
 	}
 
 	/**
-	 * Print a debug message to the console. 
+	 * Print a debug message to the console.
 	 * Pre-pend the message with the current date and the name of the current thread.
 	 */
 	public static void message(String message) {
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
index cf86417..482b8eb 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
@@ -18,7 +18,7 @@
 import org.osgi.service.log.LogEntry;
 
 /**
- * 
+ *
  */
 public class Log implements ILog, SynchronousLogListener, LogFilter {
 	final Bundle bundle;
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Messages.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Messages.java
index 1007024..3265dd9 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Messages.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/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 - Initial API and implementation
  *******************************************************************************/
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PerformanceStatsProcessor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PerformanceStatsProcessor.java
index 40ca066..d890fce 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PerformanceStatsProcessor.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PerformanceStatsProcessor.java
@@ -4,7 +4,7 @@
  * are made available under the terms of 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
  *******************************************************************************/
@@ -56,7 +56,7 @@
 
 	/**
 	 * Records the fact that an event occurred.
-	 * 
+	 *
 	 * @param stats The event that occurred
 	 */
 	public static void changed(PerformanceStats stats) {
@@ -68,7 +68,7 @@
 
 	/**
 	 * Records the fact that an event failed.
-	 * 
+	 *
 	 * @param stats The event that occurred
 	 * @param pluginId The id of the plugin that declared the blame object, or
 	 * <code>null</code>
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformActivator.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformActivator.java
index 20077dd..a6f9b6d 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformActivator.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformActivator.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Julian Chen - fix for bug #92572, jclRM
@@ -37,7 +37,7 @@
 
 	@Override
 	public void stop(BundleContext runtimeContext) {
-		// Stop the platform orderly.		
+		// Stop the platform orderly.
 		InternalPlatform.getDefault().stop(runtimeContext);
 		InternalPlatform.getDefault().setRuntimeInstance(null);
 	}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
index 8f46632..58136d9 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
@@ -16,43 +16,43 @@
 /**
  * A runtime library declared in a plug-in.  Libraries contribute elements to the search path.
  * These contributions are specified as a path to a directory or Jar file.  This path is always
- * considered to be relative to the containing plug-in.  
+ * considered to be relative to the containing plug-in.
  * <p>
  * Libraries are typed.  The type is used to determine to which search path the library's
  * contribution should be added.  The valid types are: <code>CODE</code> and
- * <code>RESOURCE</code>.  
+ * <code>RESOURCE</code>.
  * </p>
- * 
+ *
  * @see IPluginDescriptor#getRuntimeLibraries()
- * @deprecated 
- * In Eclipse 3.0 the plug-in classpath representation was changed.  Clients of 
+ * @deprecated
+ * In Eclipse 3.0 the plug-in classpath representation was changed.  Clients of
  * <code>ILibrary</code> are directed to the headers associated with the relevant bundle.
  * In particular, the <code>Bundle-Classpath</code> header contains all available information
  * about the classpath of a plug-in.  Having retrieved the header, the {@link ManifestElement}
- * helper class can be used to parse the value and discover the individual 
+ * helper class can be used to parse the value and discover the individual
  * class path entries.  The various header attributes are defined in {@link Constants}.
- * <p>For example, 
+ * <p>For example,
  * <pre>
  *     String header = bundle.getHeaders().get(Constants.BUNDLE_CLASSPATH);
  *     ManifestElement[] elements = ManifestElement.parseHeader(
  *         Constants.BUNDLE_CLASSPATH, header);
- *     if (elements == null) 
+ *     if (elements == null)
  *         return;
  *     elements[0].getValue();   // the jar/dir containing the code
  *     ...
  * </pre>
  * </p><p>
- * Note that this new structure does not include information on 
- * which packages are exported or present in the listed classpath entries. This 
+ * Note that this new structure does not include information on
+ * which packages are exported or present in the listed classpath entries. This
  * information is no longer relevant.
  * </p><p>
- * See {@link IPluginDescriptor} for information on the relationship between plug-in 
+ * See {@link IPluginDescriptor} for information on the relationship between plug-in
  * descriptors and bundles.
  * </p><p>
- * This interface must only be used by plug-ins 
+ * This interface must only be used by plug-ins
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  */
 @Deprecated
@@ -83,7 +83,7 @@
 	 * (no filtering).
 	 *
 	 * @return the content filters, or <code>null</code> if none
-	 * @deprecated As of Eclipse 3.0 content filters are obsolete.  
+	 * @deprecated As of Eclipse 3.0 content filters are obsolete.
 	 * There is no replacement.
 	 */
 	@Deprecated
@@ -95,9 +95,9 @@
 	 *
 	 * @return the path of the library
 	 * @see IPluginDescriptor#getInstallURL()
-	 * @deprecated 
+	 * @deprecated
 	 * Given a manifest element corresponding to a classpath entry, the path
-	 * for the entry can be accessed by getting the value of the manifest element.  
+	 * for the entry can be accessed by getting the value of the manifest element.
 	 * For example,
 	 * <pre>
 	 *     element.getValue();   // the jar/dir containing the code
@@ -146,9 +146,9 @@
 	public boolean isFullyExported();
 
 	/**
-	 * Returns the array of package prefixes that this library declares. This 
+	 * Returns the array of package prefixes that this library declares. This
 	 * is used in classloader enhancements and is an optional entry in the plugin.xml.
-	 * 
+	 *
 	 * @return the array of package prefixes or <code>null</code>
 	 * @since 2.1
 	 * @deprecated As of Eclipse 3.0 package prefix filtering is obsolete.
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
index 03a198d..e330aaa 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
@@ -20,7 +20,7 @@
  * XXX Need to create a new log interface on common plugin. That interface should be a super interface of this ILog.
  * getBundle() would stay here. In the super interface we would have getName()
  * </p>
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  */
 public interface ILog {
@@ -52,7 +52,7 @@
 
 	/**
 	 * Removes the given log listener to this log.  Subsequently the log listener will
-	 * no longer receive notification of log events passing through this log.  
+	 * no longer receive notification of log events passing through this log.
 	 * This method has no effect if the identical listener is not registered on this log.
 	 *
 	 * @param listener the listener to remove
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPlatformRunnable.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPlatformRunnable.java
index e4bbc52..564d874 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPlatformRunnable.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPlatformRunnable.java
@@ -4,7 +4,7 @@
  *  are made available under the terms of the Eclipse Public License v1.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,15 +13,15 @@
 import org.eclipse.equinox.app.IApplication;
 
 /**
- * Bootstrap type for the platform. Platform runnables represent executable 
+ * Bootstrap type for the platform. Platform runnables represent executable
  * entry points into plug-ins.  Runnables can be configured into the Platform's
- * <code>org.eclipse.core.runtime.applications</code> extension-point 
+ * <code>org.eclipse.core.runtime.applications</code> extension-point
  * or be made available through code or extensions on other plug-in's extension-points.
  *
  * <p>
  * Clients may implement this interface.
  * </p>
- * 
+ *
  * @since 3.0
  * @deprecated use {@link IApplication}
  */
@@ -43,7 +43,7 @@
 	/**
 	 * Exit object requesting that the command passed back be executed.  Typically
 	 * this is used to relaunch Eclipse with different command line arguments. When the executable is
-	 * relaunched the command line will be retrieved from the <code>eclipse.exitdata</code> system property.  
+	 * relaunched the command line will be retrieved from the <code>eclipse.exitdata</code> system property.
 	 */
 	@Deprecated
 	public static final Integer EXIT_RELAUNCH = new Integer(24);
@@ -54,7 +54,7 @@
 	 * the runnable being invoked.  Typically this is a <code>String</code> array.
 	 * Applications can return any object they like.  If an <code>Integer</code> is returned
 	 * it is treated as the program exit code if Eclipse is exiting.
-	 * 
+	 *
 	 * @param args the argument(s) to pass to the application
 	 * @return the return value of the application
 	 * @exception Exception if there is a problem running this runnable.
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
index 7d38495..df0353d 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
@@ -19,51 +19,51 @@
  * <p>
  * Plug-in descriptors are platform-defined objects that exist
  * in the plug-in registry independent of whether a plug-in has
- * been started. In contrast, a plug-in's runtime object 
+ * been started. In contrast, a plug-in's runtime object
  * (<code>getPlugin</code>) generally runs plug-in-defined code.
  * </p>
- * 
- * @deprecated 
+ *
+ * @deprecated
  * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
- * Most of the functionality has moved to {@link Platform} and the 
- * plug-in descriptor has been replaced with the OSGi <code>Bundle</code> 
+ * Most of the functionality has moved to {@link Platform} and the
+ * plug-in descriptor has been replaced with the OSGi <code>Bundle</code>
  * object.
  * <p>
- * This interface must only be used by plug-ins 
+ * This interface must only be used by plug-ins
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
  * <p>
  * For most uses the bundle object can be treated as an opaque token
- * representing your plug-in to the system -- It must be supplied to various 
+ * representing your plug-in to the system -- It must be supplied to various
  * <code>Platform</code> methods but need not be interrogated itself.
- * There are a small number of plug-in descriptor method equivalents 
+ * There are a small number of plug-in descriptor method equivalents
  * supplied by <code>Bundle</code> itself.  The details are spelled out
  * in the comments on each <code>IPluginDescriptor</code> method.
  * </p>
  * <p>
- * Clients of this interface have a reference to an <code>IPluginDescriptor</code> 
+ * Clients of this interface have a reference to an <code>IPluginDescriptor</code>
  * corresponding to a plug-in.  To adapt to the deprecation, the bundle corresponding
  * to the plug-in generally needs to be acquired. There are several cases:
  * <ul>
- * <li>the descriptor was discovered using methods such as 
- * <code>IPluginRegistry.getPluginDescriptor()</code>.  The code should be 
- * updated to use one of the bundle discovery mechanisms such as 
+ * <li>the descriptor was discovered using methods such as
+ * <code>IPluginRegistry.getPluginDescriptor()</code>.  The code should be
+ * updated to use one of the bundle discovery mechanisms such as
  * <code>Platform.getBundle()</code>.
  * </li>
  * <li>the descriptor is from the plug-in itself.  The code should be updated to
  * use the plug-in's bundle instead.
  * </li>
- * <li>the descriptor is supplied by a third party.  The plug-in writer must 
+ * <li>the descriptor is supplied by a third party.  The plug-in writer must
  * cooperate with that party to obtain a bundle rather than a descriptor.
  * </li>
  * </ul>
  * </p>
  * <p>
  * The resulting bundle object can be used
- * to carry out the adaptation steps outlined for each of the 
+ * to carry out the adaptation steps outlined for each of the
  * <code>IPluginDescriptor</code> methods.
  * </p>
- * 
+ *
  * @see #getPlugin()
  * @noimplement This interface is not intended to be implemented by clients.
  */
@@ -77,10 +77,10 @@
 	 *
 	 * @param extensionName the simple identifier of the extension (e.g. <code>"main"</code>).
 	 * @return the extension, or <code>null</code>
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.getExtensionRegistry().getExtension(id + "." + extensionName) 
+	 *     Platform.getExtensionRegistry().getExtension(id + "." + extensionName)
 	 * </pre>
 	 * where <code>id</code> is the plug-in id.
 	 */
@@ -93,10 +93,10 @@
 	 *
 	 * @param extensionPointId the simple identifier of the extension point (e.g. <code>"wizard"</code>).
 	 * @return the extension point, or <code>null</code>
-	 * @deprecated  
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.getExtensionRegistry().getExtensionPoint(id, extensionPointId) 
+	 *     Platform.getExtensionRegistry().getExtensionPoint(id, extensionPointId)
 	 * </pre>
 	 * where <code>id</code> is the plug-in id.
 	 */
@@ -108,10 +108,10 @@
 	 * Returns an empty array if this plug-in does not declare any extension points.
 	 *
 	 * @return the extension points declared by this plug-in
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.getExtensionRegistry().getExtensionPoints(id) 
+	 *     Platform.getExtensionRegistry().getExtensionPoints(id)
 	 * </pre>
 	 * where <code>id</code> is the plug-in id.
 	 */
@@ -123,10 +123,10 @@
 	 * Returns an empty array if this plug-in does not declare any extensions.
 	 *
 	 * @return the extensions declared by this plug-in
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.getExtensionRegistry().getExtensions(id) 
+	 *     Platform.getExtensionRegistry().getExtensions(id)
 	 * </pre>
 	 * where <code>id</code> is the plug-in id.
 	 */
@@ -134,22 +134,22 @@
 	public IExtension[] getExtensions();
 
 	/**
-	 * Returns the URL of this plug-in's install directory. 
+	 * Returns the URL of this plug-in's install directory.
 	 * This is the directory containing
 	 * the plug-in manifest file, resource bundle, runtime libraries,
 	 * and any other files supplied with this plug-in. This directory is usually
-	 * read-only. Plug-in relative information should be written to the location 
+	 * read-only. Plug-in relative information should be written to the location
 	 * provided by <code>Plugin.getStateLocation</code>.
 	 *
 	 * @return the URL of this plug-in's install directory
 	 * @see #getPlugin()
 	 * @see Plugin#getStateLocation()
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     bundle.getEntry("/");
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in or simply use the <code>getEntry</code> API
 	 * to construct the desired URL.
 	 */
@@ -167,12 +167,12 @@
 	 * @return a displayable string label for this plug-in,
 	 *    possibly the empty string
 	 * @see #getResourceString(String)
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME) 
+	 *     bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_NAME)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -188,20 +188,20 @@
 	 * is an internally-supplied one that does not react to life cycle requests.
 	 *
 	 * @return the plug-in runtime object
-	 * @exception CoreException 
+	 * @exception CoreException
 	 *   if this plug-in's runtime object could not be created.
 	 * @see #isPluginActivated()
-	 * @deprecated 
+	 * @deprecated
 	 * In Eclipse 3.0 plug-in runtime objects are not globally managed and
 	 * so are not generically accessible.  Rather, each plug-in is free to declare
 	 * API which exposes the plug-in runtime object (e.g., <code>MyPlugin.getInstance()</code>).
-	 * 
+	 *
 	 * If this method is being used to activate a plug-in then the following code is
 	 * equivalent:
 	 * <pre>
 	 *     bundle.start()
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -211,9 +211,9 @@
 	 * Returns the plug-in class loader used to load classes and resources
 	 * for this plug-in. The class loader can be used to directly access
 	 * plug-in resources and classes. Note that accessing a resource will
-	 * <b>not activate</b> the corresponding plug-in. Successfully loading 
+	 * <b>not activate</b> the corresponding plug-in. Successfully loading
 	 * a class will <b>always activate</b> the corresponding plug-in.
-	 * <p> 
+	 * <p>
 	 * The following examples illustrate the direct use of the plug-in class
 	 * loader and its effect on plug-in activation (example ignores error
 	 * handling).
@@ -236,7 +236,7 @@
 	 *     // on the bundle implementation. If implemented as a class, the plug-in
 	 *     // will be activated. If implemented as a properties file, the plug-in will
 	 *     // not be activated.
-	 *     ResourceBundle b = 
+	 *     ResourceBundle b =
 	 *         ResourceBundle.getBundle("bundle", Locale.getDefault(), loader);
 	 * </pre>
 	 *
@@ -244,12 +244,12 @@
 	 * @see IConfigurationElement#createExecutableExtension(String)
 	 * @see #isPluginActivated()
 	 * @see #getResourceBundle()
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     bundle.loadClass(className)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -261,8 +261,8 @@
 	 *
 	 * @return an array of plug-in prerequisites, or an empty array
 	 * if no prerequisites were specified
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     import org.eclipse.osgi.util.ManifestElement;
 	 *     import org.osgi.framework.Constants;
@@ -270,7 +270,7 @@
 	 *     String requires = (String)bundle.getHeaders().get(Constants.REQUIRE_BUNDLE);
 	 *     ManifestElement[] elements = ManifestElement.parseHeader(Constants.REQUIRE_BUNDLE, requires);
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.  The resultant elements array contains one
 	 * entry for each required plug-in.
 	 */
@@ -279,7 +279,7 @@
 
 	/**
 	 * Returns the name of the provider of this plug-in.
-	 * Returns the empty string if no provider name is specified in 
+	 * Returns the empty string if no provider name is specified in
 	 * the plug-in manifest file.
 	 * <p> Note that any translation specified in the plug-in manifest
 	 * file is automatically applied.
@@ -287,20 +287,20 @@
 	 * @return the name of the provider, possibly the empty string
 	 * @see #getResourceString(String)
 	 * @deprecated
-	 * Use 
+	 * Use
 	 * <pre>
-	 *     bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VENDOR) 
+	 *     bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VENDOR)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
 	public String getProviderName();
 
 	/**
-	 * Returns this plug-in's resource bundle for the current locale. 
+	 * Returns this plug-in's resource bundle for the current locale.
 	 * <p>
-	 * The bundle is stored as the <code>plugin.properties</code> file 
+	 * The bundle is stored as the <code>plugin.properties</code> file
 	 * in the plug-in install directory, and contains any translatable
 	 * strings used in the plug-in manifest file (<code>plugin.xml</code>)
 	 * along with other resource strings used by the plug-in implementation.
@@ -308,12 +308,12 @@
 	 *
 	 * @return the resource bundle
 	 * @exception MissingResourceException if the resource bundle was not found
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     Platform.getResourceBundle(bundle)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -325,7 +325,7 @@
 	 * is looked up in the default resource bundle. If the argument does not
 	 * specify a valid key, the argument itself is returned as the
 	 * resource string. The key lookup is performed in the
-	 * plugin.properties resource bundle. If a resource string 
+	 * plugin.properties resource bundle. If a resource string
 	 * corresponding to the key is not found in the resource bundle
 	 * the key value, or any default text following the key in the
 	 * argument value is returned as the resource string.
@@ -339,25 +339,25 @@
 	 * @param value the value
 	 * @return the resource string
 	 * @see #getResourceBundle()
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     Platform.getResourceString(bundle, value)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
 	public String getResourceString(String value);
 
 	/**
-	 * Returns a resource string corresponding to the given argument 
+	 * Returns a resource string corresponding to the given argument
 	 * value and bundle.
 	 * If the argument value specifies a resource key, the string
 	 * is looked up in the given resource bundle. If the argument does not
 	 * specify a valid key, the argument itself is returned as the
 	 * resource string. The key lookup is performed against the
-	 * specified resource bundle. If a resource string 
+	 * specified resource bundle. If a resource string
 	 * corresponding to the key is not found in the resource bundle
 	 * the key value, or any default text following the key in the
 	 * argument value is returned as the resource string.
@@ -381,12 +381,12 @@
 	 * @param resourceBundle the resource bundle
 	 * @return the resource string
 	 * @see #getResourceBundle()
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.getResourceString(bundle, value, resourceBundle) 
+	 *     Platform.getResourceString(bundle, value, resourceBundle)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -397,8 +397,8 @@
 	 * Returns an empty array if this plug-in has no runtime libraries.
 	 *
 	 * @return the runtime libraries declared by this plug-in
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     import org.eclipse.osgi.util.ManifestElement;
 	 *     import org.osgi.framework.Constants;
@@ -406,7 +406,7 @@
 	 *     String requires = (String)bundle.getHeaders().get(Constants.BUNDLE_CLASSPATH);
 	 *     ManifestElement[] elements = ManifestElement.parseHeader(Constants.BUNDLE_CLASSPATH, requires);
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.  The resultant elements array contains one
 	 * entry for each entry on the bundle's classpath..
 	 */
@@ -415,16 +415,16 @@
 
 	/**
 	 * Returns the unique identifier of this plug-in.
-	 * This identifier is a non-empty string and is unique 
+	 * This identifier is a non-empty string and is unique
 	 * within the plug-in registry.
 	 *
 	 * @return the unique identifier of the plug-in (e.g. <code>"org.eclipse.core.runtime"</code>)
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     bundle.getSymbolicName() 
+	 *     bundle.getSymbolicName()
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -434,13 +434,13 @@
 	 * Returns the version identifier of this plug-in.
 	 *
 	 * @return the plug-in version identifier
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
 	 *     String version = (String) bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);
-	 *     new PluginVersionIdentifier(version); 
+	 *     new PluginVersionIdentifier(version);
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -454,12 +454,12 @@
 	 * @return <code>true</code> if this plug-in is activated, and
 	 *   <code>false</code> otherwise
 	 * @see #getPlugin()
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     bundle.getState == org.osgi.framework.Bundle.ACTIVE 
+	 *     bundle.getState == org.osgi.framework.Bundle.ACTIVE
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -468,18 +468,18 @@
 	/**
 	 * Returns a URL for the given path.  Returns <code>null</code> if the URL
 	 * could not be computed or created.
-	 * 
-	 * @param path path relative to plug-in installation location 
+	 *
+	 * @param path path relative to plug-in installation location
 	 * @return a URL for the given path or <code>null</code>  It is not
 	 * necessary to perform a 'resolve' on this URL.
-	 * 
+	 *
 	 * @since 2.0
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.find(bundle, file) 
+	 *     Platform.find(bundle, file)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
@@ -488,19 +488,19 @@
 	/**
 	 * Returns a URL for the given path.  Returns <code>null</code> if the URL
 	 * could not be computed or created.
-	 * 
+	 *
 	 * find will look for this path under the directory structure for this plugin
 	 * and any of its fragments.  If this path will yield a result outside the
 	 * scope of this plugin, <code>null</code> will be returned.  Note that
 	 * there is no specific order to the fragments.
-	 * 
+	 *
 	 * The following arguments may also be used
-	 * 
+	 *
 	 *  $nl$ - for language specific information
 	 *  $os$ - for operating system specific information
 	 *  $ws$ - for windowing system specific information
-	 * 
-	 * A path of $nl$/about.properties in an environment with a default 
+	 *
+	 * A path of $nl$/about.properties in an environment with a default
 	 * locale of en_CA will return a URL corresponding to the first place
 	 * about.properties is found according to the following order:
 	 *   plugin root/nl/en/CA/about.properties
@@ -515,10 +515,10 @@
 	 *   fragment1 root/about.properties
 	 *   fragment2 root/about.properties
 	 *   ...
-	 * 
+	 *
 	 * If a locale other than the default locale is desired, use an
 	 * override map.
-	 * 
+	 *
 	 * @param path file path relative to plug-in installation location
 	 * @param override map of override substitution arguments to be used for
 	 * any $arg$ path elements. The map keys correspond to the substitution
@@ -528,14 +528,14 @@
 	 * is used.
 	 * @return a URL for the given path or <code>null</code>.  It is not
 	 * necessary to perform a 'resolve' on this URL.
-	 * 
+	 *
 	 * @since 2.0
-	 * @deprecated 
-	 * Use 
+	 * @deprecated
+	 * Use
 	 * <pre>
-	 *     Platform.find(bundle, path, override) 
+	 *     Platform.find(bundle, path, override)
 	 * </pre>
-	 * where <code>bundle</code> is the bundle associated with 
+	 * where <code>bundle</code> is the bundle associated with
 	 * the relevant plug-in.
 	 */
 	@Deprecated
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
index 26b93ff..de29a7d 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
@@ -20,31 +20,31 @@
  * to the plug-in that declared the dependency.
  *
  * @see IPluginDescriptor#getPluginPrerequisites()
- * @deprecated 
- * In Eclipse 3.0 the plug-in prerequisite representation was changed.  Clients of 
+ * @deprecated
+ * In Eclipse 3.0 the plug-in prerequisite representation was changed.  Clients of
  * <code>IPluginPrerequisite</code> are directed to the headers associated with the relevant bundle.
  * In particular, the <code>Require-Bundle</code> header contains all available information
  * about the prerequisites of a plug-in.  Having retrieved the header, the {@link ManifestElement}
- * helper class can be used to parse the value and discover the individual 
+ * helper class can be used to parse the value and discover the individual
  * prerequisite plug-ins.  The various header attributes are defined in {@link Constants}.
- * <p>For example, 
+ * <p>For example,
  * <pre>    String header = bundle.getHeaders().get(Constants.REQUIRE_BUNDLE);
  *     ManifestElement[] elements = ManifestElement.parseHeader(
  *         Constants.REQUIRE_BUNDLE, header);
- *     if (elements == null) 
+ *     if (elements == null)
  *         return;
  *     elements[0].getValue();   // the prerequisite plug-in id
  *     elements[0].getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);   // the prerequisite plug-in version
  *     ...
  * </pre>
  * </p><p>
- * See {@link IPluginDescriptor} for information on the relationship between plug-in 
+ * See {@link IPluginDescriptor} for information on the relationship between plug-in
  * descriptors and bundles.
  * </p><p>
- * This interface must only be used by plug-ins 
+ * This interface must only be used by plug-ins
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  */
 @Deprecated
@@ -53,10 +53,10 @@
 	 * Returns the actual version identifier that is used
 	 * at runtime to resolve this prerequisite dependency,
 	 * or null, if the dependency is not resolved.
-	 * 
+	 *
 	 * @return the plug-in version identifier, or null
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -69,9 +69,9 @@
 
 	/**
 	 * Returns the plug-in identifier of the prerequisite plug-in.
-	 * 
+	 *
 	 * @return the plug-in identifier
-	 * @deprecated Given a manifest element equivalent of a plug-in 
+	 * @deprecated Given a manifest element equivalent of a plug-in
 	 * prerequisite (see the class comment), this method is replaced by:
 	 * <pre>
 	 *     element.getValue();
@@ -83,11 +83,11 @@
 	/**
 	 * Returns the version identifier of the prerequisite plug-in,
 	 * or <code>null</code> if none.
-	 * 
-	 * @return the plug-in version identifier, or <code>null</code> if 
+	 *
+	 * @return the plug-in version identifier, or <code>null</code> if
 	 *    none was specified
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -102,14 +102,14 @@
 	 * Indicates whether this prerequisite plug-in is further exposed to any
 	 * plug-ins that declare a dependency on this plug-in. This allows
 	 * for chaining of dependencies. For example, if plug-in A depends
-	 * on plug-in B which depends on plug-in C, the classes from C 
-	 * are typically visible to B, but not to A.  A can get around this 
-	 * if either B explicitly exports its dependency on C, or 
+	 * on plug-in B which depends on plug-in C, the classes from C
+	 * are typically visible to B, but not to A.  A can get around this
+	 * if either B explicitly exports its dependency on C, or
 	 * A explicitly declares C as a prerequisite in addition to B.
-	 * 
+	 *
 	 * @return <code>true</code> if this prerequisite plug-in is exposed,
 	 *    <code>false</code> otherwise
-	 * @deprecated Given a manifest element equivalent of a plug-in 
+	 * @deprecated Given a manifest element equivalent of a plug-in
 	 * prerequisite (see the class comment), this method is replaced by:
 	 * <pre>
 	 *     element.getAttribute(Constants.REPROVIDE_ATTRIBUTE);
@@ -127,7 +127,7 @@
 	 *   <code>false</code> otherwise.
 	 * @since 2.0
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -152,7 +152,7 @@
 	 * @return <code>true</code> if compatible match is allowed,
 	 *   <code>false</code> if exact match is required.
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -166,7 +166,7 @@
 	 *         return false;
 	 *     else if (minimum.getMajorComponent() == maximum.getMajorComponent() - 1)
 	 *         return true;
-	 *     return false;	
+	 *     return false;
 	 * </pre>
 	 */
 	@Deprecated
@@ -174,14 +174,14 @@
 
 	/**
 	 * Indicates that this plug-in prerequisite can only be resolved
-	 * against a configured plug-in with an equivalent plug-in 
+	 * against a configured plug-in with an equivalent plug-in
 	 * identifier.
 	 *
 	 * @return <code>true</code> if only equivalent identifier match
 	 * satisfies this dependency, <code>false</code> otherwise.
 	 * @since 2.0
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -215,7 +215,7 @@
 	 * <code>false</code> otherwise.
 	 * @since 2.0
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -235,14 +235,14 @@
 
 	/**
 	 * Indicates that this plug-in prerequisite can only be resolved
-	 * against a configured plug-in with exactly the same plug-in 
+	 * against a configured plug-in with exactly the same plug-in
 	 * identifier.
 	 *
 	 * @return <code>true</code> if only exact identifier match
 	 * satisfies this dependency, <code>false</code> if compatible
 	 * plug-in will satisfy this dependency.
 	 * @deprecated Callers of this method should interrogate the current {@link State}
-	 * of the platform.  For example, 
+	 * of the platform.  For example,
 	 * <pre>
 	 *     State state = Platform.getPlatformAdmin().getState();
 	 *     BundleDescription bundle = state.getBundle("my plug-in id", my plug-in version);
@@ -268,10 +268,10 @@
 
 	/**
 	 * Indicates whether this plug-in prerequisite is optional.  If a required (i.e., non-optional)
-	 * prerequisite is missing, this plugin is disabled.  
+	 * prerequisite is missing, this plugin is disabled.
 	 *
 	 * @return <code>true</code> if this prerequisite is optional, <code>false</code> otherwise
-	 * @deprecated Given a manifest element equivalent of a plug-in 
+	 * @deprecated Given a manifest element equivalent of a plug-in
 	 * prerequisite (see the class comment), this method is replaced by:
 	 * <pre>
 	 *     "true".equals(element.getAttribute(Constants.OPTIONAL_ATTRIBUTE);
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
index 514588a..15d6ebe 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
@@ -14,31 +14,31 @@
  * The plug-in registry holds the master list of all
  * discovered plug-ins, extension points, and extensions.
  * <p>
- * The plug-in registry can be queried, by name, for 
+ * The plug-in registry can be queried, by name, for
  * plug-ins, extension points, and extensions.
  * </p>
- * 
- * @deprecated 
+ *
+ * @deprecated
  * The plug-in registry has been generalized in Eclipse 3.0.  It is now the
  * {@link IExtensionRegistry}.  Most of the <code>IPluginRegistry</code> function
  * is directly supported on the new interface without change.  Most clients
  * of <code>IPluginRegistry</code> need only to change their references to use
- * <code>IExtensionRegistry</code>.  The only exceptions are 
+ * <code>IExtensionRegistry</code>.  The only exceptions are
  * methods that return <code>IPluginDescriptor</code>s.  See the relevant method
  * comments for details.
  * <p>
- * This interface must only be used by plug-ins 
+ * This interface must only be used by plug-ins
  * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
  * </p>
- * 
+ *
  * @noimplement This interface is not intended to be implemented by clients.
  */
 @Deprecated
 public interface IPluginRegistry {
 	/**
 	 * Returns all configuration elements from all extensions configured
-	 * into the identified extension point. Returns an empty array if the extension 
-	 * point does not exist, has no extensions configured, or none of the extensions 
+	 * into the identified extension point. Returns an empty array if the extension
+	 * point does not exist, has no extensions configured, or none of the extensions
 	 * contain configuration elements.
 	 *
 	 * @param extensionPointId the unique identifier of the extension point
@@ -51,13 +51,13 @@
 
 	/**
 	 * Returns all configuration elements from all extensions configured
-	 * into the identified extension point. Returns an empty array if the extension 
-	 * point does not exist, has no extensions configured, or none of the extensions 
+	 * into the identified extension point. Returns an empty array if the extension
+	 * point does not exist, has no extensions configured, or none of the extensions
 	 * contain configuration elements.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"org.eclipse.core.resources"</code>)
-	 * @param extensionPointName the simple identifier of the 
+	 * @param extensionPointName the simple identifier of the
 	 *		extension point (e.g. <code>"builders"</code>)
 	 * @return the configuration elements
 	 * @deprecated Replaced by {@link IExtensionRegistry#getConfigurationElementsFor(String, String)}.
@@ -67,14 +67,14 @@
 
 	/**
 	 * Returns all configuration elements from the identified extension.
-	 * Returns an empty array if the extension does not exist or 
+	 * Returns an empty array if the extension does not exist or
 	 * contains no configuration elements.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"org.eclipse.core.resources"</code>)
-	 * @param extensionPointName the simple identifier of the 
+	 * @param extensionPointName the simple identifier of the
 	 *		extension point (e.g. <code>"builders"</code>)
-	 * @param extensionId the unique identifier of the extension 
+	 * @param extensionId the unique identifier of the extension
 	 *		(e.g. <code>"com.example.acme.coolbuilder</code>)
 	 * @return the configuration elements
 	 * @deprecated Replaced by {@link IExtensionRegistry#getConfigurationElementsFor(String, String, String)}.
@@ -83,14 +83,14 @@
 	public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String extensionPointName, String extensionId);
 
 	/**
-	 * Returns the specified extension in this plug-in registry, 
+	 * Returns the specified extension in this plug-in registry,
 	 * or <code>null</code> if there is no such extension.
 	 * The first parameter identifies the extension point, and the second
 	 * parameter identifies an extension plugged in to that extension point.
 	 *
 	 * @param extensionPointId the unique identifier of the extension point
 	 *		(e.g. <code>"org.eclipse.core.resources.builders"</code>)
-	 * @param extensionId the unique identifier of the extension 
+	 * @param extensionId the unique identifier of the extension
 	 *		(e.g. <code>"com.example.acme.coolbuilder"</code>)
 	 * @return the extension, or <code>null</code>
 	 * @deprecated Replaced by {@link IExtensionRegistry#getExtension(String, String)}.
@@ -99,16 +99,16 @@
 	public IExtension getExtension(String extensionPointId, String extensionId);
 
 	/**
-	 * Returns the specified extension in this plug-in registry, 
+	 * Returns the specified extension in this plug-in registry,
 	 * or <code>null</code> if there is no such extension.
 	 * The first two parameters identify the extension point, and the third
 	 * parameter identifies an extension plugged in to that extension point.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"org.eclipse.core.resources"</code>)
-	 * @param extensionPointName the simple identifier of the 
+	 * @param extensionPointName the simple identifier of the
 	 *		extension point (e.g. <code>"builders"</code>)
-	 * @param extensionId the unique identifier of the extension 
+	 * @param extensionId the unique identifier of the extension
 	 *		(e.g. <code>"com.example.acme.coolbuilder"</code>)
 	 * @return the extension, or <code>null</code>
 	 * @deprecated Replaced by {@link IExtensionRegistry#getExtension(String, String, String)}.
@@ -121,7 +121,7 @@
 	 * in this plug-in registry, or <code>null</code> if there is no such
 	 * extension point.
 	 *
-	 * @param extensionPointId the unique identifier of the extension point 
+	 * @param extensionPointId the unique identifier of the extension point
 	 *    (e.g., <code>"org.eclipse.core.resources.builders"</code>)
 	 * @return the extension point, or <code>null</code>
 	 * @deprecated Replaced by {@link IExtensionRegistry#getExtensionPoint(String)}.
@@ -134,9 +134,9 @@
 	 * with the given plug-in identifier and extension point simple identifier,
 	 * or <code>null</code> if there is no such extension point.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"org.eclipse.core.resources"</code>)
-	 * @param extensionPointName the simple identifier of the 
+	 * @param extensionPointName the simple identifier of the
 	 *		extension point (e.g. <code>" builders"</code>)
 	 * @return the extension point, or <code>null</code>
 	 * @deprecated Replaced by {@link IExtensionRegistry#getExtensionPoint(String, String)}.
@@ -158,14 +158,14 @@
 	 * Returns the plug-in descriptor with the given plug-in identifier
 	 * in this plug-in registry, or <code>null</code> if there is no such
 	 * plug-in.  If there are multiple versions of the identified plug-in,
-	 * one will be non-deterministically chosen and returned.  
+	 * one will be non-deterministically chosen and returned.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"com.example.acme"</code>).
 	 * @return the plug-in descriptor, or <code>null</code>
-	 * @deprecated 
+	 * @deprecated
 	 * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
-	 * The <code>getPluginDescriptor()</code> method may only be called by plug-ins 
+	 * The <code>getPluginDescriptor()</code> method may only be called by plug-ins
 	 * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
 	 * See the comments on {@link IPluginDescriptor} and its methods for details.
 	 */
@@ -174,18 +174,18 @@
 
 	/**
 	 * Returns the plug-in descriptor with the given plug-in identifier
-	 * and version in this plug-in registry, or <code>null</code> if 
+	 * and version in this plug-in registry, or <code>null</code> if
 	 * there is no such plug-in.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"org.eclipse.core.resources"</code>)
 	 * @param version plug-in version identifier. If <code>null</code> is specified,
 	 * a non-deterministically chosen version of the identified plug-in (if any)
 	 * will be returned
 	 * @return the plug-in descriptor, or <code>null</code>
-	 * @deprecated 
+	 * @deprecated
 	 * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
-	 * The <code>getPluginDescriptor()</code> method may only be called by plug-ins 
+	 * The <code>getPluginDescriptor()</code> method may only be called by plug-ins
 	 * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
 	 * See the comments on {@link IPluginDescriptor} and its methods for details.
 	 */
@@ -197,9 +197,9 @@
 	 * Returns an empty array if there are no installed plug-ins.
 	 *
 	 * @return the plug-in descriptors known to this plug-in registry
-	 * @deprecated 
+	 * @deprecated
 	 * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
-	 * The <code>getPluginDescriptors()</code> method may only be called by plug-ins 
+	 * The <code>getPluginDescriptors()</code> method may only be called by plug-ins
 	 * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
 	 * See the comments on {@link IPluginDescriptor} and its methods for details.
 	 */
@@ -212,12 +212,12 @@
 	 * Returns an empty array if there are no plug-ins
 	 * with the specified identifier.
 	 *
-	 * @param pluginId the unique identifier of the plug-in 
+	 * @param pluginId the unique identifier of the plug-in
 	 *		(e.g. <code>"org.eclipse.core.resources"</code>).
 	 * @return the plug-in descriptors known to this plug-in registry
-	 * @deprecated 
+	 * @deprecated
 	 * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
-	 * The <code>getPluginDescriptors()</code> method may only be called by plug-ins 
+	 * The <code>getPluginDescriptors()</code> method may only be called by plug-ins
 	 * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
 	 * See the comments on {@link IPluginDescriptor} and its methods for details.
 	 */
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProduct.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProduct.java
index 39ad59d..8ca5306 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProduct.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProduct.java
@@ -4,7 +4,7 @@
  *  are made available under the terms of the Eclipse Public License v1.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,10 +14,10 @@
 
 /**
  * Products are the Eclipse unit of branding.  From the runtime point of view they have
- * a name, id and description and identify the Eclipse application to run.  
+ * a name, id and description and identify the Eclipse application to run.
  * <p>
  * Since the bulk of the branding related information is
- * specific to the UI, products also carry an arbitrary set of properties.  The valid set of 
+ * specific to the UI, products also carry an arbitrary set of properties.  The valid set of
  * key-value pairs and their interpretation defined by the UI of the target environment.
  * For example, in the standard Eclipse UI, <code>org.eclipse.ui.branding.IProductConstants</code>
  * the properties of interest to the UI.  Other clients may specify additional properties.
@@ -25,18 +25,18 @@
  * Products can be defined directly using extensions to the <code>org.eclipse.core.runtime.products</code>
  * extension point or by using facilities provided by IProductProvider implementations.
  * </p><p>
- * For readers familiar with Eclipse 2.1 and earlier, products are roughly equivalent to 
- * <i>primary features</i>. 
+ * For readers familiar with Eclipse 2.1 and earlier, products are roughly equivalent to
+ * <i>primary features</i>.
  * </p>
- * 
+ *
  * @see IProductProvider
  * @since 3.0
  */
 public interface IProduct {
 	/**
-	 * Returns the application associated with this product.  This information is used 
+	 * Returns the application associated with this product.  This information is used
 	 * to guide the runtime as to what application extension to create and execute.
-	 * 
+	 *
 	 * @return this product's application or <code>null</code> if none
 	 */
 	public String getApplication();
@@ -44,20 +44,20 @@
 	/**
 	 * Returns the name of this product.  The name is typically used in the title
 	 * bar of UI windows.
-	 * 
+	 *
 	 * @return the name of this product or <code>null</code> if none
 	 */
 	public String getName();
 
 	/**
 	 * Returns the text description of this product
-	 * 
+	 *
 	 * @return the description of this product or <code>null</code> if none
 	 */
 	public String getDescription();
 
 	/** Returns the unique product id of this product.
-	 * 
+	 *
 	 * @return the id of this product
 	 */
 	public String getId();
@@ -65,17 +65,17 @@
 	/**
 	 * Returns the property of this product with the given key.
 	 * <code>null</code> is returned if there is no such key/value pair.
-	 * 
+	 *
 	 * @param key the name of the property to return
 	 * @return the value associated with the given key or <code>null</code> if none
 	 */
 	public String getProperty(String key);
-	
+
 	/**
 	 * Returns the bundle which is responsible for the definition of this product.
-	 * Typically this is used as a base for searching for images and other files 
+	 * Typically this is used as a base for searching for images and other files
 	 * that are needed in presenting the product.
-	 * 
+	 *
 	 * @return the bundle which defines this product or <code>null</code> if none
 	 */
 	public Bundle getDefiningBundle();
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProductProvider.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProductProvider.java
index 5e72785..4decb05 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProductProvider.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProductProvider.java
@@ -12,30 +12,30 @@
 
 /**
  * Product providers define products (units of branding) which have been installed in
- * the current system.  Typically, a configuration agent (i.e., plug-in installer) will 
+ * the current system.  Typically, a configuration agent (i.e., plug-in installer) will
  * define a product provider so that it can report to the system the products it has installed.
  * <p>
- * Products are normally defined and installed in the system using extensions to the 
- * <code>org.eclipse.core.runtime.products</code> extension point.  In cases where 
+ * Products are normally defined and installed in the system using extensions to the
+ * <code>org.eclipse.core.runtime.products</code> extension point.  In cases where
  * the notion of product is defined by alternate means (e.g., primary feature), an <code>IProductProvider</code>
  * can be installed in this extension point using an executable extension.  The provider
  * then acts as a proxy for the product extensions that represent the products installed.
  * </p>
- * 
+ *
  * @see IProduct
  * @since 3.0
  */
 public interface IProductProvider {
 	/**
 	 * Returns the human-readable name of this product provider.
-	 * 
+	 *
 	 * @return the name of this product provider
 	 */
 	public String getName();
 
 	/**
 	 * Returns the products provided by this provider.
-	 * 
+	 *
 	 * @return the products provided by this provider
 	 */
 	public IProduct[] getProducts();
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PerformanceStats.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PerformanceStats.java
index ae1eae6..62fd1b0 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PerformanceStats.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PerformanceStats.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.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@gmail.com> - Adds generic type arguments https://bugs.eclipse.org/412836
@@ -18,7 +18,7 @@
 
 /**
  * PerformanceStats collects and aggregates timing data about events such as
- * a builder running, an editor opening, etc.  This data is collected for the 
+ * a builder running, an editor opening, etc.  This data is collected for the
  * purpose of performance analysis, and is not intended to be used as
  * a generic event tracking and notification system.
  * <p>
@@ -32,7 +32,7 @@
  * </p><p>
  * A performance event can optionally have additional context information
  * ({@link #getContext}).  This information is only stored in the case
- * of a performance failure, and can be used to provide further diagnostic 
+ * of a performance failure, and can be used to provide further diagnostic
  * information that can help track down the cause of the failure.
  * </p><p>
  * Performance events and performance failures are batched up and periodically
@@ -44,12 +44,12 @@
  */
 public class PerformanceStats {
 	/**
-	 * A performance listener is periodically notified after performance events occur 
+	 * A performance listener is periodically notified after performance events occur
 	 * or after events fail.
 	 * <p>
 	 * This class is intended to be subclassed.
 	 * </p>
-	 * 
+	 *
 	 * @see PerformanceStats#addListener(PerformanceStats.PerformanceListener)
 	 */
 	public static abstract class PerformanceListener {
@@ -65,7 +65,7 @@
 		 * <p>
 		 * This default implementation does nothing. Subclasses may override.
 		 * </p>
-		 * 
+		 *
 		 * @param event The event that failed
 		 * @param duration The duration of the failed event, in milliseconds
 		 */
@@ -79,7 +79,7 @@
 		 * <p>
 		 * This default implementation does nothing. Subclasses may override.
 		 * </p>
-		 * 
+		 *
 		 * @param event The event that occurred
 		 */
 		public void eventsOccurred(PerformanceStats[] event) {
@@ -105,7 +105,7 @@
 	/**
 	 * All known event statistics.
 	 */
-	private final static Map<PerformanceStats, PerformanceStats> statMap = 
+	private final static Map<PerformanceStats, PerformanceStats> statMap =
 				Collections.synchronizedMap(new HashMap<PerformanceStats,PerformanceStats>());
 
 	/**
@@ -120,8 +120,8 @@
 	private static final boolean TRACE_SUCCESS;
 
 	/**
-	 * An identifier that can be used to figure out who caused the event. This is 
-	 * typically a string representation of the object whose code was running when 
+	 * An identifier that can be used to figure out who caused the event. This is
+	 * typically a string representation of the object whose code was running when
 	 * the event occurred or a <code>String</code> describing the event.
 	 */
 	private String blame;
@@ -145,7 +145,7 @@
 	private long currentStart = NOT_STARTED;
 
 	/**
-	 * The symbolic name of the event that occurred. This is usually the name of 
+	 * The symbolic name of the event that occurred. This is usually the name of
 	 * the debug option for this event.
 	 */
 	private String event;
@@ -174,7 +174,7 @@
 	/**
 	 * Adds a listener that is notified when performance events occur.  If
 	 * an equal listener is already installed, it will be replaced.
-	 * 
+	 *
 	 * @param listener The listener to be added
 	 * @see #removeListener(PerformanceStats.PerformanceListener)
 	 */
@@ -192,7 +192,7 @@
 
 	/**
 	 * Returns all performance event statistics.
-	 * 
+	 *
 	 * @return An array of known performance event statistics.  The array
 	 * will be empty if there are no recorded statistics.
 	 */
@@ -201,16 +201,16 @@
 	}
 
 	/**
-	 * Returns the stats object corresponding to the given parameters.  
-	 * A stats object is created and added to the global list of events if it did not 
+	 * Returns the stats object corresponding to the given parameters.
+	 * A stats object is created and added to the global list of events if it did not
 	 * already exist.
-	 * 
-	 * @param eventName A symbolic event name.  This is usually the name of 
+	 *
+	 * @param eventName A symbolic event name.  This is usually the name of
 	 * the debug option for this event. An example event name from
 	 * the org.eclipse.core.resources plugin describing a build event might look like:
 	 * 		<code>"org.eclipse.core.resources/perf/building"</code>"
-	 * @param blameObject The blame for the event.  This is typically the object 
-	 * whose code was running when the event occurred.  If a blame object cannot 
+	 * @param blameObject The blame for the event.  This is typically the object
+	 * whose code was running when the event occurred.  If a blame object cannot
 	 * be obtained, a <code>String</code> describing the event should be supplied
 	 */
 	public static PerformanceStats getStats(String eventName, Object blameObject) {
@@ -235,7 +235,7 @@
 	 * is turned off.  It is not possible for enablement to change during the life
 	 * of this invocation of the platform.
 	 * </p>
-	 * 
+	 *
 	 * @param eventName The name of the event to determine enablement for
 	 * @return <code>true</code>If the performance event with the given
 	 * name is enabled, and <code>false</code> otherwise.
@@ -260,7 +260,7 @@
 
 	/**
 	 * Writes all statistics using the provided writer
-	 * 
+	 *
 	 * @param out The writer to print stats to.
 	 */
 	public static void printStats(PrintWriter out) {
@@ -272,7 +272,7 @@
 	/**
 	 * Removes an event listener. Has no effect if an equal
 	 * listener object is not currently registered.
-	 * 
+	 *
 	 * @param listener The listener to remove
 	 * @see #addListener(PerformanceStats.PerformanceListener)
 	 */
@@ -283,7 +283,7 @@
 
 	/**
 	 * Removes statistics for a given event and blame
-	 * 
+	 *
 	 * @param eventName The name of the event to remove
 	 * @param blameObject The blame for the event to remove
 	 */
@@ -297,14 +297,14 @@
 		}
 	}
 
-	/** 
+	/**
 	 * Creates a new PerformanceStats object.  Private to prevent client instantiation.
 	 */
 	private PerformanceStats(String event, Object blame) {
 		this(event, blame, null);
 	}
 
-	/** 
+	/**
 	 * Creates a new PerformanceStats object.  Private to prevent client instantiation.
 	 */
 	private PerformanceStats(String event, Object blameObject, String context) {
@@ -318,7 +318,7 @@
 	 * Adds an occurrence of this event to the cumulative counters. This method
 	 * can be used as an alternative to <code>startRun</code> and <code>endRun</code>
 	 * for clients that want to track the context and execution time separately.
-	 * 
+	 *
 	 * @param elapsed The elapsed time of the new occurrence in milliseconds
 	 * @param contextName The context for the event to return, or <code>null</code>.
 	 * The context optionally provides extra information about an event, such as the
@@ -337,7 +337,7 @@
 
 	/**
 	 * Creates a stats object representing a performance failure
-	 * 
+	 *
 	 * @param contextName The failure context information.
 	 * @param elapsed The elapsed time in milliseconds
 	 * @return The failure stats
@@ -364,7 +364,7 @@
 	 * so it is not necessary to call this method from a finally block.  Tracking
 	 * performance of failure cases is generally not of interest.
 	 * </p>
-	 * 
+	 *
 	 * @see #startRun()
 	 */
 	public void endRun() {
@@ -393,7 +393,7 @@
 	/**
 	 * Returns an object that can be used to figure out who caused the event,
 	 * or a string describing the cause of the event.
-	 * 
+	 *
 	 * @return The blame for this event
 	 */
 	public Object getBlame() {
@@ -402,7 +402,7 @@
 
 	/**
 	 * Returns a string describing the blame for this event.
-	 * 
+	 *
 	 * @return A string describing the blame.
 	 */
 	public String getBlameString() {
@@ -412,7 +412,7 @@
 	/**
 	 * Returns the optional event context, such as the input of an editor, or the target project
 	 * of a build event.
-	 * 
+	 *
 	 * @return The context, or <code>null</code> if there is none
 	 */
 	public String getContext() {
@@ -421,7 +421,7 @@
 
 	/**
 	 * Returns the symbolic name of the event that occurred.
-	 * 
+	 *
 	 * @return The name of the event.
 	 */
 	public String getEvent() {
@@ -430,7 +430,7 @@
 
 	/**
 	 * Returns the total number of times this event has occurred.
-	 * 
+	 *
 	 * @return The number of occurrences of this event.
 	 */
 	public int getRunCount() {
@@ -440,7 +440,7 @@
 	/**
 	 * Returns the total execution time in milliseconds for all occurrences
 	 * of this event.
-	 * 
+	 *
 	 * @return The total running time in milliseconds.
 	 */
 	public long getRunningTime() {
@@ -479,8 +479,8 @@
 
 	/**
 	 * Returns whether this performance event represents a performance failure.
-	 * 
-	 * @return <code>true</code> if this is a performance failure, and 
+	 *
+	 * @return <code>true</code> if this is a performance failure, and
 	 * <code>false</code> otherwise.
 	 */
 	public boolean isFailure() {
@@ -507,7 +507,7 @@
 	/**
 	 * Starts timing an occurrence of this event.  The event should be stopped
 	 * by a subsequent call to <code>endRun</code>.
-	 * 
+	 *
 	 * @param contextName The context for the event to return, or <code>null</code>.
 	 * The context optionally provides extra information about an event, such as the
 	 * name of a project being built, or the input of an editor being opened.
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
index 725244a..cbf6481 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.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
  *     Gunnar Wagenknecht <gunnar@wagenknecht.org> - Fix for bug 265445
- *     Benjamin Cabe <benjamin.cabe@anyware-tech.com> - Fix for bug 265532     
+ *     Benjamin Cabe <benjamin.cabe@anyware-tech.com> - Fix for bug 265532
  *******************************************************************************/
 package org.eclipse.core.runtime;
 
@@ -31,7 +31,7 @@
 
 /**
  * The central class of the Eclipse Platform Runtime. This class cannot
- * be instantiated or subclassed by clients; all functionality is provided 
+ * be instantiated or subclassed by clients; all functionality is provided
  * by static methods.  Features include:
  * <ul>
  * <li>the platform registry of installed plug-ins</li>
@@ -40,10 +40,10 @@
  * <li>the authorization info management</li>
  * </ul>
  * <p>
- * Most users don't have to worry about Platform's lifecycle. However, if your 
- * code can call methods of this class when Platform is not running, it becomes 
- * necessary to check {@link #isRunning()} before making the call. A runtime 
- * exception might be thrown or incorrect result might be returned if a method 
+ * Most users don't have to worry about Platform's lifecycle. However, if your
+ * code can call methods of this class when Platform is not running, it becomes
+ * necessary to check {@link #isRunning()} before making the call. A runtime
+ * exception might be thrown or incorrect result might be returned if a method
  * from this class is called while Platform is not running.
  * </p>
  */
@@ -55,51 +55,51 @@
 	 */
 	public static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * The simple identifier constant (value "<code>applications</code>") of
 	 * the extension point of the Core Runtime plug-in where plug-ins declare
 	 * the existence of runnable applications. A plug-in may define any
 	 * number of applications; however, the platform is only capable
 	 * of running one application at a time.
-	 * 
+	 *
 	 */
 	public static final String PT_APPLICATIONS = "applications"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * The simple identifier constant (value "<code>adapters</code>") of
 	 * the extension point of the Core Runtime plug-in where plug-ins declare
 	 * the existence of adapter factories. A plug-in may define any
 	 * number of adapters.
-	 * 
+	 *
 	 * @see IAdapterManager#hasAdapter(Object, String)
 	 * @since 3.0
 	 */
 	public static final String PT_ADAPTERS = "adapters"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * The simple identifier constant (value "<code>preferences</code>") of
 	 * the extension point of the Core Runtime plug-in where plug-ins declare
 	 * extensions to the preference facility. A plug-in may define any number
 	 * of preference extensions.
-	 * 
+	 *
 	 * @see #getPreferencesService()
 	 * @since 3.0
 	 */
 	public static final String PT_PREFERENCES =  "preferences"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * The simple identifier constant (value "<code>products</code>") of
 	 * the extension point of the Core Runtime plug-in where plug-ins declare
 	 * the existence of a product. A plug-in may define any
 	 * number of products; however, the platform is only capable
 	 * of running one product at a time.
-	 * 
+	 *
 	 * @see #getProduct()
 	 * @since 3.0
 	 */
 	public static final String PT_PRODUCT = "products"; //$NON-NLS-1$
 
-	/** 
+	/**
 	 * Debug option value denoting the time at which the platform runtime
 	 * was started.  This constant can be used in conjunction with
 	 * <code>getDebugOption</code> to find the string value of
@@ -111,7 +111,7 @@
 	 * Name of a preference for configuring the performance level for this system.
 	 *
 	 * <p>
-	 * This value can be used by all components to customize features to suit the 
+	 * This value can be used by all components to customize features to suit the
 	 * speed of the user's machine.  The platform job manager uses this value to make
 	 * scheduling decisions about background jobs.
 	 * </p>
@@ -126,29 +126,29 @@
 	public static final String PREF_PLATFORM_PERFORMANCE = "runtime.performance"; //$NON-NLS-1$
 
 	/**
-	 * Constant (value "line.separator") name of the preference used for storing 
-	 * the line separator. 
-	 * 
+	 * Constant (value "line.separator") name of the preference used for storing
+	 * the line separator.
+	 *
 	 * @see #knownPlatformLineSeparators
 	 * @since 3.1
 	 */
 	public static final String PREF_LINE_SEPARATOR = "line.separator"; //$NON-NLS-1$
 
-	/** 
-	 * Constant (value 1) indicating the minimum allowed value for the 
+	/**
+	 * Constant (value 1) indicating the minimum allowed value for the
 	 * <code>PREF_PLATFORM_PERFORMANCE</code> preference setting.
 	 * @since 3.0
 	 */
 	public static final int MIN_PERFORMANCE = 1;
 
-	/** 
-	 * Constant (value 5) indicating the maximum allowed value for the 
+	/**
+	 * Constant (value 5) indicating the maximum allowed value for the
 	 * <code>PREF_PLATFORM_PERFORMANCE</code> preference setting.
 	 * @since 3.0
 	 */
 	public static final int MAX_PERFORMANCE = 5;
 
-	/** 
+	/**
 	 * Status code constant (value 1) indicating a problem in a plug-in
 	 * manifest (<code>plugin.xml</code>) file.
 	 */
@@ -187,7 +187,7 @@
 	 * Constant string (value "win32") indicating the platform is running on a
 	 * Window 32-bit operating system (e.g., Windows 98, NT, 2000).
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -198,7 +198,7 @@
 	 * Constant string (value "linux") indicating the platform is running on a
 	 * Linux-based operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -209,7 +209,7 @@
 	 * Constant string (value "aix") indicating the platform is running on an
 	 * AIX-based operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -220,7 +220,7 @@
 	 * Constant string (value "solaris") indicating the platform is running on a
 	 * Solaris-based operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -231,7 +231,7 @@
 	 * Constant string (value "hpux") indicating the platform is running on an
 	 * HP/UX-based operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -242,7 +242,7 @@
 	 * Constant string (value "qnx") indicating the platform is running on a
 	 * QNX-based operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -253,7 +253,7 @@
 	 * Constant string (value "macosx") indicating the platform is running on a
 	 * Mac OS X operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -264,7 +264,7 @@
 	 * Constant string (value "unknown") indicating the platform is running on a
 	 * machine running an unknown operating system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -275,7 +275,7 @@
 	 * Constant string (value "x86") indicating the platform is running on an
 	 * x86-based architecture.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -286,7 +286,7 @@
 	 * Constant string (value "PA_RISC") indicating the platform is running on an
 	 * PA_RISC-based architecture.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -297,7 +297,7 @@
 	 * Constant string (value "ppc") indicating the platform is running on an
 	 * PowerPC-based architecture.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -308,7 +308,7 @@
 	 * Constant string (value "sparc") indicating the platform is running on an
 	 * Sparc-based architecture.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -318,7 +318,7 @@
 	/**
 	 * Constant string (value "x86_64") indicating the platform is running on an
 	 * x86 64bit-based architecture.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ARCH_X86_64 = "x86_64";//$NON-NLS-1$
@@ -326,7 +326,7 @@
 	/**
 	 * Constant string (value "amd64") indicating the platform is running on an
 	 * AMD64-based architecture.
-	 * 
+	 *
 	 * @since 3.0
 	 * @deprecated use <code>ARCH_X86_64</code> instead. Note the values
 	 * has been changed to be the value of the <code>ARCH_X86_64</code> constant.
@@ -337,7 +337,7 @@
 	/**
 	 * Constant string (value "ia64") indicating the platform is running on an
 	 * IA64-based architecture.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String ARCH_IA64 = "ia64"; //$NON-NLS-1$
@@ -345,7 +345,7 @@
 	/**
 	 * Constant string (value "ia64_32") indicating the platform is running on an
 	 * IA64 32bit-based architecture.
-	 * 
+	 *
 	 * @since 3.1
 	 */
 	public static final String ARCH_IA64_32 = "ia64_32";//$NON-NLS-1$
@@ -354,7 +354,7 @@
 	 * Constant string (value "win32") indicating the platform is running on a
 	 * machine using the Windows windowing system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -365,7 +365,7 @@
 	 * Constant string (value "motif") indicating the platform is running on a
 	 * machine using the Motif windowing system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -376,7 +376,7 @@
 	 * Constant string (value "gtk") indicating the platform is running on a
 	 * machine using the GTK windowing system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -387,7 +387,7 @@
 	 * Constant string (value "photon") indicating the platform is running on a
 	 * machine using the Photon windowing system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -398,7 +398,7 @@
 	 * Constant string (value "carbon") indicating the platform is running on a
 	 * machine using the Carbon windowing system (Mac OS X).
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -423,7 +423,7 @@
 	 * Constant string (value "unknown") indicating the platform is running on a
 	 * machine running an unknown windowing system.
 	 * <p>
-	 * Note this constant has been moved from the deprecated 
+	 * Note this constant has been moved from the deprecated
 	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
 	 * </p>
 	 * @since 3.0
@@ -448,9 +448,9 @@
 	 * Adds the given authorization information to the key ring. The
 	 * information is relevant for the specified protection space and the
 	 * given authorization scheme. The protection space is defined by the
-	 * combination of the given server URL and realm. The authorization 
-	 * scheme determines what the authorization information contains and how 
-	 * it should be used. The authorization information is a <code>Map</code> 
+	 * combination of the given server URL and realm. The authorization
+	 * scheme determines what the authorization information contains and how
+	 * it should be used. The authorization information is a <code>Map</code>
 	 * of <code>String</code> to <code>String</code> and typically
 	 * contains information such as user names and passwords.
 	 *
@@ -461,8 +461,8 @@
 	 *		"realm1@example.com" or "" for no realm.
 	 * @param authScheme the scheme for which this authorization information
 	 *		applies. For example, "Basic" or "" for no authorization scheme
-	 * @param info a <code>Map</code> containing authorization information 
-	 *		such as user names and passwords (key type : <code>String</code>, 
+	 * @param info a <code>Map</code> containing authorization information
+	 *		such as user names and passwords (key type : <code>String</code>,
 	 *		value type : <code>String</code>)
 	 * @exception CoreException if there are problems setting the
 	 *		authorization information. Reasons include:
@@ -472,7 +472,7 @@
 	 * @deprecated Authorization database is superseded by the Equinox secure storage.
 	 * Use <code>org.eclipse.equinox.security.storage.SecurePreferencesFactory</code>
 	 * to obtain secure preferences and <code>org.eclipse.equinox.security.storage.ISecurePreferences</code>
-	 * for data access and modifications.  
+	 * for data access and modifications.
 	 * Consider using <code>ISecurePreferences#put(String, String, boolean)</code> as a replacement of this method.
 	 * This API will be deleted in a future release. See bug 370248 for details.
 	 */
@@ -481,7 +481,7 @@
 		AuthorizationHandler.addAuthorizationInfo(serverUrl, realm, authScheme, info);
 	}
 
-	/** 
+	/**
 	 * Adds the given log listener to the notification list of the platform.
 	 * <p>
 	 * Once registered, a listener starts receiving notification as entries
@@ -516,7 +516,7 @@
 	 * @deprecated Authorization database is superseded by the Equinox secure storage.
 	 * Use <code>org.eclipse.equinox.security.storage.SecurePreferencesFactory</code>
 	 * to obtain secure preferences and <code>org.eclipse.equinox.security.storage.ISecurePreferences</code>
-	 * for data access and modifications.  
+	 * for data access and modifications.
 	 * This API will be deleted in a future release. See bug 370248 for details.
 	 */
 	@Deprecated
@@ -529,13 +529,13 @@
 	 * supplied URL. This method is expected to be used with the
 	 * plug-in-relative URLs returned by IPluginDescriptor, Bundle.getEntry()
 	 * and Platform.find().
-	 * If the specified URL is not a plug-in-relative URL, it 
+	 * If the specified URL is not a plug-in-relative URL, it
 	 * is returned as is. If the specified URL is a plug-in-relative
-	 * URL of a file (including .jar archive), it is returned as 
+	 * URL of a file (including .jar archive), it is returned as
 	 * a locally accessible URL using "file:" protocol
 	 * (extracting/caching the file locally, if required). If the specified URL
 	 * is a plug-in-relative URL of a directory, the directory and any files and directories
-	 * under it are made locally accessible likewise. 
+	 * under it are made locally accessible likewise.
 	 *
 	 * @param url original plug-in-relative URL.
 	 * @return the resolved URL
@@ -581,7 +581,7 @@
 	 * @deprecated Authorization database is superseded by the Equinox secure storage.
 	 * Use <code>org.eclipse.equinox.security.storage.SecurePreferencesFactory</code>
 	 * to obtain secure preferences and <code>org.eclipse.equinox.security.storage.ISecurePreferences</code>
-	 * for data access and modifications.  
+	 * for data access and modifications.
 	 * Consider using <code>ISecurePreferences#clear()</code> as a replacement of this method.
 	 * This API will be deleted in a future release. See bug 370248 for details.
 	 */
@@ -620,7 +620,7 @@
 	 * @deprecated Authorization database is superseded by the Equinox secure storage.
 	 * Use <code>org.eclipse.equinox.security.storage.SecurePreferencesFactory</code>
 	 * to obtain secure preferences and <code>org.eclipse.equinox.security.storage.ISecurePreferences</code>
-	 * for data access and modifications.  
+	 * for data access and modifications.
 	 * Consider using <code>ISecurePreferences#get(String, String)</code> as a replacement of this method.
 	 * This API will be deleted in a future release. See bug 370248 for details.
 	 */
@@ -660,7 +660,7 @@
 	/**
 	 * Returns the identified option.  <code>null</code>
 	 * is returned if no such option is found.   Options are specified
-	 * in the general form <i>&lt;plug-in id&gt;/&lt;option-path&gt;</i>.  
+	 * in the general form <i>&lt;plug-in id&gt;/&lt;option-path&gt;</i>.
 	 * For example, <code>org.eclipse.core.runtime/debug</code>
 	 * <p>
 	 * Clients are also able to acquire the {@link DebugOptions} service
@@ -674,14 +674,14 @@
 	}
 
 	/**
-	 * Returns the location of the platform working directory.  
+	 * Returns the location of the platform working directory.
 	 * <p>
 	 * Callers of this method should consider using <code>getInstanceLocation</code>
 	 * instead.  In various, typically non IDE-related configurations of Eclipse, the platform
 	 * working directory may not be on the local file system.  As such, the more general
 	 * form of this location is as a URL.
 	 * </p><p>
-	 * Alternatively, instead of calling <code>getInstanceLocation</code> clients are 
+	 * Alternatively, instead of calling <code>getInstanceLocation</code> clients are
 	 * able to acquire the {@link Location} service (with the type {@link Location#INSTANCE_FILTER})
 	 * and then change the resulting URL to a path. See the javadoc for <code>getInstanceLocation</code>
 	 * for more details.
@@ -719,15 +719,15 @@
 	 * be activated before being returned.
 	 * <p>
 	 * <b>Note</b>: This method is only able to find and return plug-in
-	 * objects for plug-ins described using plugin.xml according to the 
+	 * objects for plug-ins described using plugin.xml according to the
 	 * traditional Eclipse conventions.  Eclipse 3.0 permits plug-ins to be
-	 * described in manifest.mf files and to define their own bundle 
+	 * described in manifest.mf files and to define their own bundle
 	 * activators.  Such plug-ins cannot be discovered by this method.</p>
 	 *
-	 * @param id the unique identifier of the desired plug-in 
+	 * @param id the unique identifier of the desired plug-in
 	 *		(e.g., <code>"com.example.acme"</code>).
 	 * @return the plug-in runtime object, or <code>null</code>
-	 * @deprecated 
+	 * @deprecated
 	 * This method only works if the compatibility layer is installed and must not be used otherwise.
 	 * See the comments on {@link IPluginDescriptor#getPlugin()} for details.
 	 */
@@ -775,7 +775,7 @@
 	}
 
 	/**
-	 * Returns the location in the local file system of the plug-in 
+	 * Returns the location in the local file system of the plug-in
 	 * state area for the given plug-in.
 	 * The platform must be running.
 	 * <p>
@@ -806,7 +806,7 @@
 	 * @deprecated Authorization database is superseded by the Equinox secure storage.
 	 * Use <code>org.eclipse.equinox.security.storage.SecurePreferencesFactory</code>
 	 * to obtain secure preferences and <code>org.eclipse.equinox.security.storage.ISecurePreferences</code>
-	 * for data access and modifications.  
+	 * for data access and modifications.
 	 * This API will be deleted in a future release. See bug 370248 for details.
 	 */
 	@Deprecated
@@ -814,7 +814,7 @@
 		return AuthorizationHandler.getProtectionSpace(resourceUrl);
 	}
 
-	/** 
+	/**
 	 * Removes the indicated (identical) log listener from the notification list
 	 * of the platform.  If no such listener exists, no action is taken.
 	 *
@@ -835,7 +835,7 @@
 	 * If the specified URL is not a plug-in-relative URL, it is returned
 	 * as is. If the specified URL is a plug-in-relative URL, this method
 	 * attempts to reduce the given URL to one which is native to the Java
-	 * class library (eg. file, http, etc). 
+	 * class library (eg. file, http, etc).
 	 * </p><p>
 	 * Note however that users of this API should not assume too much about the
 	 * results of this method.  While it may consistently return a file: URL in certain
@@ -869,7 +869,7 @@
 
 	/**
 	 * Returns the platform job manager.
-	 * 
+	 *
 	 * @return the platform's job manager
 	 * @since 3.0
 	 * @deprecated The method {@link Job#getJobManager()} should be used instead.
@@ -896,9 +896,9 @@
 	/**
 	 * Returns a URL for the given path in the given bundle.  Returns <code>null</code> if the URL
 	 * could not be computed or created.
-	 * 
+	 *
 	 * @param bundle the bundle in which to search
-	 * @param path path relative to plug-in installation location 
+	 * @param path path relative to plug-in installation location
 	 * @return a URL for the given path or <code>null</code>.  The actual form
 	 * of the returned URL is not specified.
 	 * @see #find(Bundle, IPath, Map)
@@ -916,7 +916,7 @@
 	 * Returns a URL for the given path in the given bundle.  Returns <code>null</code> if the URL
 	 * could not be computed or created.
 	 * <p>
-	 * find looks for this path in given bundle and any attached fragments.  
+	 * find looks for this path in given bundle and any attached fragments.
 	 * <code>null</code> is returned if no such entry is found.  Note that
 	 * there is no specific order to the fragments.
 	 * </p><p>
@@ -927,7 +927,7 @@
 	 *     $ws$ - for windowing system specific information
 	 * </pre>
 	 * </p><p>
-	 * A path of $nl$/about.properties in an environment with a default 
+	 * A path of $nl$/about.properties in an environment with a default
 	 * locale of en_CA will return a URL corresponding to the first place
 	 * about.properties is found according to the following order:
 	 * <pre>
@@ -945,10 +945,10 @@
 	 *     ...
 	 * </pre>
 	 * </p><p>
-	 * The current environment variable values can be overridden using 
+	 * The current environment variable values can be overridden using
 	 * the override map argument.
 	 * </p>
-	 * 
+	 *
 	 * @param bundle the bundle in which to search
 	 * @param path file path relative to plug-in installation location
 	 * @param override map of override substitution arguments to be used for
@@ -970,7 +970,7 @@
 	}
 
 	/**
-	 * Returns the location in the local file system of the 
+	 * Returns the location in the local file system of the
 	 * plug-in state area for the given bundle.
 	 * If the plug-in state area did not exist prior to this call,
 	 * it is created.
@@ -979,7 +979,7 @@
 	 * platform's metadata area where a plug-in is free to create files.
 	 * The content and structure of this area is defined by the plug-in,
 	 * and the particular plug-in is solely responsible for any files
-	 * it puts there. It is recommended for plug-in preference settings and 
+	 * it puts there. It is recommended for plug-in preference settings and
 	 * other configuration parameters.
 	 * </p>
 	 *
@@ -993,7 +993,7 @@
 
 	/**
 	 * Returns a number that changes whenever the set of installed plug-ins
-	 * changes. This can be used for invalidating caches that are based on 
+	 * changes. This can be used for invalidating caches that are based on
 	 * the set of currently installed plug-ins. (e.g. extensions)
 	 * <p>
 	 * Clients are also able to acquire the {@link PlatformAdmin} service
@@ -1018,16 +1018,16 @@
 	}
 
 	/**
-	 * Returns the given bundle's resource bundle for the current locale. 
+	 * Returns the given bundle's resource bundle for the current locale.
 	 * <p>
-	 * This resource bundle is typically stored as the plugin.properties file 
-	 * in the plug-in itself, and contains any translatable strings used in the 
+	 * This resource bundle is typically stored as the plugin.properties file
+	 * in the plug-in itself, and contains any translatable strings used in the
 	 * plug-in manifest file (plugin.xml).
 	 * </p>
 	 * <p>
-	 * 	This mechanism is intended only for 
-	 * externalizing strings found in the plug-in manifest file. Using this 
-	 * method for externalizing strings in your code may result in degraded 
+	 * 	This mechanism is intended only for
+	 * externalizing strings found in the plug-in manifest file. Using this
+	 * method for externalizing strings in your code may result in degraded
 	 * memory performance.
 	 * </p>
 	 *
@@ -1046,7 +1046,7 @@
 	 * is looked up in the default resource bundle for the given runtime bundle. If the argument does not
 	 * specify a valid key, the argument itself is returned as the
 	 * resource string. The key lookup is performed in the
-	 * file referenced in the Bundle-Localization header of the bundle manifest. If a resource string 
+	 * file referenced in the Bundle-Localization header of the bundle manifest. If a resource string
 	 * corresponding to the key is not found in the resource bundle
 	 * the key value, or any default text following the key in the
 	 * argument value is returned as the resource string.
@@ -1068,13 +1068,13 @@
 	}
 
 	/**
-	 * Returns a resource string corresponding to the given argument 
+	 * Returns a resource string corresponding to the given argument
 	 * value and resource bundle in the given runtime bundle.
 	 * If the argument value specifies a resource key, the string
 	 * is looked up in the given resource bundle. If the argument does not
 	 * specify a valid key, the argument itself is returned as the
 	 * resource string. The key lookup is performed against the
-	 * specified resource bundle. If a resource string 
+	 * specified resource bundle. If a resource string
 	 * corresponding to the key is not found in the resource bundle
 	 * the key value, or any default text following the key in the
 	 * argument value is returned as the resource string.
@@ -1106,9 +1106,9 @@
 	}
 
 	/**
-	 * Returns the string name of the current system architecture.  
-	 * The value is a user-defined string if the architecture is 
-	 * specified on the command line, otherwise it is the value 
+	 * Returns the string name of the current system architecture.
+	 * The value is a user-defined string if the architecture is
+	 * specified on the command line, otherwise it is the value
 	 * returned by <code>java.lang.System.getProperty("os.arch")</code>.
 	 * <p>
 	 * Clients are also able to acquire the {@link EnvironmentInfo} service and query it for
@@ -1139,9 +1139,9 @@
 	 * Returns Unicode locale extensions for the Unicode locale identifier, if they are
 	 * defined. An empty string is returned if Unicode locale extensions are not defined.
 	 * <p>
-	 * For more information on Unicode locale extensions, see 
+	 * For more information on Unicode locale extensions, see
 	 * <a href="http://unicode.org/reports/tr35/">Unicode Technical Standard #35</a>.
-	 * 
+	 *
 	 * @return The defined Unicode locale extensions, or an empty string.
 	 * @since 3.5
 	 */
@@ -1152,7 +1152,7 @@
 	/**
 	 * Returns the string name of the current operating system for use in finding
 	 * files whose path starts with <code>$os$</code>.  <code>OS_UNKNOWN</code> is
-	 * returned if the operating system cannot be determined.  
+	 * returned if the operating system cannot be determined.
 	 * The value may indicate one of the operating systems known to the platform
 	 * (as specified in <code>knownOSValues</code>) or a user-defined string if
 	 * the operating system name is specified on the command line.
@@ -1184,9 +1184,9 @@
 
 	/**
 	 * Returns the arguments not consumed by the framework implementation itself.  Which
-	 * arguments are consumed is implementation specific. These arguments are available 
+	 * arguments are consumed is implementation specific. These arguments are available
 	 * for use by the application.
-	 * 
+	 *
 	 * @return the array of command line arguments not consumed by the framework.
 	 * @since 3.0
 	 */
@@ -1195,15 +1195,15 @@
 	}
 
 	/**
-	 * Returns the platform administrator for this running Eclipse.  
+	 * Returns the platform administrator for this running Eclipse.
 	 * <p>
-	 * Note: This is an internal method and <em>must not</em> 
+	 * Note: This is an internal method and <em>must not</em>
 	 * be used by clients which are not part of the Eclipse Platform.
-	 * This method allows access to classes which are not Eclipse 
+	 * This method allows access to classes which are not Eclipse
 	 * Platform API but are part of the OSGi runtime that the Eclipse
-	 * Platform is built on. Even as the Eclipse Platform evolves 
-	 * in compatible ways from release to release, the details of 
-	 * the OSGi implementation might not. 
+	 * Platform is built on. Even as the Eclipse Platform evolves
+	 * in compatible ways from release to release, the details of
+	 * the OSGi implementation might not.
 	 * </p><p>
 	 * Clients can also acquire the {@link PlatformAdmin} service
 	 * to retrieve this object.
@@ -1216,7 +1216,7 @@
 	}
 
 	/**
-	 * Returns the location of the platform's working directory (also known as the instance data area).  
+	 * Returns the location of the platform's working directory (also known as the instance data area).
 	 * <code>null</code> is returned if the platform is running without an instance location.
 	 * <p>
 	 * This method is equivalent to acquiring the <code>org.eclipse.osgi.service.datalocation.Location</code>
@@ -1245,7 +1245,7 @@
 
 	/**
 	 * Return the interface into the preference mechanism. The returned
-	 * object can be used for such operations as searching for preference 
+	 * object can be used for such operations as searching for preference
 	 * values across multiple scopes and preference import/export.
 	 * <p>
 	 * Clients are also able to acquire the {@link IPreferencesService} service via
@@ -1296,7 +1296,7 @@
 	}
 
 	/**
-	 * Returns the location of the configuration information 
+	 * Returns the location of the configuration information
 	 * used to run this instance of Eclipse.  The configuration area typically
 	 * contains the list of plug-ins available for use, various settings
 	 * (those shared across different instances of the same configuration)
@@ -1316,8 +1316,8 @@
 
 	/**
 	 * Returns the location of the platform's user data area.  The user data area is a location on the system
-	 * which is specific to the system's current user.  By default it is located relative to the 
-	 * location given by the System property "user.home".  
+	 * which is specific to the system's current user.  By default it is located relative to the
+	 * location given by the System property "user.home".
 	 * <code>null</code> is returned if the platform is running without an user location.
 	 * <p>
 	 * This method is equivalent to acquiring the <code>org.eclipse.osgi.service.datalocation.Location</code>
@@ -1362,16 +1362,16 @@
 	}
 
 	/**
-	 * Returns an array of attached fragment bundles for the specified bundle.  If the 
-	 * specified bundle is a fragment then <tt>null</tt> is returned.  If no fragments are 
+	 * Returns an array of attached fragment bundles for the specified bundle.  If the
+	 * specified bundle is a fragment then <tt>null</tt> is returned.  If no fragments are
 	 * attached to the specified bundle then <tt>null</tt> is returned.
 	 * <p>
 	 * Clients are also able to acquire the {@link PackageAdmin} service and query
 	 * it for the fragments of the given bundle.
 	 * </p>
 	 * @param bundle the bundle to get the attached fragment bundles for.
-	 * @return an array of fragment bundles or <tt>null</tt> if the bundle does not 
-	 * have any attached fragment bundles. 
+	 * @return an array of fragment bundles or <tt>null</tt> if the bundle does not
+	 * have any attached fragment bundles.
 	 * @since 3.0
 	 */
 	public static Bundle[] getFragments(Bundle bundle) {
@@ -1380,7 +1380,7 @@
 
 	/**
 	 * Returns the resolved bundle with the specified symbolic name that has the
-	 * highest version.  If no resolved bundles are installed that have the 
+	 * highest version.  If no resolved bundles are installed that have the
 	 * specified symbolic name then null is returned.
 	 * <p>
 	 * Clients are also able to acquire the {@link PackageAdmin} service and query
@@ -1390,7 +1390,7 @@
 	 * the results based on the state of the bundles.
 	 * </p>
 	 * @param symbolicName the symbolic name of the bundle to be returned.
-	 * @return the bundle that has the specified symbolic name with the 
+	 * @return the bundle that has the specified symbolic name with the
 	 * highest version, or <tt>null</tt> if no bundle is found.
 	 * @since 3.0
 	 */
@@ -1399,11 +1399,11 @@
 	}
 
 	/**
-	 * Returns all bundles with the specified symbolic name.  If no resolved bundles 
-	 * with the specified symbolic name can be found, <tt>null</tt> is returned.  
-	 * If the version argument is not null then only the Bundles that have 
-	 * the specified symbolic name and a version greater than or equal to the 
-	 * specified version are returned. The returned bundles are ordered in 
+	 * Returns all bundles with the specified symbolic name.  If no resolved bundles
+	 * with the specified symbolic name can be found, <tt>null</tt> is returned.
+	 * If the version argument is not null then only the Bundles that have
+	 * the specified symbolic name and a version greater than or equal to the
+	 * specified version are returned. The returned bundles are ordered in
 	 * descending bundle version order.
 	 * <p>
 	 * Clients are also able to acquire the {@link PackageAdmin} service and query
@@ -1412,9 +1412,9 @@
 	 * the results based on the state of the bundles.
 	 * </p>
 	 * @param symbolicName the symbolic name of the bundles that are to be returned.
-	 * @param version the version that the return bundle versions must match, 
-	 * or <tt>null</tt> if no version matching is to be done. 
-	 * @return the array of Bundles with the specified name that match the 
+	 * @param version the version that the return bundle versions must match,
+	 * or <tt>null</tt> if no version matching is to be done.
+	 * @return the array of Bundles with the specified name that match the
 	 * specified version and match rule, or <tt>null</tt> if no bundles are found.
 	 */
 	public static Bundle[] getBundles(String symbolicName, String version) {
@@ -1422,8 +1422,8 @@
 	}
 
 	/**
-	 * Returns an array of host bundles that the specified fragment bundle is 
-	 * attached to or <tt>null</tt> if the specified bundle is not attached to a host.  
+	 * Returns an array of host bundles that the specified fragment bundle is
+	 * attached to or <tt>null</tt> if the specified bundle is not attached to a host.
 	 * If the bundle is not a fragment bundle then <tt>null</tt> is returned.
 	 * <p>
 	 * Clients are also able to acquire the {@link PackageAdmin} service and query
@@ -1441,7 +1441,7 @@
 	/**
 	 * Returns whether the platform is running.
 	 *
-	 * @return <code>true</code> if the platform is running, 
+	 * @return <code>true</code> if the platform is running,
 	 *		and <code>false</code> otherwise
 	 *@since 3.0
 	 */
@@ -1453,11 +1453,11 @@
 	 * Returns a list of known system architectures.
 	 * <p>
 	 * Note that this list is not authoritative; there may be legal values
-	 * not included in this list. Indeed, the value returned by 
-	 * <code>getOSArch</code> may not be in this list. Also, this list may 
+	 * not included in this list. Indeed, the value returned by
+	 * <code>getOSArch</code> may not be in this list. Also, this list may
 	 * change over time as Eclipse comes to run on more operating environments.
 	 * </p>
-	 * 
+	 *
 	 * @return the list of system architectures known to the system
 	 * @see #getOSArch()
 	 * @since 3.0
@@ -1470,11 +1470,11 @@
 	 * Returns a list of known operating system names.
 	 * <p>
 	 * Note that this list is not authoritative; there may be legal values
-	 * not included in this list. Indeed, the value returned by 
-	 * <code>getOS</code> may not be in this list. Also, this list may 
+	 * not included in this list. Indeed, the value returned by
+	 * <code>getOS</code> may not be in this list. Also, this list may
 	 * change over time as Eclipse comes to run on more operating environments.
 	 * </p>
-	 * 
+	 *
 	 * @return the list of operating systems known to the system
 	 * @see #getOS()
 	 * @since 3.0
@@ -1484,10 +1484,10 @@
 	}
 
 	/**
-	 * Returns a map of known platform line separators. The keys are 
-	 * translated names of platforms and the values are their associated 
+	 * Returns a map of known platform line separators. The keys are
+	 * translated names of platforms and the values are their associated
 	 * line separator strings.
-	 * 
+	 *
 	 * @return a map of platform to their line separator string
 	 * @since 3.1
 	 */
@@ -1502,11 +1502,11 @@
 	 * Returns a list of known windowing system names.
 	 * <p>
 	 * Note that this list is not authoritative; there may be legal values
-	 * not included in this list. Indeed, the value returned by 
-	 * <code>getWS</code> may not be in this list. Also, this list may 
+	 * not included in this list. Indeed, the value returned by
+	 * <code>getWS</code> may not be in this list. Also, this list may
 	 * change over time as Eclipse comes to run on more operating environments.
 	 * </p>
-	 * 
+	 *
 	 * @return the list of window systems known to the system
 	 * @see #getWS()
 	 * @since 3.0
@@ -1516,11 +1516,11 @@
 	}
 
 	/**
-	 * Returns <code>true</code> if the platform is currently running in 
+	 * Returns <code>true</code> if the platform is currently running in
 	 * debug mode.  The platform is typically put in debug mode using the
 	 * "-debug" command line argument.
 	 * <p>
-	 * Clients are also able to acquire the {@link EnvironmentInfo} service and query it 
+	 * Clients are also able to acquire the {@link EnvironmentInfo} service and query it
 	 * to see if they are in debug mode.
 	 * </p>
 	 * @return whether or not the platform is running in debug mode
@@ -1531,9 +1531,9 @@
 	}
 
 	/**
-	 * Returns <code>true</code> if the platform is currently running in 
-	 * development mode.  That is, if special procedures are to be 
-	 * taken when defining plug-in class paths.  The platform is typically put in 
+	 * Returns <code>true</code> if the platform is currently running in
+	 * development mode.  That is, if special procedures are to be
+	 * taken when defining plug-in class paths.  The platform is typically put in
 	 * development mode using the "-dev" command line argument.
 	 * <p>
 	 * Clients are also able to acquire the {@link EnvironmentInfo} service and query it
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
index e419c75..e83a0d7 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
@@ -26,17 +26,17 @@
 /**
  * The abstract superclass of all plug-in runtime class
  * implementations. A plug-in subclasses this class and overrides
- * the appropriate life cycle methods in order to react to the life cycle 
+ * the appropriate life cycle methods in order to react to the life cycle
  * requests automatically issued by the platform.
- * For compatibility reasons, the methods called for those life cycle events 
- * vary, please see the "Constructors and life cycle methods" section below. 
- *  
+ * For compatibility reasons, the methods called for those life cycle events
+ * vary, please see the "Constructors and life cycle methods" section below.
+ *
  * <p>
  * Conceptually, the plug-in runtime class represents the entire plug-in
  * rather than an implementation of any one particular extension the
  * plug-in declares. A plug-in is not required to explicitly
  * specify a plug-in runtime class; if none is specified, the plug-in
- * will be given a default plug-in runtime object that ignores all life 
+ * will be given a default plug-in runtime object that ignores all life
  * cycle requests (it still provides access to the corresponding
  * plug-in descriptor).
  * </p>
@@ -49,13 +49,13 @@
  * with the class attribute of the <code>&ltplugin&gt</code> element markup.
  * </p>
  * <p>
- * Instances of plug-in runtime classes are automatically created 
- * by the platform in the course of plug-in activation. For compatibility reasons, 
- * the constructor used to create plug-in instances varies, please see the "Constructors 
+ * Instances of plug-in runtime classes are automatically created
+ * by the platform in the course of plug-in activation. For compatibility reasons,
+ * the constructor used to create plug-in instances varies, please see the "Constructors
  * and life cycle methods" section below.
  * </p><p>
- * The concept of bundles underlies plug-ins. However it is safe to regard plug-ins 
- * and bundles as synonyms. 
+ * The concept of bundles underlies plug-ins. However it is safe to regard plug-ins
+ * and bundles as synonyms.
  * </p>
  * <p>
  * <b>Clients must never explicitly instantiate a plug-in runtime class</b>.
@@ -86,37 +86,37 @@
  * will always return an initialized instance of <code>MyPluginClass</code>.
  * </p>
  * <p>
- * <b>Constructors and life cycle methods</b> 
+ * <b>Constructors and life cycle methods</b>
  * </p><p>
  * If the plugin.xml of a plug-in indicates &lt;?eclipse version="3.0"?&gt; and its prerequisite
- * list includes <code>org.eclipse.core.runtime</code>, the default constructor of the plug-in 
+ * list includes <code>org.eclipse.core.runtime</code>, the default constructor of the plug-in
  * class is used and {@link #start(BundleContext)} and {@link #stop(BundleContext)} are
- * called as life cycle methods.    
+ * called as life cycle methods.
  * </p><p>
  * If the plugin.xml of a plug-in indicates &lt;?eclipse version="3.0"?&gt; and its prerequisite list includes
  * <code>org.eclipse.core.runtime.compatibility</code>, the {@link #Plugin(IPluginDescriptor)}
  * constructor is used and {@link #startup()} and {@link #shutdown()} are called as life cycle methods.
  * Note that in this situation, start() is called before startup() and stop() is called
- * after shutdown. 
+ * after shutdown.
  * </p><p>
  * If the plugin.xml of your plug-in does <b>not</b> indicate &lt;?eclipse version="3.0"?&gt; it is therefore
- * not a 3.0 plug-in. Consequently the {@link #Plugin(IPluginDescriptor)} is used and {@link #startup()} and 
+ * not a 3.0 plug-in. Consequently the {@link #Plugin(IPluginDescriptor)} is used and {@link #startup()} and
  * {@link #shutdown()} are called as life cycle methods.
  * </p><p>
  * Since Eclipse 3.0 APIs of the Plugin class can be called only when the Plugin is in an active state, i.e.,
  * after it was started up and before it is shutdown. In particular, it means that Plugin APIs should not
- * be called from overrides of {@link #Plugin()}. 
+ * be called from overrides of {@link #Plugin()}.
  * </p>
  */
 public abstract class Plugin implements BundleActivator {
 
 	/**
-	 * String constant used for the default scope name for legacy 
+	 * String constant used for the default scope name for legacy
 	 * Eclipse plug-in preferences. The value of <code>PLUGIN_PREFERENCE_SCOPE</code> should
 	 * match the InstanceScope's variable SCOPE from org.eclipse.core.runtime.preferences.
 	 * The value is copied in this file to prevent unnecessary activation of
 	 * the Preferences plugin on startup.
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public static final String PLUGIN_PREFERENCE_SCOPE = "instance"; //$NON-NLS-1$
@@ -146,7 +146,7 @@
 	/**
 	 * The base name (value <code>"preferences"</code>) for the file which is used for
 	 * overriding default preference values.
-	 *   
+	 *
 	 * @since 2.0
 	 * @see #PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME
 	 */
@@ -160,7 +160,7 @@
 	 * The format of the file is as per <code>java.io.Properties</code> where
 	 * the keys are property names and values are strings.
 	 * </p>
-	 * 
+	 *
 	 * @since 2.0
 	 */
 	public static final String PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME = PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME + ".ini"; //$NON-NLS-1$
@@ -168,7 +168,7 @@
 	/**
 	 * The preference object for this plug-in; initially <code>null</code>
 	 * meaning not yet created and initialized.
-	 * 
+	 *
 	 * @since 2.0
 	 * @deprecated
 	 */
@@ -177,21 +177,21 @@
 
 	/**
 	 * Creates a new plug-in runtime object.  This method is called by the platform
-	 * if this class is used as a <code>BundleActivator</code>.  This method is not 
-	 * needed/used if this plug-in requires the org.eclipse.core.runtime.compatibility plug-in.  
-	 * Subclasses of <code>Plugin</code> 
-	 * must call this method first in their constructors.  
-	 * 
+	 * if this class is used as a <code>BundleActivator</code>.  This method is not
+	 * needed/used if this plug-in requires the org.eclipse.core.runtime.compatibility plug-in.
+	 * Subclasses of <code>Plugin</code>
+	 * must call this method first in their constructors.
+	 *
 	 * The resultant instance is not managed by the runtime and
 	 * so should be remembered by the client (typically using a Singleton pattern).
 	 * <b>Clients must never explicitly call this method.</b>
-	 * </p> 
+	 * </p>
 	 * <p>
-	 * Note: The class loader typically has monitors acquired during invocation of this method.  It is 
+	 * Note: The class loader typically has monitors acquired during invocation of this method.  It is
 	 * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
 	 * as this would lead to deadlock vulnerability.
 	 * </p>
-	 * 
+	 *
 	 * @since 3.0
 	 */
 	public Plugin() {
@@ -201,12 +201,12 @@
 	/**
 	 * Creates a new plug-in runtime object for the given plug-in descriptor.
 	 * <p>
-	 * Instances of plug-in runtime classes are automatically created 
+	 * Instances of plug-in runtime classes are automatically created
 	 * by the platform in the course of plug-in activation.
 	 * <b>Clients must never explicitly call this method.</b>
 	 * </p>
 	 * <p>
-	 * Note: The class loader typically has monitors acquired during invocation of this method.  It is 
+	 * Note: The class loader typically has monitors acquired during invocation of this method.  It is
 	 * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
 	 * as this would lead to deadlock vulnerability.
 	 * </p>
@@ -215,9 +215,9 @@
 	 * @see #getDescriptor()
 	 * @deprecated
 	 * In Eclipse 3.0 this constructor has been replaced by {@link #Plugin()}.
-	 * Implementations of <code>MyPlugin(IPluginDescriptor descriptor)</code> should be changed to 
+	 * Implementations of <code>MyPlugin(IPluginDescriptor descriptor)</code> should be changed to
 	 * <code>MyPlugin()</code> and call <code>super()</code> instead of <code>super(descriptor)</code>.
-	 * The <code>MyPlugin(IPluginDescriptor descriptor)</code> constructor is called only for plug-ins 
+	 * The <code>MyPlugin(IPluginDescriptor descriptor)</code> constructor is called only for plug-ins
 	 * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
 	 */
 	@Deprecated
@@ -240,8 +240,8 @@
 	/**
 	 * Returns a URL for the given path.  Returns <code>null</code> if the URL
 	 * could not be computed or created.
-	 * 
-	 * @param path path relative to plug-in installation location 
+	 *
+	 * @param path path relative to plug-in installation location
 	 * @return a URL for the given path or <code>null</code>
 	 * @deprecated use {@link FileLocator#find(Bundle, IPath, Map)}
 	 */
@@ -253,7 +253,7 @@
 	/**
 	 * Returns a URL for the given path.  Returns <code>null</code> if the URL
 	 * could not be computed or created.
-	 * 
+	 *
 	 * @param path file path relative to plug-in installation location
 	 * @param override map of override substitution arguments to be used for
 	 * any $arg$ path elements. The map keys correspond to the substitution
@@ -273,9 +273,9 @@
 	 * Returns the plug-in descriptor for this plug-in runtime object.
 	 *
 	 * @return the plug-in descriptor for this plug-in runtime object
-	 * @deprecated 
+	 * @deprecated
 	 * <code>IPluginDescriptor</code> was refactored in Eclipse 3.0.
-	 * The <code>getDescriptor()</code> method may only be called by plug-ins 
+	 * The <code>getDescriptor()</code> method may only be called by plug-ins
 	 * which explicitly require the org.eclipse.core.runtime.compatibility plug-in.
 	 * See the comments on {@link IPluginDescriptor} and its methods for details.
 	 */
@@ -298,7 +298,7 @@
 	}
 
 	/**
-	 * Returns the location in the local file system of the 
+	 * Returns the location in the local file system of the
 	 * plug-in state area for this plug-in.
 	 * If the plug-in state area did not exist prior to this call,
 	 * it is created.
@@ -307,7 +307,7 @@
 	 * platform's metadata area where a plug-in is free to create files.
 	 * The content and structure of this area is defined by the plug-in,
 	 * and the particular plug-in is solely responsible for any files
-	 * it puts there. It is recommended for plug-in preference settings and 
+	 * it puts there. It is recommended for plug-in preference settings and
 	 * other configuration parameters.
 	 * </p>
 	 * @throws IllegalStateException when the system is running with no data area (-data @none),
@@ -322,19 +322,19 @@
 	/**
 	 * Returns the preference store for this plug-in.
 	 * <p>
-	 * Note that if an error occurs reading the preference store from disk, an empty 
+	 * Note that if an error occurs reading the preference store from disk, an empty
 	 * preference store is quietly created, initialized with defaults, and returned.
 	 * </p>
 	 * <p>
 	 * Calling this method may cause the preference store to be created and
-	 * initialized. Subclasses which reimplement the 
+	 * initialized. Subclasses which reimplement the
 	 * <code>initializeDefaultPluginPreferences</code> method have this opportunity
 	 * to initialize preference default values, just prior to processing override
 	 * default values imposed externally to this plug-in (specified for the product,
 	 * or at platform start up).
 	 * </p>
 	 * <p>
-	 * After settings in the preference store are changed (for example, with 
+	 * After settings in the preference store are changed (for example, with
 	 * <code>Preferences.setValue</code> or <code>setToDefault</code>),
 	 * <code>savePluginPreferences</code> should be called to store the changed
 	 * values back to disk. Otherwise the changes will be lost on plug-in
@@ -351,7 +351,7 @@
 	 * a combination of the {@link InstanceScope} and the {@link DefaultScope}. To set preferences
 	 * for your plug-in, use <tt>new InstanceScope().getNode(&lt;yourPluginId&gt;)</tt>.  To set default
 	 * preferences for your plug-in, use <tt>new DefaultScope().getNode(&lt;yourPluginId&gt;)</tt>.
-	 * To lookup an integer preference value for your plug-in, use 
+	 * To lookup an integer preference value for your plug-in, use
 	 * <tt>Platform.getPreferencesService().getInt(&lt;yourPluginId&gt;, &lt;preferenceKey&gt;, &lt;defaultValue&gt;, null)</tt>.
 	 * Similar methods exist on {@link IPreferencesService} for obtaining other kinds
 	 * of preference values (strings, booleans, etc).
@@ -388,7 +388,7 @@
 	 * <p>
 	 * Plug-in preferences are <b>not</b> saved automatically on plug-in shutdown.
 	 * </p>
-	 * 
+	 *
 	 * @see Preferences#store(OutputStream, String)
 	 * @see Preferences#needsSaving()
 	 * @since 2.0
@@ -396,7 +396,7 @@
 	 */
 	@Deprecated
 	public final void savePluginPreferences() {
-		
+
 		Location instance = InternalPlatform.getDefault().getInstanceLocation();
 		if (instance == null || !instance.isSet())
 			// If the instance area is not set there is no point in getting or setting the preferences.
@@ -407,7 +407,7 @@
 		// made changes via the OSGi APIs.
 		getPluginPreferences();
 
-		// Performance: isolate PreferenceForwarder and BackingStoreException into 
+		// Performance: isolate PreferenceForwarder and BackingStoreException into
 		// an inner class to avoid class loading (and then activation of the Preferences plugin)
 		// as the Plugin class is loaded.
 		final Preferences preferencesCopy = preferences;
@@ -441,11 +441,11 @@
 	 * </p>
 	 * @since 2.0
 	 * @deprecated
-	 * This method has been refactored in the new preference mechanism 
-	 * to handle the case where the runtime compatibility layer does not exist. The 
-	 * contents of this method should be moved to the method named 
-	 * <code>initializeDefaultPreferences</code> in a separate subclass of 
-	 * {@link org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer}. 
+	 * This method has been refactored in the new preference mechanism
+	 * to handle the case where the runtime compatibility layer does not exist. The
+	 * contents of this method should be moved to the method named
+	 * <code>initializeDefaultPreferences</code> in a separate subclass of
+	 * {@link org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer}.
 	 * This class should be contributed via the
 	 * <code>org.eclipse.core.runtime.preferences</code> extension point.
 	 * <pre>
@@ -472,9 +472,9 @@
 
 	/**
 	 * Internal method. This method is a hook for
-	 * initialization of default preference values. 
+	 * initialization of default preference values.
 	 * It should not be called by clients.
-	 * 
+	 *
 	 * @since 3.0
 	 * @deprecated
 	 */
@@ -488,7 +488,7 @@
 	 * By default plug-ins are not in debug mode.  A plug-in can put itself
 	 * into debug mode or the user can set an execution option to do so.
 	 * <p>
-	 * Note that the plug-in's debug flag is initialized when the 
+	 * Note that the plug-in's debug flag is initialized when the
 	 * plug-in is started. The result of calling this method before the plug-in
 	 * has started is unspecified.
 	 * </p>
@@ -516,7 +516,7 @@
 	 * @param file path relative to plug-in installation location
 	 * @return an input stream
 	 * @exception IOException if the given path cannot be found in this plug-in
-	 * 
+	 *
 	 * @see #openStream(IPath,boolean)
 	 * @deprecated use {@link FileLocator#openStream(Bundle, IPath, boolean)}
 	 */
@@ -528,15 +528,15 @@
 	/**
 	 * Returns an input stream for the specified file. The file path
 	 * must be specified relative to this plug-in's installation location.
-	 * Optionally, the path specified may contain $arg$ path elements that can 
-	 * be used as substitution arguments.  If this option is used then the $arg$ 
+	 * Optionally, the path specified may contain $arg$ path elements that can
+	 * be used as substitution arguments.  If this option is used then the $arg$
 	 * path elements are processed in the same way as {@link #find(IPath, Map)}.
 	 * <p>
 	 * The caller must close the returned stream when done.
 	 * </p>
 	 *
 	 * @param file path relative to plug-in installation location
-	 * @param substituteArgs <code>true</code> to process substitution arguments, 
+	 * @param substituteArgs <code>true</code> to process substitution arguments,
 	 * and <code>false</code> for the file exactly as specified without processing any
 	 * substitution arguments.
 	 * @return an input stream
@@ -553,7 +553,7 @@
 	 * By default plug-ins are not in debug mode.  A plug-in can put itself
 	 * into debug mode or the user can set a debug option to do so.
 	 * <p>
-	 * Note that the plug-in's debug flag is initialized when the 
+	 * Note that the plug-in's debug flag is initialized when the
 	 * plug-in is started. The result of calling this method before the plug-in
 	 * has started is unspecified.
 	 * </p>
@@ -580,7 +580,7 @@
 
 	/**
 	 * Returns the DebugOptions instance
-	 * 
+	 *
 	 * @since 3.5
 	 * @return Either the DebugOptions instance or <code>null</code> if this plug-in does not have a bundle
 	 */
@@ -625,12 +625,12 @@
 	 *
 	 * @exception CoreException if this method fails to shut down
 	 *   this plug-in
-	 * @deprecated 
+	 * @deprecated
 	 * In Eclipse 3.0 this method has been replaced by {@link Plugin#stop(BundleContext context)}.
-	 * Implementations of <code>shutdown()</code> should be changed to override 
-	 * <code>stop(BundleContext context)</code> and call <code>super.stop(context)</code> 
+	 * Implementations of <code>shutdown()</code> should be changed to override
+	 * <code>stop(BundleContext context)</code> and call <code>super.stop(context)</code>
 	 * instead of <code>super.shutdown()</code>.
-	 * The <code>shutdown()</code> method is called only for plug-ins which explicitly require the 
+	 * The <code>shutdown()</code> method is called only for plug-ins which explicitly require the
 	 * org.eclipse.core.runtime.compatibility plug-in.
 	 */
 	@Deprecated
@@ -670,7 +670,7 @@
 	 * <p>
 	 * If this method throws an exception, it is taken as an indication that
 	 * plug-in initialization has failed; as a result, the plug-in will not
-	 * be activated; moreover, the plug-in will be marked as disabled and 
+	 * be activated; moreover, the plug-in will be marked as disabled and
 	 * ineligible for activation for the duration.
 	 * </p>
 	 * <p>
@@ -679,16 +679,16 @@
 	 * in an attempt to close open files, etc.
 	 * </p>
 	 * <p>
-	 * Note 1: This method is automatically invoked by the platform 
+	 * Note 1: This method is automatically invoked by the platform
 	 * the first time any code in the plug-in is executed.
 	 * </p>
 	 * <p>
-	 * Note 2: This method is intended to perform simple initialization 
-	 * of the plug-in environment. The platform may terminate initializers 
+	 * Note 2: This method is intended to perform simple initialization
+	 * of the plug-in environment. The platform may terminate initializers
 	 * that do not complete in a timely fashion.
 	 * </p>
 	 * <p>
-	 * Note 3: The class loader typically has monitors acquired during invocation of this method.  It is 
+	 * Note 3: The class loader typically has monitors acquired during invocation of this method.  It is
 	 * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
 	 * as this would lead to deadlock vulnerability.
 	 * </p>
@@ -696,12 +696,12 @@
 	 * <p>
 	 *
 	 * @exception CoreException if this plug-in did not start up properly
-	 * @deprecated 
+	 * @deprecated
 	 * In Eclipse 3.0 this method has been replaced by {@link Plugin#start(BundleContext context)}.
 	 * Implementations of <code>startup()</code> should be changed to extend
 	 * <code>start(BundleContext context)</code> and call <code>super.start(context)</code>
 	 * instead of <code>super.startup()</code>.
-	 * The <code>startup()</code> method is called only for plug-ins which explicitly require the 
+	 * The <code>startup()</code> method is called only for plug-ins which explicitly require the
 	 * org.eclipse.core.runtime.compatibility plug-in.
 	 */
 	@Deprecated
@@ -710,7 +710,7 @@
 	}
 
 	/**
-	 * Returns a string representation of the plug-in, suitable 
+	 * Returns a string representation of the plug-in, suitable
 	 * for debugging purposes only.
 	 */
 	@Override
@@ -732,20 +732,20 @@
 	 * <p>
 	 * If this method throws an exception, it is taken as an indication that
 	 * plug-in initialization has failed; as a result, the plug-in will not
-	 * be activated; moreover, the plug-in will be marked as disabled and 
+	 * be activated; moreover, the plug-in will be marked as disabled and
 	 * ineligible for activation for the duration.
 	 * </p>
 	 * <p>
-	 * Note 1: This method is automatically invoked by the platform 
+	 * Note 1: This method is automatically invoked by the platform
 	 * the first time any code in the plug-in is executed.
 	 * </p>
 	 * <p>
-	 * Note 2: This method is intended to perform simple initialization 
-	 * of the plug-in environment. The platform may terminate initializers 
+	 * Note 2: This method is intended to perform simple initialization
+	 * of the plug-in environment. The platform may terminate initializers
 	 * that do not complete in a timely fashion.
 	 * </p>
 	 * <p>
-	 * Note 3: The class loader typically has monitors acquired during invocation of this method.  It is 
+	 * Note 3: The class loader typically has monitors acquired during invocation of this method.  It is
 	 * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
 	 * as this would lead to deadlock vulnerability.
 	 * </p>
@@ -782,7 +782,7 @@
 
 		IPluginDescriptor tmp = CompatibilityHelper.getPluginDescriptor(symbolicName);
 
-		//Runtime descriptor is never set to support dynamic re-installation of compatibility 
+		//Runtime descriptor is never set to support dynamic re-installation of compatibility
 		if (!symbolicName.equals(Platform.PI_RUNTIME))
 			descriptor = tmp;
 
@@ -821,7 +821,7 @@
 	 * but the OSGi framework ensures that both methods will not be called simultaneously.
 	 * </p>
 	 * <b>Clients must never explicitly call this method.</b>
-	 * 
+	 *
 	 * @param context the bundle context for this plug-in
 	 * @exception Exception if this method fails to shut down this plug-in
 	 * @since 3.0
@@ -837,7 +837,7 @@
 
 	/**
 	 * Returns the bundle associated with this plug-in.
-	 * 
+	 *
 	 * @return the associated bundle
 	 * @since 3.0
 	 */
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
index e7560c7..7e22bbe 100644
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
+++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
@@ -4,7 +4,7 @@
  * are made available under the terms of the Eclipse Public License v1.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,7 +21,7 @@
  * A table of preference settings, mapping named properties to values. Property
  * names are non-empty strings; property values can be either booleans,
  * non-null strings, or values of one of the primitive number types.
- * The table consists of two, sparse, layers: the lower layer holds default values 
+ * The table consists of two, sparse, layers: the lower layer holds default values
  * for properties, and the upper layer holds explicitly set values for properties.
  * Normal retrieval looks for an explicitly set value for the given property in
  * the upper layer; if there is nothing for that property in the upper layer, it
@@ -44,17 +44,17 @@
  * </p>
  * <p>
  * The typical usage is to establish the defaults for all known properties
- * and then restore previously stored values for properties whose values 
+ * and then restore previously stored values for properties whose values
  * were explicitly set. The existing settings can be changed and new properties
- * can be set (<code>setValue</code>). If the values specified is the same as 
+ * can be set (<code>setValue</code>). If the values specified is the same as
  * the default value, the explicit setting is deleted from the top layer.
- * It is also possible to reset a property value back to the default value 
- * using <code>setToDefault</code>. After the properties have been modified, 
+ * It is also possible to reset a property value back to the default value
+ * using <code>setToDefault</code>. After the properties have been modified,
  * the properties with explicit settings are written to disk. The default values
  * are never saved. This two-tiered approach
  * to saving and restoring property setting minimizes the number of properties
  * that need to be persisted; indeed, the normal starting state does not require
- * storing any properties at all. It also makes it easy to use different 
+ * storing any properties at all. It also makes it easy to use different
  * default settings in different environments while maintaining just those
  * property settings the user has adjusted.
  * </p>
@@ -68,11 +68,11 @@
  * Clients may instantiate this class.
  * </p>
  * <p>
- * The implementation is based on a pair of internal 
+ * The implementation is based on a pair of internal
  * <code>java.util.Properties</code> objects, one holding explicitly set values
  * (set using <code>setValue</code>), the other holding the default values
  * (set using <code>setDefaultValue</code>). The <code>load</code> and
- * <code>store</code> methods persist the non-default property values to 
+ * <code>store</code> methods persist the non-default property values to
  * streams (the default values are not saved).
  * </p>
  * <p>
@@ -81,7 +81,7 @@
  * That is, the name will still be returned in the result of the <code>defaultPropertyNames</code>
  * and <code>contains</code> methods.
  * </p>
- * 
+ *
  * @since 2.0
  * @noextend This class is not intended to be subclassed by clients.
  * @deprecated This class is replaced by {@link IEclipsePreferences}. Setting a default
@@ -139,12 +139,12 @@
 	 */
 	private static final String[] EMPTY_STRING_ARRAY = new String[0];
 
-	/** 
+	/**
 	 * The simple identifier constant (value "<code>preferences</code>") of
 	 * the extension point of the Core Runtime plug-in where plug-ins declare
 	 * extensions to the preference facility. A plug-in may define any number
 	 * of preference extensions.
-	 * 
+	 *
 	 * @since 3.2
 	 */
 	public static final String PT_PREFERENCES = "preferences"; //$NON-NLS-1$
@@ -154,7 +154,7 @@
 	 * <p>
 	 * The preferences object reports property change events for internal state
 	 * changes that may be of interest to external parties. A special listener
-	 * interface (<code>Preferences.IPropertyChangeListener</code>) is 
+	 * interface (<code>Preferences.IPropertyChangeListener</code>) is
 	 * defined for this purpose. Listeners are registered via the
 	 * <code>Preferences.addPropertyChangeListener</code> method.
 	 * </p>
@@ -192,11 +192,11 @@
 		 * Creates a new property change event.
 		 *
 		 * @param source the object whose property has changed
-		 * @param property the property that has changed (must not be 
+		 * @param property the property that has changed (must not be
 		 *    <code>null</code>)
-		 * @param oldValue the old value of the property, or 
+		 * @param oldValue the old value of the property, or
 		 *    <code>null</code> if none
-		 * @param newValue the new value of the property, or 
+		 * @param newValue the new value of the property, or
 		 *    <code>null</code> if none
 		 */
 		protected PropertyChangeEvent(Object source, String property, Object oldValue, Object newValue) {
@@ -217,7 +217,7 @@
 		 * is a constant string.  Callers must compare property names using
 		 * <code>equals</code>, not ==.
 		 *</p>
-		 * 
+		 *
 		 * @return the name of the property that changed
 		 */
 		public String getProperty() {
@@ -263,7 +263,7 @@
 	 * </p>
 	 * <p>
 	 * <em>Note:</em> Depending on the means in which the property
-	 * values changed, the old and new values for the property can 
+	 * values changed, the old and new values for the property can
 	 * be either typed, a string representation of the value, or <code>null</code>.
 	 * Clients who wish to behave properly in all cases should all
 	 * three cases in their implementation of the property change listener.
@@ -284,8 +284,8 @@
 		public void propertyChange(Preferences.PropertyChangeEvent event);
 	}
 
-	/** 
-	 * List of registered listeners (element type: 
+	/**
+	 * List of registered listeners (element type:
 	 * <code>IPropertyChangeListener</code>).
 	 * These listeners are to be informed when the current value of a property
 	 * changes.
@@ -312,7 +312,7 @@
 	protected boolean dirty = false;
 
 	/**
-	 * Exports all non-default-valued preferences for all installed plugins to the 
+	 * Exports all non-default-valued preferences for all installed plugins to the
 	 * provided file. If a file already exists at the given location, it will be deleted.
 	 * If there are no preferences to export, no file will be written.
 	 * <p>
@@ -356,7 +356,7 @@
 	}
 
 	/**
-	 * Loads the plugin preferences from the given file, and replaces all 
+	 * Loads the plugin preferences from the given file, and replaces all
 	 * non-default-valued preferences for all plugins with the values from this file.
 	 * <p>
 	 * If the file contains preferences for plug-ins that don't exist in the current
@@ -402,14 +402,14 @@
 
 	/**
 	 * Validates that the preference versions in the given file match the versions
-	 * of the currently installed plugins.  Returns an OK status if all preferences match 
-	 * the currently installed plugins, otherwise a MultiStatus describing what 
-	 * plugins have preferences that don't match.  
+	 * of the currently installed plugins.  Returns an OK status if all preferences match
+	 * the currently installed plugins, otherwise a MultiStatus describing what
+	 * plugins have preferences that don't match.
 	 * <p>
-	 * If the returned status has a <code>IStatus.WARNING</code> severity, 
-	 * it means that some preferences may not be applicable but for the most 
-	 * part they will be compatible.  If the returned status has a 
-	 * <code>IStatus.ERROR</code> severity, it means that the preferences 
+	 * If the returned status has a <code>IStatus.WARNING</code> severity,
+	 * it means that some preferences may not be applicable but for the most
+	 * part they will be compatible.  If the returned status has a
+	 * <code>IStatus.ERROR</code> severity, it means that the preferences
 	 * will probably not be compatible.
 	 * <p>
 	 * If the file contains preferences for plug-ins that don't exist in the current
@@ -446,7 +446,7 @@
 	 * Has no effect if the identical listener is already registered.
 	 * <p>
 	 * <em>Note:</em> Depending on the means in which the property
-	 * values changed, the old and new values for the property can 
+	 * values changed, the old and new values for the property can
 	 * be either typed, a string representation of the value, or <code>null</code>.
 	 * Clients who wish to behave properly in all cases should all
 	 * three cases in their implementation of the property change listener.
@@ -518,7 +518,7 @@
 	 * Returns the current value of the boolean-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>false</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a boolean.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -537,7 +537,7 @@
 	 * Sets the current value of the boolean-valued property with the
 	 * given name. The given name must not be <code>null</code>.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -576,7 +576,7 @@
 	 * Returns the default value for the boolean-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>false</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a boolean.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -614,7 +614,7 @@
 	 * Returns the current value of the double-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0.0</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a double.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -629,7 +629,7 @@
 	 * Sets the current value of the double-valued property with the
 	 * given name. The given name must not be <code>null</code>.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -642,7 +642,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new current value of the property; must be 
+	 * @param value the new current value of the property; must be
 	 *   a number (not a NaN)
 	 */
 	public void setValue(String name, double value) {
@@ -672,7 +672,7 @@
 	 * Returns the default value for the double-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0.0</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a double.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -685,7 +685,7 @@
 
 	/**
 	 * Sets the default value for the double-valued property with the
-	 * given name. The given name must not be <code>null</code>. 
+	 * given name. The given name must not be <code>null</code>.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -696,7 +696,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new default value for the property; must be 
+	 * @param value the new default value for the property; must be
 	 *   a number (not a NaN)
 	 */
 	public void setDefault(String name, double value) {
@@ -708,11 +708,11 @@
 
 	/**
 	 * Converts the given raw property value string to a double.
-	 * 
+	 *
 	 * @param rawPropertyValue the raw property value, or <code>null</code>
 	 *   if none
 	 * @param defaultValue the default value
-	 * @return the raw value converted to a double, or the given 
+	 * @return the raw value converted to a double, or the given
 	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
 	 *    cannot be parsed as a double
 	 */
@@ -732,7 +732,7 @@
 	 * Returns the current value of the float-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0.0f</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a float.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -747,7 +747,7 @@
 	 * Sets the current value of the float-valued property with the
 	 * given name. The given name must not be <code>null</code>.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -760,7 +760,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new current value of the property; must be 
+	 * @param value the new current value of the property; must be
 	 *   a number (not a NaN)
 	 */
 	public void setValue(String name, float value) {
@@ -790,7 +790,7 @@
 	 * Returns the default value for the float-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0.0f</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a float.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -803,7 +803,7 @@
 
 	/**
 	 * Sets the default value for the float-valued property with the
-	 * given name. The given name must not be <code>null</code>. 
+	 * given name. The given name must not be <code>null</code>.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -814,7 +814,7 @@
 	 * </p>
 	 *
 	 * @param name the name of the property
-	 * @param value the new default value for the property; must be 
+	 * @param value the new default value for the property; must be
 	 *   a number (not a NaN)
 	 */
 	public void setDefault(String name, float value) {
@@ -826,11 +826,11 @@
 
 	/**
 	 * Converts the given raw property value string to a float.
-	 * 
+	 *
 	 * @param rawPropertyValue the raw property value, or <code>null</code>
 	 *   if none
 	 * @param defaultValue the default value
-	 * @return the raw value converted to a float, or the given 
+	 * @return the raw value converted to a float, or the given
 	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
 	 *    cannot be parsed as a float
 	 */
@@ -850,7 +850,7 @@
 	 * Returns the current value of the integer-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as an integer.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -865,7 +865,7 @@
 	 * Sets the current value of the integer-valued property with the
 	 * given name. The given name must not be <code>null</code>.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -904,7 +904,7 @@
 	 * Returns the default value for the integer-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as an integer.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -917,7 +917,7 @@
 
 	/**
 	 * Sets the default value for the integer-valued property with the
-	 * given name. The given name must not be <code>null</code>. 
+	 * given name. The given name must not be <code>null</code>.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -936,11 +936,11 @@
 
 	/**
 	 * Converts the given raw property value string to an int.
-	 * 
+	 *
 	 * @param rawPropertyValue the raw property value, or <code>null</code>
 	 *   if none
 	 * @param defaultValue the default value
-	 * @return the raw value converted to an int, or the given 
+	 * @return the raw value converted to an int, or the given
 	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
 	 *    cannot be parsed as an int
 	 */
@@ -960,7 +960,7 @@
 	 * Returns the current value of the long-valued property with the
 	 * given name.
 	 * Returns the default-default value (<code>0L</code>) if there
-	 * is no property with the given name, or if the current value 
+	 * is no property with the given name, or if the current value
 	 * cannot be treated as a long.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -975,7 +975,7 @@
 	 * Sets the current value of the long-valued property with the
 	 * given name. The given name must not be <code>null</code>.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -1014,7 +1014,7 @@
 	 * Returns the default value for the long-valued property
 	 * with the given name.
 	 * Returns the default-default value (<code>0L</code>) if there
-	 * is no default property with the given name, or if the default 
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a long.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -1027,7 +1027,7 @@
 
 	/**
 	 * Sets the default value for the long-valued property with the
-	 * given name. The given name must not be <code>null</code>. 
+	 * given name. The given name must not be <code>null</code>.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -1046,11 +1046,11 @@
 
 	/**
 	 * Converts the given raw property value string to a long.
-	 * 
+	 *
 	 * @param rawPropertyValue the raw property value, or <code>null</code>
 	 *   if none
 	 * @param defaultValue the default value
-	 * @return the raw value converted to a long, or the given 
+	 * @return the raw value converted to a long, or the given
 	 *    <code>defaultValue</code> if the raw value is <code>null</code> or
 	 *    cannot be parsed as a long
 	 */
@@ -1085,7 +1085,7 @@
 	 * Sets the current value of the string-valued property with the
 	 * given name. The given name must not be <code>null</code>.
 	 * <p>
-	 * A property change event is reported if the current value of the 
+	 * A property change event is reported if the current value of the
 	 * property actually changes from its previous value. In the event
 	 * object, the property name is the name of the property, and the
 	 * old and new values are wrapped as objects.
@@ -1126,8 +1126,8 @@
 	/**
 	 * Returns the default value for the string-valued property
 	 * with the given name.
-	 * Returns the default-default value (the empty string <code>""</code>) 
-	 * is no default property with the given name, or if the default 
+	 * Returns the default-default value (the empty string <code>""</code>)
+	 * is no default property with the given name, or if the default
 	 * value cannot be treated as a string.
 	 * The given name must not be <code>null</code>.
 	 *
@@ -1141,7 +1141,7 @@
 
 	/**
 	 * Sets the default value for the string-valued property with the
-	 * given name. The given name must not be <code>null</code>. 
+	 * given name. The given name must not be <code>null</code>.
 	 * <p>
 	 * Note that the current value of the property is affected if
 	 * the property's current value was its old default value, in which
@@ -1182,13 +1182,13 @@
 	 * <p>
 	 * Note that the recommended way of re-initializing a property to the
 	 * appropriate default value is to call <code>setToDefault</code>.
-	 * This is implemented by removing the named value from the object, 
+	 * This is implemented by removing the named value from the object,
 	 * thereby exposing the default value.
 	 * </p>
 	 * <p>
 	 * A property change event is always reported. In the event
 	 * object, the property name is the name of the property, and the
-	 * old and new values are either strings, or <code>null</code> 
+	 * old and new values are either strings, or <code>null</code>
 	 * indicating the default-default value.
 	 * </p>
 	 *
@@ -1209,7 +1209,7 @@
 	 * Returns a list of all properties known to this preference object which
 	 * have current values other than their default value.
 	 *
-	 * @return an array of property names 
+	 * @return an array of property names
 	 */
 	public String[] propertyNames() {
 		return properties.keySet().toArray(EMPTY_STRING_ARRAY);
@@ -1219,7 +1219,7 @@
 	 * Returns a list of all properties known to this preference object which
 	 * have an explicit default value set.
 	 *
-	 * @return an array of property names 
+	 * @return an array of property names
 	 */
 	public String[] defaultPropertyNames() {
 		return defaultProperties.keySet().toArray(EMPTY_STRING_ARRAY);
@@ -1239,15 +1239,15 @@
 
 	/**
 	 * Saves the non-default-valued properties known to this preference object to
-	 * the given output stream using 
+	 * the given output stream using
 	 * <code>Properties.store(OutputStream,String)</code>.
 	 * <p>
 	 * Note that the output is unconditionally written, even when
 	 * <code>needsSaving</code> is <code>false</code>.
 	 * </p>
 	 *
-	 * @param out the output stream 
-	 * @param header a comment to be included in the output, or 
+	 * @param out the output stream
+	 * @param header a comment to be included in the output, or
 	 *    <code>null</code> if none
 	 * @exception IOException if there is a problem saving this preference object
 	 * @see Properties#store(OutputStream,String)
@@ -1259,7 +1259,7 @@
 
 	/**
 	 * Loads the non-default-valued properties for this preference object from the
-	 * given input stream using 
+	 * given input stream using
 	 * <code>java.util.Properties.load(InputStream)</code>. Default property
 	 * values are not affected.
 	 *