fixed build
diff --git a/pom.xml b/pom.xml
index c2ba787..0189478 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,6 +91,7 @@
 

 	<!-- Intent tests -->

     <module>tests/org.eclipse.mylyn.docs.intent.parser.test</module>

+	<module>tests/org.eclipse.mylyn.docs.intent.compare.test</module>

     <module>tests/org.eclipse.mylyn.docs.intent.collab.test</module>

     <module>tests/org.eclipse.mylyn.docs.intent.client.ui.test</module>

 	<module>tests/org.eclipse.mylyn.docs.intent.client.compiler.test</module>

diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.checkstyle b/tests/org.eclipse.mylyn.docs.intent.compare.test/.checkstyle
new file mode 100644
index 0000000..4017aff
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.checkstyle
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<fileset-config file-format-version="1.2.0" simple-config="true">

+    <local-check-config name="Intent" location="/org.eclipse.mylyn.docs.intent/dev/code/checkstyleConfiguration.xml" type="project" description="">

+        <additional-data name="protect-config-file" value="false"/>

+    </local-check-config>

+    <fileset name="tous" enabled="true" check-config-name="Intent" local="true">

+        <file-match-pattern match-pattern="." include-pattern="true"/>

+    </fileset>

+    <filter name="FilesFromPackage" enabled="true">

+        <filter-data value="src/org/eclipse/mylyn/docs/intent/compare/debug"/>

+    </filter>

+</fileset-config>

diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath b/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath
index 8a8f166..0f50db1 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <classpath>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

 	<classpathentry kind="src" path="src"/>

 	<classpathentry kind="output" path="bin"/>

diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.project b/tests/org.eclipse.mylyn.docs.intent.compare.test/.project
index 408d4f2..a489dab 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/.project
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.project
@@ -20,9 +20,21 @@
 			<arguments>

 			</arguments>

 		</buildCommand>

+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>

 	<natures>

 		<nature>org.eclipse.pde.PluginNature</nature>

 		<nature>org.eclipse.jdt.core.javanature</nature>

+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+		<nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
 	</natures>

 </projectDescription>

diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs
index f287d53..c82c880 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,288 @@
-eclipse.preferences.version=1

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

-org.eclipse.jdt.core.compiler.compliance=1.6

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

-org.eclipse.jdt.core.compiler.source=1.6

+#Fri Sep 23 21:59:11 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+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_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+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=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=110
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=
+org.eclipse.jdt.core.formatter.enabling_tag=
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+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=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=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=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=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=do not 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_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+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_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+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=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+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_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+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.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=110
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..377e9ee
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,57 @@
+#Fri Sep 23 21:59:11 CEST 2011
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Intent
+formatter_settings_version=12
+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_missing_override_annotations_interface_methods=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_type_abstract_if_missing_method=false
+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/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF b/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF
index 61d81c0..96e4aa5 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF
@@ -1,8 +1,9 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: Emf_compare2_merge_issues
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.mylyn.docs.intent.compare.test
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 0.7.0.qualifier
 Require-Bundle: org.eclipse.core.runtime,
  org.junit;bundle-version="4.8.1",
  org.eclipse.mylyn.docs.intent.core;bundle-version="0.7.0",
@@ -11,4 +12,5 @@
  com.google.guava;bundle-version="10.0.1",
  org.eclipse.mylyn.docs.intent.compare;bundle-version="0.7.0"
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/about.html b/tests/org.eclipse.mylyn.docs.intent.compare.test/about.html
new file mode 100644
index 0000000..34ab520
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/about.html
@@ -0,0 +1,106 @@
+<!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>Eclipse Foundation Software User Agreement</title> 

+</head> 

+ 

+<body lang="EN-US"> 

+<h2>Eclipse Foundation Software User Agreement</h2> 

+<p>April 14, 2010</p> 

+ 

+<h3>Usage Of Content</h3> 

+ 

+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS

+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND

+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE

+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR

+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND

+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p> 

+ 

+<h3>Applicable Licenses</h3> 

