diff --git a/org.eclipse.pde/.classpath b/org.eclipse.pde/.classpath
deleted file mode 100644
index f1b3ad8..0000000
--- a/org.eclipse.pde/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.pde/.cvsignore b/org.eclipse.pde/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.pde/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.pde/.project b/org.eclipse.pde/.project
deleted file mode 100644
index cfc3d57..0000000
--- a/org.eclipse.pde/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.pde/.settings/org.eclipse.core.resources.prefs b/org.eclipse.pde/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 1a4cdbd..0000000
--- a/org.eclipse.pde/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Oct 20 13:22:13 EDT 2006
-eclipse.preferences.version=1
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/default.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/implied.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/osname.aliases=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/processor.aliases=UTF-8
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6083770..0000000
--- a/org.eclipse.pde/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,352 +0,0 @@
-#Wed Jan 02 10:06:55 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-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_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
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-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_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_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.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
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-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_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_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_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.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.line_length=80
-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.format_guardian_clause_on_one_line=false
-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
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-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.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=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_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
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-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_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
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-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_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_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
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-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_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_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
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-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_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
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-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_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_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=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
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-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_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
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-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_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
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-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_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
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-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.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.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-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.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-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.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.pde/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.pde/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 50b778b..0000000
--- a/org.eclipse.pde/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,64 +0,0 @@
-#Sun Dec 30 18:01:47 CST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.overrideannotation=false
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-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_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-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_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-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=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-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=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/org.eclipse.pde/.settings/org.eclipse.pde.prefs b/org.eclipse.pde/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 8d3361f..0000000
--- a/org.eclipse.pde/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Sun Dec 23 21:53:15 CST 2007
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=1
-compilers.p.missing-packages=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.pde/META-INF/MANIFEST.MF b/org.eclipse.pde/META-INF/MANIFEST.MF
deleted file mode 100644
index 7db0a13..0000000
--- a/org.eclipse.pde/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde; singleton:=true
-Bundle-Version: 3.3.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.pde.internal.core.content;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.pde/about.html b/org.eclipse.pde/about.html
deleted file mode 100644
index 4602330..0000000
--- a/org.eclipse.pde/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.pde/about.ini b/org.eclipse.pde/about.ini
deleted file mode 100644
index e1af9b8..0000000
--- a/org.eclipse.pde/about.ini
+++ /dev/null
@@ -1,32 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-welcomePage=$nl$/welcome.xml
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.pde.doc.user/tips/pde_tips.htm
-
diff --git a/org.eclipse.pde/about.mappings b/org.eclipse.pde/about.mappings
deleted file mode 100644
index 720ca87..0000000
--- a/org.eclipse.pde/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/org.eclipse.pde/about.properties b/org.eclipse.pde/about.properties
deleted file mode 100644
index c09953f..0000000
--- a/org.eclipse.pde/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Eclipse Plug-in Development Environment\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2006.  All rights reserved.\n\
-Visit http://www.eclipse.org/pde
-
diff --git a/org.eclipse.pde/build.properties b/org.eclipse.pde/build.properties
deleted file mode 100644
index 6686fbf..0000000
--- a/org.eclipse.pde/build.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               about.ini,\
-               about.properties,\
-               about.mappings,\
-               cheatsheets/,\
-               intro/,\
-               META-INF/,\
-               .,\
-               eclipse32.png,\
-               images/
-src.includes = about.html
-jars.compile.order = .
-source.. = src/
-output.. = bin/
diff --git a/org.eclipse.pde/cheatsheets/helloworld-composite.xml b/org.eclipse.pde/cheatsheets/helloworld-composite.xml
deleted file mode 100644
index a1fb747..0000000
--- a/org.eclipse.pde/cheatsheets/helloworld-composite.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-
-<!-- Composite Cheat Sheet -->
-
-<compositeCheatsheet name="Creating an Eclipse plug-in">
-
-   <!-- Task Group -->
-
-   <taskGroup kind="set" name="Create an Eclipse plug-in">
-      <intro>
-         This cheat sheet will guide you through the individual steps to 
-         create a plug-in, a plug-in extension, a feature and an update site
-         using the Plug-in Development Environment (PDE).  It will also
-         demonstrate how to install and uninstall a feature using
-         Install/Update.
-         <br/>
-         <br/>
-         To assist you along the way, wizards and commands
-         will be available for you to launch automatically.
-      </intro>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Create a plug-in">
-         <intro>
-            This cheat sheet will demonstrate how to  
-            create, modify and test a plug-in. 
-         </intro>
-         <param name="path" value="helloworld/helloworld-create.xml" />
-         <onCompletion>
-         	Congratulations!  You just created a plug-in!
-         </onCompletion>
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Create a plug-in extension">
-         <intro>
-            This cheat sheet will demonstrate how to create and test a plug-in extension. 
-         </intro>
-         <param name="path" value="helloworld/helloworld-extension.xml" />
-         <onCompletion>
-         	Congratulations!  You just created a plug-in extension!
-         </onCompletion>         
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Create a feature">
-         <intro>
-            This cheat sheet will demonstrate how to create a feature for a plug-in using
-            PDE.
-         </intro>
-         <param name="path" value="helloworld/helloworld-feature.xml" />
-         <onCompletion>
-         	Congratulations!  You just created a feature!
-         </onCompletion>  
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Create an update site">
-         <intro>
-            This cheat sheet will demonstrate how to create an update site for a plug-in.
-         </intro>
-         <param name="path" value="helloworld/helloworld-update.xml" />
-         <onCompletion>
-         	Congratulations!  You just created an update site!
-         </onCompletion>  
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Install and uninstall a feature">
-         <intro>
-            This cheat sheet will demonstrate how to install and uninstall a feature
-            using Install/Update.
-         </intro>
-         <param name="path" value="helloworld/helloworld-install.xml" />
-         <onCompletion>
-         	Congratulations!  You just installed and uninstalled a feature!
-         </onCompletion>  
-      </task>
-
-      <onCompletion>
-         Congratulations!  You just created a plug-in, a plug-in extension, a 
-         feature and an update site using PDE.  You also installed and 
-         uninstalled a feature using Install/Update
-      </onCompletion>
-
-   </taskGroup>
-
-
-</compositeCheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/helloworld/helloworld-create.xml b/org.eclipse.pde/cheatsheets/helloworld/helloworld-create.xml
deleted file mode 100644
index 790a581..0000000
--- a/org.eclipse.pde/cheatsheets/helloworld/helloworld-create.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cheatsheet title="Create a plug-in">
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to configure PDE and use it 
-         to create, modify and test a plug-in. 
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?).
-      </description>
-   </intro>
-   <item title="Configure PDE" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm">
-      <description>
-         To configure PDE, perform the following steps
-      </description>
-      <subitem label="Select &quot;Window-&gt;Open Perspective-&gt;Other...&quot; from the main menu and choose &quot;Plug-in Development&quot; in order to open the plug-in development perspective" skip="false">
-         <command
-               confirm="false"
-               required="false"
-               translate=""
-               serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)">
-         </command>
-      </subitem>
-      <subitem label="Select &quot;Window-&gt;Preferences&quot; from the main menu, expand the &quot;Plug-in Development&quot; outline tree node within the resulting dialog, and choose &quot;Target Platform&quot;." skip="false">
-         <command
-               confirm="false"
-               required="false"
-               translate=""
-               serialization="org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.pde.ui.TargetPlatformPreferencePage)">
-         </command>
-      </subitem>
-      <subitem label="Verify that the selected value in the &quot;Location:&quot; combo box points to a valid Eclipse install location." skip="true">
-      </subitem>
-      <subitem label="Verify that all checkboxes corresponding to plug-in entries listed in the list box on the &quot;Plug-ins&quot; tab are checked." skip="true">
-      </subitem>
-      <subitem label="Click &quot;OK&quot;." skip="false">
-      </subitem>
-   </item>
-   <item title="Create the plug-in" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/project_wizards/new_plugin_project.htm">
-      <description>
-         To create the plug-in perform the following steps
-      </description>
-      <subitem label="Select &quot;File-&gt;New-&gt;Project...&quot; from the main menu, expand the &quot;Plug-in Development&quot; category within the resulting &quot;New Project&quot; dialog box, and choose &quot;Plug-in Project&quot;" skip="false">
-         <command
-               confirm="false"
-               required="false"
-               translate=""
-               serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.pde.ui.NewProjectWizard)">
-         </command>
-      </subitem>
-      <subitem label="Input &quot;com.example.helloworld&quot; into the &quot;Project Name&quot; text box" skip="false">
-      </subitem>
-      <subitem label="Accept the rest of the default preloaded values on the &quot;Plug-in Project&quot; page and click &quot;Next &gt;&quot;" skip="false">
-      </subitem>
-      <subitem label="Accept the default preloaded values on the &quot;Plug-in Content&quot; page and click &quot;Next &gt;&quot;" skip="false">
-      </subitem>
-      <subitem label="Select the &quot;Hello, World&quot; template from the list of &quot;Available Templates&quot; and click &quot;Finish&quot;" skip="false">
-      </subitem>
-   </item>
-   <item title="Modify the plug-in" dialog="false" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/extensions.htm">
-      <description>
-         After the new plug-in project wizard is finished from the previous step,
-         the plug-in editor is launched for your new project with the <b>Overview</b>
-         page showing.
-         <br/>
-         <br/>
-         To modify your <b>com.example.helloworld</b> plug-in, perform the
-         following steps:
-      </description>
-      <subitem label="Select the &quot;Extensions&quot; tab" skip="false">
-      </subitem>
-      <subitem label="Expand the &quot;org.eclipse.ui.actionSets&quot; tree dialog under the &quot;All Extensions&quot; heading" skip="false">
-      </subitem>
-      <subitem label="Expand the &quot;Sample Action Set&quot; tree dialog" skip="false">
-      </subitem>
-      <subitem label="Select the &quot;Sample Menu&quot; entry" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;label&quot; text box under the &quot;Extension Element Details&quot; heading with &quot;Hello!&quot;" skip="false">
-      </subitem>
-      <subitem label="Select the &quot;Sample Action&quot; entry under the &quot;All Extensions&quot; heading" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;label&quot; text box under the &quot;Extension Element Details&quot; heading with &quot;Display Hello World!&quot;" skip="false">
-      </subitem>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" skip="false">
-      </subitem>
-   </item>
-   <item title="Test the plug-in" dialog="false" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/launchers/eclipse_application_launcher.htm">
-      <description>
-         To test your Eclipse plug-in inside a target Eclipse platform,
-         perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Overview&quot; tab" skip="false">
-         <command
-               confirm="false"
-               required="false"
-               translate=""
-               serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.helloworld/META-INF/MANIFEST.MF)">
-         </command>
-      </subitem>
-      <subitem label="Click the &quot;Launch an Eclipse application&quot; hyperlink under the &quot;Testing&quot; heading" skip="false">
-      </subitem>
-      <subitem label="Note the &quot;Hello!&quot; entry in the main menu in the newly launched Eclipse platform" skip="true">
-      </subitem>
-      <subitem label="Select &quot;Hello!-&gt;Display Hello World!&quot; from the main menu" skip="false">
-      </subitem>
-      <subitem label="Click on the &quot;Workbench&quot;  icon to close the &quot;Welcome&quot; view and go to the Eclipse workbench." skip="true">
-      </subitem>
-      <subitem label="Note the icon with the Eclipse logo in the main toolbar in the newly launched Eclipse platform" skip="true">
-      </subitem>
-      <subitem label="Click the icon with the Eclipse logo in the main toolbar" skip="false">
-      </subitem>
-      <subitem label="Select &quot;File-&gt;Exit&quot; from the main menu to exit the target Eclipse platform" skip="false">
-      </subitem>
-   </item>
-</cheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/helloworld/helloworld-extension.xml b/org.eclipse.pde/cheatsheets/helloworld/helloworld-extension.xml
deleted file mode 100644
index 945bad9..0000000
--- a/org.eclipse.pde/cheatsheets/helloworld/helloworld-extension.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cheatsheet title="Create a plug-in extension">
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to create and test a plug-in extension
-         using PDE. 
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?).
-      </description>
-   </intro>
-   <item title="Open the plug-in development perspective" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command
-            confirm="false"
-            required="false"
-            translate=""
-            serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)">
-      </command>
-   </item>
-   <item title="Open the plug-in editor" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/editor.htm">
-      <description>
-         To open the plug-in editor (if it is not already open),
-         expand the <b>com.example.helloworld</b> tree dialog
-         in the <b>Package Explorer</b> view and double-click
-         on the <b>plugin.xml</b> file.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command
-            confirm="false"
-            required="false"
-            translate=""
-            serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.helloworld/plugin.xml)">
-      </command>
-   </item>
-   <item title="Define a view extension" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/extensions.htm">
-      <description>
-         To define a view extension, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Extensions&quot; tab within the plug-in editor to display the &quot;Extensions&quot; page" skip="false">
-      </subitem>
-      <subitem label="Click the &quot;Add&quot; button to open the &quot;New Extension&quot; wizard" skip="false">
-      </subitem>
-      <subitem label="Select &quot;org.eclipse.ui.views&quot; from the &quot;Extension Points&quot; list box and click &quot;Finish&quot;" skip="false">
-      </subitem>
-   </item>
-   <item title="Add a view category" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/extensions.htm">
-      <description>
-         To define a view category, perform the following steps:
-      </description>
-      <subitem label="Select &quot;org.eclipse.ui.views&quot; in the list box under &quot;All Extensions&quot; heading in the &quot;Extensions&quot; page" skip="false">
-      </subitem>
-      <subitem label="Right-click and select &quot;New-&gt;category&quot; from the context menu" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;id&quot; text box under &quot;Extension Element Details&quot; with &quot;com.example.helloworld.view.helloworldcategory&quot;" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;name&quot; text box with &quot;Hello World!&quot;" skip="false">
-      </subitem>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" skip="false">
-      </subitem>
-   </item>
-   <item title="Add a view" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/extensions.htm">
-      <description>
-         To define a view, perform the following steps:
-      </description>
-      <subitem label="Select &quot;org.eclipse.ui.views&quot; in the list box under &quot;All Extensions&quot; heading in the &quot;Extensions&quot; page" skip="false">
-      </subitem>
-      <subitem label="Right-click and select &quot;New-&gt;view&quot; from the context menu" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;id&quot; text box under &quot;Extension Element Details&quot; with &quot;com.example.helloworld.view.helloworldview&quot;" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;name&quot; text box with &quot;Hello World!&quot;" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;class&quot; text box with &quot;com.example.helloworld.view.SampleView&quot;" skip="false">
-      </subitem>
-      <subitem label="Replace the content of the &quot;category&quot; text box with &quot;com.example.helloworld.view.helloworldcategory&quot;" skip="false">
-      </subitem>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" skip="false">
-      </subitem>
-   </item>
-   <item title="Create a view class" dialog="true" skip="false">
-      <description>
-         To create a view class, perform the following steps:
-      </description>
-      <subitem label="Click the &quot;class&quot; hyperlink under &quot;Extension Element Details&quot; to start the &quot;New Java Class&quot; wizard" skip="false">
-      </subitem>
-      <subitem label="Accept the default values and click the &quot;Finish&quot; button to exit the wizard" skip="false">
-      </subitem>
-   </item>
-   <item title="Add view class code" dialog="true" skip="false">
-      <description>
-         We are now going to add code to our view class to simply
-         display a &quot;Hello, Eclipse world!&quot; message in the view when
-         it is opened.
-         <br/>
-         <br/>
-         The previous step should have opened the <b>SampleView</b> class
-         in a Java editor.
-         <br/>
-         <br/>
-         Add the following lines of code under the pre-generated 
-         <b>createPartControl</b> method:
-         <br/>
-         <br/>
-		 Label label = new Label( parent, SWT.LEFT );
-         <br/>
-		 label.setText( &quot;Hello, Eclipse world!&quot; );
-         <br/>
-         <br/>
-         Note:  There will be two import errors to correct.
-         <br/>
-         Either add the following import statements manually or
-         click on the lightbulb icons in the margin of the Java
-         editor to add them:
-         <br/>
-         <br/>
-		 import org.eclipse.swt.widgets.Label;
-         <br/>
-		 import org.eclipse.swt.SWT;
-		 <br/>
-		 <br/>
-		 Select &quot;File-&gt;Save&quot; from the main menu
-      </description>
-   </item>
-   <item title="Test the plug-in" dialog="true" skip="false" href="/org.eclipse.pde.doc.user/guide/tools/launchers/eclipse_application_launcher.htm">
-      <description>
-         To test your Eclipse plug-in inside a target Eclipse platform,
-         perform the following steps:
-      </description>
-      <subitem label="Open the plug-in editor" skip="false">
-         <command
-               confirm="false"
-               required="false"
-	           translate=""
-               serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.helloworld/plugin.xml)">
-         </command>
-      </subitem>
-      <subitem label="Select the &quot;Overview&quot; tab to display the &quot;Overview&quot; page" skip="false">
-      </subitem>
-      <subitem label="Click the &quot;Launch an Eclipse application&quot; hyperlink under the &quot;Testing&quot; heading" skip="false">
-      </subitem>
-      <subitem label="Select &quot;Window-&gt;Show View-&gt;Other...&quot; from the main menu in the newly launched Eclipse platform" skip="false">
-      </subitem>
-      <subitem label="Note the &quot;Hello World!&quot; category and expand its tree dialog" skip="false">
-      </subitem>
-      <subitem label="Select the &quot;Hello World!&quot; view and click the &quot;OK&quot; button" skip="false">
-      </subitem>
-      <subitem label="Select &quot;File-&gt;Exit&quot; from the main menu to exit the target Eclipse platform" skip="false">
-      </subitem>
-   </item>
-</cheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/helloworld/helloworld-feature.xml b/org.eclipse.pde/cheatsheets/helloworld/helloworld-feature.xml
deleted file mode 100644
index 3f49f32..0000000
--- a/org.eclipse.pde/cheatsheets/helloworld/helloworld-feature.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Create a feature">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to create a feature for a plug-in using
-         PDE. 
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Create the feature"
-         href="/org.eclipse.pde.doc.user/guide/tools/project_wizards/new_feature_project.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To create the feature, perform the following steps:
-      </description>
-      <subitem label="Select &quot;File-&gt;New-&gt;Project...&quot;, and choose &quot;Feature Project&quot; under the &quot;Plug-in Development&quot; heading" 
-               skip="false">
-         <command serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.pde.ui.NewFeatureProjectWizard)" required="false" translate="" />
-      </subitem>
-      <subitem label="Input &quot;com.example.feature&quot; into the &quot;Project Name&quot; text box on the &quot;Feature Properties&quot; page" 
-               skip="false"/>
-      <subitem label="Input &quot;Hello World! Feature&quot; into the &quot;Feature Name&quot; text box and click &quot;Next &gt;&quot;" 
-               skip="false"/>
-      <subitem label="Select the &quot;com.example.helloworld&quot; checkbox on the &quot;Refererenced Plug-ins and Fragements&quot; page and click &quot;Finish&quot;" 
-               skip="false"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Add a feature description and license agreement"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/feature_editor/information.htm"
-         skip="false">
-      <description>
-         The <b>com.example.helloworld</b> feature editor should be opened
-         on the <b>Overview</b> page.
-         <br/>
-         <br/>
-         To add a feature description and license agreement, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Information&quot; tab" 
-               skip="false"/>  
-      <subitem label="Input &quot;Hello, Eclipse world! feature description&quot; into the &quot;Text&quot; dialog box" 
-               skip="false"/>  
-      <subitem label="Select the &quot;Copyright Notice&quot; tab within the &quot;Information&quot; page" 
-               skip="false"/>  
-      <subitem label="Input &quot;(C) 2006&quot; into the &quot;Text&quot; dialog box" 
-               skip="false"/>
-      <subitem label="Select the &quot;License Agreement&quot; tab within the &quot;Information&quot; page" 
-               skip="false"/>  
-      <subitem label="Input &quot;Hello, Eclipse world! license agreement&quot; into the &quot;Text&quot; dialog box" 
-               skip="false"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>
-   </item>
-
-</cheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/helloworld/helloworld-install.xml b/org.eclipse.pde/cheatsheets/helloworld/helloworld-install.xml
deleted file mode 100644
index e550f86..0000000
--- a/org.eclipse.pde/cheatsheets/helloworld/helloworld-install.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Install and uninstall a feature">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to install and uninstall a feature
-         using Install/Update.
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-   <!-- Item -->
-
-   <item title="Register the update site with Eclipse"
-         dialog="true"
-         skip="false">
-      <description>
-         To register the update site with Eclipse, perform the following steps:
-      </description>
-      <subitem label="Select &quot;Help-&gt;Software Updates-&gt;Find and Install...&quot; from the main menu to launch the &quot;Install/Update&quot; wizard" 
-               skip="false"/>  
-      <subitem label="Select the &quot;Search for new features to install&quot; radio button and click &quot;Next &gt;&quot;" 
-               skip="false"/>              
-      <subitem label="Click the &quot;New Local Site...&quot; button" 
-               skip="false"/>      
-      <subitem label="Browse to &quot;C:\helloworld.site&quot; in the list box, select the &quot;helloworld.site&quot; folder and click &quot;OK&quot;" 
-               skip="false"/>  
-      <subitem label="Input &quot;Hello World! Update Site&quot; into the &quot;Name&quot; text box of the &quot;Edit Local Site&quot; dialog box and click &quot;OK&quot;" 
-               skip="false"/>  
-      <subitem label="Click &quot;Finish&quot;" 
-               skip="false"/>  
-      <subitem label="Note an &quot;Updates&quot; dialog box that immediately comes into focus" 
-               skip="false"/>  
-      <subitem label="Click &quot;Cancel&quot; to close the dialog box for now" 
-               skip="false"/>  
-   </item>
-
-
-   <!-- Item -->
-
-   <item title="Install the feature"
-         dialog="true"
-         skip="false">
-      <description>
-         To install the feature, perform the following steps:
-      </description>
-      <subitem label="Select &quot;Help-&gt;Software Updates-&gt;Find and Install...&quot; from the main menu to launch the &quot;Install/Update&quot; wizard" 
-               skip="false"/>  
-      <subitem label="Select the &quot;Search for new features to install&quot; radio button and click &quot;Next &gt;&quot;" 
-               skip="false"/>              
-      <subitem label="Click &quot;Finish&quot;" 
-               skip="false"/>  
-      <subitem label="Again the &quot;Updates&quot; dialog box comes into focus.  This time do not close it." 
-               skip="false"/>  
-      <subitem label="Expand the &quot;helloworld.site&quot; tree dialog in the &quot;Select the features to install&quot; list box and note the &quot;Hello World!&quot; feature category" 
-               skip="false"/>  
-      <subitem label="Expand the &quot;Hello World!&quot; feature category tree dialog and note the &quot;Hello World! Feature&quot; feature" 
-               skip="false"/> 
-      <subitem label="Select the &quot;Hello World! Feature&quot; text box and click &quot;Next &gt;&quot;" 
-               skip="false"/>  
-      <subitem label="Select the &quot;I accept the terms in the license agreement&quot; radio button and click &quot;Next &gt;&quot;" 
-               skip="false"/>  
-      <subitem label="Click &quot;Finish&quot; to install the feature" 
-               skip="false"/>  
-      <subitem label="Click &quot;Install&quot; in the resulting &quot;Verification&quot; dialog box" 
-               skip="false"/>  
-      <subitem label="Click &quot;Yes&quot; from the Install/Update dialog box to restart the Eclipse workbench" 
-               skip="false"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Verify the feature installation"
-         dialog="true"
-         skip="false">
-      <description>
-         To verify the feature installation, perform the following steps after 
-         Eclipse restarts:
-      </description>
-      <subitem label="Select &quot;Help-&gt;Software Updates-&gt;Manage Configuration...&quot; from the main menu" 
-               skip="false"/>  
-      <subitem label="Fully expand the &quot;Eclipse SDK&quot; tree dialog" 
-               skip="false"/>  
-      <subitem label="Note the &quot;Hello World! Feature&quot; and close the dialog box" 
-               skip="true"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Uninstall the feature"
-         dialog="true"
-         skip="false">
-      <description>
-         To uninstall the feature, perform the following steps:
-      </description>
-      <subitem label="Select &quot;Help-&gt;Software Updates-&gt;Manage Configuration...&quot; from the main menu" 
-               skip="false"/>  
-      <subitem label="Fully expand the &quot;Eclipse SDK&quot; tree dialog" 
-               skip="false"/>  
-      <subitem label="Select the &quot;Hello World! Feature&quot; feature within the tree dialog and right-click it" 
-               skip="false"/>  
-      <subitem label="Select &quot;Uninstall&quot; from the context menu and click &quot;OK&quot;" 
-               skip="false"/>  
-      <subitem label="Click &quot;OK&quot; in the resulting &quot;Uninstall&quot; dialog box" 
-               skip="false"/>  
-      <subitem label="Click &quot;Yes&quot; from the &quot;Install/Update&quot; dialog box to restart the Eclipse workbench" 
-               skip="false"/>  
-   </item>
-
-</cheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/helloworld/helloworld-update.xml b/org.eclipse.pde/cheatsheets/helloworld/helloworld-update.xml
deleted file mode 100644
index abd106c..0000000
--- a/org.eclipse.pde/cheatsheets/helloworld/helloworld-update.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Create an update site">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to create an update site for a plug-in
-         using PDE.
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Create the update site"
-         dialog="true"
-         href="/org.eclipse.pde.doc.user/guide/tools/project_wizards/new_update_site_project.htm"
-         skip="false">
-      <description>
-         To create the update site, perform the following steps:
-      </description>
-      <subitem label="Select &quot;File-&gt;New-&gt;Project...&quot;, and choose &quot;Update Site Project&quot; under the &quot;Plug-in Development&quot; heading" 
-               skip="false">
-         <command serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.pde.ui.NewSiteProjectWizard)" required="false" translate="" />
-      </subitem>
-      <subitem label="Input &quot;helloworld.site&quot; into the &quot;Project Name&quot; text box on the &quot;Update Site Project&quot; page" 
-               skip="false"/>
-      <subitem label="Deselect the &quot;Use default location&quot; text box" 
-               skip="false"/>  
-      <subitem label="Note:  For the purpose of this cheat sheet we will define a Windows pathname for our update site location.  For Unix platforms, adjust accordingly." 
-               skip="true"/>  
-      <subitem label="Input &quot;C:\helloworld.site&quot; in the &quot;Location&quot; text box and click &quot;Finish&quot;" 
-               skip="false"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Create the update site description"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/site_editor/archives.htm"
-         skip="false">
-      <description>
-         The site editor should be open on the <b>Site Map</b> tab.
-         <br/>
-         <br/>
-         To create the update site description, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Archives&quot; tab" 
-               skip="false"/>  
-      <subitem label="Input &quot;file:///C:/helloworld.site/&quot; into the &quot;URL&quot; text box" 
-               skip="false"/>
-      <subitem label="Input &quot;Hello World! Update Site&quot; into the &quot;Description&quot; text box" 
-               skip="false"/>
-      <subitem label="Click &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Create a feature category"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/site_editor/site_map.htm"
-         skip="false">
-      <description>
-         To create a feature category, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Site Map&quot; tab from the site editor" 
-               skip="false"/>  
-      <subitem label="Click the &quot;New Category;&quot; button" 
-               skip="false"/>  
-      <subitem label="Input &quot;Hello World!&quot; into the &quot;Name&quot; text box" 
-               skip="false"/>
-      <subitem label="Input &quot;Hello World!&quot; into the &quot;Label&quot; text box" 
-               skip="false"/>
-      <subitem label="Click &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Add a feature to a feature category"
-         dialog="true"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/site_editor/site_map.htm"
-         skip="false">
-      <description>
-         To add a feature to a feature category, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Hello World!&quot; feature category in the &quot;Managing the Site&quot; list box" 
-               skip="false"/>  
-      <subitem label="Click the &quot;Add Feature...&quot; button" 
-               skip="false"/>  
-      <subitem label="Select &quot;com.example.feature&quot; from the list box and click &quot;OK&quot;" 
-               skip="false"/>  
-      <subitem label="Click &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>                 
-   </item>
-
-   <!-- Item -->
-
-   <item title="Build and export a feature to an update site"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/site_editor/site_map.htm"
-         skip="false">
-      <description>
-         To build a feature and export it to an update site, perform the following steps:
-      </description>
-      <subitem label="Click the &quot;Build All&quot; button" 
-               skip="false"/>  
-      <subitem label="Verify the &quot;com.example.helloworld_1.0.0.jar&quot; jar file has been created in the &quot;plugins&quot; folders on the update site (See the &quot;Package Explorer&quot; view or the &quot;C:\helloworld.site&quot; folder)" 
-               skip="true"/>    
-      <subitem label="Verify the &quot;com.example.feature_1.0.0.jar&quot; jar file has been created in the &quot;features&quot; folders on the update site" 
-               skip="true"/>    
-               
-                           
-   </item>
-
-</cheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/rcpapp-composite.xml b/org.eclipse.pde/cheatsheets/rcpapp-composite.xml
deleted file mode 100644
index e7734e9..0000000
--- a/org.eclipse.pde/cheatsheets/rcpapp-composite.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-
-<!-- Composite Cheat Sheet -->
-
-<compositeCheatsheet name="Creating a Rich Client Application">
-
-   <!-- Task Group -->
-
-   <taskGroup kind="set" name="Create a rich client application">
-      <intro>
-         This cheat sheet will guide you through the individual steps to 
-         create a plug-in, define a plug-in based product, customize
-         a product, export a Rich Client Platform (RCP) application and define a feature-based
-         product using the Plug-in Development Environment (PDE).
-         <br/>
-         <br/>
-         To assist you along the way, wizards and commands
-         will be available for you to launch automatically.
-      </intro>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Create a plug-in">
-         <intro>
-            This cheat sheet will demonstrate how to create and run a minimal RCP application. 
-         </intro>
-         <param name="path" value="rcpapp/rcpapp-create.xml" />
-         <onCompletion>
-         	Congratulations!  You just created an RCP application!
-         </onCompletion>
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Define a plug-in based product">
-         <intro>
-            This cheat sheet will demonstrate how to define and run a plug-in
-            based product configuration.  
-         </intro>
-         <param name="path" value="rcpapp/rcpapp-plugin-product.xml" />
-         <onCompletion>
-         	Congratulations!  You just defined a plug-in based product configuration for an RCP application!
-         </onCompletion>
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Customize a product">
-         <intro>
-         This cheat sheet will demonstrate how to add window images,
-         add a splash screen and customize a launcher for an RCP
-         application.  
-         </intro>
-         <param name="path" value="rcpapp/rcpapp-customize.xml" />
-         <onCompletion>
-         	Congratulations!  You just customized your product configuration!
-         </onCompletion>
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Export an RCP product">
-         <intro>
-         This cheat sheet will demonstrate how to modify a product 
-         configuration and export a standalone RCP product.
-         </intro>
-         <param name="path" value="rcpapp/rcpapp-export.xml" />
-         <onCompletion>
-         	Congratulations!  You just exported a fully-branded product!
-         </onCompletion>
-      </task>
-
-      <!-- Task -->
-
-      <task kind="cheatsheet" name="Define a feature-based product">
-         <intro>
-         This cheat sheet will demonstrate how to convert a plug-in based product
-         configuration to a feature-based one. 
-         </intro>
-         <param name="path" value="rcpapp/rcpapp-feature-product.xml" />
-         <onCompletion>
-         	Congratulations!  You just defined a feature-based product!
-         </onCompletion>
-      </task>
-
-      <onCompletion>
-         Congratulations!  You just created a plug-in, defined a plug-in based product, 
-         customized a product, exported an RCP product and defined a feature-based
-         product using PDE.
-      </onCompletion>
-
-   </taskGroup>
-
-
-</compositeCheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-create.xml b/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-create.xml
deleted file mode 100644
index 0bebedc..0000000
--- a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-create.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Create a plug-in">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to create and run an
-         RCP application using PDE. 
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Create the plug-in"
-         href="/org.eclipse.pde.doc.user/guide/tools/project_wizards/new_plugin_project.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To create the plug-in, perform the following steps:
-      </description>
-      <subitem label="Select &quot;File-&gt;New-&gt;Project...&quot; from the main menu, expand the &quot;Plug-in Development&quot; category within the resulting &quot;New Project&quot; dialog box, and choose &quot;Plug-in Project&quot;" 
-               skip="false">
-         <command serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.pde.ui.NewProjectWizard)" required="false" translate="" />
-      </subitem>
-      <subitem label="Input &quot;com.example.rcpapp&quot; into the &quot;Project Name&quot; text box on the &quot;Plug-in Project&quot; page and click &quot;Next &gt;&quot;" 
-               skip="false"/>
-      <subitem label="Select the &quot;Yes&quot; radio button under the &quot;Rich Client Application&quot; heading on the &quot;Plug-in Content&quot; page and click &quot;Next &gt;&quot;" 
-               skip="false"/>
-      <subitem label="Select the &quot;Hello RCP&quot; template from the list of &quot;Available Templates&quot; and click &quot;Finish&quot;" 
-               skip="false"/>           
-   </item>
-
-   <!-- Item -->
-
-   <item title="Run the RCP Application"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/launchers/eclipse_application_launcher.htm"
-         skip="false">
-      <description>
-         To run the RCP application,
-         perform the following steps:
-      </description>
-      <subitem label="Select the &quot;com.example.rcpapp&quot; plug-in editor from the workbench and select the &quot;Overview&quot; tab within it" 
-               skip="false">
-         <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/META-INF/MANIFEST.MF)" required="false" translate="" />
-      </subitem>               
-      <subitem label="Click the &quot;Launch an Eclipse application&quot; hyperlink under the &quot;Testing&quot; heading" 
-               skip="false"/>
-      <subitem label="Verify that you see an empty window with a window title of &quot;Hello RCP&quot;" 
-               skip="true"/>
-      <subitem label="Exit the RCP application" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Modify the plug-in source"
-         dialog="true"
-         skip="false">
-      <description>
-         In this step, we want to suppress the <b>Hello RCP</b> text in
-         the window title bar of our RCP application.
-         <br/>
-         <br/>
-         To modify the plug-in source accordingly, 
-         perform the following steps:
-      </description>
-      <subitem label="Open &quot;ApplicationWorkbenchWindowAdvisor.java&quot; by locating it in the &quot;src&quot; folder of the &quot;com.example.rcpapp&quot; package in the &quot;Package Explorer&quot; view and double-clicking it" 
-               skip="false">                                                    
-         <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/src/com/example/rcpapp/ApplicationWorkbenchWindowAdvisor.java)" required="false" translate="" />
-      </subitem>
-      <subitem label="Comment out &apos;configurer.setTitle(&quot;Hello RCP&quot;);&apos; in the &quot;preWindowOpen()&quot; method" 
-               skip="false"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Test the RCP Application"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/launchers/eclipse_application_launcher.htm"
-         skip="false">
-      <description>
-         To test the RCP application,
-         perform the following steps:
-      </description>
-      <subitem label="Select the &quot;com.example.rcpapp&quot; plug-in editor from the workbench and select the &quot;Overview&quot; tab within it" 
-               skip="false">
-         <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/META-INF/MANIFEST.MF)" required="false" translate="" />
-      </subitem>               
-      <subitem label="Click the &quot;Launch an Eclipse application&quot; hyperlink under the &quot;Testing&quot; heading" 
-               skip="false"/>
-      <subitem label="Verify that you see an empty window with no window title" 
-               skip="true"/>
-      <subitem label="Exit the RCP application" 
-               skip="false"/>
-   </item>
-
-</cheatsheet>
diff --git a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-customize.xml b/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-customize.xml
deleted file mode 100644
index 49c0b58..0000000
--- a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-customize.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Customize a product">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to add window images,
-         add a splash screen and customize a launcher for an RCP
-         application using PDE.  
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Open the product editor"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/editor.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the product editor (if it is not already open),
-         expand the <b>com.example.rcpapp</b> tree dialog
-         in the <b>Package Explorer</b> view and double-click
-         on the <b>rcpapp.product</b> file (the <b>Overview</b> page
-         should be open initially).
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.         
-      </description>
-      <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/rcpapp.product)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Add window images"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/branding.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To add window images, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Branding&quot; tab within the product editor to display the &quot;Branding&quot; page" 
-               skip="false"/>
-      <subitem label="Click the &quot;Browse&quot; button adjacent to the &quot;16x16&quot; text box under the &quot;Window Images&quot; heading" 
-               skip="false"/>
-      <subitem label="Fully expand the &quot;com.example.rcpapp&quot; tree in the &quot;Image Selection&quot; dialog box and select &quot;alt_window_16.gif&quot; and click &quot;OK&quot;" 
-               skip="false"/>
-      <subitem label="Click the &quot;Browse&quot; button adjacent to the &quot;32x32&quot; text box under the &quot;Window Images&quot; heading" 
-               skip="false"/>  
-      <subitem label="Fully expand the &quot;com.example.rcpapp&quot; tree in the &quot;Image Selection&quot; dialog box and select &quot;alt_window_32.gif&quot; and click &quot;OK&quot;" 
-               skip="false"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/> 
-   </item>   
-
-   <!-- Item -->
-
-   <item title="Test the RCP product"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         skip="false">
-      <description>
-         To test the RCP product,
-         perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Overview&quot; tab within the product editor to display the &quot;Overview&quot; page" 
-               skip="false"/>      
-      <subitem label="Click the &quot;Launch an Eclipse Application&quot; hyperlink under the &quot;Testing&quot; heading" 
-               skip="false"/>
-      <subitem label="Note the image in the window title bar (if applicable on your platform)" 
-               skip="true"/>
-      <subitem label="Exit the RCP application" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Add a splash screen"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/splash.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To add a splash screen, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Splash&quot; tab within the product editor to display the &quot;Splash&quot; page" 
-               skip="false"/>      
-      <subitem label="Click the &quot;Browse...&quot; button adjacent to the &quot;Plug-in&quot; text box under the &quot;Location&quot; heading" 
-               skip="false"/>
-      <subitem label="Select the &quot;com.example.rcpapp&quot; entry in the &quot;Plug-in Selection&quot; dialog box and click &quot;OK&quot;" 
-               skip="true"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>
-      <subitem label="Note:  Eclipse expects a file called &quot;splash.bmp&quot; to be located in the root of the specified plug-in" 
-               skip="true"/>
-      <subitem label="Locate the &quot;splash.bmp&quot; file located in the &quot;icons&quot; directory under the &quot;com.example.rcpapp&quot; project within the &quot;Package Explorer view&quot;" 
-               skip="false"/>                
-      <subitem label="Right-click on the &quot;splash.bmp&quot; file and select &quot;Refactor-&gt;Move...&quot; from the context menu" 
-               skip="false"/>                
-      <subitem label="Select &quot;com.example.rcpapp&quot; from the &quot;Move&quot; dialog box and click &quot;OK&quot;" 
-               skip="false"/>   
-   </item>   
-
-   <!-- Item -->
-
-   <item title="Test the RCP product"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         skip="false">
-      <description>
-         To test the RCP product,
-         perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Overview&quot; tab within the product editor to display the &quot;Overview&quot; page" 
-               skip="false"/>      
-      <subitem label="Click the &quot;Launch an Eclipse Application&quot; hyperlink under the &quot;Testing&quot; heading" 
-               skip="false"/>
-      <subitem label="Note the splash screen displayed before the RCP application window is visible" 
-               skip="true"/>
-      <subitem label="Exit the RCP application" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Customize the launcher"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/launcher.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         We will walk through this task assuming we are working on a Windows
-         platform (Similar steps may be followed for other platforms).
-         <br/>
-         <br/>
-         To customize the launcher, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Launcher&quot; tab within the product editor to display the &quot;Launcher&quot; page" 
-               skip="false"/>
-      <subitem label="Input &quot;rcpapp&quot; into the &quot;Launcher Name&quot; text box under the &quot;Program Launcher&quot; heading" 
-               skip="false"/>
-      <subitem label="Select the &quot;win32&quot; tab under the &quot;Program Launcher&quot; heading" 
-               skip="true"/>
-      <subitem label="Select the &quot;Use a single ICO file containing 7 images as specified above&quot; radio button" 
-               skip="true"/>
-      <subitem label="Click the &quot;Browse...&quot; button adjacent to the &quot;File&quot; text box" 
-               skip="true"/>
-      <subitem label="Fully expand the &quot;com.example.rcpapp&quot; tree in the &quot;Image Selection&quot; dialog box and select &quot;alt_launcher.ico&quot; and click &quot;OK&quot;" 
-               skip="true"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/> 
-   </item>   
-   
-</cheatsheet>
-   
-   
diff --git a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-export.xml b/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-export.xml
deleted file mode 100644
index 85a6771..0000000
--- a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-export.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Export an RCP product">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to modify a build 
-         configuration and export an
-         RCP product using PDE.  
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Open the build configuration editor"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/build.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the build configuration editor,
-         expand the <b>com.example.rcpapp</b> tree dialog
-         in the <b>Package Explorer</b> view and double-click
-         on the <b>build.properties</b> file.
-         <br/>
-         <br/>
-         Select the <b>Build</b> tab to display the <b>Build Configuration</b> 
-         page if it is not the initial page.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.         
-      </description>
-      <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/build.properties)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Modify the build configuration"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/manifest_editor/build.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         In order to control what files are deployed with our packaged
-         RCP application, we need to modify the build configuration.
-         <br/>
-         <br/>
-         To modify the build configuration, perform the following steps:
-      </description>
-      <subitem label="Select the checkbox corresponding to the &quot;icons&quot; directory under the &quot;Binary Build&quot; heading" 
-               skip="false"/>
-      <subitem label="Select the checkbox corresponding to the &quot;splash.bmp&quot; file under the &quot;Binary Build&quot; heading" 
-               skip="false"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Open the product editor"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/editor.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the product editor (if it is not already open),
-         expand the <b>com.example.rcpapp</b> tree dialog
-         in the <b>Package Explorer</b> view and double-click
-         on the <b>rcpapp.product</b> file.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.         
-      </description>
-      <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/rcpapp.product)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Export the plug-in based product"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To export the plug-in based product, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Overview&quot; tab within the product editor to display the &quot;Overview&quot; page" 
-               skip="false"/>     
-      <subitem label="Click the &quot;Eclipse Product export wizard&quot; hyperlink under the &quot;Exporting&quot; heading to launch the &quot;Export&quot; dialog box" 
-               skip="false">
-         <command serialization="org.eclipse.ui.file.export(exportWizardId=org.eclipse.pde.ui.productExportWizard)" required="false" translate="" />
-      </subitem>
-      <subitem label="Verify that &quot;/com.example.rcpapp/rcpapp.product&quot; is entered in the &quot;Configuration&quot; combo box within the &quot;Product Configuration&quot; group" 
-               skip="true"/>
-      <subitem label="Input &quot;rcpapp_plugin-based&quot; in the &quot;Root directory&quot; text box contained in the &quot;Product Configuration&quot; group" 
-               skip="false"/>
-      <subitem label="Input a destination directory in the &quot;Directory&quot; text box under the &quot;Destination&quot; group (e.g. &quot;C:\&quot; for Windows) and click &quot;Finish&quot;" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Browse the exported plug-in based product directory"
-         dialog="true"
-         skip="false">
-      <description>
-         To browse the exported plug-in based product directory, perform the following steps:
-      </description>
-      <subitem label="Navigate your file system to the destination directory specified in the previous step (e.g. &quot;C:\&quot; for Windows)" 
-               skip="false"/>
-      <subitem label="Note the presence of the &quot;rcpapp_plugin-based&quot; directory in the destination directory and open it" 
-               skip="false"/>
-      <subitem label="Note the presence of the &quot;com.example.rcpapp&quot; plug-in along with many other RCP plug-ins it depends upon within the &quot;plugins&quot; sub-directory" 
-               skip="true"/>
-      <subitem label="Note the &quot;rcpapp&quot; launcher with a branded icon (&quot;rcpapp.exe&quot; on Windows)" 
-               skip="false"/>                 
-      <subitem label="Run the &quot;rcpapp&quot; launcher" 
-               skip="false"/>    
-      <subitem label="Observe the plug-in based RCP application you created that is fully executable outside the Eclipse workspace" 
-               skip="true"/>                   
-      <subitem label="Exit the RCP application" 
-               skip="false"/>     
-   </item>
-      
-</cheatsheet>
-
diff --git a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-feature-product.xml b/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-feature-product.xml
deleted file mode 100644
index 98044fa..0000000
--- a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-feature-product.xml
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Define a feature based product">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to define a feature based product
-         configuration using a plug-in based one and create a feature for an RCP
-         application using PDE.  
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Open the product editor"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/editor.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the product editor (if it is not already open),
-         expand the <b>com.example.rcpapp</b> tree dialog
-         in the <b>Package Explorer</b> view and double-click
-         on the <b>rcpapp.product</b> file.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.         
-      </description>
-      <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/rcpapp.product)" required="false" translate="" />
-   </item>
-
-   <item title="Switch to a feature based product configuration"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         Select the <b>Overview</b> tab to display the <b>Overview</b> 
-         page if it is not the initial page.
-         <br/>
-         <br/>
-         To switch to a feature based product configuration, 
-         select the <b>features</b> radio button under the <b>Product Definition</b> heading.
-         <br/>
-         <br/>
-         Select <b>File-&gt;Save</b> from the main menu.         
-      </description>
-   </item>
-
-   <item title="Create the feature"
-         href="/org.eclipse.pde.doc.user/guide/tools/project_wizards/new_feature_project.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To create the feature, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Configuration&quot; tab to display the &quot;Configuration&quot; page" 
-               skip="false"/>
-      <subitem label="Select the &quot;New Feature...&quot; button under the &quot;Features&quot; heading" 
-               skip="false"/>
-      <subitem label="Input &quot;com.example.feature&quot; into the &quot;Project Name&quot; text box on the &quot;Feature Properties&quot; page" 
-               skip="false"/>
-      <subitem label="Input &quot;RCP Application Feature&quot; into the &quot;Feature Name&quot; text box and click &quot;Next &gt;&quot;" 
-               skip="false"/>
-      <subitem label="Select the &quot;com.example.rcpapp&quot; checkbox on the &quot;Refererenced Plug-ins and Fragements&quot; page and click &quot;Finish&quot;" 
-               skip="false"/>  
-   </item>
-
-   <!-- Item -->
-
-   <item title="Add a feature description and license agreement"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/feature_editor/information.htm"
-         skip="false">
-      <description>
-         The <b>com.example.rcpapp</b> feature editor should be opened
-         on the <b>Overview</b> page.
-         <br/>
-         <br/>
-         To add a feature description and license agreement, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Information&quot; tab" 
-               skip="false"/>  
-      <subitem label="Input &quot;RCP application feature description&quot; into the &quot;Text&quot; dialog box within the &quot;Feature Description&quot; tab" 
-               skip="false"/>  
-      <subitem label="Select the &quot;License Agreement&quot; tab within the &quot;Information&quot; page" 
-               skip="false"/>  
-      <subitem label="Input &quot;RCP application license agreement&quot; into the &quot;Text&quot; dialog box" 
-               skip="false"/>
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Add features to the product configuration"
-         dialog="true"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/configuration.htm"
-         skip="false">
-      <description>
-         To add features to the product configuration, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;rcpapp.product&quot; tab in the workbench to return back to the product editor (opened on the &quot;Configuration&quot; page)" 
-               skip="false">
-         <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/rcpapp.product)" required="false" translate="" />
-      </subitem>  
-      <subitem label="Click the &quot;Add...&quot; button under the &quot;Features&quot; heading" 
-               skip="false"/>  
-      <subitem label="Select the &quot;org.eclipse.rcp&quot; feature within the &quot;Feature Selection&quot; dialog box and click &quot;OK&quot;" 
-               skip="false"/>  
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Export the feature based product"
-         href="/org.eclipse.pde.doc.user/guide/tools/export_wizards/export_product.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To export the feature based product, perform the following steps:
-      </description>
-      <subitem label="Select the &quot;Overview&quot; tab to display the &quot;Overview&quot; page" 
-               skip="false"/>      
-      <subitem label="Click the &quot;Eclipse Product export wizard&quot; hyperlink under the &quot;Exporting&quot; heading to launch the &quot;Export&quot; dialog box" 
-               skip="false">
-         <command serialization="org.eclipse.ui.file.export(exportWizardId=org.eclipse.pde.ui.productExportWizard)" required="false" translate="" />
-      </subitem>
-      <subitem label="Input &quot;rcpapp_feature-based&quot; in the &quot;Root directory&quot; text box contained in the &quot;Product Configuration&quot; group" 
-               skip="false"/>
-      <subitem label="Input a destination directory in the &quot;Directory&quot; text box under the &quot;Destination&quot; group (e.g. &quot;C:\&quot; for Windows) and click &quot;Finish&quot;" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Browse the exported feature based product directory"
-         dialog="true"
-         skip="false">
-      <description>
-         To browse the exported feature based product directory, perform the following steps:
-      </description>
-      <subitem label="Navigate your file system to the destination directory specified in the previous step (e.g. &quot;C:\&quot; for Windows)" 
-               skip="false"/>
-      <subitem label="Note the presence of the &quot;rcpapp_feature-based&quot; directory in the destination directory and open it" 
-               skip="false"/>
-      <subitem label="Note the presence of the &quot;com.example.rcpapp&quot; plug-in along with other RCP plug-ins it depends upon within the &quot;plugins&quot; sub-directory" 
-               skip="true"/>
-      <subitem label="Note the presence of the &quot;com.example.rcpapp&quot; feature and &quot;org.eclipse.rcp&quot; feature within the &quot;features&quot; sub-directory" 
-               skip="true"/>
-      <subitem label="Note the &quot;rcpapp&quot; launcher with a branded icon (&quot;rcpapp.exe&quot; on Windows)" 
-               skip="false"/>                 
-      <subitem label="Run the &quot;rcpapp&quot; launcher" 
-               skip="false"/>    
-      <subitem label="Observe the feature based RCP application you created that is fully executable outside the Eclipse workspace" 
-               skip="true"/>    
-   </item>
-      
-</cheatsheet>
-
diff --git a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-plugin-product.xml b/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-plugin-product.xml
deleted file mode 100644
index f0e6d9d..0000000
--- a/org.eclipse.pde/cheatsheets/rcpapp/rcpapp-plugin-product.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- Simple Cheat Sheet -->
-
-<cheatsheet title="Define a plug-in based product">
-
-   <!-- Introduction -->
-
-   <intro href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-      <description>
-         This cheat sheet will demonstrate how to define a plug-in based
-         product configuration for an RCP application and run an RCP application 
-         product using PDE.  
-         <br/>
-         <br/>
-         To learn more about using cheat sheets, click the help button
-         in the top right corner (?). 
-      </description>
-   </intro>
-
-   <!-- Item -->
-
-   <item title="Open the plug-in development perspective"
-         href="/org.eclipse.pde.doc.user/guide/tools/views/views.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the plug-in development perspective,
-         select <b>Window-&gt;Open Perspective-&gt;Other...</b> 
-         and choose <b>Plug-in Development</b>.
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.
-      </description>
-      <command serialization="org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.pde.ui.PDEPerspective)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Create the product configuration"
-         href="/org.eclipse.pde.doc.user/guide/tools/file_wizards/new_product_config.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To create the product configuration, perform the following steps:
-      </description>
-      <subitem label="Select &quot;File-&gt;New-&gt;Product Configuration&quot; from the main menu" 
-               skip="false">
-         <command serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.pde.ui.NewProductConfigurationWizard)" required="false" translate="" />
-      </subitem>
-      <subitem label="Select &quot;com.example.rcpapp&quot; in the resulting &quot;New Product Configuration&quot; wizard page" 
-               skip="false"/>
-      <subitem label="Input &quot;rcpapp.product&quot; into the &quot;File name&quot; text box" 
-               skip="false"/>
-      <subitem label="Select the &quot;Use a launch configuration&quot; radio button inside the &quot;Initialize the file content&quot; group and click &quot;Finish&quot;" 
-               skip="false"/>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Open the product editor"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/editor.htm"
-         dialog="false"
-         skip="false">
-      <description>
-         To open the product editor (if it is not already open),
-         expand the <b>com.example.rcpapp</b> tree dialog
-         in the <b>Package Explorer</b> view and double-click
-         on the <b>rcpapp.product</b> file (the <b>Overview</b> page
-         should be open initially).
-         <br/>
-         <br/>
-         Alternatively, click the following button to perform the task.         
-      </description>
-      <command serialization="org.eclipse.ui.navigate.openResource(filePath=/com.example.rcpapp/rcpapp.product)" required="false" translate="" />
-   </item>
-
-   <!-- Item -->
-
-   <item title="Define the product"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         To define the product, perform the following steps:
-      </description>
-      <subitem label="Input &quot;RCP Application&quot; into the &quot;Product Name&quot; text box" 
-               skip="false"/>
-      <subitem label="Click the &quot;New...&quot; button next to the &quot;Product ID&quot; drop down menu to open the &quot;New Product Definition&quot; dialog box" 
-               skip="false"/>
-      <subitem label="Verify &quot;com.example.rcpapp&quot; is the inputted value for the &quot;Defining Plug-in&quot; text box" 
-               skip="true"/>        
-      <subitem label="Verify &quot;product&quot; is the inputted value for the &quot;Product ID&quot; text box" 
-               skip="true"/>        
-      <subitem label="Accept the defaults and click &quot;Finish&quot;" 
-               skip="false"/>        
-      <subitem label="Select &quot;File-&gt;Save&quot; from the main menu" 
-               skip="false"/> 
-   </item>
-
-   <!-- Item -->
-
-   <item title="Synchronize the product configuration with the defining plug-in"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         dialog="true"
-         skip="false">
-      <description>
-         Product configurations and their constituent files may become
-         unsynchronized.  This situation is apparent when changes 
-         made using the product editor are not reflected in the application.  
-         <br/>
-         <br/>
-         To synchronize the product configuration with the defining plug-in, 
-         click the <b>Synchronize</b> hyperlink under the <b>Testing</b>
-         heading on the product editor <b>Overview</b> page.
-         <br/>
-         <br/>
-         Note:  PDE automatically synchronizes the product configuration
-         when the <b>Launch an Eclipse Application</b> hyperlinks under the 
-         <b>Testing</b> heading are used.
-      </description>
-   </item>
-
-   <!-- Item -->
-
-   <item title="Run the RCP product"
-         dialog="false"
-         href="/org.eclipse.pde.doc.user/guide/tools/editors/product_editor/overview.htm"
-         skip="false">
-      <description>
-         To run the RCP product,
-         perform the following steps:
-      </description>
-      <subitem label="Click the &quot;Launch an Eclipse application&quot; hyperlink under the &quot;Testing&quot; heading" 
-               skip="false"/>
-      <subitem label="Note: &quot;RCP Application&quot; now shows up in the window title bar" 
-               skip="true"/>
-      <subitem label="Exit the RCP application" 
-               skip="false"/>
-   </item>
-
-</cheatsheet>
diff --git a/org.eclipse.pde/eclipse32.png b/org.eclipse.pde/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/org.eclipse.pde/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/ov_eclplugindev48.gif b/org.eclipse.pde/images/topiclabel/ov_eclplugindev48.gif
deleted file mode 100644
index 5457eaf..0000000
--- a/org.eclipse.pde/images/topiclabel/ov_eclplugindev48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/ov_eclplugindev48_hov.gif b/org.eclipse.pde/images/topiclabel/ov_eclplugindev48_hov.gif
deleted file mode 100644
index 553ef57..0000000
--- a/org.eclipse.pde/images/topiclabel/ov_eclplugindev48_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/sa_samplecube48.gif b/org.eclipse.pde/images/topiclabel/sa_samplecube48.gif
deleted file mode 100644
index 15df922..0000000
--- a/org.eclipse.pde/images/topiclabel/sa_samplecube48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/sa_samplecube48_hov.gif b/org.eclipse.pde/images/topiclabel/sa_samplecube48_hov.gif
deleted file mode 100644
index 24df6ec..0000000
--- a/org.eclipse.pde/images/topiclabel/sa_samplecube48_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/sa_sampleorb48.gif b/org.eclipse.pde/images/topiclabel/sa_sampleorb48.gif
deleted file mode 100644
index b017307..0000000
--- a/org.eclipse.pde/images/topiclabel/sa_sampleorb48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/sa_sampleorb48_hov.gif b/org.eclipse.pde/images/topiclabel/sa_sampleorb48_hov.gif
deleted file mode 100644
index e31cd43..0000000
--- a/org.eclipse.pde/images/topiclabel/sa_sampleorb48_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/tu_createplugin48.gif b/org.eclipse.pde/images/topiclabel/tu_createplugin48.gif
deleted file mode 100644
index a432300..0000000
--- a/org.eclipse.pde/images/topiclabel/tu_createplugin48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/tu_createplugin48_hov.gif b/org.eclipse.pde/images/topiclabel/tu_createplugin48_hov.gif
deleted file mode 100644
index c95787e..0000000
--- a/org.eclipse.pde/images/topiclabel/tu_createplugin48_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/tu_rcpapp48.gif b/org.eclipse.pde/images/topiclabel/tu_rcpapp48.gif
deleted file mode 100644
index e2e225c..0000000
--- a/org.eclipse.pde/images/topiclabel/tu_rcpapp48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/tu_rcpapp48_hov.gif b/org.eclipse.pde/images/topiclabel/tu_rcpapp48_hov.gif
deleted file mode 100644
index b7431d9..0000000
--- a/org.eclipse.pde/images/topiclabel/tu_rcpapp48_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/wn_pluginenviro48.gif b/org.eclipse.pde/images/topiclabel/wn_pluginenviro48.gif
deleted file mode 100644
index bd63628..0000000
--- a/org.eclipse.pde/images/topiclabel/wn_pluginenviro48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/images/topiclabel/wn_pluginenviro48_hov.gif b/org.eclipse.pde/images/topiclabel/wn_pluginenviro48_hov.gif
deleted file mode 100644
index 4151477..0000000
--- a/org.eclipse.pde/images/topiclabel/wn_pluginenviro48_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.pde/intro/css/overview.css b/org.eclipse.pde/intro/css/overview.css
deleted file mode 100644
index 8b1359f..0000000
--- a/org.eclipse.pde/intro/css/overview.css
+++ /dev/null
@@ -1,2 +0,0 @@
-a#pde img { background-image : url(../../images/topiclabel/ov_eclplugindev48.gif); }
-a#pde:hover img { background-image : url(../../images/topiclabel/ov_eclplugindev48_hov.gif); }
diff --git a/org.eclipse.pde/intro/css/overview.properties b/org.eclipse.pde/intro/css/overview.properties
deleted file mode 100644
index 48901eb..0000000
--- a/org.eclipse.pde/intro/css/overview.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-overview.pde.link-icon = images/topiclabel/ov_eclplugindev48.gif
-overview.pde.hover-icon = images/topiclabel/ov_eclplugindev48_hov.gif
diff --git a/org.eclipse.pde/intro/css/samples.css b/org.eclipse.pde/intro/css/samples.css
deleted file mode 100644
index 53062eb..0000000
--- a/org.eclipse.pde/intro/css/samples.css
+++ /dev/null
@@ -1,11 +0,0 @@
-a#swt-examples img { background-image : url(../../images/topiclabel/sa_samplecube48.gif); }
-a#swt-examples:hover img { background-image : url(../../images/topiclabel/sa_samplecube48_hov.gif); }
-
-a#multi-page-editor img { background-image : url(../../images/topiclabel/sa_sampleorb48.gif); }
-a#multi-page-editor:hover img { background-image : url(../../images/topiclabel/sa_sampleorb48_hov.gif); }
-
-a#property-sheet img { background-image : url(../../images/topiclabel/sa_sampleorb48.gif); }
-a#property-sheet:hover img { background-image : url(../../images/topiclabel/sa_sampleorb48_hov.gif); }
-
-a#readmetool img { background-image : url(../../images/topiclabel/sa_sampleorb48.gif); }
-a#readmetool:hover img { background-image : url(../../images/topiclabel/sa_sampleorb48_hov.gif); }
diff --git a/org.eclipse.pde/intro/css/samples.properties b/org.eclipse.pde/intro/css/samples.properties
deleted file mode 100644
index 3b1cb94..0000000
--- a/org.eclipse.pde/intro/css/samples.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-samples.link-icon = images/topiclabel/sa_sampleorb48.gif
-samples.hover-icon = images/topiclabel/sa_sampleorb48_hov.gif
-
-samples.swt-examples.link-icon = images/topiclabel/sa_samplecube48.gif
-samples.swt-examples.hover-icon = images/topiclabel/sa_samplecube48_hov.gif
diff --git a/org.eclipse.pde/intro/css/tutorials.css b/org.eclipse.pde/intro/css/tutorials.css
deleted file mode 100644
index a174f38..0000000
--- a/org.eclipse.pde/intro/css/tutorials.css
+++ /dev/null
@@ -1,5 +0,0 @@
-a#rcp img { background-image : url(../../images/topiclabel/tu_rcpapp48.gif); }
-a#rcp:hover img { background-image : url(../../images/topiclabel/tu_rcpapp48_hov.gif); }
-
-a#pde-hello-world img { background-image : url(../../images/topiclabel/tu_createplugin48.gif); }
-a#pde-hello-world:hover img { background-image : url(../../images/topiclabel/tu_createplugin48_hov.gif); }
diff --git a/org.eclipse.pde/intro/css/tutorials.properties b/org.eclipse.pde/intro/css/tutorials.properties
deleted file mode 100644
index 197ad06..0000000
--- a/org.eclipse.pde/intro/css/tutorials.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-tutorials.rcp.link-icon = images/topiclabel/tu_rcpapp48.gif
-tutorials.rcp.hover-icon = images/topiclabel/tu_rcpapp48_hov.gif
-
-tutorials.pde-hello-world.link-icon = images/topiclabel/tu_createplugin48.gif
-tutorials.pde-hello-world.hover-icon = images/topiclabel/tu_createplugin48_hov.gif
diff --git a/org.eclipse.pde/intro/css/whatsnew.css b/org.eclipse.pde/intro/css/whatsnew.css
deleted file mode 100644
index 3acee0a..0000000
--- a/org.eclipse.pde/intro/css/whatsnew.css
+++ /dev/null
@@ -1,2 +0,0 @@
-a#pde-noteworthy img { background-image : url(../../images/topiclabel/wn_pluginenviro48.gif); }
-a#pde-noteworthy:hover img { background-image : url(../../images/topiclabel/wn_pluginenviro48_hov.gif); }
diff --git a/org.eclipse.pde/intro/css/whatsnew.properties b/org.eclipse.pde/intro/css/whatsnew.properties
deleted file mode 100644
index 5f26ddd..0000000
--- a/org.eclipse.pde/intro/css/whatsnew.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-whatsnew.pde-noteworthy.link-icon = images/topiclabel/wn_pluginenviro48.gif
-whatsnew.pde-noteworthy.hover-icon = images/topiclabel/wn_pluginenviro48_hov.gif
diff --git a/org.eclipse.pde/intro/overviewExtensionContent.xml b/org.eclipse.pde/intro/overviewExtensionContent.xml
deleted file mode 100644
index 1ea8a18..0000000
--- a/org.eclipse.pde/intro/overviewExtensionContent.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<introContent>
-  <!-- Extension to the SDK Overview Page. -->
-  <extensionContent id="org.eclipse.pde" name="PDE" alt-style="css/overview.properties" style="css/overview.css" path="overview/@">
-    <group style-id="content-group" id="content-group">
-    	<link style-id="content-link" label="Eclipse plug-in development" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.pde.doc.user/guide/intro/pde_overview.htm" id="pde">
-      		<text>Learn how to extend Eclipse by building new plug-ins</text>
-    	</link>
-    </group>
-  </extensionContent>
-</introContent>
diff --git a/org.eclipse.pde/intro/samplesExtensionContent.xml b/org.eclipse.pde/intro/samplesExtensionContent.xml
deleted file mode 100644
index c2a74b6..0000000
--- a/org.eclipse.pde/intro/samplesExtensionContent.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<introContent>
-  <!-- Extension to the SDK Samples Page. -->
-  <extensionContent id="org.eclipse.pde.swt" name= "SWT samples" alt-style="css/samples.properties" style="css/samples.css" path="samples/@">
-     <group label="SWT" id="swt" style-id="content-group">
-     	<text style-id="group-description">Run SWT samples using either the standalone SWT launcher or as an integrated workbench view.</text>
-        <link label="Workbench views and standalone applications" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.internal.ui.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.swt.examples" id="swt-examples" style-id="content-link">
-        	<text>The SWT Example launcher will allow you to launch a collection of SWT examples.  Some of the examples can be run independent of the eclipse platform and others will be available as views inside the workbench.</text>
-		</link>
-        <anchor id="swtGroupAnchor"/>
-     </group>
-  </extensionContent>
-</introContent>
diff --git a/org.eclipse.pde/intro/samplesExtensionContent2.xml b/org.eclipse.pde/intro/samplesExtensionContent2.xml
deleted file mode 100644
index 5b5d52c..0000000
--- a/org.eclipse.pde/intro/samplesExtensionContent2.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<introContent>
-  <!-- Extension to the SDK Samples Page. -->
-  <extensionContent id="org.eclipse.pde.workbench" name= "Workbench samples" alt-style="css/samples.properties" style="css/samples.css" path="samples/@">
-	<group label="Workbench" id="workbench" style-id="content-group">
-    	<text style-id="group-description">The following samples demonstrate how to tightly integrate into the Eclipse workbench.</text>
-        <link label="Multi-page editor" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.internal.ui.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.multipageeditor" id="multi-page-editor" style-id="content-link">
-           	<text>Shows how to create an editor with multiple pages</text>
-        </link>
-        <link label="Property sheet and outline" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.internal.ui.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.propertysheet" id="property-sheet" style-id="content-link">
-            <text>Demonstrates how to use property sheet and outline views</text>
-        </link>
-        <link label="Readme tool" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.internal.ui.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.readmetool" id="readmetool" style-id="content-link">
-            <text>Shows how to create your own extension points</text>
-        </link>
-        <anchor id="jdtAnchor"/>
-        <anchor id="workbenchGroupAnchor"/>
-	</group>
-  </extensionContent>
-</introContent>
diff --git a/org.eclipse.pde/intro/tutorialsExtensionContent.xml b/org.eclipse.pde/intro/tutorialsExtensionContent.xml
deleted file mode 100644
index c5c9821..0000000
--- a/org.eclipse.pde/intro/tutorialsExtensionContent.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<introContent>
-  <!-- Extension to the SDK Tutorial Page. -->
-  <extensionContent id="org.eclipse.pde" name="PDE" alt-style="css/tutorials.properties" style="css/tutorials.css" path="tutorials/@">
-    <group label="Eclipse Plug-in Development" id="pde" style-id="content-group">
-      <link url="http://org.eclipse.ui.intro/showStandby?partId=org.eclipse.platform.cheatsheet&amp;input=org.eclipse.pde.helloworld" 
-            label="Create an Eclipse plug-in" 
-            id="pde-hello-world" 
-            style-id="content-link">
-        <text>
-           End-to-end tutorial demonstrating how to create a plug-in, 
-           a plug-in extension, a feature, and an update site as well as 
-           how to install and uninstall a feature
-        </text>
-      </link>
-      <link url="http://org.eclipse.ui.intro/showStandby?partId=org.eclipse.platform.cheatsheet&amp;input=org.eclipse.pde.rcpapp" 
-            label="Create a Rich Client Platform (RCP) application" 
-            id="rcp" 
-            style-id="content-link">
-        <text>
-           End-to-end tutorial demonstrating how to create a plug-in, define a 
-           plug-in based product, customize a product, export an RCP application 
-           and define a feature based product
-        </text>
-      </link>
-    </group>
-  </extensionContent>
-</introContent>
diff --git a/org.eclipse.pde/intro/whatsnewExtensionContent.xml b/org.eclipse.pde/intro/whatsnewExtensionContent.xml
deleted file mode 100644
index da8fbfc..0000000
--- a/org.eclipse.pde/intro/whatsnewExtensionContent.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<introContent>
-  <!-- Extension to the SDK What's New Page. -->
-  <extensionContent id="org.eclipse.pde.changes" name="Plug-in Development Environment" alt-style="css/whatsnew.properties" style="css/whatsnew.css" path="whatsnew/@">
-    <group style-id="content-group" id="content-group">
-    	<link label="Plug-in Development Environment" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.pde.doc.user/whatsNew/pde_whatsnew.htm" id="pde-noteworthy" style-id="content-link">
-      		<text>Learn about significant changes made to PDE for this release</text>
-    	</link>
-    </group>
-  </extensionContent>
-</introContent>
diff --git a/org.eclipse.pde/plugin.properties b/org.eclipse.pde/plugin.properties
deleted file mode 100644
index d3f7105..0000000
--- a/org.eclipse.pde/plugin.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=PDE
-providerName=Eclipse.org
-
-#Content Types
-pluginManifestName = Plug-in Manifest File
-fragmentManifestName = Fragment Manifest File
-featureManifestName = Feature Manifest File
-siteManifestName = Update Site Manifest File
-pluginPropertiesName = Plug-in Properties File
-productConfiguration = Product Configuration File
-buildPropertiesName = Build Properties File
-schemaFile = Extension Point Schema File
-bundleManifest = Bundle Manifest File
-target.profile.content = Target Profile File
-tableOfContents = Table of Contents File
-contextHelp = Context Help File
-
-#Cheatsheets  
-cheatsheet.category.pde = Plug-in Development
-
-cheatsheet.helloworld.name = Creating an Eclipse Plug-in
-cheatsheet.helloworld.desc = This cheat sheet helps you to create a plug-in, a plug-in extension, a feature and an update site using PDE.  \
-It also helps you install and uninstall a feature using Install/Update.
-
-cheatsheet.rcpapp.name = Creating a Rich Client Application
-cheatsheet.rcpapp.desc = This cheat sheet helps you to create, define, test and export a fully-branded standalone RCP product.
-
-content-type.name.simpleCS = Simple Cheat Sheet File
-content-type.name.compCS = Composite Cheat Sheet File
diff --git a/org.eclipse.pde/plugin.xml b/org.eclipse.pde/plugin.xml
deleted file mode 100644
index a8e99c4..0000000
--- a/org.eclipse.pde/plugin.xml
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.intro.configExtension">
-      <configExtension
-            configId="org.eclipse.ui.intro.universalConfig" 
-            content="$nl$/intro/overviewExtensionContent.xml"/>  
-      <configExtension
-            configId="org.eclipse.ui.intro.universalConfig"
-            content="$nl$/intro/tutorialsExtensionContent.xml"/>
-      <configExtension
-            configId="org.eclipse.ui.intro.universalConfig"
-            content="$nl$/intro/samplesExtensionContent.xml"/>
-      <configExtension
-            configId="org.eclipse.ui.intro.universalConfig"
-            content="$nl$/intro/samplesExtensionContent2.xml"/>
-      <configExtension
-            configId="org.eclipse.ui.intro.universalConfig"
-            content="$nl$/intro/whatsnewExtensionContent.xml"/> 
-   </extension>
-
-   <extension 
-   		 point="org.eclipse.ui.cheatsheets.cheatSheetContent">
-      <category
-            id="org.eclipse.pde"
-            name="%cheatsheet.category.pde"/>
-      <cheatsheet
-            category="org.eclipse.pde"
-            composite="true"
-            contentFile="$nl$/cheatsheets/helloworld-composite.xml"
-            id="org.eclipse.pde.helloworld"
-            name="%cheatsheet.helloworld.name">
-         <description>%cheatsheet.helloworld.desc</description>
-      </cheatsheet>
-      <cheatsheet
-            category="org.eclipse.pde"
-            composite="true"
-            contentFile="$nl$/cheatsheets/rcpapp-composite.xml"
-            id="org.eclipse.pde.rcpapp"
-            name="%cheatsheet.rcpapp.name">
-         <description>
-            %cheatsheet.rcpapp.desc
-         </description>
-      </cheatsheet>
-   </extension>
-   
-<!-- ================================================================================= -->
-<!-- Content Types                                                                     -->
-<!-- ================================================================================= -->
-   <extension 
-   		 point="org.eclipse.core.runtime.contentTypes">
-      <content-type 
-      		id="pluginManifest" 
-      		name="%pluginManifestName" 
-    		base-type="org.eclipse.core.runtime.xml"
-   			priority="high"				
-    		file-names="plugin.xml">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="plugin"/>
-		</describer>
-	  </content-type>
-   	  <content-type 
-   	  		id="fragmentManifest" 
-   	  		name="%fragmentManifestName" 
-       		base-type="org.eclipse.core.runtime.xml"
-    		priority="high"				
-    		file-names="fragment.xml">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="fragment"/>
-		</describer>
-	  </content-type>
-   	  <content-type 
-   	  		id="featureManifest" 
-   	  		name="%featureManifestName" 
-       		base-type="org.eclipse.core.runtime.xml"
-    		priority="high"				
-    		file-names="feature.xml">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="feature"/>
-		</describer>
-	  </content-type>
-   	  <content-type 
-   	  		id="siteManifest" 
-   	  		name="%siteManifestName" 
-       		base-type="org.eclipse.core.runtime.xml"
-    		priority="high"				
-    		file-names="site.xml">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="site"/>
-		</describer>
-	  </content-type>
-   	  <content-type 
-   	  		id="productFile" 
-   	  		name="%productConfiguration" 
-       		base-type="org.eclipse.core.runtime.xml"
-    		priority="high"				
-    		file-extensions="product">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="product"/>
-		</describer>
-	  </content-type>
-   	  <content-type 
-   	  		id="targetFile" 
-   	  		name="%target.profile.content" 
-       		base-type="org.eclipse.core.runtime.xml"
-    		priority="high"				
-    		file-extensions="target">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="target"/>
-		</describer>
-	  </content-type>
-   	  <content-type 
-   	  		id="schema" 
-   	  		name="%schemaFile" 
-       		base-type="org.eclipse.core.runtime.xml"
-    		priority="high"				
-    		file-extensions="exsd">
-    	<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-    		<parameter name="element" value="schema"/>
-		</describer>
-	  </content-type>
-	  <content-type 
-	  		id="pluginProperties" 
-	  		name="%pluginPropertiesName" 
-    		base-type="org.eclipse.jdt.core.javaProperties"
-    		priority="high"				
-    		file-names="plugin.properties"/>
-      <content-type 
-		    id="buildProperties" 
-		    name="%buildPropertiesName" 
-		    base-type="org.eclipse.jdt.core.javaProperties"
-		    priority="high"
-		    file-names="build.properties"/>
-      <content-type 
-		    id="bundleManifest" 
-		    name="%bundleManifest" 
-		    base-type="org.eclipse.jdt.core.JARManifest"
-		    priority="high"
-            describer="org.eclipse.pde.internal.core.content.BundleManifestDescriber"/>
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="xml"
-            id="simpleCheatSheet"
-            name="%content-type.name.simpleCS"
-            priority="high">
-         <describer
-               class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-            <parameter
-                  name="element"
-                  value="cheatsheet">
-            </parameter>
-         </describer>
-      </content-type>
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="xml"
-            id="compositeCheatSheet"
-            name="%content-type.name.compCS"
-            priority="high">
-         <describer
-               class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-            <parameter
-                  name="element"
-                  value="compositeCheatsheet">
-            </parameter>
-         </describer>
-      </content-type>
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="xml"
-            id="tocFile"
-            name="%tableOfContents"
-            priority="high">
-         <describer
-               class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-            <parameter
-                  name="element"
-                  value="toc">
-            </parameter>
-         </describer>
-      </content-type>
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="xml"
-            id="ctxHelpFile"
-            name="%contextHelp"
-            priority="high">
-         <describer
-               class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-            <parameter
-                  name="element"
-                  value="contexts">
-            </parameter>
-         </describer>
-      </content-type>
-    </extension>
-   
-   
-</plugin>
diff --git a/org.eclipse.pde/src/org/eclipse/pde/internal/core/content/BundleManifestDescriber.java b/org.eclipse.pde/src/org/eclipse/pde/internal/core/content/BundleManifestDescriber.java
deleted file mode 100644
index 7511570..0000000
--- a/org.eclipse.pde/src/org/eclipse/pde/internal/core/content/BundleManifestDescriber.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.core.content;
-
-import java.io.*;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.osgi.framework.Constants;
-
-public class BundleManifestDescriber implements ITextContentDescriber {
-
-	private final static String[] HEADERS = {Constants.BUNDLE_MANIFESTVERSION, Constants.BUNDLE_NAME, Constants.BUNDLE_VERSION, Constants.BUNDLE_SYMBOLICNAME, Constants.BUNDLE_VENDOR, Constants.BUNDLE_ACTIVATOR};
-	private final static int LINES = 50;
-
-	private final static QualifiedName[] SUPPORTED_OPTIONS = {IContentDescription.BYTE_ORDER_MARK};
-
-	/* (Intentionally not included in javadoc)
-	 * @see IContentDescriber#describe(InputStream, IContentDescription)
-	 */
-	public int describe(InputStream contents, IContentDescription description) throws IOException {
-		byte[] bom = getByteOrderMark(contents);
-		contents.reset();
-		String charset = "UTF-8"; //$NON-NLS-1$
-		if (bom != null) {
-			// has a bom
-			// remember to skip it
-			contents.skip(bom.length);
-			// compute a corresponding charset
-			if (bom == IContentDescription.BOM_UTF_8)
-				charset = "UTF-8"; //$NON-NLS-1$
-			else if (bom == IContentDescription.BOM_UTF_16BE || bom == IContentDescription.BOM_UTF_16LE)
-				// UTF-16 will properly recognize the BOM
-				charset = "UTF-16"; //$NON-NLS-1$
-			// fill description if requesed
-			if (description != null && description.isRequested(IContentDescription.BYTE_ORDER_MARK))
-				description.setProperty(IContentDescription.BYTE_ORDER_MARK, bom);
-		}
-		BufferedReader reader = new BufferedReader(new InputStreamReader(contents, charset));
-		String line;
-		for (int i = 0; ((line = reader.readLine()) != null) && i < LINES; i++)
-			if (matches(line))
-				// found signature
-				return VALID;
-		// could not find signature
-		return INDETERMINATE;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.runtime.content.ITextContentDescriber#describe(java.io.Reader, org.eclipse.core.runtime.content.IContentDescription)
-	 */
-	public int describe(Reader contents, IContentDescription description) throws IOException {
-		BufferedReader reader = new BufferedReader(contents);
-		String line;
-		for (int i = 0; ((line = reader.readLine()) != null) && i < LINES; i++)
-			if (matches(line))
-				return VALID;
-		return INDETERMINATE;
-	}
-
-	byte[] getByteOrderMark(InputStream input) throws IOException {
-		int first = (input.read() & 0xFF);//converts unsigned byte to int
-		int second = (input.read() & 0xFF);
-		if (first == -1 || second == -1)
-			return null;
-		//look for the UTF-16 Byte Order Mark (BOM)
-		if (first == 0xFE && second == 0xFF)
-			return IContentDescription.BOM_UTF_16BE;
-		if (first == 0xFF && second == 0xFE)
-			return IContentDescription.BOM_UTF_16LE;
-		int third = (input.read() & 0xFF);
-		if (third == -1)
-			return null;
-		//look for the UTF-8 BOM
-		if (first == 0xEF && second == 0xBB && third == 0xBF)
-			return IContentDescription.BOM_UTF_8;
-		return null;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.core.runtime.content.IContentDescriber#getSupportedOptions()
-	 */
-	public QualifiedName[] getSupportedOptions() {
-		return SUPPORTED_OPTIONS;
-	}
-
-	private boolean matches(String line) {
-		for (int i = 0; i < HEADERS.length; i++) {
-			int length = HEADERS[i].length();
-			if (line.length() >= length)
-				if (line.substring(0, length).equalsIgnoreCase(HEADERS[i]))
-					return true;
-		}
-		return false;
-	}
-}
