Bug 369103 - Enable Edapt Migrator

* Tests for the edapt migration

Change-Id: Ibf11e71b4f235d1f99ad662b67436b882b641da2
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
index 49d5932..2b36ac3 100644
--- a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
@@ -30,5 +30,6 @@
 		<module>../../tests/org.eclipse.emf.emfstore.client.test.ui</module>
 		<module>../../tests/org.eclipse.emf.emfstore.performance.test</module>
 		<module>../../tests/org.eclipse.emf.emfstore.client.ui.test</module>
+		<module>../../tests/org.eclipse.emf.emfstore.migration.edapt.test</module>
 	</modules>
 </project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.checkstyle b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.checkstyle
new file mode 100644
index 0000000..e620597
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.checkstyle
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="ESM Checkstyle For Tests" location="/EMFStoreDeveloper/checkstyle/esmCheckstyleTest.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="all Java files" enabled="true" check-config-name="ESM Checkstyle For Tests" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.classpath b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.classpath
@@ -0,0 +1,7 @@
+<?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/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.project b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.project
new file mode 100644
index 0000000..54d0b88
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.emfstore.migration.edapt.test</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+
+encoding//model/etypes.ecore=UTF-8
+
+
+encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2cf5f27
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,418 @@
+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=

+org.eclipse.jdt.core.circularClasspath=error

+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

+org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error

+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.codeComplete.staticFinalFieldPrefixes=

+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=

+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled

+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore

+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull

+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault

+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable

+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled

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

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5

+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

+org.eclipse.jdt.core.compiler.compliance=1.5

+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=100

+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning

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

+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore

+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning

+org.eclipse.jdt.core.compiler.problem.deadCode=warning

+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=warning

+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

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

+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore

+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning

+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled

+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore

+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning

+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.includeNullInfoFromAsserts=disabled

+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore

+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore

+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning

+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled

+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled

+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled

+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public

+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore

+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore

+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning

+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled

+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning

+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled

+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag

+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled

+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled

+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public

+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning

+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled

+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning

+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning

+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error

+org.eclipse.jdt.core.compiler.problem.nullReference=warning

+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error

+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=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.potentiallyUnclosedCloseable=ignore

+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning

+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning

+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning

+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore

+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning

+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore

+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore

+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled

+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled

+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled

+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning

+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled

+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning

+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning

+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

+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.unusedDeclaredThrownException=ignore

+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled

+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled

+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

+org.eclipse.jdt.core.compiler.problem.unusedImport=warning

+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning

+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore

+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled

+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore

+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning

+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

+org.eclipse.jdt.core.compiler.source=1.5

+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled

+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL

+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO

+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=16

+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16

+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16

+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1

+org.eclipse.jdt.core.formatter.blank_lines_after_package=1

+org.eclipse.jdt.core.formatter.blank_lines_before_field=0

+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=false

+org.eclipse.jdt.core.formatter.comment.format_block_comments=true

+org.eclipse.jdt.core.formatter.comment.format_header=true

+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=do not insert

+org.eclipse.jdt.core.formatter.comment.line_length=120

+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=1

+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1

+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off

+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on

+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false

+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true

+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true

+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true

+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true

+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=false

+org.eclipse.jdt.core.formatter.indentation.size=4

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert

+org.eclipse.jdt.core.formatter.insert_new_line_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=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=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=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=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=false

+org.eclipse.jdt.core.formatter.join_wrapped_lines=false

+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=120

+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false

+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false

+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0

+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1

+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=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=true

+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false

+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true

+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true

+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true

+org.eclipse.jdt.core.incompatibleJDKLevel=ignore

+org.eclipse.jdt.core.incompleteClasspath=error

diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.launching.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8d55df1
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,115 @@
+cleanup.add_default_serial_version_id=true

+cleanup.add_generated_serial_version_id=false

+cleanup.add_missing_annotations=true

+cleanup.add_missing_deprecated_annotations=true

+cleanup.add_missing_methods=false

+cleanup.add_missing_nls_tags=false

+cleanup.add_missing_override_annotations=true

+cleanup.add_missing_override_annotations_interface_methods=true

+cleanup.add_serial_version_id=false

+cleanup.always_use_blocks=true

+cleanup.always_use_parentheses_in_expressions=false

+cleanup.always_use_this_for_non_static_field_access=false

+cleanup.always_use_this_for_non_static_method_access=false

+cleanup.convert_to_enhanced_for_loop=false

+cleanup.correct_indentation=true

+cleanup.format_source_code=true

+cleanup.format_source_code_changes_only=false

+cleanup.make_local_variable_final=true

+cleanup.make_parameters_final=false

+cleanup.make_private_fields_final=true

+cleanup.make_type_abstract_if_missing_method=false

+cleanup.make_variable_declarations_final=true

+cleanup.never_use_blocks=false

+cleanup.never_use_parentheses_in_expressions=true

+cleanup.organize_imports=true

+cleanup.qualify_static_field_accesses_with_declaring_class=false

+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true

+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true

+cleanup.qualify_static_member_accesses_with_declaring_class=true

+cleanup.qualify_static_method_accesses_with_declaring_class=false

+cleanup.remove_private_constructors=true

+cleanup.remove_trailing_whitespaces=true

+cleanup.remove_trailing_whitespaces_all=true

+cleanup.remove_trailing_whitespaces_ignore_empty=false

+cleanup.remove_unnecessary_casts=false

+cleanup.remove_unnecessary_nls_tags=false

+cleanup.remove_unused_imports=true

+cleanup.remove_unused_local_variables=false

+cleanup.remove_unused_private_fields=true

+cleanup.remove_unused_private_members=false

+cleanup.remove_unused_private_methods=true

+cleanup.remove_unused_private_types=true

+cleanup.sort_members=false

+cleanup.sort_members_all=false

+cleanup.use_blocks=true

+cleanup.use_blocks_only_for_return_and_throw=false

+cleanup.use_parentheses_in_expressions=true

+cleanup.use_this_for_non_static_field_access=true

+cleanup.use_this_for_non_static_field_access_only_if_necessary=true

+cleanup.use_this_for_non_static_method_access=true

+cleanup.use_this_for_non_static_method_access_only_if_necessary=true

+cleanup_profile=_esmCleanUp

+cleanup_settings_version=2

+eclipse.preferences.version=1

+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true

+formatter_profile=_esmFormatter

+formatter_settings_version=12

+org.eclipse.jdt.ui.exception.name=ex

+org.eclipse.jdt.ui.gettersetter.use.is=true

+org.eclipse.jdt.ui.javadoc=true

+org.eclipse.jdt.ui.keywordthis=false

+org.eclipse.jdt.ui.overrideannotation=true

+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) 2011-${year} EclipseSource Muenchen GmbH and others.\r\n * \r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * ${user} - initial API and implementation\r\n ******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * {@inheritDoc}\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">\t\t\t// TODO Auto-generated catch block\r\n\t\t\t// Do NOT catch all Exceptions ("catch (Exception e)")\r\n\t\t\t// Log AND handle Exceptions if possible \r\n            //\r\n            // You can just uncomment one of the lines below to log an exception\:\r\n\t\t\t// logException will show the logged excpetion to the user\r\n\t\t\t// ModelUtil.logException(${exception_var});\r\n\t\t\t// ModelUtil.logException("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// logWarning will only add the message to the error log\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE", ${exception_var});\r\n\t\t\t// ModelUtil.logWarning("YOUR MESSAGE HERE");\r\n\t\t\t//\t\t\t\r\n\t\t\t// If handling is not possible declare and rethrow Exception</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>

+sp_cleanup.add_default_serial_version_id=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=true

+sp_cleanup.format_source_code=true

+sp_cleanup.format_source_code_changes_only=false

+sp_cleanup.make_local_variable_final=true

+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=true

+sp_cleanup.organize_imports=true

+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false

+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true

+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true

+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true

+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false

+sp_cleanup.remove_private_constructors=true

+sp_cleanup.remove_trailing_whitespaces=true

+sp_cleanup.remove_trailing_whitespaces_all=true

+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false

+sp_cleanup.remove_unnecessary_casts=false

+sp_cleanup.remove_unnecessary_nls_tags=true

+sp_cleanup.remove_unused_imports=true

+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=true

+sp_cleanup.use_blocks_only_for_return_and_throw=false

+sp_cleanup.use_parentheses_in_expressions=true

+sp_cleanup.use_this_for_non_static_field_access=true

+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true

+sp_cleanup.use_this_for_non_static_method_access=true

+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true

diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.ltk.core.refactoring.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.api.tools.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,97 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_JAVADOC_TAG=Warning
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,32 @@
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/AllMigrationEdaptTests.launch b/tests/org.eclipse.emf.emfstore.migration.edapt.test/AllMigrationEdaptTests.launch
new file mode 100644
index 0000000..8d713ce
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/AllMigrationEdaptTests.launch
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/AllMigrationEdaptTests"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.emfstore.internal.migration.edapt.test.AllMigrationEdaptTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.emfstore.migration.edapt.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product.tcp_h2"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.xml@default:default,lpg.runtime.java@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.linux.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.swt.gtk@default:false,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edapt.common@default:default,org.eclipse.emf.edapt.declaration@default:default,org.eclipse.emf.edapt.history@default:default,org.eclipse.emf.edapt.migration@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.help@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface@default:default,org.eclipse.ocl.common@default:default,org.eclipse.ocl.ecore@default:default,org.eclipse.ocl@default:default,org.eclipse.osgi*3.10.102.v20160118-1700@-1:true,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services*3.5.0.v20150519-2006@default:default,org.eclipse.swt.gtk.linux.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.emf.emfstore.client.api.test@default:default,org.eclipse.emf.emfstore.client.changetracking.test@default:default,org.eclipse.emf.emfstore.client.conflictdetection.test@default:default,org.eclipse.emf.emfstore.client.recording.test@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.examplemodel@default:default,org.eclipse.emf.emfstore.migration.edapt.test@default:false,org.eclipse.emf.emfstore.migration.edapt@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.emfstore.test.common@default:default,org.eclipse.emf.emfstore.test.model.edit@default:default,org.eclipse.emf.emfstore.test.model@default:default"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d2c4f21
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.emfstore.migration.edapt.test;singleton:=true
+Bundle-Version: 1.7.0.qualifier
+Bundle-ClassPath: .
+Fragment-Host: org.eclipse.emf.emfstore.migration.edapt;bundle-version="[1.7.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.emf.emfstore.internal.migration.edapt;version="1.7.0";x-internal:=true,
+ org.eclipse.emf.emfstore.internal.migration.edapt.test;version="1.7.0";x-internal:=true,
+ org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;version="1.7.0",
+ org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.util;version="1.7.0"
+Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/build.properties b/tests/org.eclipse.emf.emfstore.migration.edapt.test/build.properties
new file mode 100644
index 0000000..2a72eab
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/build.properties
@@ -0,0 +1,18 @@
+# Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+# EclipseSource Munich - initial API and implementation
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.properties,\
+               fragment.xml
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/expected.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/expected.xmi
new file mode 100644
index 0000000..fcbaa28
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/expected.xmi
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz" xmi:id="_6P3dUNcTEeW10o5bJuBejA"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/projectstate-1.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/projectstate-1.ups
new file mode 100644
index 0000000..dcd8ba8
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/1/projectstate-1.ups
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A" xmi:id="_6P3dUNcTEeW10o5bJuBejA"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-1.ucp
new file mode 100644
index 0000000..a11586a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-1.ucp
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation">
+    <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-2.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-2.ucp
new file mode 100644
index 0000000..c467cb0
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-2.ucp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+  <logMessage author="super" message="Commit" clientDate="2016-02-19T15:20:21.923+0100"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6P884NcTEeW10o5bJuBejA" clientDate="2016-02-19T15:20:21.808+0100">
+    <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-3.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-3.ucp
new file mode 100644
index 0000000..d9b68f9
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/changepackage-3.ucp
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a">
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation">
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:A"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore5661482833897137554.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore5661482833897137554.xmi
new file mode 100644
index 0000000..b5ccc43
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore5661482833897137554.xmi
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_nWik4NcpEeWXpr-TVzJa6g">
+    <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+    <eObjectToIdMap key="//@operations.0/@modelElement">
+      <value id="_nYNY0tcpEeWXpr-TVzJa6g"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore7345308363034172688.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore7345308363034172688.xmi
new file mode 100644
index 0000000..2ad9f62
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore7345308363034172688.xmi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+  <logMessage author="super" message="Commit" clientDate="2016-02-19T15:20:21.923+0100"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6P884NcTEeW10o5bJuBejA" clientDate="2016-02-19T15:20:21.808+0100">
+    <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+    <eObjectToIdMap key="//@operations.0/@modelElement">
+      <value id="_VkoCctcpEeWi35v-Lb03AQ"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore8950706431703332367.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore8950706431703332367.xmi
new file mode 100644
index 0000000..ffef734
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/emfstore8950706431703332367.xmi
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="__hYNsNcoEeWcG7RZ3L9hRA">
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+    <eObjectToIdMap key="//@operations.0/@modelElement">
+      <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/expected.xmi b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/expected.xmi
new file mode 100644
index 0000000..ee5abb0
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/2/expected.xmi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2">
+  <logMessage author="super" message="Commit" clientDate="2016-02-19T15:20:21.923+0100"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6P884NcTEeW10o5bJuBejA" clientDate="2016-02-19T15:20:21.808+0100">
+    <modelElementId id="_6P3dUNcTEeW10o5bJuBejA"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_6P3dUNcTEeW10o5bJuBejA"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/3/projectstate-1.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/3/projectstate-1.ups
new file mode 100644
index 0000000..2bd5f2c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/3/projectstate-1.ups
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migra/2tion/eda/2pt/test/a/2">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz" xmi:id="_6fyoUNcWEeWHW4r84OU_7Q"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/4/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/4/changepackage-1.ucp
new file mode 100644
index 0000000..87d00c5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/4/changepackage-1.ucp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.a="http://eclipse.org/emf/emfstore/migra/2tion/eda/2pt/test/a/2">
+  <logMessage author="super" message="Commit" clientDate="2016-02-19T15:41:52.117+0100"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_6f1EkNcWEeWHW4r84OU_7Q" clientDate="2016-02-19T15:41:51.963+0100">
+    <modelElementId id="_6fyoUNcWEeWHW4r84OU_7Q"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.a:AClazz"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_6fyoUNcWEeWHW4r84OU_7Q"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/5/projectstate-0.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/5/projectstate-0.ups
new file mode 100644
index 0000000..631e003
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/5/projectstate-0.ups
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model">
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp
new file mode 100644
index 0000000..05886aa
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1">
+  <logMessage author="super" message="Added root Element" clientDate="2016-03-31T12:15:37.118+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1
new file mode 100644
index 0000000..52b530c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_gw6ZQPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:36.919+0200">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1.temp
new file mode 100644
index 0000000..52b530c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-1.ucp.1.temp
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_gw6ZQPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:36.919+0200">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp
new file mode 100644
index 0000000..af6a75d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1">
+  <logMessage author="super" message="Added child Element" clientDate="2016-03-31T12:15:37.517+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1
new file mode 100644
index 0000000..6a1a78b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g1y5QfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.428+0200">
+  <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_g1y5QPcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g11VgPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.432+0200" featureName="ref">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  <newValue id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1.temp
new file mode 100644
index 0000000..6a1a78b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-2.ucp.1.temp
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g1y5QfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.428+0200">
+  <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_g1y5QPcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g11VgPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.432+0200" featureName="ref">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  <newValue id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp
new file mode 100644
index 0000000..811e6ac
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1">
+  <logMessage author="super" message="Added multiple child elements" clientDate="2016-03-31T12:15:37.955+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1
new file mode 100644
index 0000000..be793e9
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57LUfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.861+0200">
+  <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_g57LUPcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57yYfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.862+0200">
+  <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_g57yYPcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g58ZcPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.863+0200" featureName="refs" add="true">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  <referencedModelElements id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <referencedModelElements id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1.temp
new file mode 100644
index 0000000..be793e9
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-3.ucp.1.temp
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57LUfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.861+0200">
+  <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_g57LUPcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d" identifier="_g57yYfcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.862+0200">
+  <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+  <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+  <eObjectToIdMap key="//@modelElement">
+    <value id="_g57yYPcpEeWGu-azpxf_CA"/>
+  </eObjectToIdMap>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g58ZcPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:37.863+0200" featureName="refs" add="true">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+  <referencedModelElements id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <referencedModelElements id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp
new file mode 100644
index 0000000..f51b5b6
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1">
+  <logMessage author="super" message="Setting attributes" clientDate="2016-03-31T12:15:38.547+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1
new file mode 100644
index 0000000..51780b4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lucPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026431">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_ludPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026432">
+  <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_luePcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643331">
+  <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lufPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643332">
+  <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1.temp
new file mode 100644
index 0000000..51780b4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-4.ucp.1.temp
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lucPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026431">
+  <modelElementId id="_gw2u4PcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_ludPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED00057400026432">
+  <modelElementId id="_g1y5QPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_luePcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643331">
+  <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_g_lufPcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:38.455+0200" featureName="att" newValue="ACED0005740003643332">
+  <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp
new file mode 100644
index 0000000..9ae1a2d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" filePath="/home/johannes/Workspaces/junit-workspace/profiles/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1">
+  <logMessage author="super" message="Setting multi attributes" clientDate="2016-03-31T12:15:39.155+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:FileBasedChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1 b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1
new file mode 100644
index 0000000..20612b3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt0PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+  <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <indexes>0</indexes>
+  <indexes>1</indexes>
+  <referencedValues>ACED0005740003666F6F</referencedValues>
+  <referencedValues>ACED0005740003626172</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt1PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+  <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+  <indexes>0</indexes>
+  <indexes>1</indexes>
+  <referencedValues>ACED0005740003464F4F</referencedValues>
+  <referencedValues>ACED0005740003424152</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1.temp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1.temp
new file mode 100644
index 0000000..20612b3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/changepackage-5.ucp.1.temp
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt0PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+  <modelElementId id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <indexes>0</indexes>
+  <indexes>1</indexes>
+  <referencedValues>ACED0005740003666F6F</referencedValues>
+  <referencedValues>ACED0005740003626172</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+<operations>
+<org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" identifier="_hFSt1PcpEeWGu-azpxf_CA" clientDate="2016-03-31T12:15:39.053+0200" featureName="atts" add="true">
+  <modelElementId id="_g57yYPcpEeWGu-azpxf_CA"/>
+  <indexes>0</indexes>
+  <indexes>1</indexes>
+  <referencedValues>ACED0005740003464F4F</referencedValues>
+  <referencedValues>ACED0005740003424152</referencedValues>
+</org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation>
+</operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectHistory.uph b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectHistory.uph
new file mode 100644
index 0000000..0fa4bf8
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectHistory.uph
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ProjectHistory xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" projectName="DemoProject" projectDescription="">
+  <projectId id="_gvO-QPcpEeWGu-azpxf_CA"/>
+  <versions href="versions/0#/"/>
+  <versions href="versions/1#/"/>
+  <versions href="versions/2#/"/>
+  <versions href="versions/3#/"/>
+  <versions href="versions/4#/"/>
+  <versions href="versions/5#/"/>
+  <branches name="trunk">
+    <head identifier="5" projectStateChecksum="7330538291069755227"/>
+    <source/>
+  </branches>
+</org.eclipse.emf.emfstore.internal.server.model:ProjectHistory>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-0.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-0.ups
new file mode 100644
index 0000000..ba602db
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-0.ups
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model"/>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-3.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-3.ups
new file mode 100644
index 0000000..6e20c8b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-3.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_gw2u4PcpEeWGu-azpxf_CA" ref="#_g1y5QPcpEeWGu-azpxf_CA" refs="#_g57LUPcpEeWGu-azpxf_CA #_g57yYPcpEeWGu-azpxf_CA"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g1y5QPcpEeWGu-azpxf_CA"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57LUPcpEeWGu-azpxf_CA"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57yYPcpEeWGu-azpxf_CA"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-4.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-4.ups
new file mode 100644
index 0000000..6ade715
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-4.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_gw2u4PcpEeWGu-azpxf_CA" att="d1" ref="#_g1y5QPcpEeWGu-azpxf_CA" refs="#_g57LUPcpEeWGu-azpxf_CA #_g57yYPcpEeWGu-azpxf_CA"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g1y5QPcpEeWGu-azpxf_CA" att="d2"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57LUPcpEeWGu-azpxf_CA" att="d31"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57yYPcpEeWGu-azpxf_CA" att="d32"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-5.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-5.ups
new file mode 100644
index 0000000..33e295c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/projectstate-5.ups
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_gw2u4PcpEeWGu-azpxf_CA" att="d1" ref="#_g1y5QPcpEeWGu-azpxf_CA" refs="#_g57LUPcpEeWGu-azpxf_CA #_g57yYPcpEeWGu-azpxf_CA"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g1y5QPcpEeWGu-azpxf_CA" att="d2"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57LUPcpEeWGu-azpxf_CA" att="d31">
+    <atts>foo</atts>
+    <atts>bar</atts>
+  </modelElements>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_g57yYPcpEeWGu-azpxf_CA" att="d32">
+    <atts>FOO</atts>
+    <atts>BAR</atts>
+  </modelElements>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-0.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-0.upv
new file mode 100644
index 0000000..303d74d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-0.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="1#/">
+  <primarySpec/>
+  <logMessage author="super" message="Initial commit" date="2016-03-31T12:15:36.737+0200" clientDate="2016-03-31T12:15:36.673+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-1.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-1.upv
new file mode 100644
index 0000000..7abc285
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-1.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="2#/" previousVersion="0#/">
+  <primarySpec identifier="1" projectStateChecksum="-1351035061437285832"/>
+  <logMessage author="super" message="Added root Element" date="2016-03-31T12:15:37.378+0200" clientDate="2016-03-31T12:15:37.118+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-2.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-2.upv
new file mode 100644
index 0000000..c30875a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-2.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="3#/" previousVersion="1#/">
+  <primarySpec identifier="2" projectStateChecksum="6437267355085018974"/>
+  <logMessage author="super" message="Added child Element" date="2016-03-31T12:15:37.810+0200" clientDate="2016-03-31T12:15:37.517+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-3.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-3.upv
new file mode 100644
index 0000000..6153064
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-3.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="4#/" previousVersion="2#/">
+  <primarySpec identifier="3" projectStateChecksum="-4621077678384738851"/>
+  <tagSpecs name="foo"/>
+  <logMessage author="super" message="Added multiple child elements" date="2016-03-31T12:15:38.323+0200" clientDate="2016-03-31T12:15:37.955+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-4.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-4.upv
new file mode 100644
index 0000000..c473b09
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-4.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="5#/" previousVersion="3#/">
+  <primarySpec identifier="4" projectStateChecksum="4564190854053106915"/>
+  <tagSpecs name="bar"/>
+  <logMessage author="super" message="Setting attributes" date="2016-03-31T12:15:38.948+0200" clientDate="2016-03-31T12:15:38.547+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-5.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-5.upv
new file mode 100644
index 0000000..a6c4fd5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/project-_gvO-QPcpEeWGu-azpxf_CA/version-5.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" previousVersion="4#/">
+  <primarySpec identifier="5" projectStateChecksum="7330538291069755227"/>
+  <logMessage author="super" message="Setting multi attributes" date="2016-03-31T12:15:39.336+0200" clientDate="2016-03-31T12:15:39.155+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/storage.uss b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/storage.uss
new file mode 100644
index 0000000..acf3459
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/fbcp/default_dev/storage.uss
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ServerSpace xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" xmlns:org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles="http://eclipse.org/emf/emfstore/server/model/roles" projects="projects/_gvO-QPcpEeWGu-azpxf_CA/projecthistory#/">
+  <users identifier="_glfzcfcpEeWGu-azpxf_CA" name="super" description="default server admin (superuser)" firstName="super" lastName="user">
+    <roles xsi:type="org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles:ServerAdmin"/>
+  </users>
+</org.eclipse.emf.emfstore.internal.server.model:ServerSpace>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-1.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-1.ucp
new file mode 100644
index 0000000..556609f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-1.ucp
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <logMessage author="super" message="Added root Element" clientDate="2016-03-31T12:12:00.606+0200"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_AgY4MPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:00.439+0200">
+    <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+    </eObjectToIdMap>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-2.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-2.ucp
new file mode 100644
index 0000000..f6c01f5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-2.ucp
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <logMessage author="super" message="Added child Element" clientDate="2016-03-31T12:12:00.942+0200"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_Aj100fcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:00.797+0200">
+    <modelElementId id="_Aj100PcpEeWnk-MlMuAN6w"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_Aj100PcpEeWnk-MlMuAN6w"/>
+    </eObjectToIdMap>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:SingleReferenceOperation" identifier="_Aj44IPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:00.802+0200" featureName="ref">
+    <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+    <newValue id="_Aj100PcpEeWnk-MlMuAN6w"/>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-3.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-3.ucp
new file mode 100644
index 0000000..6031389
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-3.ucp
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <logMessage author="super" message="Added multiple child elements" clientDate="2016-03-31T12:12:01.170+0200"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_AmpRMfcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.092+0200">
+    <modelElementId id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+    <eObjectToIdMap key="#//@operations.0/@modelElement">
+      <value id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+    </eObjectToIdMap>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:CreateDeleteOperation" identifier="_Amp4RPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.092+0200">
+    <modelElementId id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+    <modelElement xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D"/>
+    <eObjectToIdMap key="#//@operations.1/@modelElement">
+      <value id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+    </eObjectToIdMap>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiReferenceOperation" identifier="_AmqfUPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.093+0200" featureName="refs" add="true">
+    <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+    <referencedModelElements id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+    <referencedModelElements id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-4.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-4.ucp
new file mode 100644
index 0000000..1ab8534
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-4.ucp
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+  <logMessage author="super" message="Setting attributes" clientDate="2016-03-31T12:12:01.387+0200"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1pkvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED00057400026431">
+    <modelElementId id="_AgUmwPcpEeWnk-MlMuAN6w"/>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1plvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED00057400026432">
+    <modelElementId id="_Aj100PcpEeWnk-MlMuAN6w"/>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1pmvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED0005740003643331">
+    <modelElementId id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:AttributeOperation" identifier="_Ao1pnvcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.321+0200" featureName="att" newValue="ACED0005740003643332">
+    <modelElementId id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-5.ucp b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-5.ucp
new file mode 100644
index 0000000..54c2307
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/changepackage-5.ucp
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning.operations="http://eclipse.org/emf/emfstore/server/model/versioning/operations">
+  <logMessage author="super" message="Setting multi attributes" clientDate="2016-03-31T12:12:01.620+0200"/>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation" identifier="_ArHhgPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.560+0200" featureName="atts" add="true">
+    <modelElementId id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+    <indexes>0</indexes>
+    <indexes>1</indexes>
+    <referencedValues>ACED0005740003666F6F</referencedValues>
+    <referencedValues>ACED0005740003626172</referencedValues>
+  </operations>
+  <operations xsi:type="org.eclipse.emf.emfstore.internal.server.model.versioning.operations:MultiAttributeOperation" identifier="_ArHhhPcpEeWnk-MlMuAN6w" clientDate="2016-03-31T12:12:01.560+0200" featureName="atts" add="true">
+    <modelElementId id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+    <indexes>0</indexes>
+    <indexes>1</indexes>
+    <referencedValues>ACED0005740003464F4F</referencedValues>
+    <referencedValues>ACED0005740003424152</referencedValues>
+  </operations>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectHistory.uph b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectHistory.uph
new file mode 100644
index 0000000..734594a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectHistory.uph
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ProjectHistory xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" projectName="DemoProject" projectDescription="">
+  <projectId id="_AeXe8PcpEeWnk-MlMuAN6w"/>
+  <versions href="versions/0#/"/>
+  <versions href="versions/1#/"/>
+  <versions href="versions/2#/"/>
+  <versions href="versions/3#/"/>
+  <versions href="versions/4#/"/>
+  <versions href="versions/5#/"/>
+  <branches name="trunk">
+    <head identifier="5" projectStateChecksum="-4649578963142994355"/>
+    <source/>
+  </branches>
+</org.eclipse.emf.emfstore.internal.server.model:ProjectHistory>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-0.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-0.ups
new file mode 100644
index 0000000..ba602db
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-0.ups
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model"/>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-3.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-3.ups
new file mode 100644
index 0000000..2fcfb66
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-3.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AgUmwPcpEeWnk-MlMuAN6w" ref="#_Aj100PcpEeWnk-MlMuAN6w" refs="#_AmpRMPcpEeWnk-MlMuAN6w #_Amp4Q_cpEeWnk-MlMuAN6w"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Aj100PcpEeWnk-MlMuAN6w"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AmpRMPcpEeWnk-MlMuAN6w"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Amp4Q_cpEeWnk-MlMuAN6w"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-4.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-4.ups
new file mode 100644
index 0000000..9c44065
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-4.ups
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AgUmwPcpEeWnk-MlMuAN6w" att="d1" ref="#_Aj100PcpEeWnk-MlMuAN6w" refs="#_AmpRMPcpEeWnk-MlMuAN6w #_Amp4Q_cpEeWnk-MlMuAN6w"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Aj100PcpEeWnk-MlMuAN6w" att="d2"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AmpRMPcpEeWnk-MlMuAN6w" att="d31"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Amp4Q_cpEeWnk-MlMuAN6w" att="d32"/>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-5.ups b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-5.ups
new file mode 100644
index 0000000..1324943
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/projectstate-5.ups
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.common.model:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.common.model="http://eclipse.org/emf/emfstore/common/model" xmlns:org.eclipse.emfstore.migration.edapt.test.d="http://eclipse.org/emf/emfstore/migration/edapt/test/d">
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AgUmwPcpEeWnk-MlMuAN6w" att="d1" ref="#_Aj100PcpEeWnk-MlMuAN6w" refs="#_AmpRMPcpEeWnk-MlMuAN6w #_Amp4Q_cpEeWnk-MlMuAN6w"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Aj100PcpEeWnk-MlMuAN6w" att="d2"/>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_AmpRMPcpEeWnk-MlMuAN6w" att="d31">
+    <atts>foo</atts>
+    <atts>bar</atts>
+  </modelElements>
+  <modelElements xsi:type="org.eclipse.emfstore.migration.edapt.test.d:D" xmi:id="_Amp4Q_cpEeWnk-MlMuAN6w" att="d32">
+    <atts>FOO</atts>
+    <atts>BAR</atts>
+  </modelElements>
+</org.eclipse.emf.emfstore.internal.common.model:Project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-0.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-0.upv
new file mode 100644
index 0000000..3429e9c
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-0.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="1#/">
+  <primarySpec/>
+  <logMessage author="super" message="Initial commit" date="2016-03-31T12:12:00.220+0200" clientDate="2016-03-31T12:12:00.148+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-1.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-1.upv
new file mode 100644
index 0000000..9473628
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-1.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="2#/" previousVersion="0#/">
+  <primarySpec identifier="1" projectStateChecksum="5463204580255642286"/>
+  <logMessage author="super" message="Added root Element" date="2016-03-31T12:12:00.762+0200" clientDate="2016-03-31T12:12:00.606+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-2.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-2.upv
new file mode 100644
index 0000000..b9cb2a4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-2.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="3#/" previousVersion="1#/">
+  <primarySpec identifier="2" projectStateChecksum="-6783772369953510456"/>
+  <logMessage author="super" message="Added child Element" date="2016-03-31T12:12:01.067+0200" clientDate="2016-03-31T12:12:00.942+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-3.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-3.upv
new file mode 100644
index 0000000..882d254
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-3.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="4#/" previousVersion="2#/">
+  <primarySpec identifier="3" projectStateChecksum="-2680983198499129763"/>
+  <tagSpecs name="foo"/>
+  <logMessage author="super" message="Added multiple child elements" date="2016-03-31T12:12:01.272+0200" clientDate="2016-03-31T12:12:01.170+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-4.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-4.upv
new file mode 100644
index 0000000..5ec9b9a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-4.upv
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" nextVersion="5#/" previousVersion="3#/">
+  <primarySpec identifier="4" projectStateChecksum="3434614074021118099"/>
+  <tagSpecs name="bar"/>
+  <logMessage author="super" message="Setting attributes" date="2016-03-31T12:12:01.499+0200" clientDate="2016-03-31T12:12:01.387+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-5.upv b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-5.upv
new file mode 100644
index 0000000..b6064c2
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/project-_AeXe8PcpEeWnk-MlMuAN6w/version-5.upv
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model.versioning:Version xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.emf.emfstore.internal.server.model.versioning="http://eclipse.org/emf/emfstore/server/model/versioning" previousVersion="4#/">
+  <primarySpec identifier="5" projectStateChecksum="-4649578963142994355"/>
+  <logMessage author="super" message="Setting multi attributes" date="2016-03-31T12:12:01.716+0200" clientDate="2016-03-31T12:12:01.620+0200"/>
+</org.eclipse.emf.emfstore.internal.server.model.versioning:Version>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/storage.uss b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/storage.uss
new file mode 100644
index 0000000..0d1b2a1
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/imcp/default_dev/storage.uss
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.emfstore.internal.server.model:ServerSpace xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.emfstore.internal.server.model="http://eclipse.org/emf/emfstore/server/model" xmlns:org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles="http://eclipse.org/emf/emfstore/server/model/roles" projects="projects/_AeXe8PcpEeWnk-MlMuAN6w/projecthistory#/">
+  <users identifier="_ASSKwfcpEeWnk-MlMuAN6w" name="super" description="default server admin (superuser)" firstName="super" lastName="user">
+    <roles xsi:type="org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles:ServerAdmin"/>
+  </users>
+</org.eclipse.emf.emfstore.internal.server.model:ServerSpace>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/fragment.xml b/tests/org.eclipse.emf.emfstore.migration.edapt.test/fragment.xml
new file mode 100644
index 0000000..7e8da08
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/fragment.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<fragment>
+   <extension
+         point="org.eclipse.emf.edapt.migrators">
+      <migrator
+            path="model/a.history">
+      </migrator>
+   </extension>
+   <extension
+         point="org.eclipse.emf.edapt.migrators">
+      <migrator
+            path="model/b.history">
+      </migrator>
+   </extension>
+   <extension
+         point="org.eclipse.emf.edapt.migrators">
+      <migrator
+            path="model/d.history">
+      </migrator>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated a -->
+      <package
+            uri="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2"
+            class="org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage"
+            genModel="model/a.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated d -->
+      <package
+            uri="http://eclipse.org/emf/emfstore/migration/edapt/test/d/2"
+            class="org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage"
+            genModel="model/d.genmodel"/>
+   </extension>
+
+</fragment>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.ecore
new file mode 100644
index 0000000..9eb5a71
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="a" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2"
+    nsPrefix="org.eclipse.emfstore.migration.edapt.test.a">
+  <eClassifiers xsi:type="ecore:EClass" name="AClazz"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.genmodel b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.genmodel
new file mode 100644
index 0000000..774f786
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.genmodel
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
+    copyrightText="Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;EclipseSource Munich - initial API and implementation"
+    modelDirectory="/org.eclipse.emf.emfstore.migration.edapt.test/src" modelPluginID="org.eclipse.emf.emfstore.migration.edapt.test"
+    modelName="A" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+    operationReflection="true" importOrganizing="true">
+  <foreignModel>a.ecore</foreignModel>
+  <genPackages prefix="A" basePackage="org.eclipse.emf.emfstore.migration.edapt.test.model"
+      disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+      classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+      presentationPackageSuffix="model.presentation" testsPackageSuffix="model.tests"
+      ecorePackage="a.ecore#/">
+    <genClasses ecoreClass="a.ecore#//A"/>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.history b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.history
new file mode 100644
index 0000000..e139802
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/a.history
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3">
+  <releases date="2016-02-19T13:50:59.200+0100">
+    <changes xsi:type="history:CompositeChange">
+      <changes xsi:type="history:Create" element="a.ecore#/">
+        <changes xsi:type="history:Set" element="a.ecore#/" featureName="name" dataValue="a"/>
+        <changes xsi:type="history:Set" element="a.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/a"/>
+        <changes xsi:type="history:Set" element="a.ecore#/" featureName="nsPrefix"
+            dataValue="org.eclipse.emfstore.migration.edapt.test.a"/>
+      </changes>
+      <changes xsi:type="history:Create" target="a.ecore#/" referenceName="eClassifiers"
+          element="a.ecore#//AClazz">
+        <changes xsi:type="history:Set" element="a.ecore#//AClazz" featureName="name"
+            dataValue="A"/>
+      </changes>
+    </changes>
+  </releases>
+  <releases date="2016-02-19T16:48:56.554+0100">
+    <changes xsi:type="history:OperationChange">
+      <changes xsi:type="history:Set" element="a.ecore#//AClazz" featureName="name"
+          dataValue="AClazz" oldDataValue="A"/>
+      <operation name="rename">
+        <parameters name="element">
+          <referenceValue element="a.ecore#//AClazz"/>
+        </parameters>
+        <parameters name="name">
+          <dataValue>AClazz</dataValue>
+        </parameters>
+      </operation>
+    </changes>
+    <changes xsi:type="history:Set" element="a.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/a/2"
+        oldDataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/a"/>
+  </releases>
+  <releases/>
+</history:History>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.ecore
new file mode 100644
index 0000000..7604465
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.ecore
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="b" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/b"
+    nsPrefix="org.eclipse.emfstore.migration.edapt.test.b">
+  <eClassifiers xsi:type="ecore:EClass" name="B"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.history b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.history
new file mode 100644
index 0000000..808f3ff
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/b.history
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3">
+  <releases date="2016-02-19T13:51:15.363+0100">
+    <changes xsi:type="history:CompositeChange">
+      <changes xsi:type="history:Create" element="b.ecore#/">
+        <changes xsi:type="history:Set" element="b.ecore#/" featureName="name" dataValue="b"/>
+        <changes xsi:type="history:Set" element="b.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/b"/>
+        <changes xsi:type="history:Set" element="b.ecore#/" featureName="nsPrefix"
+            dataValue="org.eclipse.emfstore.migration.edapt.test.b"/>
+      </changes>
+      <changes xsi:type="history:Create" target="b.ecore#/" referenceName="eClassifiers"
+          element="b.ecore#//B">
+        <changes xsi:type="history:Set" element="b.ecore#//B" featureName="name" dataValue="B"/>
+      </changes>
+    </changes>
+  </releases>
+  <releases date="2016-02-19T14:00:35.505+0100">
+    <changes xsi:type="history:CompositeChange">
+      <changes xsi:type="history:Create" element="c.ecore#/">
+        <changes xsi:type="history:Set" element="c.ecore#/" featureName="name" dataValue="c"/>
+        <changes xsi:type="history:Set" element="c.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/c"/>
+        <changes xsi:type="history:Set" element="c.ecore#/" featureName="nsPrefix"
+            dataValue="org.eclipse.emfstore.migration.edapt.test.c"/>
+      </changes>
+      <changes xsi:type="history:Create" target="c.ecore#/" referenceName="eAnnotations"
+          element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%">
+        <changes xsi:type="history:Set" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%"
+            featureName="source" dataValue="http://www.eclipse.org/edapt"/>
+      </changes>
+      <changes xsi:type="history:Create" target="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%"
+          referenceName="details" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%/@details.0">
+        <changes xsi:type="history:Set" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%/@details.0"
+            featureName="key" dataValue="historyURI"/>
+        <changes xsi:type="history:Set" element="c.ecore#//%http:%2F%2Fwww.eclipse.org%2Fedapt%/@details.0"
+            featureName="value" dataValue="b.history"/>
+      </changes>
+      <changes xsi:type="history:Create" target="c.ecore#/" referenceName="eClassifiers"
+          element="c.ecore#//C">
+        <changes xsi:type="history:Set" element="c.ecore#//C" featureName="name" dataValue="C"/>
+        <changes xsi:type="history:Add" element="c.ecore#//C" featureName="eSuperTypes"
+            referenceValue="b.ecore#//B"/>
+      </changes>
+    </changes>
+  </releases>
+  <releases/>
+</history:History>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/c.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/c.ecore
new file mode 100644
index 0000000..e82f031
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/c.ecore
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="c" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/c"
+    nsPrefix="org.eclipse.emfstore.migration.edapt.test.c">
+  <eAnnotations source="http://www.eclipse.org/edapt">
+    <details key="historyURI" value="b.history"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="C" eSuperTypes="b.ecore#//B"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.ecore b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.ecore
new file mode 100644
index 0000000..d129dd8
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.ecore
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="d" nsURI="http://eclipse.org/emf/emfstore/migration/edapt/test/d/2"
+    nsPrefix="org.eclipse.emfstore.migration.edapt.test.d">
+  <eClassifiers xsi:type="ecore:EClass" name="D">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="atts" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="refs" upperBound="-1" eType="#//D"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.genmodel b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.genmodel
new file mode 100644
index 0000000..11805b5
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.genmodel
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2011-2016 EclipseSource Muenchen GmbH and others.&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;EclipseSource Munich - initial API and implementation"
+    modelDirectory="/org.eclipse.emf.emfstore.migration.edapt.test/src" modelPluginID="org.eclipse.emf.emfstore.migration.edapt.test"
+    modelName="D" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+    operationReflection="true" importOrganizing="true">
+  <foreignModel>model/d.ecore</foreignModel>
+  <genPackages prefix="D" basePackage="org.eclipse.emf.emfstore.migration.edapt.test.model"
+      disposableProviderFactory="true" interfacePackageSuffix="model" metaDataPackageSuffix="model"
+      classPackageSuffix="model.impl" utilityPackageSuffix="model.util" providerPackageSuffix="model.provider"
+      presentationPackageSuffix="model.presentation" testsPackageSuffix="model.tests"
+      ecorePackage="d.ecore#/">
+    <genClasses ecoreClass="d.ecore#//D">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute d.ecore#//D/att"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute d.ecore#//D/atts"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference d.ecore#//D/ref"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference d.ecore#//D/refs"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.history b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.history
new file mode 100644
index 0000000..24d7329
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/model/d.history
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<history:History xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:history="http://www.eclipse.org/emf/edapt/history/0.3">
+  <releases date="2016-03-31T14:02:04.794+0200">
+    <changes xsi:type="history:CompositeChange">
+      <changes xsi:type="history:Create" element="d.ecore#/">
+        <changes xsi:type="history:Set" element="d.ecore#/" featureName="name" dataValue="d"/>
+        <changes xsi:type="history:Set" element="d.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/d"/>
+        <changes xsi:type="history:Set" element="d.ecore#/" featureName="nsPrefix"
+            dataValue="org.eclipse.emfstore.migration.edapt.test.d"/>
+      </changes>
+      <changes xsi:type="history:Create" target="d.ecore#/" referenceName="eClassifiers"
+          element="d.ecore#//D">
+        <changes xsi:type="history:Set" element="d.ecore#//D" featureName="name" dataValue="D"/>
+      </changes>
+      <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+          element="d.ecore#//D/name">
+        <changes xsi:type="history:Set" element="d.ecore#//D/name" featureName="name"
+            dataValue="att"/>
+        <changes xsi:type="history:Set" element="d.ecore#//D/name" featureName="eType"
+            referenceValue="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      </changes>
+      <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+          element="d.ecore#//D/atts">
+        <changes xsi:type="history:Set" element="d.ecore#//D/atts" featureName="name"
+            dataValue="atts"/>
+        <changes xsi:type="history:Set" element="d.ecore#//D/atts" featureName="upperBound"
+            dataValue="-1" oldDataValue="1"/>
+        <changes xsi:type="history:Set" element="d.ecore#//D/atts" featureName="eType"
+            referenceValue="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      </changes>
+      <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+          element="#//@releases.1/@changes.0/@changes.0/@element">
+        <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.0/@element"
+            featureName="name" dataValue="ref"/>
+        <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.0/@element"
+            featureName="eType" referenceValue="d.ecore#//D"/>
+      </changes>
+      <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+          element="#//@releases.1/@changes.0/@changes.1/@element">
+        <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.1/@element"
+            featureName="name" dataValue="refs"/>
+        <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.1/@element"
+            featureName="upperBound" dataValue="-1" oldDataValue="1"/>
+        <changes xsi:type="history:Set" element="#//@releases.1/@changes.0/@changes.1/@element"
+            featureName="eType" referenceValue="d.ecore#//D"/>
+      </changes>
+    </changes>
+  </releases>
+  <releases date="2016-03-31T14:04:11.362+0200">
+    <changes xsi:type="history:OperationChange">
+      <changes xsi:type="history:Delete" target="d.ecore#//D" referenceName="eStructuralFeatures">
+        <element xsi:type="ecore:EReference" name="ref" eType="ecore:EClass d.ecore#//D"
+            containment="true"/>
+      </changes>
+      <changes xsi:type="history:Delete" target="d.ecore#//D" referenceName="eStructuralFeatures">
+        <element xsi:type="ecore:EReference" name="refs" upperBound="-1" eType="ecore:EClass d.ecore#//D"
+            containment="true"/>
+      </changes>
+      <changes xsi:type="history:Create" target="d.ecore#//D" referenceName="eStructuralFeatures"
+          element="d.ecore#//D/refs">
+        <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="name"
+            dataValue="refs"/>
+        <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="upperBound"
+            dataValue="-1" oldDataValue="1"/>
+        <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="containment"
+            dataValue="true" oldDataValue="false"/>
+        <changes xsi:type="history:Set" element="d.ecore#//D/refs" featureName="eType"
+            referenceValue="d.ecore#//D"/>
+      </changes>
+      <operation name="uniteReferences">
+        <parameters name="references">
+          <referenceValue element="#//@releases.1/@changes.0/@changes.0/@element"/>
+          <referenceValue element="#//@releases.1/@changes.0/@changes.1/@element"/>
+        </parameters>
+        <parameters name="unitedReferenceName">
+          <dataValue>refs</dataValue>
+        </parameters>
+      </operation>
+    </changes>
+    <changes xsi:type="history:OperationChange">
+      <changes xsi:type="history:Set" element="d.ecore#//D/name" featureName="name"
+          dataValue="name" oldDataValue="att"/>
+      <operation name="rename">
+        <parameters name="element">
+          <referenceValue element="d.ecore#//D/name"/>
+        </parameters>
+        <parameters name="name">
+          <dataValue>name</dataValue>
+        </parameters>
+      </operation>
+    </changes>
+    <changes xsi:type="history:Set" element="d.ecore#/" featureName="nsURI" dataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/d/2"
+        oldDataValue="http://eclipse.org/emf/emfstore/migration/edapt/test/d"/>
+  </releases>
+  <releases/>
+</history:History>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/plugin.properties b/tests/org.eclipse.emf.emfstore.migration.edapt.test/plugin.properties
new file mode 100644
index 0000000..593ce37
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = A Model
+providerName = www.example.org
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/pom.xml b/tests/org.eclipse.emf.emfstore.migration.edapt.test/pom.xml
new file mode 100644
index 0000000..0b0af12
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.emf.emfstore</groupId>
+    <artifactId>emfstore-tests-parent</artifactId>
+    <version>1.7.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
+  </parent>
+
+  <groupId>org.eclipse.emf.emfstore</groupId>
+  <artifactId>org.eclipse.emf.emfstore.migration.edapt.test</artifactId>
+  <version>1.7.0-SNAPSHOT</version>
+  <packaging>eclipse-test-plugin</packaging>
+  
+  <build>
+        <plugins>
+            <plugin>
+                <groupId>org.eclipse.tycho</groupId>
+                <artifactId>tycho-surefire-plugin</artifactId>
+                <version>${tycho-version}</version>
+
+                <goals>
+                    <goal>test</goal>
+                </goals>
+                <configuration>
+                    <testSuite>org.eclipse.emf.emfstore.migration.edapt.test</testSuite>
+                    <testClass>org.eclipse.emf.emfstore.internal.migration.edapt.test.AllMigrationEdaptTests</testClass>
+                    <useUIHarness>true</useUIHarness>
+                    <useUIThread>false</useUIThread>
+                    <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m
+                    </argLine>
+                    <testFailureIgnore>true</testFailureIgnore>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigratorTests.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigratorTests.java
new file mode 100644
index 0000000..065ca19
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigratorTests.java
@@ -0,0 +1,328 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.migration.edapt;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.text.MessageFormat;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.apache.commons.io.IOUtils;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.edapt.migration.execution.Migrator;
+import org.eclipse.emf.edapt.spi.history.History;
+import org.eclipse.emf.edapt.spi.history.HistoryFactory;
+import org.eclipse.emf.edapt.spi.history.Release;
+import org.eclipse.emf.emfstore.common.ESSystemOutProgressMonitor;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrationException;
+import org.junit.After;
+import org.junit.Test;
+
+public class EdaptMigratorTests {
+
+	private static final String CHANGEPACKAGE_1_UCP = "changepackage-1.ucp";
+	private static final String PROJECTSTATE_0_UPS = "projectstate-0.ups";
+	private static final String PROJECTSTATE_1_UPS = "projectstate-1.ups";
+	private static final String EXPECTED_XMI = "expected.xmi";
+
+	private static final String A_NSURI_REL_1 = "http://eclipse.org/emf/emfstore/migration/edapt/test/a";
+	private static final String B_NSURI_REL_1 = "http://eclipse.org/emf/emfstore/migration/edapt/test/b";
+	private static final String C_NSURI_REL_1 = "http://eclipse.org/emf/emfstore/migration/edapt/test/c";
+
+	private static Set<File> tempFiles = new LinkedHashSet<File>();
+
+	@After
+	public void cleanup() {
+		for (final File file : tempFiles) {
+			file.delete();
+		}
+		tempFiles.clear();
+	}
+
+	private static URI copyFileToTempDir(int testDir, String fileName) {
+		try {
+			final InputStream inputStream = getInputStream(testDir, fileName);
+			final File tempFile = File.createTempFile("emfstore", ".xmi");
+			tempFiles.add(tempFile);
+			tempFile.deleteOnExit();
+			final OutputStream outputStream = new FileOutputStream(tempFile);
+			final byte[] buf = new byte[1024];
+			int len;
+			while ((len = inputStream.read(buf)) > 0) {
+				outputStream.write(buf, 0, len);
+			}
+			outputStream.close();
+			inputStream.close();
+			return URI.createFileURI(tempFile.getAbsolutePath());
+		} catch (final FileNotFoundException ex) {
+		} catch (final IOException ex) {
+		}
+		fail();
+		return null;
+	}
+
+	private static InputStream getInputStream(int testDir, String fileName) {
+		try {
+			final URL url = new URL(MessageFormat
+				.format("platform:/plugin/org.eclipse.emf.emfstore.migration.edapt.test/data/{0}/{1}", testDir,
+					fileName));
+			final InputStream inputStream = url.openConnection().getInputStream();
+			return inputStream;
+		} catch (final MalformedURLException ex) {
+		} catch (final IOException ex) {
+		}
+		fail();
+		return null;
+	}
+
+	private static void assertStreamEqual(final URI uri, int testDir, String fileName) {
+		try {
+			final InputStream inputStream1 = getInputStream(testDir, fileName);
+			final FileInputStream inputStream2 = new FileInputStream(uri.toFileString());
+			assertTrue(IOUtils.contentEquals(inputStream1, inputStream2));
+			inputStream1.close();
+			inputStream2.close();
+		} catch (final FileNotFoundException ex) {
+			fail(ex.getMessage());
+		} catch (final IOException ex) {
+			fail(ex.getMessage());
+		}
+	}
+
+	@Test
+	public void testCanHandle() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI fileURI = URI.createFileURI("foo");
+		final URI nonFileURI = URI.createPlatformPluginURI("bar", false);
+		final LinkedHashSet<URI> urisToCheck = new LinkedHashSet<URI>(Arrays.asList(fileURI, nonFileURI));
+
+		/* act */
+		final Set<URI> result = edaptMigrator.canHandle(urisToCheck);
+
+		/* assert */
+		assertEquals(1, result.size());
+		assertSame(nonFileURI, result.iterator().next());
+	}
+
+	@Test
+	public void testGetMigratorWithNullMigrator() {
+		/* setup */
+		final LinkedHashSet<String> nameSpaceURIs = new LinkedHashSet<String>(
+			Arrays.asList(A_NSURI_REL_1, "foobar"));
+
+		/* act */
+		final Migrator migrator = EdaptMigrator.getMigrator(nameSpaceURIs);
+
+		/* assert */
+		assertNotNull(migrator);
+	}
+
+	@Test
+	public void testGetMigratorWithMultipleMigrators() {
+		/* setup */
+		final LinkedHashSet<String> nameSpaceURIs = new LinkedHashSet<String>(
+			Arrays.asList(A_NSURI_REL_1, B_NSURI_REL_1));
+
+		/* act */
+		final Migrator migrator = EdaptMigrator.getMigrator(nameSpaceURIs);
+
+		/* assert */
+		assertNull(migrator);
+	}
+
+	@Test
+	public void testGetMigratorWithMultipleURIsSameMigrators() {
+		/* setup */
+		final LinkedHashSet<String> nameSpaceURIs = new LinkedHashSet<String>(
+			Arrays.asList(B_NSURI_REL_1, C_NSURI_REL_1));
+
+		/* act */
+		final Migrator migrator = EdaptMigrator.getMigrator(nameSpaceURIs);
+
+		/* assert */
+		assertNotNull(migrator);
+	}
+
+	@Test
+	public void testGetNewestRelease() {
+		/* setup */
+		final History history = HistoryFactory.eINSTANCE.createHistory();
+		final Release release1 = HistoryFactory.eINSTANCE.createRelease();
+		final Release release2 = HistoryFactory.eINSTANCE.createRelease();
+		final Release release3 = HistoryFactory.eINSTANCE.createRelease();
+		final Release release4 = HistoryFactory.eINSTANCE.createRelease();
+		final Release release5 = HistoryFactory.eINSTANCE.createRelease();
+		history.getReleases().addAll(Arrays.asList(release1, release2, release3, release4, release5));
+
+		/* act */
+		final Release newestRelease = EdaptMigrator
+			.getNewestRelease(new LinkedHashSet<Release>(Arrays.asList(release3, release2, release4)));
+
+		/* assert */
+		assertSame(release4, newestRelease);
+	}
+
+	@Test
+	public void testNeedsMigrationRelease1ProjectState() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+
+		/* act */
+		final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+		/* assert */
+		assertEquals(1, result.size());
+		assertSame(uri, result.iterator().next());
+	}
+
+	@Test
+	public void testNeedsMigrationRelease1ChangePackage() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri = copyFileToTempDir(2, CHANGEPACKAGE_1_UCP);
+
+		/* act */
+		final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+		/* assert */
+		assertEquals(1, result.size());
+		assertSame(uri, result.iterator().next());
+	}
+
+	@Test
+	public void testNeedsMigrationRelease2ProjectState() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri = copyFileToTempDir(3, PROJECTSTATE_1_UPS);
+
+		/* act */
+		final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+		/* assert */
+		assertEquals(0, result.size());
+	}
+
+	@Test
+	public void testNeedsMigrationRelease2ChangePackage() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri = copyFileToTempDir(4, CHANGEPACKAGE_1_UCP);
+
+		/* act */
+		final Set<URI> result = edaptMigrator.needsMigration(Collections.singleton(uri));
+
+		/* assert */
+		assertEquals(0, result.size());
+	}
+
+	@Test
+	public void testNeedsMigrationMultipleURIsSameMigrator() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri1 = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+		final URI uri2 = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+		final URI uri3 = copyFileToTempDir(3, PROJECTSTATE_1_UPS);
+		final URI uri4 = copyFileToTempDir(3, PROJECTSTATE_1_UPS);
+
+		/* act */
+		final Set<URI> result = edaptMigrator
+			.needsMigration(new LinkedHashSet<URI>(Arrays.asList(uri1, uri2, uri3, uri4)));
+
+		/* assert */
+		assertEquals(2, result.size());
+		assertTrue(result.contains(uri1));
+		assertTrue(result.contains(uri2));
+	}
+
+	@Test
+	public void testNeedsMigrationNoMigrator() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri1 = copyFileToTempDir(5, PROJECTSTATE_0_UPS);
+
+		/* act */
+		final Set<URI> result = edaptMigrator.needsMigration(new LinkedHashSet<URI>(Arrays.asList(uri1)));
+
+		/* assert */
+		assertEquals(0, result.size());
+	}
+
+	@Test
+	public void testNeedsMigrationNoNSURIs() {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final URI uri1 = URI.createFileURI("foobar");
+
+		/* act */
+		final Set<URI> result = edaptMigrator.needsMigration(new LinkedHashSet<URI>(Arrays.asList(uri1)));
+
+		/* assert */
+		assertEquals(0, result.size());
+	}
+
+	@Test
+	public void testMigrateProjectState() throws EMFStoreMigrationException {
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final ESSystemOutProgressMonitor monitor = new ESSystemOutProgressMonitor();
+		final URI uri = copyFileToTempDir(1, PROJECTSTATE_1_UPS);
+
+		/* act */
+		edaptMigrator.migrate(Collections.singleton(uri), monitor);
+
+		/* assert */
+		assertStreamEqual(uri, 1, EXPECTED_XMI);
+	}
+
+	@Test
+	public void testMigrateChangePackage() throws EMFStoreMigrationException {
+		/* this test is nice-to-have only since it involves the changepackage migration */
+		/* setup */
+		final EdaptMigrator edaptMigrator = new EdaptMigrator();
+		final ESSystemOutProgressMonitor monitor = new ESSystemOutProgressMonitor();
+		final URI uri = copyFileToTempDir(2, CHANGEPACKAGE_1_UCP);
+
+		/* act */
+		edaptMigrator.migrate(Collections.singleton(uri), monitor);
+
+		/* assert */
+		// TODO id changes, but for change packages it is only important that they may be loaded again
+		/* assertStreamEqual(uri, 2, EXPECTED_XMI); */
+	}
+
+	// TODO
+	/* setup */
+
+	/* act */
+
+	/* assert */
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java
new file mode 100644
index 0000000..e087df7
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/AllMigrationEdaptTests.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.migration.edapt.test;
+
+import org.eclipse.emf.emfstore.internal.migration.edapt.EdaptMigratorTests;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+	EdaptMigratorTests.class,
+	MigrationManagerTest.class
+})
+public class AllMigrationEdaptTests {
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/MigrationManagerTest.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/MigrationManagerTest.java
new file mode 100644
index 0000000..becee0a
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/internal/migration/edapt/test/MigrationManagerTest.java
@@ -0,0 +1,251 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.migration.edapt.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.text.MessageFormat;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+import org.eclipse.emf.emfstore.internal.server.exceptions.FatalESException;
+import org.eclipse.emf.emfstore.internal.server.model.ProjectHistory;
+import org.eclipse.emf.emfstore.internal.server.model.ServerSpace;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.FileBasedChangePackage;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.Version;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.FileBasedChangePackageImpl;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
+import org.eclipse.emf.emfstore.internal.server.startup.MigrationManager;
+import org.eclipse.emf.emfstore.internal.server.storage.ServerXMIResourceSetProvider;
+import org.eclipse.emf.emfstore.internal.server.storage.XMIServerURIConverter;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.server.ESCloseableIterable;
+import org.eclipse.emf.emfstore.server.ESServerURIUtil;
+import org.junit.After;
+import org.junit.Test;
+
+@SuppressWarnings("restriction")
+public class MigrationManagerTest {
+
+	private static Set<File> tempFiles = new LinkedHashSet<File>();
+
+	@After
+	public void cleanup() throws IOException {
+		for (final File file : tempFiles) {
+			if (file.isDirectory()) {
+				org.eclipse.emf.emfstore.internal.common.model.util.FileUtil.deleteDirectory(file, true);
+			} else {
+				file.delete();
+			}
+		}
+		tempFiles.clear();
+	}
+
+	private static String copyServerToTempDir(boolean inMemory) {
+		try {
+			final long currentTimeMillis = System.currentTimeMillis();
+			final String path = System.getProperty("java.io.tmpdir");
+			final File dir = new File(path + "/esMigration" + currentTimeMillis);
+			dir.mkdirs();
+			tempFiles.add(dir);
+
+			final File source = getInputStream(inMemory);
+			final File destination = new File(dir, "default_dev");
+
+			org.eclipse.emf.emfstore.internal.common.model.util.FileUtil.copyDirectory(source, destination);
+
+			return destination.getAbsolutePath() + "/";
+		} catch (final FileNotFoundException ex) {
+		} catch (final IOException ex) {
+		}
+		fail();
+		return null;
+	}
+
+	private static File getInputStream(boolean inMemory) {
+		try {
+			final URL url = new URL(MessageFormat
+				.format(
+					"platform:/plugin/org.eclipse.emf.emfstore.migration.edapt.test/data/fullServer/{0}/default_dev",
+					inMemory ? "imcp" : "fbcp"));
+			final java.net.URI uri = FileLocator.resolve(url).toURI();
+			return new File(uri);
+		} catch (final MalformedURLException ex) {
+		} catch (final IOException ex) {
+		} catch (final URISyntaxException ex) {
+		}
+		fail();
+		return null;
+	}
+
+	private static ResourceSet createResourceSet(final String serverHome) {
+		final ResourceSet resourceSet = new ServerXMIResourceSetProvider().getResourceSet();
+		resourceSet.setURIConverter(new XMIServerURIConverter() {
+			@Override
+			protected String getServerHome() {
+				return serverHome;
+			}
+		});
+		return resourceSet;
+	}
+
+	private static ServerSpace loadServerSpace(final String serverHome) {
+		final ResourceSet resourceSet = createResourceSet(serverHome);
+		final URI serverSpaceURI = ESServerURIUtil.createServerSpaceURI();
+		final Resource resource = resourceSet.createResource(serverSpaceURI);
+		try {
+			resource.load(null);
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+			return null;
+		}
+		final ServerSpace serverSpace = (ServerSpace) resource.getContents().get(0);
+		return serverSpace;
+	}
+
+	private static void assertServerspace(ServerSpace serverSpace) {
+		/* 1 project */
+		assertEquals(1, serverSpace.getProjects().size());
+		final ProjectHistory projectHistory = serverSpace.getProjects().get(0);
+
+		{/* version 1: empty project */
+			final Version version = projectHistory.getVersions().get(0);
+			assertNull(version.getChanges());
+			assertNotNull(version.getProjectState());
+			assertEquals(0, version.getProjectState().getModelElements().size());
+		}
+
+		{/* version 2: Add root element */
+			final Version version = projectHistory.getVersions().get(1);
+			assertNotNull(version.getChanges());
+			assertOperationCount(version, 1);
+			assertNull(version.getProjectState());
+		}
+
+		{/* version 3: Added single ref in original version */
+			final Version version = projectHistory.getVersions().get(2);
+			assertNotNull(version.getChanges());
+			assertOperationCount(version, 2);
+			assertNull(version.getProjectState());
+		}
+
+		{/* version 4: Added two refs in original version */
+			final Version version = projectHistory.getVersions().get(3);
+			assertNotNull(version.getChanges());
+			assertOperationCount(version, 3);
+			assertNotNull(version.getProjectState());
+			assertEquals(4, version.getProjectState().getModelElements().size());
+			final D d1 = (D) version.getProjectState().getModelElements().get(0);
+			final D d2 = (D) version.getProjectState().getModelElements().get(1);
+			final D d31 = (D) version.getProjectState().getModelElements().get(2);
+			final D d32 = (D) version.getProjectState().getModelElements().get(3);
+			assertEquals(3, d1.getRefs().size());
+			assertEquals(0, d1.getRefs().indexOf(d2));
+			assertEquals(1, d1.getRefs().indexOf(d31));
+			assertEquals(2, d1.getRefs().indexOf(d32));
+		}
+
+		{/* version 5: Set single att */
+			final Version version = projectHistory.getVersions().get(4);
+			assertNotNull(version.getChanges());
+			assertOperationCount(version, 4);
+			assertNotNull(version.getProjectState());
+			assertEquals(4, version.getProjectState().getModelElements().size());
+			final D d1 = (D) version.getProjectState().getModelElements().get(0);
+			final D d2 = (D) version.getProjectState().getModelElements().get(1);
+			final D d31 = (D) version.getProjectState().getModelElements().get(2);
+			final D d32 = (D) version.getProjectState().getModelElements().get(3);
+			assertEquals("d1", d1.getName());
+			assertEquals("d2", d2.getName());
+			assertEquals("d31", d31.getName());
+			assertEquals("d32", d32.getName());
+		}
+
+		{/* version 6: Multi att */
+			final Version version = projectHistory.getVersions().get(5);
+			assertNotNull(version.getChanges());
+			assertOperationCount(version, 2);
+			assertNotNull(version.getProjectState());
+			assertEquals(4, version.getProjectState().getModelElements().size());
+			final D d31 = (D) version.getProjectState().getModelElements().get(2);
+			final D d32 = (D) version.getProjectState().getModelElements().get(3);
+			assertEquals(2, d31.getAtts().size());
+			assertEquals(2, d32.getAtts().size());
+		}
+	}
+
+	private static void assertOperationCount(final Version version, final int expected) {
+		final ESCloseableIterable<AbstractOperation> operations = version.getChanges().operations();
+		final Iterator<AbstractOperation> iterator = operations.iterable().iterator();
+		int count = 0;
+		while (iterator.hasNext()) {
+			iterator.next();
+			count++;
+		}
+		operations.close();
+		assertEquals(expected, count);
+	}
+
+	private static void fixFilePaths(ServerSpace serverSpace) {
+		for (final Version version : serverSpace.getProjects().get(0).getVersions()) {
+			final AbstractChangePackage changes = version.getChanges();
+			if (!FileBasedChangePackage.class.isInstance(changes)) {
+				continue;
+			}
+			final FileBasedChangePackage fileBasedChangePackage = FileBasedChangePackage.class.cast(changes);
+			final URI fileURI = serverSpace.eResource().getResourceSet().getURIConverter()
+				.normalize(fileBasedChangePackage.eResource().getURI());
+			fileBasedChangePackage.setFilePath(fileURI.toFileString() + FileBasedChangePackageImpl.FILE_OP_INDEX);
+		}
+	}
+
+	@Test
+	public void testServerWithInMemoryChangePackage() throws FatalESException {
+		/* setup */
+		final String serverHome = copyServerToTempDir(true);
+		final ResourceSet resourceSet = createResourceSet(serverHome);
+		/* act */
+		MigrationManager.migrate(resourceSet, true);
+		/* assert */
+		assertServerspace(loadServerSpace(serverHome));
+	}
+
+	@Test
+	public void testServerWithFileBasedChangePackage() throws FatalESException {
+		/* setup */
+		final String serverHome = copyServerToTempDir(false);
+		final ResourceSet resourceSet = createResourceSet(serverHome);
+		/* act */
+		MigrationManager.migrate(resourceSet, false);
+		/* assert */
+		final ServerSpace serverSpace = loadServerSpace(serverHome);
+		fixFilePaths(serverSpace);
+		assertServerspace(serverSpace);
+	}
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AClazz.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AClazz.java
new file mode 100644
index 0000000..16b8167
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AClazz.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Clazz</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage#getAClazz()
+ * @model
+ * @generated
+ */
+public interface AClazz extends EObject {
+} // AClazz
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AFactory.java
new file mode 100644
index 0000000..18d7c6f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/AFactory.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage
+ * @generated
+ */
+public interface AFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	AFactory eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Clazz</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Clazz</em>'.
+	 * @generated
+	 */
+	AClazz createAClazz();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	APackage getAPackage();
+
+} // AFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/APackage.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/APackage.java
new file mode 100644
index 0000000..2e50f52
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/APackage.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface APackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "a";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/emf/emfstore/migration/edapt/test/a/2";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "org.eclipse.emfstore.migration.edapt.test.a";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	APackage eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.APackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl
+	 * <em>Clazz</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.APackageImpl#getAClazz()
+	 * @generated
+	 */
+	int ACLAZZ = 0;
+
+	/**
+	 * The number of structural features of the '<em>Clazz</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ACLAZZ_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>Clazz</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ACLAZZ_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz
+	 * <em>Clazz</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Clazz</em>'.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz
+	 * @generated
+	 */
+	EClass getAClazz();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	AFactory getAFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each operation of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '
+		 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl <em>Clazz</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.AClazzImpl
+		 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl.APackageImpl#getAClazz()
+		 * @generated
+		 */
+		EClass ACLAZZ = eINSTANCE.getAClazz();
+
+	}
+
+} // APackage
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AClazzImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AClazzImpl.java
new file mode 100644
index 0000000..a21e53f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AClazzImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clazz</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AClazzImpl extends MinimalEObjectImpl.Container implements AClazz {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected AClazzImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return APackage.Literals.ACLAZZ;
+	}
+
+} // AClazzImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AFactoryImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AFactoryImpl.java
new file mode 100644
index 0000000..e03993d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/AFactoryImpl.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AFactoryImpl extends EFactoryImpl implements AFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static AFactory init() {
+		try {
+			final AFactory theAFactory = (AFactory) EPackage.Registry.INSTANCE.getEFactory(APackage.eNS_URI);
+			if (theAFactory != null) {
+				return theAFactory;
+			}
+		} catch (final Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new AFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case APackage.ACLAZZ:
+			return createAClazz();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AClazz createAClazz() {
+		final AClazzImpl aClazz = new AClazzImpl();
+		return aClazz;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public APackage getAPackage() {
+		return (APackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static APackage getPackage() {
+		return APackage.eINSTANCE;
+	}
+
+} // AFactoryImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/APackageImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/APackageImpl.java
new file mode 100644
index 0000000..c6c18ff
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/impl/APackageImpl.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class APackageImpl extends EPackageImpl implements APackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass aClazzEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private APackageImpl() {
+		super(eNS_URI, AFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link APackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static APackage init() {
+		if (isInited) {
+			return (APackage) EPackage.Registry.INSTANCE.getEPackage(APackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		final APackageImpl theAPackage = (APackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof APackageImpl
+			? EPackage.Registry.INSTANCE.get(eNS_URI) : new APackageImpl());
+
+		isInited = true;
+
+		// Create package meta-data objects
+		theAPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theAPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theAPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(APackage.eNS_URI, theAPackage);
+		return theAPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getAClazz() {
+		return aClazzEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AFactory getAFactory() {
+		return (AFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		aClazzEClass = createEClass(ACLAZZ);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(aClazzEClass, AClazz.class, "AClazz", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} // APackageImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/AAdapterFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/AAdapterFactory.java
new file mode 100644
index 0000000..5dcd75d
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/AAdapterFactory.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage
+ * @generated
+ */
+public class AAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static APackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = APackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+	 * object of the model.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ASwitch<Adapter> modelSwitch = new ASwitch<Adapter>() {
+		@Override
+		public Adapter caseAClazz(AClazz object) {
+			return createAClazzAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz <em>Clazz</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz
+	 * @generated
+	 */
+	public Adapter createAClazzAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} // AAdapterFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/ASwitch.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/ASwitch.java
new file mode 100644
index 0000000..55221c3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/a/model/util/ASwitch.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.AClazz;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.a.model.APackage
+ * @generated
+ */
+public class ASwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static APackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ASwitch() {
+		if (modelPackage == null) {
+			modelPackage = APackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+	 * result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case APackage.ACLAZZ: {
+			final AClazz aClazz = (AClazz) theEObject;
+			T result = caseAClazz(aClazz);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Clazz</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 *
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Clazz</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAClazz(AClazz object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} // ASwitch
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/D.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/D.java
new file mode 100644
index 0000000..ab93397
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/D.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getAtts <em>Atts</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getRefs <em>Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD()
+ * @model
+ * @generated
+ */
+public interface D extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD_Name()
+	 * @model
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName <em>Name</em>
+	 * }' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Atts</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Atts</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Atts</em>' attribute list.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD_Atts()
+	 * @model
+	 * @generated
+	 */
+	EList<String> getAtts();
+
+	/**
+	 * Returns the value of the '<em><b>Refs</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Refs</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Refs</em>' reference list.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#getD_Refs()
+	 * @model
+	 * @generated
+	 */
+	EList<D> getRefs();
+
+} // D
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DFactory.java
new file mode 100644
index 0000000..01008f1
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DFactory.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage
+ * @generated
+ */
+public interface DFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	DFactory eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>D</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>D</em>'.
+	 * @generated
+	 */
+	D createD();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DPackage getDPackage();
+
+} // DFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DPackage.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DPackage.java
new file mode 100644
index 0000000..cb32c72
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/DPackage.java
@@ -0,0 +1,252 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "d";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://eclipse.org/emf/emfstore/migration/edapt/test/d/2";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "org.eclipse.emfstore.migration.edapt.test.d";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	DPackage eINSTANCE = org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl
+	 * <em>D</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DPackageImpl#getD()
+	 * @generated
+	 */
+	int D = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int D__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Atts</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int D__ATTS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Refs</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int D__REFS = 2;
+
+	/**
+	 * The number of structural features of the '<em>D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int D_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int D_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D
+	 * <em>D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>D</em>'.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D
+	 * @generated
+	 */
+	EClass getD();
+
+	/**
+	 * Returns the meta object for the attribute '
+	 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getName()
+	 * @see #getD()
+	 * @generated
+	 */
+	EAttribute getD_Name();
+
+	/**
+	 * Returns the meta object for the attribute list '
+	 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getAtts <em>Atts</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute list '<em>Atts</em>'.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getAtts()
+	 * @see #getD()
+	 * @generated
+	 */
+	EAttribute getD_Atts();
+
+	/**
+	 * Returns the meta object for the reference list '
+	 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getRefs <em>Refs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Refs</em>'.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D#getRefs()
+	 * @see #getD()
+	 * @generated
+	 */
+	EReference getD_Refs();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	DFactory getDFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each operation of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '
+		 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl <em>D</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl
+		 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DPackageImpl#getD()
+		 * @generated
+		 */
+		EClass D = eINSTANCE.getD();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute D__NAME = eINSTANCE.getD_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Atts</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute D__ATTS = eINSTANCE.getD_Atts();
+
+		/**
+		 * The meta object literal for the '<em><b>Refs</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference D__REFS = eINSTANCE.getD_Refs();
+
+	}
+
+} // DPackage
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DFactoryImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DFactoryImpl.java
new file mode 100644
index 0000000..9a9c86b
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DFactoryImpl.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DFactoryImpl extends EFactoryImpl implements DFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static DFactory init() {
+		try {
+			final DFactory theDFactory = (DFactory) EPackage.Registry.INSTANCE.getEFactory(DPackage.eNS_URI);
+			if (theDFactory != null) {
+				return theDFactory;
+			}
+		} catch (final Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case DPackage.D:
+			return createD();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public D createD() {
+		final DImpl d = new DImpl();
+		return d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DPackage getDPackage() {
+		return (DPackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DPackage getPackage() {
+		return DPackage.eINSTANCE;
+	}
+
+} // DFactoryImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DImpl.java
new file mode 100644
index 0000000..23f9213
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DImpl.java
@@ -0,0 +1,263 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>D</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl#getAtts <em>Atts</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl.DImpl#getRefs <em>Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DImpl extends MinimalEObjectImpl.Container implements D {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getAtts() <em>Atts</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getAtts()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> atts;
+
+	/**
+	 * The cached value of the '{@link #getRefs() <em>Refs</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getRefs()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<D> refs;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DPackage.Literals.D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setName(String newName) {
+		final String oldName = name;
+		name = newName;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DPackage.D__NAME, oldName, name));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<String> getAtts() {
+		if (atts == null) {
+			atts = new EDataTypeUniqueEList<String>(String.class, this, DPackage.D__ATTS);
+		}
+		return atts;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<D> getRefs() {
+		if (refs == null) {
+			refs = new EObjectResolvingEList<D>(D.class, this, DPackage.D__REFS);
+		}
+		return refs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case DPackage.D__NAME:
+			return getName();
+		case DPackage.D__ATTS:
+			return getAtts();
+		case DPackage.D__REFS:
+			return getRefs();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case DPackage.D__NAME:
+			setName((String) newValue);
+			return;
+		case DPackage.D__ATTS:
+			getAtts().clear();
+			getAtts().addAll((Collection<? extends String>) newValue);
+			return;
+		case DPackage.D__REFS:
+			getRefs().clear();
+			getRefs().addAll((Collection<? extends D>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case DPackage.D__NAME:
+			setName(NAME_EDEFAULT);
+			return;
+		case DPackage.D__ATTS:
+			getAtts().clear();
+			return;
+		case DPackage.D__REFS:
+			getRefs().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case DPackage.D__NAME:
+			return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		case DPackage.D__ATTS:
+			return atts != null && !atts.isEmpty();
+		case DPackage.D__REFS:
+			return refs != null && !refs.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		final StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(", atts: ");
+		result.append(atts);
+		result.append(')');
+		return result.toString();
+	}
+
+} // DImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DPackageImpl.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DPackageImpl.java
new file mode 100644
index 0000000..5d94084
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/impl/DPackageImpl.java
@@ -0,0 +1,235 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DFactory;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DPackageImpl extends EPackageImpl implements DPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass dEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DPackageImpl() {
+		super(eNS_URI, DFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link DPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static DPackage init() {
+		if (isInited) {
+			return (DPackage) EPackage.Registry.INSTANCE.getEPackage(DPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		final DPackageImpl theDPackage = (DPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DPackageImpl
+			? EPackage.Registry.INSTANCE.get(eNS_URI) : new DPackageImpl());
+
+		isInited = true;
+
+		// Create package meta-data objects
+		theDPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DPackage.eNS_URI, theDPackage);
+		return theDPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getD() {
+		return dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getD_Name() {
+		return (EAttribute) dEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getD_Atts() {
+		return (EAttribute) dEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getD_Refs() {
+		return (EReference) dEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DFactory getDFactory() {
+		return (DFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		dEClass = createEClass(D);
+		createEAttribute(dEClass, D__NAME);
+		createEAttribute(dEClass, D__ATTS);
+		createEReference(dEClass, D__REFS);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(dEClass, org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, "D", !IS_ABSTRACT,
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getD_Name(), ecorePackage.getEString(), "name", null, 0, 1,
+			org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, !IS_TRANSIENT, !IS_VOLATILE,
+			IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getD_Atts(), ecorePackage.getEString(), "atts", null, 0, -1,
+			org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, !IS_TRANSIENT, !IS_VOLATILE,
+			IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getD_Refs(), getD(), null, "refs", null, 0, -1,
+			org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D.class, !IS_TRANSIENT, !IS_VOLATILE,
+			IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} // DPackageImpl
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DAdapterFactory.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DAdapterFactory.java
new file mode 100644
index 0000000..77d13c4
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DAdapterFactory.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage
+ * @generated
+ */
+public class DAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static DPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance
+	 * object of the model.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DSwitch<Adapter> modelSwitch = new DSwitch<Adapter>() {
+		@Override
+		public Adapter caseD(D object) {
+			return createDAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D <em>D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D
+	 * @generated
+	 */
+	public Adapter createDAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} // DAdapterFactory
diff --git a/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DSwitch.java b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DSwitch.java
new file mode 100644
index 0000000..cf29c23
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/src/org/eclipse/emf/emfstore/migration/edapt/test/model/d/model/util/DSwitch.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2011-2016 EclipseSource Muenchen GmbH 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:
+ * EclipseSource Munich - initial API and implementation
+ */
+package org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.D;
+import org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.emfstore.migration.edapt.test.model.d.model.DPackage
+ * @generated
+ */
+public class DSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static DPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+	 * result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case DPackage.D: {
+			final D d = (D) theEObject;
+			T result = caseD(d);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>D</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 *
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>D</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseD(D object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} // DSwitch