+ 

+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation 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 provided with this Content and is also 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>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code

+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p> 

+ 

+<ul> 

+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li> 

+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li> 

+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins

+      and/or Fragments associated with that Feature.</li> 

+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li> 

+</ul> 

+ 

+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and

+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module

+including, but not limited to the following locations:</p> 

+ 

+<ul> 

+       <li>The top-level (root) directory</li> 

+       <li>Plug-in and Fragment directories</li> 

+       <li>Inside Plug-ins and Fragments packaged as JARs</li> 

+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li> 

+       <li>Feature directories</li> 

+</ul> 

+ 

+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the

+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or

+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.

+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in

+that directory.</p> 

+ 

+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE

+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p> 

+ 

+<ul> 

+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li> 

+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li> 

+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li> 

+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li> 

+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li> 

+</ul> 

+ 

+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please

+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p> 

+ 

+ 

+<h3>Use of Provisioning Technology</h3> 

+ 

+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse

+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or

+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to

+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a 

+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a> 

+   (&quot;Specification&quot;).</p> 

+ 

+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the

+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology

+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the

+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p> 

+ 

+<ol> 

+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology

+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based

+       product.</li> 

+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be

+       accessed and copied to the Target Machine.</li> 

+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable

+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target

+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern

+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such

+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li> 

+</ol> 

+ 

+<h3>Cryptography</h3> 

+ 

+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to

+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,

+   possession, or use, and re-export of encryption software, to see if this is permitted.</p> 

+ 

+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p> 

+</body> 

+</html> 
\ No newline at end of file
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties b/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties
index 41eb6ad..33a3ca4 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties
@@ -1,4 +1,17 @@
+################################################################################
+# Copyright (c) 2010, 2012 Obeo.
+# 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:
+#     Obeo - initial API and implementation
+################################################################################
 source.. = src/

 output.. = bin/

 bin.includes = META-INF/,\

-               .

+               .,\
+               about.html,\
+               plugin.properties
+src.includes = about.html
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/plugin.properties b/tests/org.eclipse.mylyn.docs.intent.compare.test/plugin.properties
new file mode 100644
index 0000000..4d72632
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2012 Obeo.
+# 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:
+#     Obeo - initial API and implementation
+#################################################################################
+pluginName = Intent EMF Compare Test
+providerName = Eclipse Mylyn
\ No newline at end of file
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/pom.xml b/tests/org.eclipse.mylyn.docs.intent.compare.test/pom.xml
new file mode 100644
index 0000000..d25988f
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Copyright (C) 2011, 2012 Obeo
+
+   Cedric Brun <cedric.brun@obeo.fr>
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.mylyn.docs.intent-group</groupId>
+    <artifactId>intent-parent</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+    <relativePath>../..</relativePath>
+  </parent>
+
+  <artifactId>org.eclipse.mylyn.docs.intent.compare.test</artifactId>
+  <packaging>eclipse-test-plugin</packaging>
+
+ <build>   
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-source-plugin</artifactId>        
+      </plugin>   
+
+      <plugin>
+   	  	<groupId>org.apache.maven.plugins</groupId>
+      	<artifactId>maven-surefire-plugin</artifactId>
+      	<version>${tycho-version}</version>
+      	<configuration>
+      		<includes>
+      			<include>org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.class</include>
+     		 </includes>
+      		<testIgnoreFailure>true</testIgnoreFailure>
+     		<testFailureIgnore>true</testFailureIgnore>
+      </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+
+
+</project>
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java
index f81b980..c24b7ca 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java
@@ -1,3 +1,13 @@
+/*******************************************************************************

+ * Copyright (c) 2012 Obeo.

+ * 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:

+ *     Obeo - initial API and implementation

+ *******************************************************************************/

 package org.eclipse.mylyn.docs.intent.compare.test.unit;

 

 import java.io.File;

@@ -12,8 +22,14 @@
 import org.eclipse.mylyn.docs.intent.parser.modelingunit.ParseException;

 import org.eclipse.mylyn.docs.intent.serializer.IntentSerializer;

 

+/**

+ * Tests the potential merging issues.

+ * 

+ * @author <a href="mailto:william.piers@obeo.fr">William Piers</a>

+ */

 public class MergingIssues extends AbstractEMFCompareTest {

 	private static final boolean USE_DEFAULT_COMPARE = false;

+

 	private static final boolean DEBUG = false;

 

 	public void testFillEmptyDoc() throws IOException, ParseException {

@@ -104,13 +120,10 @@
 		compareAndMerge("reverseRename");

 	}

 

-	private void compareAndMerge(String testName) throws IOException,

-			ParseException {

+	private void compareAndMerge(String testName) throws IOException, ParseException {

 

-		String repository = getFileAsString(new File("data/" + testName

-				+ "/IntentDocument.text"));

-		String modified = getFileAsString(new File("data/" + testName

-				+ "/IntentDocument.text.modifications"));

+		String repository = getFileAsString(new File("data/" + testName + "/IntentDocument.text"));

+		String modified = getFileAsString(new File("data/" + testName + "/IntentDocument.text.modifications"));

 		IntentStructuredElement left = parseIntentDocument(modified);

 		IntentStructuredElement right = parseIntentDocument(repository);

 

@@ -132,8 +145,7 @@
 			System.out.println();

 			IntentPrettyPrinter.printMatch(comparison, System.out);

 			IntentPrettyPrinter.printDifferences(comparison, System.out);

-			System.out

-					.println("=========================================================");

+			System.out.println("=========================================================");

 		}

 

 		for (Diff diff : comparison.getDifferences()) {

diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java
index 52bad62..e678784 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java
@@ -1,3 +1,13 @@
+/*******************************************************************************

+ * Copyright (c) 2012 Obeo.

+ * 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:

+ *     Obeo - initial API and implementation

+ *******************************************************************************/

 package org.eclipse.mylyn.docs.intent.compare.test.utils;

 

 import java.io.BufferedInputStream;

@@ -15,21 +25,39 @@
 import org.eclipse.mylyn.docs.intent.parser.IntentParser;

 import org.eclipse.mylyn.docs.intent.parser.modelingunit.ParseException;

 

+/**

+ * Abstract definition of a comparison test.

+ * 

+ * @author <a href="mailto:william.piers@obeo.fr">William Piers</a>

+ */

 public class AbstractEMFCompareTest extends TestCase {

 

-	protected void compareAndMergeDiffs(IntentStructuredElement left,

-			IntentStructuredElement right) {

+	/**

+	 * Compares the two elements.

+	 * 

+	 * @param left

+	 *            the left element

+	 * @param right

+	 *            the right element

+	 */

+	protected void compareAndMergeDiffs(IntentStructuredElement left, IntentStructuredElement right) {

 		try {

 			new IntentASTMerger().mergeFromLocalToRepository(left, right);

 		} catch (MergingException e) {

 			fail(e.getMessage());

 		}

-

 	}

 

-	protected IntentStructuredElement parseIntentDocument(String content)

-			throws ParseException {

-		return (IntentStructuredElement) new IntentParser().parse(content);

+	/**

+	 * Parses the given document.

+	 * 

+	 * @param content

+	 *            the document as string

+	 * @return the parser result

+	 * @throws ParseException

+	 */

+	protected IntentStructuredElement parseIntentDocument(String content) throws ParseException {

+		return (IntentStructuredElement)new IntentParser().parse(content);

 	}

 

 	/**

diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java
index 08b60ab..1f2248d 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java
@@ -10,8 +10,6 @@
  *******************************************************************************/

 package org.eclipse.mylyn.docs.intent.compare.test.utils;

 

-import com.google.common.collect.Iterables;

-

 import java.io.PrintStream;

 import java.util.Arrays;

 

@@ -27,15 +25,15 @@
 import org.eclipse.emf.ecore.EObject;

 import org.eclipse.mylyn.docs.intent.compare.utils.IntentEqualityHelper;

 import org.eclipse.mylyn.docs.intent.core.document.IntentDocument;

-import org.eclipse.mylyn.docs.intent.core.document.IntentStructuredElement;

 import org.eclipse.mylyn.docs.intent.core.modelingunit.StructuralFeatureAffectation;

 import org.eclipse.mylyn.docs.intent.markup.markup.Annotations;

 import org.eclipse.mylyn.docs.intent.markup.markup.Text;

 

-// TODO do we need to externalize this? For now, suppressing the NLS warnings.

+import com.google.common.collect.Iterables;

+

 /**

- * This class exposes methods to serialize a "human-readable" form of the

- * comparison model onto a given stream.

+ * This class exposes methods to serialize a "human-readable" form of the comparison model onto a given

+ * stream.

  * 

  * @author <a href="mailto:laurent.goubet@obeo.fr">Laurent Goubet</a>

  */

@@ -55,14 +53,12 @@
 	}

 

 	/**

-	 * Prints the whole comparison on the given stream (might be {@code stream}

-	 * ).

+	 * Prints the whole comparison on the given stream (might be {@code stream} ).

 	 * 

 	 * @param comparison

 	 *            The comparison we are to print on {@code stream}.

 	 * @param stream

-	 *            The {@link PrintStream} on which we should print this

-	 *            comparison model.

+	 *            The {@link PrintStream} on which we should print this comparison model.

 	 */

 	public static void printComparison(Comparison comparison, PrintStream stream) {

 		for (MatchResource res : comparison.getMatchedResources()) {

@@ -81,30 +77,25 @@
 	}

 

 	/**

-	 * Prints all the Match elements contained by the given {@code comparison}.

-	 * Each Match will be displayed on its own line.

+	 * Prints all the Match elements contained by the given {@code comparison}. Each Match will be displayed

+	 * on its own line.

 	 * <p>

-	 * For example, if the left model has two packages "package1" and

-	 * "package2", but the right has "package1" and "package3", what we will

-	 * display here depends on the Match : if "left.package1" is matched with

-	 * "right.package1", but "package2" and "package3" did not match, this will

-	 * print <code><pre>

+	 * For example, if the left model has two packages "package1" and "package2", but the right has "package1"

+	 * and "package3", what we will display here depends on the Match : if "left.package1" is matched with

+	 * "right.package1", but "package2" and "package3" did not match, this will print <code><pre>

 	 * | package1 | package1 |

 	 * | package2 |          |

 	 * |          | package3 |

-	 * </pre></code> On the contrary, if "package2" and "package3" did match, we

-	 * will display <code><pre>

+	 * </pre></code> On the contrary, if "package2" and "package3" did match, we will display <code><pre>

 	 * | package1 | package1 |

 	 * | package2 | package3 |

 	 * </pre></code>

 	 * </p>

 	 * 

 	 * @param comparison

-	 *            The comparison which Matched elements we are to print on

-	 *            {@code stream}.

+	 *            The comparison which Matched elements we are to print on {@code stream}.

 	 * @param stream

-	 *            The {@link PrintStream} on which we should print the matched

-	 *            elements of this comparison.

+	 *            The {@link PrintStream} on which we should print the matched elements of this comparison.

 	 */

 	public static void printMatch(Comparison comparison, PrintStream stream) {

 		final String separator = "+----------------------------------------+----------------------------------------+----------------------------------------+"; //$NON-NLS-1$

@@ -112,9 +103,8 @@
 		final String rightLabel = "Right";

 		final String originLabel = "Origin";

 		stream.println(separator);

-		stream.println('|' + formatHeader(leftLabel) + '|'

-				+ formatHeader(rightLabel) + '|' + formatHeader(originLabel)

-				+ '|');

+		stream.println('|' + formatHeader(leftLabel) + '|' + formatHeader(rightLabel) + '|'

+				+ formatHeader(originLabel) + '|');

 		stream.println(separator);

 		for (Match match : comparison.getMatches()) {

 			printMatch(match, stream);

@@ -123,20 +113,16 @@
 	}

 

 	/**

-	 * Prints all differences detected for the given {@code comparison} on the

-	 * given {@code stream}.

+	 * Prints all differences detected for the given {@code comparison} on the given {@code stream}.

 	 * 

 	 * @param comparison

-	 *            The comparison which differences we are to print on

-	 *            {@code stream}.

+	 *            The comparison which differences we are to print on {@code stream}.

 	 * @param stream

-	 *            The {@link PrintStream} on which we should print these

-	 *            differences.

+	 *            The {@link PrintStream} on which we should print these differences.

 	 */

-	public static void printDifferences(Comparison comparison,

-			PrintStream stream) {

-		final Iterable<ReferenceChange> refChanges = Iterables.filter(

-				comparison.getDifferences(), ReferenceChange.class);

+	public static void printDifferences(Comparison comparison, PrintStream stream) {

+		final Iterable<ReferenceChange> refChanges = Iterables.filter(comparison.getDifferences(),

+				ReferenceChange.class);

 

 		stream.println("REFERENCE CHANGES");

 		for (Diff diff : refChanges) {

@@ -145,8 +131,8 @@
 		stream.println();

 

 		stream.println("ATTRIBUTE CHANGES");

-		final Iterable<AttributeChange> attChanges = Iterables.filter(

-				comparison.getDifferences(), AttributeChange.class);

+		final Iterable<AttributeChange> attChanges = Iterables.filter(comparison.getDifferences(),

+				AttributeChange.class);

 		for (Diff diff : attChanges) {

 			printDiff(diff, stream);

 		}

@@ -164,19 +150,18 @@
 	 * @param conflict

 	 *            The conflict we need to print on {@code stream}.

 	 * @param stream

-	 *            The {@link PrintStream} on which we should print this

-	 *            conflict.

+	 *            The {@link PrintStream} on which we should print this conflict.

 	 */

 	private static void printConflict(Conflict conflict, PrintStream stream) {

 		stream.println(conflict.getKind() + " conflict:");

-		final Iterable<ReferenceChange> refChanges = Iterables.filter(

-				conflict.getDifferences(), ReferenceChange.class);

+		final Iterable<ReferenceChange> refChanges = Iterables.filter(conflict.getDifferences(),

+				ReferenceChange.class);

 		for (Diff diff : refChanges) {

 			stream.print("\t");

 			printDiff(diff, stream);

 		}

-		final Iterable<AttributeChange> attChanges = Iterables.filter(

-				conflict.getDifferences(), AttributeChange.class);

+		final Iterable<AttributeChange> attChanges = Iterables.filter(conflict.getDifferences(),

+				AttributeChange.class);

 		for (Diff diff : attChanges) {

 			stream.print("\t");

 			printDiff(diff, stream);

@@ -190,12 +175,11 @@
 	 * @param diff

 	 *            The difference we are to print on {@code stream}.

 	 * @param stream

-	 *            The {@link PrintStream} on which we should print this

-	 *            difference.

+	 *            The {@link PrintStream} on which we should print this difference.

 	 */

 	private static void printDiff(Diff diff, PrintStream stream) {

 		if (diff instanceof ReferenceChange) {

-			final ReferenceChange refChange = (ReferenceChange) diff;

+			final ReferenceChange refChange = (ReferenceChange)diff;

 			final String valueName;

 			if (refChange.getValue() != null) {

 				valueName = elementToReadableString(refChange.getValue());

@@ -217,25 +201,20 @@
 			}

 			final String objectName;

 			if (refChange.getMatch().getLeft() != null) {

-				objectName = elementToReadableString(refChange.getMatch()

-						.getLeft());

+				objectName = elementToReadableString(refChange.getMatch().getLeft());

 			} else if (refChange.getMatch().getRight() != null) {

-				objectName = elementToReadableString(refChange.getMatch()

-						.getRight());

+				objectName = elementToReadableString(refChange.getMatch().getRight());

 			} else if (refChange.getMatch().getOrigin() != null) {

-				objectName = elementToReadableString(refChange.getMatch()

-						.getOrigin());

+				objectName = elementToReadableString(refChange.getMatch().getOrigin());

 			} else {

 				objectName = "";

 			}

 			if (valueName != null) {

-				stream.println("[" + diff.getKind() + "] " + "value "

-						+ valueName + " has been " + change + " reference "

-						+ refChange.getReference().getName() + " of object "

-						+ objectName);

+				stream.println("[" + diff.getKind() + "] " + "value " + valueName + " has been " + change

+						+ " reference " + refChange.getReference().getName() + " of object " + objectName);

 			}

 		} else if (diff instanceof AttributeChange) {

-			final AttributeChange attChange = (AttributeChange) diff;

+			final AttributeChange attChange = (AttributeChange)diff;

 			String valueName = "null";

 			if (attChange.getValue() != null) {

 				valueName = attChange.getValue().toString();

@@ -255,20 +234,16 @@
 			}

 			final String objectName;

 			if (attChange.getMatch().getLeft() != null) {

-				objectName = elementToReadableString(attChange.getMatch()

-						.getLeft());

+				objectName = elementToReadableString(attChange.getMatch().getLeft());

 			} else if (attChange.getMatch().getRight() != null) {

-				objectName = elementToReadableString(attChange.getMatch()

-						.getRight());

+				objectName = elementToReadableString(attChange.getMatch().getRight());

 			} else if (attChange.getMatch().getOrigin() != null) {

-				objectName = elementToReadableString(attChange.getMatch()

-						.getOrigin());

+				objectName = elementToReadableString(attChange.getMatch().getOrigin());

 			} else {

 				objectName = "";

 			}

-			stream.println("value " + valueName + " has been " + change

-					+ " attribute " + attChange.getAttribute().getName()

-					+ " of object " + objectName);

+			stream.println("value " + valueName + " has been " + change + " attribute "

+					+ attChange.getAttribute().getName() + " of object " + objectName);

 		}

 	}

 

@@ -278,10 +253,8 @@
 	 * @param match

 	 *            The match we are to print on {@code stream}.

 	 * @param stream

-	 *            The {@link PrintStream} on which we should print this

-	 *            difference.

-	 * @see #printMatch(Comparison, PrintStream) A description on how we format

-	 *      the match.

+	 *            The {@link PrintStream} on which we should print this difference.

+	 * @see #printMatch(Comparison, PrintStream) A description on how we format the match.

 	 */

 	private static void printMatch(Match match, PrintStream stream) {

 		String leftName = null;

@@ -295,12 +268,10 @@
 		} else {

 			int level = 0;

 			EObject currentMatch = match;

-			while (currentMatch instanceof Match

-					&& ((Match) currentMatch).getLeft() == null) {

+			while (currentMatch instanceof Match && ((Match)currentMatch).getLeft() == null) {

 				currentMatch = currentMatch.eContainer();

 			}

-			while (currentMatch instanceof Match

-					&& ((Match) currentMatch).getLeft() != null) {

+			while (currentMatch instanceof Match && ((Match)currentMatch).getLeft() != null) {

 				level++;

 				currentMatch = currentMatch.eContainer();

 			}

@@ -312,12 +283,10 @@
 		} else {

 			int level = 0;

 			EObject currentMatch = match;

-			while (currentMatch instanceof Match

-					&& ((Match) currentMatch).getRight() == null) {

+			while (currentMatch instanceof Match && ((Match)currentMatch).getRight() == null) {

 				currentMatch = currentMatch.eContainer();

 			}

-			while (currentMatch instanceof Match

-					&& ((Match) currentMatch).getRight() != null) {

+			while (currentMatch instanceof Match && ((Match)currentMatch).getRight() != null) {

 				level++;

 				currentMatch = currentMatch.eContainer();

 			}

@@ -333,8 +302,8 @@
 	}

 

 	/**

-	 * Formats the given header so that it spans {@value #COLUMN_LENGTH}

-	 * characters, centered between white spaces.

+	 * Formats the given header so that it spans {@value #COLUMN_LENGTH} characters, centered between white

+	 * spaces.

 	 * 

 	 * @param header

 	 *            The header we are to format.

@@ -353,13 +322,12 @@
 		for (int i = 0; i < charsAfter.length; i++) {

 			charsAfter[i] = ' ';

 		}

-		return String.valueOf(charsBefore) + header

-				+ String.valueOf(charsAfter);

+		return String.valueOf(charsBefore) + header + String.valueOf(charsAfter);

 	}

 

 	/**

-	 * Formats the named of the given element by adding spaces before and after

-	 * it so that it spans {@value #COLUMN_LENGTH} characters at most.

+	 * Formats the named of the given element by adding spaces before and after it so that it spans

+	 * {@value #COLUMN_LENGTH} characters at most.

 	 * 

 	 * @param element

 	 *            The element which name should be formatted.

@@ -386,13 +354,11 @@
 				charsBefore[charsBefore.length - 1] = '-';

 			}

 

-			int missingChars = COLUMN_LENGTH - name.length()

-					- charsBefore.length;

+			int missingChars = COLUMN_LENGTH - name.length() - charsBefore.length;

 			final char[] spacesAfter = new char[Math.max(0, missingChars)];

 			Arrays.fill(spacesAfter, ' ');

 

-			return String.valueOf(charsBefore) + name

-					+ String.valueOf(spacesAfter);

+			return String.valueOf(charsBefore) + name + String.valueOf(spacesAfter);

 		}

 		return null;

 	}

@@ -401,10 +367,8 @@
 	 * Returns an "empty line" which will only show pipes for previous levels.

 	 * 

 	 * @param level

-	 *            The level of nesting that we should make visible through pipes

-	 *            on this line.

-	 * @return A line that displays only pipes for a tree's {@code level}, and

-	 *         only that.

+	 *            The level of nesting that we should make visible through pipes on this line.

+	 * @return A line that displays only pipes for a tree's {@code level}, and only that.

 	 */

 	private static String getEmptyLine(int level) {

 		char[] charsBefore = new char[1 + (level * 2)];

@@ -462,11 +426,11 @@
 	public static String diffToReadableString(Diff diff) {

 		String res = diff.getKind() + " ";

 		if (diff instanceof AttributeChange) {

-			AttributeChange change = (AttributeChange) diff;

+			AttributeChange change = (AttributeChange)diff;

 			res += change.getAttribute().getEContainingClass().getName() + "."

 					+ change.getAttribute().getName() + " ";

 		} else if (diff instanceof ReferenceChange) {

-			ReferenceChange change = (ReferenceChange) diff;

+			ReferenceChange change = (ReferenceChange)diff;

 			res += change.getReference().getEContainingClass().getName() + "."

 					+ change.getReference().getName() + " ";

 		}

@@ -491,19 +455,17 @@
 			res = "?";

 		} else {

 			res = element.eClass().getName();

-			String fragment = new IntentEqualityHelper().getURI(element)

-					.fragment();

+			String fragment = new IntentEqualityHelper().getURI(element).fragment();

 			if (fragment != null) {

 				res += "[" + fragment + "]";

 			}

 		}

 		if (element instanceof Text) {

-			res = "\"" + ((Text) element).getData() + "\"";

-		} else if (element instanceof IntentDocument

-				|| element instanceof Annotations) {

+			res = "\"" + ((Text)element).getData() + "\"";

+		} else if (element instanceof IntentDocument || element instanceof Annotations) {

 			res = null;

 		} else if (element instanceof StructuralFeatureAffectation) {

-			StructuralFeatureAffectation aff = (StructuralFeatureAffectation) element;

+			StructuralFeatureAffectation aff = (StructuralFeatureAffectation)element;

 			res += element.eClass().getName() + " \"" + aff.getName() + "\"";

 		}

 		return res;