Merge commit '6cfd92fbce2c9b7b9df147c31add7666a1e6e353'
diff --git a/bundles/org.eclipse.emf.emfstore.client.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.model.edit/META-INF/MANIFEST.MF
index d7607f9..87be224 100644
--- a/bundles/org.eclipse.emf.emfstore.client.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.model.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client Model Edit
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.model.edit;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfstore.internal.client.model.provider.ClientModelEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
@@ -12,11 +12,11 @@
  r;uses:="org.eclipse.emf.ecore,  org.eclipse.emf.emfstore.internal.co
  mmon.model.provider,  org.eclipse.emf.common.util,  org.eclipse.emf.c
  ommon,  org.eclipse.emf.edit.provider,  org.eclipse.emf.common.notify
- ,  org.eclipse.emf.emfstore.internal.client.model.util";version="1.7.
+ ,  org.eclipse.emf.emfstore.internal.client.model.util";version="1.8.
  0"
-Require-Bundle: org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.emfstore.client.model.edit/pom.xml b/bundles/org.eclipse.emf.emfstore.client.model.edit/pom.xml
index 97fb7e8..3cdd779 100644
--- a/bundles/org.eclipse.emf.emfstore.client.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.model.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.model.edit</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.transaction/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.transaction/META-INF/MANIFEST.MF
index 7b93f1f..cbe22e6 100644
--- a/bundles/org.eclipse.emf.emfstore.client.transaction/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.transaction/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Transaction
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.transaction;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.transaction;bundle-version="[1.6.0,2.0.0)";visibility:=reexport
 Export-Package: org.eclipse.emf.emfstore.internal.client.transaction;v
- ersion="1.7.0";x-internal:=true
+ ersion="1.8.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client.transaction/pom.xml b/bundles/org.eclipse.emf.emfstore.client.transaction/pom.xml
index f6413e6..338e224 100644
--- a/bundles/org.eclipse.emf.emfstore.client.transaction/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.transaction/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/META-INF/MANIFEST.MF
index f515101..887d83c 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: HistoryBrowserComparator
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui.historybrowsercomparator;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.emf.compare;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
  org.eclipse.compare;bundle-version="[3.5.300,4.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.client.ui;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.compare.ide.ui;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
  org.eclipse.emf.compare.ide;bundle-version="[3.1.0,4.0.0)";visibility:=reexport,
  org.eclipse.emf.compare.edit;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
@@ -16,4 +16,4 @@
  org.eclipse.jface;bundle-version="[3.8.0,4.0.0)",
  org.eclipse.ui.workbench;bundle-version="[3.0.0,4.0.0)"
 Export-Package: org.eclipse.emf.emfstore.client.ui.historybrowsercompa
- rator;version="1.7.0";x-internal:=true
+ rator;version="1.8.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/pom.xml b/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/pom.xml
index 5cf8a8d..e256ee6 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.historybrowsercomparator</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rap/ECP_EMFStore_RAP_dev_target.target b/bundles/org.eclipse.emf.emfstore.client.ui.rap/ECP_EMFStore_RAP_dev_target.target
new file mode 100644
index 0000000..944a6a6
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rap/ECP_EMFStore_RAP_dev_target.target
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<?pde version="3.8"?><target name="ECP_EMFStore_RAP_dev_target" sequenceNumber="261">

+<locations>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.eclipse.emf.edapt.runtime.feature.source.feature.group" version="0.0.0"/>

+<repository location="http://download.eclipse.org/edapt/p2/nightly"/>

+</location>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>

+<unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>

+<unit id="org.eclipse.swtbot.forms.feature.group" version="2.3.0.201506081302"/>

+<unit id="org.eclipse.swtbot.feature.group" version="2.3.0.201506081302"/>

+<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="2.3.0.201506081302"/>

+<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>

+<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>

+<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.3.0.201506081302"/>

+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.3.0.201506081302"/>

+<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>

+<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>

+<repository location="http://download.eclipse.org/technology/swtbot/releases/2.3.0/"/>

+</location>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.rap.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.validation.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.gef.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.graphiti.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.rap.sdk.feature.feature.group" version="0.0.0"/>

+<repository location="http://download.eclipse.org/releases/neon/"/>

+</location>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.platform.ide" version="0.0.0"/>

+<repository location="http://download.eclipse.org/eclipse/updates/4.6milestones"/>

+</location>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.h2" version="0.0.0"/>

+<unit id="org.h2.source" version="0.0.0"/>

+<unit id="com.google.guava" version="0.0.0"/>

+<unit id="javax.annotation" version="0.0.0"/>

+<unit id="javax.annotation.source" version="0.0.0"/>

+<unit id="com.google.guava.source" version="0.0.0"/>

+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20151221205849/repository/"/>

+</location>

+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.mockito.mockito-all" version="0.0.0"/>

+<repository location="http://build.eclipse.org/rt/rap/base-platforms/2.3/extra-dependencies/"/>

+</location>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.eclipselabs.mongo.emf.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipselabs.mongo.emf.feature.source.feature.group" version="0.0.0"/>

+<repository location="http://bryanhunt.github.com/mongo-emf/releases/0.7.1"/>

+</location>

+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">

+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.graphiti.feature.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.validation.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.gef.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.compare.source.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="0.0.0"/>

+<unit id="org.eclipse.ocl.all.sdk.feature.group" version="0.0.0"/>

+<repository location="http://download.eclipse.org/releases/luna/"/>

+</location>

+</locations>

+</target>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.ui.rap/META-INF/MANIFEST.MF
index c839639..8d81494 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rap/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client UI for RAP
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui.rap
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.emf.emfstore.internal.client.ui.dialogs.lo
- gin;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.interna
- l.client.ui.dialogs.merge.ui;version="1.7.0";x-internal:=true,org.ecl
- ipse.emf.emfstore.internal.client.ui.util;version="1.7.0";x-friends:=
+ gin;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.interna
+ l.client.ui.dialogs.merge.ui;version="1.8.0";x-internal:=true,org.ecl
+ ipse.emf.emfstore.internal.client.ui.util;version="1.8.0";x-friends:=
  "org.eclipse.emf.emfstore.client.ui"
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rap/ecpwebemfstore.launch b/bundles/org.eclipse.emf.emfstore.client.ui.rap/ecpwebemfstore.launch
new file mode 100644
index 0000000..0858467
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rap/ecpwebemfstore.launch
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">

+<booleanAttribute key="append.args" value="true"/>

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

+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ecpwebemfstore"/>

+<booleanAttribute key="default" value="true"/>

+<booleanAttribute key="default_auto_start" value="true"/>

+<intAttribute key="default_start_level" value="4"/>

+<booleanAttribute key="includeOptional" value="false"/>

+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>

+<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.6"/>

+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consolelog"/>

+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>

+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>

+<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>

+<stringAttribute key="org.eclipse.rap.launch.contextpath" value=""/>

+<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/ecpwebemfstore"/>

+<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>

+<stringAttribute key="org.eclipse.rap.launch.entryPoint" value="org.eclipse.emf.ecp.rap.viewapp"/>

+<stringAttribute key="org.eclipse.rap.launch.libraryVariant" value="STANDARD"/>

+<stringAttribute key="org.eclipse.rap.launch.logLevel" value="OFF"/>

+<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>

+<intAttribute key="org.eclipse.rap.launch.port" value="52979"/>

+<stringAttribute key="org.eclipse.rap.launch.servletName" value="view"/>

+<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/ecpWeb"/>

+<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>

+<booleanAttribute key="org.eclipse.rap.launch.terminatePrevious" value="true"/>

+<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>

+<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>

+<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="true"/>

+<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>

+<stringAttribute key="pde.version" value="3.3"/>

+<booleanAttribute key="show_selected_only" value="false"/>

+<stringAttribute key="target_bundles" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@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.fileupload@default:default,org.apache.commons.io@default:default,org.apache.commons.jxpath@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@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.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,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.debug.core@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.emf.rap@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.net4j.util@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.filedialog@default:default,org.eclipse.rap.fileupload@default:default,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.forms@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.tukaani.xz@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="timestamp" value="1367832274568"/>

+<booleanAttribute key="tracing" value="false"/>

+<booleanAttribute key="useCustomFeatures" value="false"/>

+<booleanAttribute key="useDefaultConfigArea" value="true"/>

+<stringAttribute key="workspace_bundles" value="org.eclipse.emf.ecp.changebroker.provider@default:default,org.eclipse.emf.ecp.changebroker@default:default,org.eclipse.emf.ecp.common.ui@default:default,org.eclipse.emf.ecp.common@default:default,org.eclipse.emf.ecp.core.emffilter@default:default,org.eclipse.emf.ecp.core.rap.sessionprovider.rwt@1:default,org.eclipse.emf.ecp.core.rap@default:default,org.eclipse.emf.ecp.core@default:default,org.eclipse.emf.ecp.edit.swt@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.editor.e3@default:default,org.eclipse.emf.ecp.emfstore.core.rap@default:default,org.eclipse.emf.ecp.emfstore.core@default:default,org.eclipse.emf.ecp.emfstore.localserver@default:default,org.eclipse.emf.ecp.emfstore.ui.e3@default:default,org.eclipse.emf.ecp.emfstore.ui.search@default:default,org.eclipse.emf.ecp.emfstore.ui@default:default,org.eclipse.emf.ecp.explorereditorbridge@default:default,org.eclipse.emf.ecp.ide.util@default:default,org.eclipse.emf.ecp.ide.view.service@default:default,org.eclipse.emf.ecp.makeithappen.model.edit@default:default,org.eclipse.emf.ecp.makeithappen.model.viewmodel@default:default,org.eclipse.emf.ecp.makeithappen.model@default:default,org.eclipse.emf.ecp.makeithappen.view.email.renderer@default:default,org.eclipse.emf.ecp.rap.util@default:default,org.eclipse.emf.ecp.rap@default:default,org.eclipse.emf.ecp.ui.e3@default:default,org.eclipse.emf.ecp.ui.rap@default:false,org.eclipse.emf.ecp.ui.view.swt@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.ui@default:default,org.eclipse.emf.ecp.view.categorization.model.edit@default:default,org.eclipse.emf.ecp.view.categorization.model@default:default,org.eclipse.emf.ecp.view.context.locale@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.core.swt@default:default,org.eclipse.emf.ecp.view.custom.model@default:default,org.eclipse.emf.ecp.view.group.model@default:default,org.eclipse.emf.ecp.view.group.ui.swt@default:default,org.eclipse.emf.ecp.view.horizontal.model@default:default,org.eclipse.emf.ecp.view.horizontal.ui.swt@default:default,org.eclipse.emf.ecp.view.indexdmr.model.edit@default:default,org.eclipse.emf.ecp.view.indexdmr.model@default:default,org.eclipse.emf.ecp.view.label.model@default:default,org.eclipse.emf.ecp.view.label.rap@default:default,org.eclipse.emf.ecp.view.label.ui.swt@default:default,org.eclipse.emf.ecp.view.mappingdmr.model.edit@default:default,org.eclipse.emf.ecp.view.mappingdmr.model@default:default,org.eclipse.emf.ecp.view.migrator@default:default,org.eclipse.emf.ecp.view.model.common@default:default,org.eclipse.emf.ecp.view.model.edit@default:default,org.eclipse.emf.ecp.view.model.provider.generator@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.ecp.view.rule.model@default:default,org.eclipse.emf.ecp.view.stack.model@default:default,org.eclipse.emf.ecp.view.swt.layout@default:default,org.eclipse.emf.ecp.view.table.model.edit@default:default,org.eclipse.emf.ecp.view.table.model@default:default,org.eclipse.emf.ecp.view.template.model@default:default,org.eclipse.emf.ecp.view.template.service@default:default,org.eclipse.emf.ecp.view.treemasterdetail.model@default:default,org.eclipse.emf.ecp.view.util.swt.rap@default:default,org.eclipse.emf.ecp.view.util.swt@default:default,org.eclipse.emf.ecp.view.validation@default:default,org.eclipse.emf.ecp.view.vertical.model@default:default,org.eclipse.emf.ecp.workspace.core@default:default,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.ui.rap@default:false,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client@default:default,org.eclipse.emf.emfstore.common.model.edit@default:default,org.eclipse.emf.emfstore.common.model@default:default,org.eclipse.emf.emfstore.common@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server@default:default,org.eclipse.emf.rap.edit.ui.minimal@default:default,org.eclipse.emfforms.common@default:default,org.eclipse.emfforms.core.services.databinding.featurepath@default:default,org.eclipse.emfforms.core.services.databinding.index@default:default,org.eclipse.emfforms.core.services.databinding.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.default@default:default,org.eclipse.emfforms.core.services.domainexpander.index@default:default,org.eclipse.emfforms.core.services.domainexpander.mapping@default:default,org.eclipse.emfforms.core.services.domainexpander.table@default:default,org.eclipse.emfforms.core.services.editsupport@default:default,org.eclipse.emfforms.core.services.emf@default:default,org.eclipse.emfforms.core.services.emfspecificservice@default:default,org.eclipse.emfforms.core.services.legacy@default:default,org.eclipse.emfforms.core.services.locale.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.default@default:default,org.eclipse.emfforms.core.services.mappingprovider.table@default:default,org.eclipse.emfforms.core.services.structuralchange.default@default:default,org.eclipse.emfforms.core.services.structuralchange.index@default:default,org.eclipse.emfforms.core.services.structuralchange.mapping@default:default,org.eclipse.emfforms.core.services.structuralchange.table@default:default,org.eclipse.emfforms.core.services.structuralchange@default:default,org.eclipse.emfforms.core.services@default:default,org.eclipse.emfforms.localization@default:default,org.eclipse.emfforms.swt.core.di@default:default,org.eclipse.emfforms.swt.core.plugin@default:default,org.eclipse.emfforms.swt.core@default:default,org.eclipse.emfforms.swt.table@default:default,org.eclipse.emfforms.view.controlgrid.model@default:default,org.eclipse.emfforms.view.model.localization@default:default"/>

+</launchConfiguration>

diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rap/pom.xml b/bundles/org.eclipse.emf.emfstore.client.ui.rap/pom.xml
index 2f955d7..6a1ea57 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.rap</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.ui.rcp/META-INF/MANIFEST.MF
index fdc0aa3..a8f2c88 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rcp/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client UI for RCP
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui.rcp
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.emfstore.internal.client.ui.dialogs.lo
- gin;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.interna
- l.client.ui.dialogs.merge.ui;version="1.7.0";x-internal:=true,org.ecl
+ gin;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.interna
+ l.client.ui.dialogs.merge.ui;version="1.8.0";x-internal:=true,org.ecl
  ipse.emf.emfstore.internal.client.ui.dialogs.merge.ui.components;vers
- ion="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.eclip
- se.emf.emfstore.internal.client.ui.util;version="1.7.0";x-friends:="o
+ ion="1.8.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.eclip
+ se.emf.emfstore.internal.client.ui.util;version="1.8.0";x-friends:="o
  rg.eclipse.emf.emfstore.client.ui"
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rcp/pom.xml b/bundles/org.eclipse.emf.emfstore.client.ui.rcp/pom.xml
index cb6261c..7a39dcf 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rcp/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.rcp</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/META-INF/MANIFEST.MF
index b46346c..9c9d05e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Transaction UI
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui.transaction;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.emf.transaction;bundle-version="[1.6.0,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)"
 Export-Package: org.eclipse.emf.emfstore.internal.client.ui.transactio
- n;version="1.7.0";x-internal:=true
+ n;version="1.8.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/pom.xml b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/pom.xml
index 77ec430..b693e09 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client.ui/META-INF/MANIFEST.MF
index c903f5d..abed5b1 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/META-INF/MANIFEST.MF
@@ -2,60 +2,60 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client UI
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Activator: org.eclipse.emf.emfstore.internal.client.ui.Activator
 Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.emfstore.server.model
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-ClassPath: .,
  lib/dmp.jar
-Export-Package: org.eclipse.emf.emfstore.client.ui;version="1.7.0"; us
+Export-Package: org.eclipse.emf.emfstore.client.ui;version="1.8.0"; us
  es:="org.eclipse.emf.ecore,  org.eclipse.emf.emfstore.client,  org.ec
  lipse.swt.widgets,  org.eclipse.emf.emfstore.server.model.versionspec
- ",org.eclipse.emf.emfstore.internal.client.ui;version="1.7.0";x-inter
+ ",org.eclipse.emf.emfstore.internal.client.ui;version="1.8.0";x-inter
  nal:=true,org.eclipse.emf.emfstore.internal.client.ui.common;version=
- "1.7.0";x-friends:="org.eclipse.emf.emfstore.client.test.ui,org.eclip
+ "1.8.0";x-friends:="org.eclipse.emf.emfstore.client.test.ui,org.eclip
  se.emf.ecp.emfstore.ui",org.eclipse.emf.emfstore.internal.client.ui.c
- ontroller;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.client
+ ontroller;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.client
  .test.ui,org.eclipse.emf.ecp.emfstore.ui",org.eclipse.emf.emfstore.in
- ternal.client.ui.decorators;version="1.7.0";x-internal:=true,org.ecli
- pse.emf.emfstore.internal.client.ui.dialogs;version="1.7.0";x-interna
+ ternal.client.ui.decorators;version="1.8.0";x-internal:=true,org.ecli
+ pse.emf.emfstore.internal.client.ui.dialogs;version="1.8.0";x-interna
  l:=true,org.eclipse.emf.emfstore.internal.client.ui.dialogs.admin;ver
- sion="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.internal.clien
- t.ui.dialogs.admin.acimport;version="1.7.0";x-internal:=true,org.ecli
+ sion="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.clien
+ t.ui.dialogs.admin.acimport;version="1.8.0";x-internal:=true,org.ecli
  pse.emf.emfstore.internal.client.ui.dialogs.admin.acimport.wizard;ver
- sion="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.internal.clien
- t.ui.dialogs.admin.action;version="1.7.0";x-internal:=true,org.eclips
- e.emf.emfstore.internal.client.ui.dialogs.login;version="1.7.0";x-int
+ sion="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.clien
+ t.ui.dialogs.admin.action;version="1.8.0";x-internal:=true,org.eclips
+ e.emf.emfstore.internal.client.ui.dialogs.login;version="1.8.0";x-int
  ernal:=true,org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge
- ;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.internal.c
- lient.ui.dialogs.merge.ui;version="1.7.0";x-internal:=true,org.eclips
+ ;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.c
+ lient.ui.dialogs.merge.ui;version="1.8.0";x-internal:=true,org.eclips
  e.emf.emfstore.internal.client.ui.dialogs.merge.ui.components;version
- ="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui
- .dialogs.merge.ui.widgets;version="1.7.0";x-internal:=true,org.eclips
- e.emf.emfstore.internal.client.ui.dialogs.merge.util;version="1.7.0";
+ ="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui
+ .dialogs.merge.ui.widgets;version="1.8.0";x-internal:=true,org.eclips
+ e.emf.emfstore.internal.client.ui.dialogs.merge.util;version="1.8.0";
  x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui.epackage
- s;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.internal.
- client.ui.exceptions;version="1.7.0";x-internal:=true,org.eclipse.emf
- .emfstore.internal.client.ui.handlers;version="1.7.0";x-internal:=tru
+ s;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.
+ client.ui.exceptions;version="1.8.0";x-internal:=true,org.eclipse.emf
+ .emfstore.internal.client.ui.handlers;version="1.8.0";x-internal:=tru
  e,org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport;v
- ersion="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.internal.cli
- ent.ui.testers;version="1.7.0";x-internal:=true,org.eclipse.emf.emfst
- ore.internal.client.ui.util;version="1.7.0";x-internal:=true,org.ecli
- pse.emf.emfstore.internal.client.ui.views.changes;version="1.7.0";x-i
+ ersion="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.cli
+ ent.ui.testers;version="1.8.0";x-internal:=true,org.eclipse.emf.emfst
+ ore.internal.client.ui.util;version="1.8.0";x-internal:=true,org.ecli
+ pse.emf.emfstore.internal.client.ui.views.changes;version="1.8.0";x-i
  nternal:=true,org.eclipse.emf.emfstore.internal.client.ui.views.emfst
- orebrowser.views;version="1.7.0";x-friends:="org.eclipse.emf.ecp.emfs
+ orebrowser.views;version="1.8.0";x-friends:="org.eclipse.emf.ecp.emfs
  tore.ui",org.eclipse.emf.emfstore.internal.client.ui.views.historybro
- wserview;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.in
- ternal.client.ui.views.historybrowserview.graph;version="1.7.0";x-int
+ wserview;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.in
+ ternal.client.ui.views.historybrowserview.graph;version="1.8.0";x-int
  ernal:=true,org.eclipse.emf.emfstore.internal.client.ui.views.scm;ver
- sion="1.7.0";x-internal:=true,org.eclipse.wb.swt;version="1.7.0";x-in
+ sion="1.8.0";x-internal:=true,org.eclipse.wb.swt;version="1.8.0";x-in
  ternal:=true;uses:="org.eclipse.jface.resource,org.eclipse.swt.graphi
  cs"
 Import-Package: org.eclipse.core.commands;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/pom.xml b/bundles/org.eclipse.emf.emfstore.client.ui/pom.xml
index 611688c..61db7f9 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/controller/UIRemoveServerController.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/controller/UIRemoveServerController.java
index cfe9004..0f0f896 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/controller/UIRemoveServerController.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/controller/UIRemoveServerController.java
@@ -5,29 +5,36 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * Edgar Mueller - initial API and implementation
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.controller;
 
+import java.util.ArrayList;
 import java.util.LinkedHashSet;
+import java.util.List;
 import java.util.Set;
+import java.util.concurrent.Callable;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.emf.emfstore.client.ESServer;
 import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
 import org.eclipse.emf.emfstore.internal.client.model.ServerInfo;
 import org.eclipse.emf.emfstore.internal.client.model.Usersession;
-import org.eclipse.emf.emfstore.internal.client.model.Workspace;
 import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESServerImpl;
+import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESWorkspaceImpl;
+import org.eclipse.emf.emfstore.internal.client.ui.common.RunInUI;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.widgets.Shell;
 
+import com.google.common.collect.Lists;
+
 /**
  * UI controller for removing a server from the workspace.
- * 
+ *
  * @author emueller
  */
 public class UIRemoveServerController extends
@@ -37,7 +44,7 @@
 
 	/**
 	 * Constructor.
-	 * 
+	 *
 	 * @param shell
 	 *            the parent shell that should be used during the delet
 	 * @param server
@@ -50,9 +57,9 @@
 	}
 
 	/**
-	 * 
+	 *
 	 * {@inheritDoc}
-	 * 
+	 *
 	 * @see org.eclipse.emf.emfstore.internal.client.ui.common.MonitoredEMFStoreAction#doRun(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	@Override
@@ -67,19 +74,72 @@
 			return null;
 		}
 
-		final Workspace workspace = ESWorkspaceProviderImpl.getInstance().getInternalWorkspace();
-		workspace.getServerInfos().remove(serverInfo);
+		final ESWorkspaceImpl workspace = ESWorkspaceProviderImpl.getInstance().getWorkspace();
+		final List<ProjectSpace> projectSpaces = workspace.toInternalAPI().getProjectSpaces();
+		final ArrayList<ProjectSpace> projectSpacesInUse = Lists.newArrayList();
+
+		// check if any local projects are associated with the server to be deleted
+		for (final ProjectSpace projectSpace : projectSpaces) {
+			if (projectSpaceIsInUse(projectSpace, serverInfo)) {
+				projectSpacesInUse.add(projectSpace);
+			}
+		}
+
+		// do not delete server if any of the local projects is in use
+		if (!projectSpacesInUse.isEmpty()) {
+			showWarning(projectSpacesInUse);
+			return null;
+		}
+
+		RunInUI.run(new Callable<Void>() {
+			public Void call() throws Exception {
+				ESWorkspaceProviderImpl.getInstance()
+					.getWorkspace()
+					.toInternalAPI()
+					.getServerInfos()
+					.remove(serverInfo);
+				return null;
+			}
+		});
+
 		final Set<Usersession> invalidSessions = new LinkedHashSet<Usersession>();
 		// remove all now invalid sessions
-		for (final Usersession session : ESWorkspaceProviderImpl.getInstance().getInternalWorkspace().getUsersessions()) {
+		for (final Usersession session : ESWorkspaceProviderImpl.getInstance().getInternalWorkspace()
+			.getUsersessions()) {
 			if (session.getServerInfo() == serverInfo) {
 				invalidSessions.add(session);
 			}
 		}
-		workspace.getUsersessions().removeAll(invalidSessions);
-		workspace.save();
+
+		RunInUI.run(new Callable<Void>() {
+			public Void call() throws Exception {
+				workspace.toInternalAPI().getUsersessions().removeAll(invalidSessions);
+				workspace.toInternalAPI().save();
+				return null;
+			}
+		});
 
 		return null;
 	}
 
+	private void showWarning(final ArrayList<ProjectSpace> projectSpacesInUse) {
+		final StringBuilder message = new StringBuilder();
+
+		for (final ProjectSpace projectSpace : projectSpacesInUse) {
+			message.append(Messages.UIRemoveServerController_Newline + projectSpace.getProjectName());
+		}
+
+		MessageDialog.openError(
+			getShell(),
+			Messages.UIRemoveServerController_ErrorDelete_Title,
+			String.format(
+				Messages.UIRemoveServerController_ErrorDelete_Message
+					+ message.toString(),
+				serverInfo.getName()));
+	}
+
+	private static boolean projectSpaceIsInUse(ProjectSpace projectSpace, ServerInfo serverInfo) {
+		return projectSpace.getUsersession() != null
+			&& projectSpace.getUsersession().getServerInfo().equals(serverInfo);
+	}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/AbstractEMFStoreHandlerWithResult.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/AbstractEMFStoreHandlerWithResult.java
index c6efcf4..12b823e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/AbstractEMFStoreHandlerWithResult.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/AbstractEMFStoreHandlerWithResult.java
@@ -7,8 +7,8 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * ovonwesen
- * emueller
+ * Otto von Wesendonk, Edgar Mueller - initial implementation and API
+ * Edgar Mueller - Bug 476839
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.handlers;
 
@@ -92,6 +92,22 @@
 	}
 
 	/**
+	 * Returns whether an object of the given <code>clazz</code>
+	 * can be extracted from the current selection.
+	 *
+	 * @param clazz
+	 *            the type of the object that is requested to be extracted from the current selection
+	 * @return {@code true}, if an object of type <b>T</b> is contained within the current selection,
+	 *         {@code false} otherwise
+	 *
+	 *
+	 * @param <U> the type of the object to be extracted from the current selection
+	 */
+	public <U> boolean hasSelection(Class<U> clazz) {
+		return EMFStoreHandlerUtil.hasSelection(getEvent(), clazz);
+	}
+
+	/**
 	 * Returns the currently active shell.
 	 *
 	 * @return the active shell
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/DeleteProjectHandler.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/DeleteProjectHandler.java
index f070081..7248263 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/DeleteProjectHandler.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/handlers/DeleteProjectHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2012-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
@@ -7,8 +7,8 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * ovonwesen
- * emueller
+ * Otto von Wesendonk, Edgar Mueller - initial implementation and API
+ * Edgar Mueller - Bug 476839
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.handlers;
 
@@ -32,6 +32,9 @@
 	 */
 	@Override
 	public void handle() {
+		if (!hasSelection(ProjectSpace.class)) {
+			return;
+		}
 		new UIDeleteProjectController(getShell(), requireSelection(ProjectSpace.class).toAPI()).execute();
 	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/util/EMFStoreHandlerUtil.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/util/EMFStoreHandlerUtil.java
index 3bc67ac..721aacb 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/util/EMFStoreHandlerUtil.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/util/EMFStoreHandlerUtil.java
@@ -7,7 +7,8 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * ovonwesen
+ * Otto von Wesendonk - initial implementation and API
+ * Edgar Mueller - Bug 476839
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.util;
 
@@ -86,4 +87,21 @@
 		return selection;
 	}
 
+	/**
+	 * Returns whether an object of the given <code>clazz</code> can be extracted from
+	 * the current selection.
+	 *
+	 * @param event
+	 *            the event from which to extract the selection
+	 * @param clazz
+	 *            the type of the object that is requested to be extracted from the current selection
+	 * @return {@code true} if an object of type <b>T</b> is contained within the current selection,
+	 *         {@code false} otherwise
+	 *
+	 * @param <T> the type of the object to be extracted from the current selection
+	 */
+	public static <T> boolean hasSelection(ExecutionEvent event, Class<T> clazz) {
+		final T selection = getSelection(event, clazz);
+		return selection != null;
+	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateAliasDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateAliasDialog.java
index a3ee53a..2a4448e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateAliasDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateAliasDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+ * Copyright (c) 2008-2016 Chair for Applied Software Engineering,
  * Technische Universitaet Muenchen.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * pfeifferc
+ * Carl Pfeiffer - initial API and implementation
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.views.emfstorebrowser.views;
 
@@ -31,6 +31,11 @@
 public class CertificateAliasDialog extends Dialog {
 
 	/**
+	 * Serial version UID for RAP.
+	 */
+	public static final long serialVersionUID = 1L;
+
+	/**
 	 * The message to display, or <code>null</code> if none.
 	 */
 	private final String message;
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateSelectionDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateSelectionDialog.java
index 529dad9..663fd1e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateSelectionDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CertificateSelectionDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+ * Copyright (c) 2008-2016 Chair for Applied Software Engineering,
  * Technische Universitaet Muenchen.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -47,6 +47,11 @@
  */
 public class CertificateSelectionDialog extends ElementListSelectionDialog {
 
+	/**
+	 * Serial version UID for RAP.
+	 */
+	public static final long serialVersionUID = 1L;
+
 	private TableItem selectedTableItem;
 	private String alias = StringUtils.EMPTY;
 
@@ -127,26 +132,7 @@
 		// Delete certificate
 		final Button delete = new Button(certButtonsComposite, SWT.NONE);
 		delete.setText(Messages.CertificateSelectionDialog_Delete);
-		delete.addSelectionListener(new SelectionListener() {
-
-			private static final long serialVersionUID = 1L;
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// nothing to do
-			}
-
-			public void widgetSelected(SelectionEvent e) {
-				if (selectedTableItem != null && StringUtils.isNotBlank(selectedTableItem.getText())) {
-					final String alias = selectedTableItem.getText();
-					try {
-						KeyStoreManager.getInstance().deleteCertificate(alias);
-						setListElements(KeyStoreManager.getInstance().getCertificates().toArray());
-					} catch (final ESCertificateException e1) {
-						setErrorMessage(e1.getMessage());
-					}
-				}
-			}
-		});
+		delete.addSelectionListener(new DeleteButtonSelectionListener());
 		getFilteredList().addSelectionListener(new SelectionListenerImplementation(certDetails, certAlias));
 		return control;
 	}
@@ -178,8 +164,11 @@
 	 * @author koegel
 	 *
 	 */
-	private final class SelectionListenerImplementation implements SelectionListener {
-		private static final long serialVersionUID = 1L;
+	final class SelectionListenerImplementation implements SelectionListener {
+		/**
+		 * Serial version UID for RAP.
+		 */
+		public static final long serialVersionUID = 1L;
 		private final Text certDetails;
 		private final Text certAlias;
 
@@ -188,10 +177,22 @@
 			this.certAlias = certAlias;
 		}
 
+		/**
+		 *
+		 * {@inheritDoc}
+		 * 
+		 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
 		public void widgetDefaultSelected(SelectionEvent e) {
 			// nothing to do
 		}
 
+		/**
+		 *
+		 * {@inheritDoc}
+		 * 
+		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
 		public void widgetSelected(SelectionEvent e) {
 			if (((Table) e.getSource()).getItems().length > 0) {
 				selectedTableItem = ((Table) e.getSource()).getItems()[((Table) e.getSource()).getSelectionIndex()];
@@ -219,7 +220,10 @@
 	 * @author pfeifferc
 	 */
 	class CertificateSelectionListener implements SelectionListener {
-		private static final long serialVersionUID = 1L;
+		/**
+		 * Serial version UID for RAP.
+		 */
+		public static final long serialVersionUID = 1L;
 
 		/**
 		 * Add a certificate specified by the user.
@@ -272,4 +276,44 @@
 			// nothing to do
 		}
 	}
+
+	/**
+	 * Selection listener for the delete button.
+	 *
+	 */
+	final class DeleteButtonSelectionListener implements SelectionListener {
+
+		/**
+		 * Serial version UID for RAP.
+		 */
+		public static final long serialVersionUID = 1L;
+
+		/**
+		 *
+		 * {@inheritDoc}
+		 *
+		 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
+		public void widgetDefaultSelected(SelectionEvent e) {
+			// nothing to do
+		}
+
+		/**
+		 *
+		 * {@inheritDoc}
+		 *
+		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+		 */
+		public void widgetSelected(SelectionEvent e) {
+			if (selectedTableItem != null && StringUtils.isNotBlank(selectedTableItem.getText())) {
+				final String alias = selectedTableItem.getText();
+				try {
+					KeyStoreManager.getInstance().deleteCertificate(alias);
+					setListElements(KeyStoreManager.getInstance().getCertificates().toArray());
+				} catch (final ESCertificateException e1) {
+					setErrorMessage(e1.getMessage());
+				}
+			}
+		}
+	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CreateProjectDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CreateProjectDialog.java
index 8e41b68..c754a3e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CreateProjectDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/CreateProjectDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+ * Copyright (c) 2008-2016 Chair for Applied Software Engineering,
  * Technische Universitaet Muenchen.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -33,6 +33,11 @@
 // TODO: remove description
 public class CreateProjectDialog extends TitleAreaDialog {
 
+	/**
+	 * Serial version UID for RAP.
+	 */
+	public static final long serialVersionUID = 1L;
+
 	private Text txtProjectName;
 	private String name;
 	private String labelText;
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/ElementListSelectionDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/ElementListSelectionDialog.java
index 16f369b..a48ca12 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/ElementListSelectionDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/ElementListSelectionDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+ * Copyright (c) 2008-2016 Chair for Applied Software Engineering,
  * Technische Universitaet Muenchen.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -7,6 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
+ * Edgar Mueller - Fix for Bug 493074
  ******************************************************************************/
 /*******************************************************************************
  *
@@ -61,11 +62,10 @@
  */
 public abstract class ElementListSelectionDialog extends TrayDialog {
 
-	// private static final String SELECT_ALL_TITLE =
-	// Messages.ElementListSelectionDialog_SelectAll;
-
-	// private static final String DESELECT_ALL_TITLE =
-	// Messages.ElementListSelectionDialog_DeselectAll;
+	/**
+	 * Serial version UID for RAP.
+	 */
+	public static final long serialVersionUID = 1L;
 
 	private FilteredList fFilteredList;
 
@@ -163,10 +163,14 @@
 	 */
 	@Override
 	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
+		createButton(parent,
+			IDialogConstants.OK_ID,
+			"Ok", //$NON-NLS-1$
 			true);
-		createButton(parent, IDialogConstants.CANCEL_ID,
-			IDialogConstants.CANCEL_LABEL, false);
+		createButton(parent,
+			IDialogConstants.CANCEL_ID,
+			"Cancel", //$NON-NLS-1$
+			false);
 	}
 
 	/*
@@ -751,7 +755,6 @@
 	 * @param parent the parent composite.
 	 * @return returns the filtered list widget.
 	 */
-	@SuppressWarnings("serial")
 	protected FilteredList createFilteredList(Composite parent) {
 		final int flags = SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL
 			| (fIsMultipleSelection ? SWT.MULTI : SWT.SINGLE);
@@ -816,7 +819,6 @@
 
 		text.setText(fFilter == null ? "" : fFilter); //$NON-NLS-1$
 
-		@SuppressWarnings("serial")
 		final Listener listener = new Listener() {
 			public void handleEvent(Event e) {
 				fFilteredList.setFilter(fFilterText.getText());
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/MessageLine.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/MessageLine.java
index b0725cf..190b30e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/MessageLine.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/MessageLine.java
@@ -36,7 +36,10 @@
  */
 public class MessageLine extends CLabel {
 
-	private static final long serialVersionUID = 1L;
+	/**
+	 * Serial version UID for RAP.
+	 */
+	public static final long serialVersionUID = 1L;
 
 	private final Color fNormalMsgAreaBackground;
 
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/NewRepositoryWizardPageOne.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/NewRepositoryWizardPageOne.java
index 026f4a7..eb344f8 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/NewRepositoryWizardPageOne.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/emfstorebrowser/views/NewRepositoryWizardPageOne.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+ * Copyright (c) 2008-2016 Chair for Applied Software Engineering,
  * Technische Universitaet Muenchen.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -41,6 +41,10 @@
  */
 public class NewRepositoryWizardPageOne extends WizardPage {
 
+	/**
+	 * Serial version UID for RAP.
+	 */
+	public static final long serialVersionUID = 1L;
 	private static final int DEFAULT_PORT = 8080;
 	private Text name;
 	private Text url;
@@ -207,7 +211,10 @@
 	 */
 	class SelectionDialogListener implements SelectionListener {
 
-		private static final long serialVersionUID = 1L;
+		/**
+		 * Serial version UID for RAP.
+		 */
+		public static final long serialVersionUID = 1L;
 
 		/**
 		 * @param e
@@ -226,15 +233,7 @@
 		public void widgetSelected(SelectionEvent e) {
 			final CertificateSelectionDialog csd = new CertificateSelectionDialog(
 				Display.getCurrent().getActiveShell(),
-				new LabelProvider() {
-					@Override
-					public String getText(Object element) {
-						if (element instanceof String) {
-							return element.toString();
-						}
-						return StringUtils.EMPTY;
-					}
-				});
+				new CertificateSelectionDialogLabelProvider());
 			ArrayList<String> certificates;
 			try {
 				certificates = KeyStoreManager.getInstance().getCertificates();
@@ -257,4 +256,24 @@
 			}
 		}
 	}
+
+	/**
+	 * {@link LabelProvider} for the certificate selection dialog.
+	 *
+	 */
+	final class CertificateSelectionDialogLabelProvider extends LabelProvider {
+
+		/**
+		 * Serial version UID for RAP.
+		 */
+		public static final long serialVersionUID = 1L;
+
+		@Override
+		public String getText(Object element) {
+			if (element instanceof String) {
+				return element.toString();
+			}
+			return StringUtils.EMPTY;
+		}
+	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/scm/SCMLabelProvider.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/scm/SCMLabelProvider.java
index 28f9ec2..a5802b4 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/scm/SCMLabelProvider.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/scm/SCMLabelProvider.java
@@ -48,6 +48,7 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.ImageData;
 import org.eclipse.swt.graphics.PaletteData;
+import org.eclipse.swt.graphics.RGB;
 import org.eclipse.swt.widgets.Display;
 
 /**
@@ -244,37 +245,51 @@
 			initProxy(proxy);
 		}
 		final ImageProxy imageProxy = proxy.getImage();
-		final ImageData imageData = new ImageData(imageProxy.getWidth(),
-			imageProxy.getHeight(),
-			imageProxy.getDepth(),
-			new PaletteData(imageProxy.getRedMask(), imageProxy.getGreenMask(), imageProxy.getBlueMask()),
-			imageProxy.getScanlinePad(),
-			imageProxy.getData());
+		final ImageData imageData = new ImageData(imageProxy.getWidth(), imageProxy.getHeight(), imageProxy.getDepth(),
+			createPaletteData(imageProxy), imageProxy.getScanlinePad(), imageProxy.getData());
 		return imageData;
 	}
 
+	private PaletteData createPaletteData(final ImageProxy imageProxy) {
+		if (imageProxy.isDirect()) {
+			return new PaletteData(imageProxy.getRedMask(), imageProxy.getGreenMask(), imageProxy.getBlueMask());
+		}
+		final RGB[] colors = new RGB[imageProxy.getPaletteColors().length];
+		for (int i = 0; i < imageProxy.getPaletteColors().length; i++) {
+			final ImageProxy.RGB rgb = imageProxy.getPaletteColors()[i];
+			colors[i] = new RGB(rgb.getRed(), rgb.getGreen(), rgb.getBlue());
+		}
+		return new PaletteData(colors);
+	}
+
 	private void initProxy(OperationProxy proxy) {
 		final FileBasedChangePackage changePackage = getChangePackage(proxy);
 		final AbstractOperation operation = changePackage.get(proxy.getIndex());
 		prepareProxy(proxy, operation);
 	}
 
+	private ImageProxy.RGB[] createColorData(RGB[] colors) {
+		ImageProxy.RGB[] result = null;
+		if (colors != null) {
+			result = new ImageProxy.RGB[colors.length];
+			for (int i = 0; i < colors.length; i++) {
+				result[i] = new ImageProxy.RGB(colors[i].red, colors[i].green, colors[i].blue);
+			}
+		}
+		return result;
+	}
+
 	private void prepareProxy(OperationProxy proxy, AbstractOperation operation) {
-		final ImageData imageData = changePackageVisualizationHelper
-			.getImage(adapterFactoryLabelProvider, operation)
+		final ImageData imageData = changePackageVisualizationHelper.getImage(adapterFactoryLabelProvider, operation)
 			.getImageData();
-		final ImageProxy imageProxy = ImageProxy.create()
-			.setWitdh(imageData.width)
-			.setHeight(imageData.height)
-			.setDepth(imageData.depth)
-			.setRedMask(imageData.palette.redMask)
-			.setGreenMask(imageData.palette.greenMask)
-			.setBlueMask(imageData.palette.blueMask)
-			.setScanlinePad(imageData.scanlinePad)
-			.setData(imageData.data);
+		final ImageProxy imageProxy = ImageProxy.create().setWitdh(imageData.width).setHeight(imageData.height)
+			.setDepth(imageData.depth).setRedMask(imageData.palette.redMask).setGreenMask(imageData.palette.greenMask)
+			.setBlueMask(imageData.palette.blueMask).setScanlinePad(imageData.scanlinePad).setData(imageData.data);
+		if (!imageData.palette.isDirect) {
+			imageProxy.setPaletteColors(createColorData(imageData.palette.colors));
+		}
 		proxy.setImage(imageProxy);
-		proxy.setLabel(
-			changePackageVisualizationHelper.getDescription(operation));
+		proxy.setLabel(changePackageVisualizationHelper.getDescription(operation));
 
 		if (CompositeOperation.class.isInstance(operation)) {
 			final CompositeOperation compositeOperation = (CompositeOperation) operation;
diff --git a/bundles/org.eclipse.emf.emfstore.client/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.client/META-INF/MANIFEST.MF
index 59407e4..73aeb83 100644
--- a/bundles/org.eclipse.emf.emfstore.client/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.client/META-INF/MANIFEST.MF
@@ -2,39 +2,39 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.migration;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.server;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.migration;bundle-version="[1.8.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.emf.emfstore.internal.client.model.Activator
 Import-Package: org.apache.commons.codec.binary;version="1.3.0"
-Export-Package: org.eclipse.emf.emfstore.client;version="1.7.0",org.ec
- lipse.emf.emfstore.client.callbacks;version="1.7.0",org.eclipse.emf.e
- mfstore.client.changetracking;version="1.7.0",org.eclipse.emf.emfstor
- e.client.exceptions;version="1.7.0",org.eclipse.emf.emfstore.client.h
- andler;version="1.7.0",org.eclipse.emf.emfstore.client.observer;versi
- on="1.7.0",org.eclipse.emf.emfstore.client.provider;version="1.7.0",o
- rg.eclipse.emf.emfstore.client.sessionprovider;version="1.7.0",org.ec
- lipse.emf.emfstore.client.util;version="1.7.0",org.eclipse.emf.emfsto
- re.internal.client.accesscontrol;version="1.7.0";x-friends:="org.ecli
+Export-Package: org.eclipse.emf.emfstore.client;version="1.8.0",org.ec
+ lipse.emf.emfstore.client.callbacks;version="1.8.0",org.eclipse.emf.e
+ mfstore.client.changetracking;version="1.8.0",org.eclipse.emf.emfstor
+ e.client.exceptions;version="1.8.0",org.eclipse.emf.emfstore.client.h
+ andler;version="1.8.0",org.eclipse.emf.emfstore.client.observer;versi
+ on="1.8.0",org.eclipse.emf.emfstore.client.provider;version="1.8.0",o
+ rg.eclipse.emf.emfstore.client.sessionprovider;version="1.8.0",org.ec
+ lipse.emf.emfstore.client.util;version="1.8.0",org.eclipse.emf.emfsto
+ re.internal.client.accesscontrol;version="1.8.0";x-friends:="org.ecli
  pse.emf.emfstore.client.ui,org.eclipse.emf.ecp.emfstore.ui",org.eclip
- se.emf.emfstore.internal.client.common;version="1.7.0";x-friends:="or
+ se.emf.emfstore.internal.client.common;version="1.8.0";x-friends:="or
  g.eclipse.emf.emfstore.client.ui",org.eclipse.emf.emfstore.internal.c
- lient.configuration;version="1.7.0"; x-friends:="org.eclipse.emf.emfs
+ lient.configuration;version="1.8.0"; x-friends:="org.eclipse.emf.emfs
  tore.client.ui,  org.eclipse.emf.emfstore.fuzzy.emf.test,  org.eclips
  e.emf.emfstore.server.test,  org.eclipse.emf.ecp.emfstore.core,  org.
  eclipse.emf.emfstore.client.test,  org.eclipse.emf.emfstore.client.te
  st.ui",org.eclipse.emf.emfstore.internal.client.importexport;version=
- "1.7.0";x-friends:="org.eclipse.emf.emfstore.client.test,org.eclipse.
+ "1.8.0";x-friends:="org.eclipse.emf.emfstore.client.test,org.eclipse.
  emf.emfstore.client.ui,org.eclipse.emf.ecp.emfstore.ui",org.eclipse.e
- mf.emfstore.internal.client.importexport.impl;version="1.7.0";x-frien
+ mf.emfstore.internal.client.importexport.impl;version="1.8.0";x-frien
  ds:="org.eclipse.emf.emfstore.client.test,org.eclipse.emf.ecp.emfstor
- e.ui",org.eclipse.emf.emfstore.internal.client.model;version="1.7.0";
+ e.ui",org.eclipse.emf.emfstore.internal.client.model;version="1.8.0";
   x-friends:="org.eclipse.emf.emfstore.client.model.edit,  org.eclipse
  .emf.emfstore.client.test.ui,  org.eclipse.emf.emfstore.client.transa
  ction,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.emfstore
@@ -45,56 +45,56 @@
  .ui.e3,  org.eclipse.emf.emfstore.performance.test,  org.eclipse.emf.
  emfstore.fuzzy.emf,  org.eclipse.emf.emfstore.client.ui.transaction, 
   org.eclipse.emf.emfstore.client.ui.test",org.eclipse.emf.emfstore.in
- ternal.client.model.changeTracking;version="1.7.0";x-internal:=true,o
+ ternal.client.model.changeTracking;version="1.8.0";x-internal:=true,o
  rg.eclipse.emf.emfstore.internal.client.model.changeTracking.commands
- ;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.transact
+ ;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.client.transact
  ion,org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfstore.in
- ternal.client.model.changeTracking.merging;version="1.7.0"; x-friends
+ ternal.client.model.changeTracking.merging;version="1.8.0"; x-friends
  :="org.eclipse.emf.emfstore.client.test,  org.eclipse.emf.emfstore.cl
  ient.ui,  org.eclipse.emf.emfstore.example.merging,  org.eclipse.emf.
  emfstore.test.common",org.eclipse.emf.emfstore.internal.client.model.
- changeTracking.merging.conflict;version="1.7.0";x-friends:="org.eclip
+ changeTracking.merging.conflict;version="1.8.0";x-friends:="org.eclip
  se.emf.emfstore.client.test,org.eclipse.emf.emfstore.client.ui,org.ec
  lipse.emf.emfstore.test.common",org.eclipse.emf.emfstore.internal.cli
- ent.model.changeTracking.merging.conflict.conflicts;version="1.7.0";x
+ ent.model.changeTracking.merging.conflict.conflicts;version="1.8.0";x
  -friends:="org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfs
  tore.internal.client.model.changeTracking.merging.conflict.options;ve
- rsion="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ecl
+ rsion="1.8.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ecl
  ipse.emf.emfstore.internal.client.model.changeTracking.merging.util;v
- ersion="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ec
+ ersion="1.8.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ec
  lipse.emf.emfstore.internal.client.model.changeTracking.notification.
- filter;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.inte
- rnal.client.model.changeTracking.notification.recording;version="1.7.
+ filter;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.inte
+ rnal.client.model.changeTracking.notification.recording;version="1.8.
  0";x-friends:="org.eclipse.emf.emfstore.test.common",org.eclipse.emf.
- emfstore.internal.client.model.connectionmanager;version="1.7.0"; x-f
+ emfstore.internal.client.model.connectionmanager;version="1.8.0"; x-f
  riends:="org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.emfstor
  e.example.helloworld,  org.eclipse.emf.emfstore.test.common,  org.ecl
  ipse.emf.emfstore.server.test,  org.eclipse.emf.ecp.emfstore.ui,  org
  .eclipse.emf.emfstore.client.test.ui",org.eclipse.emf.emfstore.intern
- al.client.model.connectionmanager.xmlrpc;version="1.7.0";x-friends:="
+ al.client.model.connectionmanager.xmlrpc;version="1.8.0";x-friends:="
  org.eclipse.emf.emfstore.test.common",org.eclipse.emf.emfstore.intern
- al.client.model.controller;version="1.7.0";x-friends:="org.eclipse.em
+ al.client.model.controller;version="1.8.0";x-friends:="org.eclipse.em
  f.emfstore.client.ui,org.eclipse.emf.emfstore.client.test,org.eclipse
  .emf.emfstore.example.merging",org.eclipse.emf.emfstore.internal.clie
- nt.model.exceptions;version="1.7.0"; x-friends:="org.eclipse.emf.emfs
+ nt.model.exceptions;version="1.8.0"; x-friends:="org.eclipse.emf.emfs
  tore.client.test,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.e
  mf.emfstore.test.common,  org.eclipse.emf.emfstore.client.ui.test",or
  g.eclipse.emf.emfstore.internal.client.model.filetransfer;version="1.
- 7.0";x-friends:="org.eclipse.emf.emfstore.client.test",org.eclipse.em
- f.emfstore.internal.client.model.impl;version="1.7.0"; x-friends:="or
+ 8.0";x-friends:="org.eclipse.emf.emfstore.client.test",org.eclipse.em
+ f.emfstore.internal.client.model.impl;version="1.8.0"; x-friends:="or
  g.eclipse.emf.emfstore.client.test,  org.eclipse.emf.emfstore.client.
  ui,  org.eclipse.emf.emfstore.fuzzy.emf.test,  org.eclipse.emf.emfsto
  re.test.common,  org.eclipse.emf.emfstore.server.test,  org.eclipse.e
  mf.emfstore.client.test.ui,  org.eclipse.emf.ecp.emfstore.core,  org.
  eclipse.emf.ecp.emfstore.ui.e3",org.eclipse.emf.emfstore.internal.cli
- ent.model.impl.api;version="1.7.0"; x-friends:="org.eclipse.emf.emfst
+ ent.model.impl.api;version="1.8.0"; x-friends:="org.eclipse.emf.emfst
  ore.client.ui,  org.eclipse.emf.emfstore.example.merging,  org.eclips
  e.emf.emfstore.fuzzy.emf.test,  org.eclipse.emf.emfstore.server.test,
    org.eclipse.emf.emfstore.test.common,  org.eclipse.emf.emfstore.cli
  ent.test,  org.eclipse.emf.ecp.emfstore.core,  org.eclipse.emf.ecp.em
  fstore.ui,  org.eclipse.emf.ecp.emfstore.ui.e3,  org.eclipse.emf.emfs
  tore.fuzzy.emf,  org.eclipse.emf.emfstore.client.test.ui",org.eclipse
- .emf.emfstore.internal.client.model.util;version="1.7.0"; x-friends:=
+ .emf.emfstore.internal.client.model.util;version="1.8.0"; x-friends:=
  "org.eclipse.emf.emfstore.client.model.edit,  org.eclipse.emf.emfstor
  e.client.transaction,  org.eclipse.emf.emfstore.client.ui,  org.eclip
  se.emf.emfstore.example.merging,  org.eclipse.emf.emfstore.server.tes
@@ -102,10 +102,10 @@
  re.core,  org.eclipse.emf.ecp.emfstore.ui,  org.eclipse.emf.emfstore.
  fuzzy.emf.test,  org.eclipse.emf.emfstore.client.test,  org.eclipse.e
  mf.emfstore.client.test.ui",org.eclipse.emf.emfstore.internal.client.
- observers;version="1.7.0"; x-friends:="org.eclipse.emf.emfstore.clien
+ observers;version="1.8.0"; x-friends:="org.eclipse.emf.emfstore.clien
  t.test,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.ecp.emf
  store.core,  org.eclipse.emf.ecp.emfstore.ui.e3",org.eclipse.emf.emfs
- tore.internal.client.properties;version="1.7.0";x-friends:="org.eclip
+ tore.internal.client.properties;version="1.8.0";x-friends:="org.eclip
  se.emf.emfstore.client.test",org.eclipse.emf.emfstore.internal.client
  .provider;version="1.0.2";x-internal:=true,org.eclipse.emf.emfstore.i
  nternal.client.startup;version="1.0.2";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client/pom.xml b/bundles/org.eclipse.emf.emfstore.client/pom.xml
index f90a8d6..1d0205b 100644
--- a/bundles/org.eclipse.emf.emfstore.client/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.client/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/ESWorkspaceProviderImpl.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/ESWorkspaceProviderImpl.java
index 2c69a82..8fe2bc6 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/ESWorkspaceProviderImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/ESWorkspaceProviderImpl.java
@@ -20,7 +20,6 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.URI;
@@ -65,9 +64,6 @@
 import org.eclipse.emf.emfstore.internal.common.model.Project;
 import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
 import org.eclipse.emf.emfstore.internal.common.observer.ObserverBus;
-import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrationException;
-import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrator;
-import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigratorUtil;
 import org.eclipse.emf.emfstore.server.model.ESChangePackage;
 import org.eclipse.emf.emfstore.server.model.versionspec.ESPrimaryVersionSpec;
 
@@ -215,6 +211,20 @@
 	}
 
 	/**
+	 * removes a workspace that is no longer needed, this also removes the
+	 * threadlocal reference to the workspace from the calling thread.
+	 *
+	 * @param token
+	 */
+	public static void removeInstance(String token) {
+		if (WorkspaceLocator.hasId(token)) {
+			WorkspaceLocator.removeWorkspaceProviderFor(token);
+		}
+		WS_THREAD_LOCAL.remove();
+
+	}
+
+	/**
 	 * Initialize the Workspace Manager.
 	 */
 	public static synchronized void init() {
@@ -610,32 +620,33 @@
 	}
 
 	private void migrateModelIfNeeded(ResourceSet resourceSet) {
-		// FIXME JF
-		EMFStoreMigrator migrator = null;
-		try {
-			migrator = EMFStoreMigratorUtil.getEMFStoreMigrator();
-		} catch (final EMFStoreMigrationException e2) {
-			WorkspaceUtil.logWarning(e2.getMessage(), null);
-			return;
-		}
+		// FIXME JF: currently we will only support server side migration
 
-		for (final List<URI> curModels : getPhysicalURIsForMigration()) {
-			// TODO logging?
-			if (!migrator.canHandle(curModels)) {
-				return;
-			}
-
-			if (!migrator.needsMigration(curModels)) {
-				return;
-			}
-
-			try {
-				migrator.migrate(curModels, new NullProgressMonitor());
-			} catch (final EMFStoreMigrationException e) {
-				WorkspaceUtil.logException(MessageFormat.format(
-					Messages.ESWorkspaceProviderImpl_Migration_Of_Project_Failed, curModels.get(0)), e);
-			}
-		}
+		// EMFStoreMigrator migrator = null;
+		// try {
+		// migrator = EMFStoreMigratorUtil.getEMFStoreMigrator();
+		// } catch (final EMFStoreMigrationException e2) {
+		// WorkspaceUtil.logWarning(e2.getMessage(), null);
+		// return;
+		// }
+		//
+		// for (final List<URI> curModels : getPhysicalURIsForMigration()) {
+		// // TODO logging?
+		// if (!migrator.canHandle(curModels)) {
+		// return;
+		// }
+		//
+		// if (!migrator.needsMigration(curModels)) {
+		// return;
+		// }
+		//
+		// try {
+		// migrator.migrate(curModels, new NullProgressMonitor());
+		// } catch (final EMFStoreMigrationException e) {
+		// WorkspaceUtil.logException(MessageFormat.format(
+		// Messages.ESWorkspaceProviderImpl_Migration_Of_Project_Failed, curModels.get(0)), e);
+		// }
+		// }
 	}
 
 	private List<List<URI>> getPhysicalURIsForMigration() {
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/WorkspaceLocator.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/WorkspaceLocator.java
index 0c3a4c3..e113d90 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/WorkspaceLocator.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/WorkspaceLocator.java
@@ -42,6 +42,16 @@
 	}
 
 	/**
+	 * Removes a workspace which is no longer needed.
+	 *
+	 * @param token
+	 */
+	public static void removeWorkspaceProviderFor(String workspaceProviderId) {
+		// TODO Auto-generated method stub
+		WORKSPACE_PROVIDER_MAP.remove(workspaceProviderId);
+	}
+
+	/**
 	 * Creates a workspace with a particular ID.
 	 *
 	 * @param workspaceProviderId
@@ -98,4 +108,5 @@
 
 		return createWorkspaceProviderFor(workspaceProviderId);
 	}
+
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/Messages.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/Messages.java
index 134fd30..ee286bd 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/Messages.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/Messages.java
@@ -23,6 +23,7 @@
 
 	private static final String BUNDLE_NAME = "org.eclipse.emf.emfstore.internal.client.model.connectionmanager.xmlrpc.messages"; //$NON-NLS-1$
 	public static String XmlRpcClientManager_Could_Not_Load_Certificate;
+	public static String XmlRpcClientManager_DownloadOfFragmentFailed;
 	public static String XmlRpcClientManager_UploadChangePackageFragmentCallFailed;
 	public static String XmlRpcClientManager_Malformed_URL_Or_Port;
 	public static String XmlRpcClientManager_NoValidSessionAndOrProjectId;
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/XmlRpcClientManager.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/XmlRpcClientManager.java
index e1a55b1..b83ab36 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/XmlRpcClientManager.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/XmlRpcClientManager.java
@@ -11,6 +11,8 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.model.connectionmanager.xmlrpc;
 
+import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -211,11 +213,11 @@
 
 		for (int i = 0; i < params.length; i++) {
 			final Object param = params[i];
-			if (AbstractChangePackage.class.isInstance(param) && !ChangePackageProxy.class.isInstance(param)) {
+			if (FileBasedChangePackage.class.isInstance(param) && !ChangePackageProxy.class.isInstance(param)) {
 				params[i] = uploadInFragments(
 					maybeSessionId.get(),
 					maybeProjectId.get(),
-					AbstractChangePackage.class.cast(param));
+					FileBasedChangePackage.class.cast(param));
 			}
 		}
 
@@ -254,17 +256,34 @@
 		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE
 			.createFileBasedChangePackage();
 		changePackage.initialize(FileUtil.createLocationForTemporaryChangePackage());
+		final File file = new File(changePackage.getTempFilePath());
+		FileWriter writer = null;
+		try {
+			writer = new FileWriter(file);
 
-		ChangePackageEnvelope envelope;
-		do {
-			envelope = executeCall("downloadChangePackageFragment", ChangePackageEnvelope.class, new Object[] { //$NON-NLS-1$
-				maybeSession.get(),
+			ChangePackageEnvelope envelope;
+			do {
+				envelope = executeCall("downloadChangePackageFragment", ChangePackageEnvelope.class, new Object[] { //$NON-NLS-1$
+					maybeSession.get(),
 					proxy.getId(),
 					fragmentIndex
-			});
-			changePackage.addAll(envelope.getFragment());
-			fragmentIndex += 1;
-		} while (!envelope.isLast());
+				});
+				for (final String s : envelope.getFragment()) {
+					writer.write(s + System.getProperty("line.separator")); //$NON-NLS-1$
+				}
+				fragmentIndex += 1;
+			} while (!envelope.isLast());
+		} catch (final IOException ex) {
+			throw new ESException(Messages.XmlRpcClientManager_DownloadOfFragmentFailed, ex);
+		} finally {
+			if (writer != null) {
+				try {
+					writer.close();
+				} catch (final IOException ex) {
+					throw new ESException(Messages.XmlRpcClientManager_DownloadOfFragmentFailed, ex);
+				}
+			}
+		}
 
 		try {
 			changePackage.setLogMessage(
@@ -277,8 +296,8 @@
 	}
 
 	private ChangePackageProxy uploadInFragments(SessionId sessionId,
-		ProjectId projectId, AbstractChangePackage changePackage)
-		throws ESException {
+		ProjectId projectId, FileBasedChangePackage changePackage)
+			throws ESException {
 
 		// get() is guarded
 		final Iterator<ChangePackageEnvelope> envelopes = ChangePackageUtil.splitChangePackage(
@@ -291,8 +310,7 @@
 				proxyId = uploadChangePackageFragment(
 					sessionId,
 					projectId,
-					envelopes.next()
-					);
+					envelopes.next());
 			}
 		} catch (final XmlRpcException ex) {
 			throw new ESException(Messages.XmlRpcClientManager_UploadChangePackageFragmentCallFailed, ex);
@@ -327,7 +345,7 @@
 		gzipCompressionEnabled = false;
 		final ESExtensionElement element = new ESExtensionPoint(
 			"org.eclipse.emf.emfstore.common.model.serializationOptions") //$NON-NLS-1$
-			.getFirst();
+				.getFirst();
 
 		if (element != null) {
 			gzipCompressionEnabled = element.getBoolean("GzipCompression"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/messages.properties b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/messages.properties
index 0e27d52..14e365c 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/messages.properties
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/xmlrpc/messages.properties
@@ -1,4 +1,5 @@
 XmlRpcClientManager_Could_Not_Load_Certificate=Couldn't load certificate
+XmlRpcClientManager_DownloadOfFragmentFailed=Download of change package fragment failed
 XmlRpcClientManager_UploadChangePackageFragmentCallFailed=Could not create change package fragment.
 XmlRpcClientManager_Malformed_URL_Or_Port=Malformed URL or Port
 XmlRpcClientManager_NoValidSessionAndOrProjectId=Cannot fragment change package without valid session and project ID.
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/controller/ShareController.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/controller/ShareController.java
index 9b0c881..6e896df 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/controller/ShareController.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/controller/ShareController.java
@@ -80,7 +80,9 @@
 			getProjectSpace().save();
 			getProjectSpace().startChangeRecording();
 			getProgressMonitor().done();
+			return null;
 		}
+
 		getProgressMonitor().subTask(Messages.ShareController_Sharing_Project_With_Server);
 
 		// make sure, current state of caches is written to resource
@@ -115,6 +117,7 @@
 		getProgressMonitor().subTask(Messages.ShareController_Finalizing_Share);
 		getProjectSpace().getLocalChangePackage().clear();
 		getProjectSpace().save();
+		// TODO EM: do we really need to save 3 times in row?!
 		getProjectSpace().updateDirtyState();
 
 		getProgressMonitor().done();
diff --git a/bundles/org.eclipse.emf.emfstore.common.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.common.model.edit/META-INF/MANIFEST.MF
index 6a48c92..cd7de8a 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.common.model.edit/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Common Model Edit
 Bundle-SymbolicName: org.eclipse.emf.emfstore.common.model.edit;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfstore.internal.common.model.provider.CommonEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.emf.emfstore.internal.common.model.provide
- r;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.server.model.e
+ r;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.server.model.e
  dit,org.eclipse.emf.emfstore.client.model.edit,org.eclipse.emf.emfsto
  re.client.test"
 Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.emfstore.common.model.edit/pom.xml b/bundles/org.eclipse.emf.emfstore.common.model.edit/pom.xml
index d97f14d..bc59fb4 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.common.model.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.common.model.edit</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.common.model/META-INF/MANIFEST.MF
index b874b41..ebf655e 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.common.model/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Common Model
 Bundle-SymbolicName: org.eclipse.emf.emfstore.common.model;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.emfstore.common;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.emf.emfstore.common;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)"
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.emfstore.common.model;version="1.7.0",
- org.eclipse.emf.emfstore.common.model.util;version="1.7.0",org.eclips
- e.emf.emfstore.internal.common.model;version="1.7.0"; x-friends:="org
+Export-Package: org.eclipse.emf.emfstore.common.model;version="1.8.0",
+ org.eclipse.emf.emfstore.common.model.util;version="1.8.0",org.eclips
+ e.emf.emfstore.internal.common.model;version="1.8.0"; x-friends:="org
  .eclipse.emf.emfstore.client,  org.eclipse.emf.emfstore.client.model.
  edit,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.emfstore.
  common.model.edit,  org.eclipse.emf.emfstore.ecore,  org.eclipse.emf.
@@ -28,14 +28,14 @@
  p.emfstore.core,  org.eclipse.emf.ecp.emfstore.ui.e3,  org.eclipse.em
  f.emfstore.performance.test,  org.eclipse.emf.emfstore.fuzzy.emf,  or
  g.eclipse.emf.emfstore.client.ui.test",org.eclipse.emf.emfstore.inter
- nal.common.model.impl;version="1.7.0"; x-friends:="org.eclipse.emf.em
+ nal.common.model.impl;version="1.8.0"; x-friends:="org.eclipse.emf.em
  fstore.client,  org.eclipse.emf.emfstore.client.changetracking.test, 
   org.eclipse.emf.emfstore.client.recording.test,  org.eclipse.emf.emf
  store.client.ui,  org.eclipse.emf.emfstore.server,  org.eclipse.emf.e
  mfstore.server.model,  org.eclipse.emf.ecp.emfstore.core,  org.eclips
  e.emf.emfstore.client.conflictdetection.test",org.eclipse.emf.emfstor
- e.internal.common.model.impl.util;version="1.7.0";x-internal:=true,or
- g.eclipse.emf.emfstore.internal.common.model.util;version="1.7.0"; x-
+ e.internal.common.model.impl.util;version="1.8.0";x-internal:=true,or
+ g.eclipse.emf.emfstore.internal.common.model.util;version="1.8.0"; x-
  friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfstore.
  client.ui,  org.eclipse.emf.emfstore.common.model.edit,  org.eclipse.
  emf.emfstore.fuzzy.emf.test,  org.eclipse.emf.emfstore.migration,  or
@@ -46,5 +46,6 @@
  ient.recording.test,  org.eclipse.emf.emfstore.client.test,  org.ecli
  pse.emf.emfstore.client.conflictdetection.test,  org.eclipse.emf.ecp.
  emfstore.core,  org.eclipse.emf.emfstore.client.api.test,  org.eclips
- e.emf.emfstore.performance.test"
+ e.emf.emfstore.performance.test,  org.eclipse.emf.emfstore.migration.
+ edapt"
 
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/pom.xml b/bundles/org.eclipse.emf.emfstore.common.model/pom.xml
index a8b1f3c..bb2b2a8 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.common.model/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.common.model</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.common/META-INF/MANIFEST.MF
index 551bc87..b0df8ca 100644
--- a/bundles/org.eclipse.emf.emfstore.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Common
 Bundle-SymbolicName: org.eclipse.emf.emfstore.common;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Activator: org.eclipse.emf.emfstore.internal.common.Activator
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
@@ -10,13 +10,13 @@
 Bundle-ActivationPolicy: lazy
 Export-Package: com.google.common.base;version="10.0.1",com.google.com
  mon.collect;version="10.0.1",com.google.common.io;version="2.2.0",org
- .apache.commons.io;version="1.7.0",org.apache.commons.io.comparator;v
+ .apache.commons.io;version="1.8.0",org.apache.commons.io.comparator;v
  ersion="2.0.1",org.apache.commons.io.filefilter;version="2.0.1",org.a
  pache.commons.io.input;version="2.0.1",org.apache.commons.io.monitor;
- version="2.0.1",org.apache.commons.io.output;version="1.7.0",org.apac
- he.commons.lang;version="1.7.0",org.eclipse.emf.emfstore.common;versi
- on="1.7.0",org.eclipse.emf.emfstore.common.extensionpoint;version="1.
- 7.0",org.eclipse.emf.emfstore.internal.common;version="1.7.0"; x-frie
+ version="2.0.1",org.apache.commons.io.output;version="1.8.0",org.apac
+ he.commons.lang;version="1.8.0",org.eclipse.emf.emfstore.common;versi
+ on="1.8.0",org.eclipse.emf.emfstore.common.extensionpoint;version="1.
+ 8.0",org.eclipse.emf.emfstore.internal.common;version="1.8.0"; x-frie
  nds:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfstore.clie
  nt.test.ui,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.emf
  store.common.model,  org.eclipse.emf.emfstore.example.merging,  org.e
@@ -25,7 +25,7 @@
  ient.test.common,  org.eclipse.emf.emfstore.test.common,  org.eclipse
  .emf.emfstore.client.recording.test,  org.eclipse.emf.emfstore.server
  .test,  org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfstor
- e.internal.common.api;version="1.7.0"; x-friends:="org.eclipse.emf.em
+ e.internal.common.api;version="1.8.0"; x-friends:="org.eclipse.emf.em
  fstore.client,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.
  emfstore.common.model,  org.eclipse.emf.emfstore.ecore,  org.eclipse.
  emf.emfstore.example.merging,  org.eclipse.emf.emfstore.fuzzy.emf.tes
@@ -37,7 +37,7 @@
  ecp.emfstore.ui.e3,  org.eclipse.emf.emfstore.client.api.test,  org.e
  clipse.emf.emfstore.fuzzy.emf,  org.eclipse.emf.emfstore.client.test,
    org.eclipse.emf.emfstore.client.test.ui",org.eclipse.emf.emfstore.i
- nternal.common.observer;version="1.7.0"; x-friends:="org.eclipse.emf.
+ nternal.common.observer;version="1.8.0"; x-friends:="org.eclipse.emf.
  emfstore.client,  org.eclipse.emf.emfstore.client.test.ui,  org.eclip
  se.emf.emfstore.client.ui,  org.eclipse.emf.emfstore.client.recording
  .test,  org.eclipse.emf.emfstore.client.test"
diff --git a/bundles/org.eclipse.emf.emfstore.common/pom.xml b/bundles/org.eclipse.emf.emfstore.common/pom.xml
index 573264b..c5229b0 100644
--- a/bundles/org.eclipse.emf.emfstore.common/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.common/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.common</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.ecore/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.ecore/META-INF/MANIFEST.MF
index b4c771e..20bb0d8 100644
--- a/bundles/org.eclipse.emf.emfstore.ecore/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.ecore/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore ECore Integration
 Bundle-SymbolicName: org.eclipse.emf.emfstore.ecore;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfstore.internal.ecore.Activator
-Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.internal.ecore;version="1.7.0
+Export-Package: org.eclipse.emf.emfstore.internal.ecore;version="1.8.0
  ";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.ecore/pom.xml b/bundles/org.eclipse.emf.emfstore.ecore/pom.xml
index 3c53a99..60a59dc 100644
--- a/bundles/org.eclipse.emf.emfstore.ecore/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.ecore/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.ecore</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF
index f9400f0..6f5f1b7 100644
--- a/bundles/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Example Hello World
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.helloworld;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.5.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.5.0,2.0.0)",
@@ -10,4 +10,4 @@
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.emfstore.example.helloworld;version="1
- .7.0"
+ .8.0"
diff --git a/bundles/org.eclipse.emf.emfstore.example.helloworld/pom.xml b/bundles/org.eclipse.emf.emfstore.example.helloworld/pom.xml
index e33c9a9..ea282c7 100644
--- a/bundles/org.eclipse.emf.emfstore.example.helloworld/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.example.helloworld/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.example.helloworld</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.example.installer/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.example.installer/META-INF/MANIFEST.MF
index 12e5ae6..41d9c6f 100644
--- a/bundles/org.eclipse.emf.emfstore.example.installer/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.example.installer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore example installer
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.installer;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
diff --git a/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF
index 65c85b7..3db0db4 100644
--- a/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Example Hello World
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.helloworld;singleton:=true
-Bundle-Version: 1.7.0.qualifier
-Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.0,2.0.0)",
+Bundle-Version: 1.8.0.qualifier
+Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.example.helloworld;version="1.7.0";uses:="org.eclipse.emf.emfstore.client,org.eclipse.equinox.app"
+Export-Package: org.eclipse.emf.emfstore.example.helloworld;version="1.8.0";uses:="org.eclipse.emf.emfstore.client,org.eclipse.equinox.app"
diff --git a/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/pom.xml b/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/pom.xml
index e33c9a9..ea282c7 100644
--- a/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.helloworld/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.example.helloworld</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF
index e759c98..2e0a807 100644
--- a/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.example.installer/examples/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Example Merging client
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.merging;singleton:=true
-Bundle-Version: 1.7.0.qualifier
-Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.0,2.0.0)",
+Bundle-Version: 1.8.0.qualifier
+Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.emfstore.example.helloworld;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.example.helloworld;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.server;bundle-version="[1.8.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.7.0";uses:="org.eclipse.emf.emfstore.client,org.eclipse.equinox.app"
+Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.8.0";uses:="org.eclipse.emf.emfstore.client,org.eclipse.equinox.app"
diff --git a/bundles/org.eclipse.emf.emfstore.example.installer/pom.xml b/bundles/org.eclipse.emf.emfstore.example.installer/pom.xml
index d7dc4e8..1909edd 100644
--- a/bundles/org.eclipse.emf.emfstore.example.installer/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.example.installer/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.example.installer</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF
index 261e2c8..00c02c2 100644
--- a/bundles/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.example.merging/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Example Merging client
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.merging;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.0,2.0.0)",
@@ -11,5 +11,5 @@
  org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.7.
+Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.8.
  0"
diff --git a/bundles/org.eclipse.emf.emfstore.example.merging/pom.xml b/bundles/org.eclipse.emf.emfstore.example.merging/pom.xml
index e49316a..a7c4893 100644
--- a/bundles/org.eclipse.emf.emfstore.example.merging/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.example.merging/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.example.merging</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.example.sessionprovider/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.example.sessionprovider/META-INF/MANIFEST.MF
index 8bba587..e6d181f 100644
--- a/bundles/org.eclipse.emf.emfstore.example.sessionprovider/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.example.sessionprovider/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Example SessionProvider
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.sessionprovider;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Activator: org.eclipse.emf.emfstore.exampleclient.Activator
-Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.8.0,2.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)"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.exampleclient;version="1.7.0";x-internal:=true
+Export-Package: org.eclipse.emf.emfstore.exampleclient;version="1.8.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.example.sessionprovider/pom.xml b/bundles/org.eclipse.emf.emfstore.example.sessionprovider/pom.xml
index 83d5c65..c1b20bd 100644
--- a/bundles/org.eclipse.emf.emfstore.example.sessionprovider/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.example.sessionprovider/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.example.sessionprovider</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.examplemodel.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.examplemodel.edit/META-INF/MANIFEST.MF
index 2b2e5f2..a9982c9 100644
--- a/bundles/org.eclipse.emf.emfstore.examplemodel.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.examplemodel.edit/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Bowling Example Model Edit
 Bundle-SymbolicName: org.eclipse.emf.emfstore.examplemodel.edit;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfstore.bowling.provider.BowlingEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.bowling.provider;version="1.7
+Export-Package: org.eclipse.emf.emfstore.bowling.provider;version="1.8
  .0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.emfstore.examplemodel.edit/pom.xml b/bundles/org.eclipse.emf.emfstore.examplemodel.edit/pom.xml
index 8ecd8a7..ac182e1 100644
--- a/bundles/org.eclipse.emf.emfstore.examplemodel.edit/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.examplemodel.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.examplemodel.edit</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.examplemodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.examplemodel/META-INF/MANIFEST.MF
index ce24177..f6b972e 100644
--- a/bundles/org.eclipse.emf.emfstore.examplemodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.examplemodel/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.emfstore.examplemodel;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.bowling;version="1.7.0",org.e
- clipse.emf.emfstore.bowling.impl;version="1.7.0",org.eclipse.emf.emfs
- tore.bowling.util;version="1.7.0"
+Export-Package: org.eclipse.emf.emfstore.bowling;version="1.8.0",org.e
+ clipse.emf.emfstore.bowling.impl;version="1.8.0",org.eclipse.emf.emfs
+ tore.bowling.util;version="1.8.0"
 Require-Bundle: 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
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.emfstore.examplemodel/pom.xml b/bundles/org.eclipse.emf.emfstore.examplemodel/pom.xml
index 92dd397..e57ddc4 100644
--- a/bundles/org.eclipse.emf.emfstore.examplemodel/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.examplemodel/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.examplemodel</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.edit/pom.xml b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.edit/pom.xml
index 494dcfe..76d2346 100644
--- a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.edit/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.edit/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.editor/pom.xml b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.editor/pom.xml
index a292ee6..50c2c8f 100644
--- a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.editor/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.editor/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/META-INF/MANIFEST.MF
index 49949a7..f56c4f8 100644
--- a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/META-INF/MANIFEST.MF
@@ -7,5 +7,5 @@
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.fuzzy.emf;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.junit;bundle-version="[4.11.0,5.0.0)"
+ org.junit;bundle-version="[4.10.0,5.0.0)"
 Export-Package: org.eclipse.emf.emfstore.internal.fuzzy.emf.example;version="2.0.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/pom.xml b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/pom.xml
index aa61b50..b48bcc9 100644
--- a/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/bundles/org.eclipse.emf.emfstore.fuzzy.emf/pom.xml b/bundles/org.eclipse.emf.emfstore.fuzzy.emf/pom.xml
index 03d1ed2..7d68ecb 100644
--- a/bundles/org.eclipse.emf.emfstore.fuzzy.emf/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.fuzzy.emf/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/.checkstyle b/bundles/org.eclipse.emf.emfstore.migration.edapt/.checkstyle
new file mode 100644
index 0000000..9f196dc
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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" location="/EMFStoreDeveloper/checkstyle/esmCheckstyle.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" local="true">
+    <file-match-pattern match-pattern=".java" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/.classpath b/bundles/org.eclipse.emf.emfstore.migration.edapt/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/bundles/org.eclipse.emf.emfstore.migration.edapt/.project b/bundles/org.eclipse.emf.emfstore.migration.edapt/.project
new file mode 100644
index 0000000..0440610
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.emfstore.migration.edapt</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/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f548abb
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.runtime.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.core.runtime.prefs
similarity index 99%
rename from features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.runtime.prefs
rename to bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.core.runtime.prefs
index c522e1f..5a0ad22 100644
--- a/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.runtime.prefs
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.core.runtime.prefs
@@ -1,2 +1,2 @@
-eclipse.preferences.version=1

-line.separator=\n

+eclipse.preferences.version=1
+line.separator=\n
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c3dffe
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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=warning

+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/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.jdt.launching.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..3bb2352
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..8d55df1
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.ltk.core.refactoring.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..864e30f
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..e4e3c00
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.emf.emfstore.migration.edapt/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000..0bbee3c
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/.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/bundles/org.eclipse.emf.emfstore.migration.edapt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.migration.edapt/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..57f6aa5
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EMFStore Edapt Migration
+Bundle-SymbolicName: org.eclipse.emf.emfstore.migration.edapt;singleton:=true
+Bundle-Version: 1.8.0.qualifier
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.eclipse.emf.emfstore.migration;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.edapt.migration;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf.edapt.history;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)"
+Export-Package: org.eclipse.emf.emfstore.internal.migration.edapt;vers
+ ion="1.8.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/about.html b/bundles/org.eclipse.emf.emfstore.migration.edapt/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/build.properties b/bundles/org.eclipse.emf.emfstore.migration.edapt/build.properties
new file mode 100644
index 0000000..101ae79
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               plugin.xml
+src.includes = about.html
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/plugin.xml b/bundles/org.eclipse.emf.emfstore.migration.edapt/plugin.xml
new file mode 100644
index 0000000..eafcc6b
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.emf.emfstore.migration.migrator">
+      <Migrator
+            migratorClass="org.eclipse.emf.emfstore.internal.migration.edapt.EdaptMigrator">
+      </Migrator>
+   </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/pom.xml b/bundles/org.eclipse.emf.emfstore.migration.edapt/pom.xml
new file mode 100644
index 0000000..f07f140
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/pom.xml
@@ -0,0 +1,15 @@
+<?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-bundles-parent</artifactId>
+    <version>1.8.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
+  </parent>
+  <groupId>org.eclipse.emf.emfstore</groupId>
+  <artifactId>org.eclipse.emf.emfstore.migration.edapt</artifactId>
+  <version>1.8.0-SNAPSHOT</version>
+  <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/bundles/org.eclipse.emf.emfstore.migration.edapt/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigrator.java b/bundles/org.eclipse.emf.emfstore.migration.edapt/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigrator.java
new file mode 100644
index 0000000..c659488
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.migration.edapt/src/org/eclipse/emf/emfstore/internal/migration/edapt/EdaptMigrator.java
@@ -0,0 +1,178 @@
+/*******************************************************************************
+ * 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 java.text.MessageFormat;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.edapt.migration.MigrationException;
+import org.eclipse.emf.edapt.migration.ReleaseUtils;
+import org.eclipse.emf.edapt.migration.execution.Migrator;
+import org.eclipse.emf.edapt.migration.execution.MigratorRegistry;
+import org.eclipse.emf.edapt.spi.history.Release;
+import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrationException;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrator;
+
+/**
+ * {@link EMFStoreMigrator} using Edapt.
+ *
+ * @author Johannes Faltermeier
+ *
+ */
+public class EdaptMigrator implements EMFStoreMigrator {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrator#canHandle(java.util.Set)
+	 */
+	public Set<URI> canHandle(Set<URI> uris) {
+		final Set<URI> result = new LinkedHashSet<URI>();
+		for (final URI uri : uris) {
+			if (uri.isFile()) {
+				continue;
+			}
+			result.add(uri);
+		}
+		return result;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrator#needsMigration(java.util.Set)
+	 */
+	public Set<URI> needsMigration(Set<URI> uris) {
+		final Set<URI> result = new LinkedHashSet<URI>();
+
+		final Map<Set<String>, Boolean> nsURIsToMigrationStateMap = new LinkedHashMap<Set<String>, Boolean>();
+		for (final URI uri : uris) {
+			final Set<String> nsURIs = ReleaseUtils.getAllNamespaceURIsFromPrefixes(uri);
+			if (nsURIs.isEmpty()) {
+				continue;
+			}
+
+			if (nsURIsToMigrationStateMap.containsKey(nsURIs)) {
+				if (nsURIsToMigrationStateMap.get(nsURIs)) {
+					result.add(uri);
+				}
+				continue;
+			}
+
+			final Migrator migrator = getMigrator(nsURIs);
+			if (migrator == null) {
+				nsURIsToMigrationStateMap.put(nsURIs, false);
+				continue;
+			}
+			final Set<Release> releases = migrator.getRelease(nsURIs);
+			final Release newestRelease = getNewestRelease(releases);
+			final boolean migrationNeeded = !newestRelease.isLatestRelease();
+			nsURIsToMigrationStateMap.put(nsURIs, migrationNeeded);
+			if (migrationNeeded) {
+				result.add(uri);
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * Returns a {@link Migrator} which can handle the given namespace URIs.
+	 *
+	 * @param nameSpaceURIs the uris
+	 * @return the {@link Migrator} or null if non was found
+	 */
+	static Migrator getMigrator(Set<String> nameSpaceURIs) {
+		Migrator migrator = null;
+		for (final String nsURI : nameSpaceURIs) {
+			final Migrator candidate = MigratorRegistry.getInstance().getMigrator(nsURI);
+			if (candidate == null) {
+				continue;
+			}
+			if (migrator == null) {
+				migrator = candidate;
+				continue;
+			}
+			if (migrator != candidate) {
+				/* multiple migrators found */
+				ModelUtil.logWarning(MessageFormat
+					.format("For the given name-space URIs {0} multiple Edapt Migrators were found.", nameSpaceURIs)); //$NON-NLS-1$
+				return null;
+			}
+		}
+		return migrator;
+	}
+
+	/**
+	 * Returns the newest Release from the given set. It is expected that all releases are from the same history.
+	 *
+	 * @param releases the releases
+	 * @return the newest release
+	 */
+	static Release getNewestRelease(Set<Release> releases) {
+		Release sourceRelease = null;
+		for (final Release release : releases) {
+			if (sourceRelease == null) {
+				sourceRelease = release;
+				continue;
+			}
+			if (release.getNumber() > sourceRelease.getNumber()) {
+				sourceRelease = release;
+			}
+		}
+		return sourceRelease;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrator#migrate(java.util.Set,
+	 *      org.eclipse.core.runtime.IProgressMonitor)
+	 */
+	public void migrate(Set<URI> resources, IProgressMonitor monitor) throws EMFStoreMigrationException {
+		monitor.beginTask("Migrating resources", resources.size()); //$NON-NLS-1$
+		for (final URI uri : resources) {
+			final Set<String> nsURIs = ReleaseUtils.getAllNamespaceURIsFromPrefixes(uri);
+			final Migrator migrator = getMigrator(nsURIs);
+			final Set<Release> releases = migrator.getRelease(nsURIs);
+			final Release sourceRelease = getNewestRelease(releases);
+			try {
+				migrator.migrateAndSave(Collections.singletonList(uri), sourceRelease, null, monitor,
+					getResourceSaveOptions());
+				ModelUtil.logInfo(MessageFormat.format("Migrating file with URI {0} successfull.", uri)); //$NON-NLS-1$
+			} catch (final MigrationException ex) {
+				ModelUtil.logInfo(MessageFormat.format("Migrating file with URI {0} failed.", uri)); //$NON-NLS-1$
+				throw new EMFStoreMigrationException("Exception during migration", ex); //$NON-NLS-1$
+			}
+			monitor.worked(1);
+		}
+	}
+
+	private static Map<String, Object> getResourceSaveOptions() {
+		final Map<String, Object> result = new LinkedHashMap<String, Object>();
+		final Map<Object, Object> resourceSaveOptions = ModelUtil.getResourceSaveOptions();
+		for (final Object key : resourceSaveOptions.keySet()) {
+			if (!String.class.isInstance(key)) {
+				continue;
+			}
+			result.put((String) key, resourceSaveOptions.get(key));
+		}
+		return result;
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.emfstore.migration/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.migration/META-INF/MANIFEST.MF
index c5f8d30..af8a034 100644
--- a/bundles/org.eclipse.emf.emfstore.migration/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.migration/META-INF/MANIFEST.MF
@@ -2,13 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Migration
 Bundle-SymbolicName: org.eclipse.emf.emfstore.migration;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.emf.emfstore.internal.migration;version="1
- .7.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.
- emfstore.server";uses:="org.eclipse.core.runtime"
+ .8.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.
+ emfstore.server,  org.eclipse.emf.emfstore.migration.edapt";uses:="or
+ g.eclipse.core.runtime"
diff --git a/bundles/org.eclipse.emf.emfstore.migration/pom.xml b/bundles/org.eclipse.emf.emfstore.migration/pom.xml
index cbc5e9c..371ee6b 100644
--- a/bundles/org.eclipse.emf.emfstore.migration/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.migration/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.migration</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.migration/src/org/eclipse/emf/emfstore/internal/migration/EMFStoreMigrator.java b/bundles/org.eclipse.emf.emfstore.migration/src/org/eclipse/emf/emfstore/internal/migration/EMFStoreMigrator.java
index ede5ca6..95f074b 100644
--- a/bundles/org.eclipse.emf.emfstore.migration/src/org/eclipse/emf/emfstore/internal/migration/EMFStoreMigrator.java
+++ b/bundles/org.eclipse.emf.emfstore.migration/src/org/eclipse/emf/emfstore/internal/migration/EMFStoreMigrator.java
@@ -12,7 +12,7 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.migration;
 
-import java.util.List;
+import java.util.Set;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.emf.common.util.URI;
@@ -32,17 +32,17 @@
 	 * Checks if this migrator can work with the specified URIs.
 	 *
 	 * @param uris the physical URIs
-	 * @return true if migrator can handle the URI, false otherwise
+	 * @return a set of URIs which <b>cannot</b> be handled. The set is empty of all uris may be handled
 	 */
-	boolean canHandle(List<URI> uris);
+	Set<URI> canHandle(Set<URI> uris);
 
 	/**
 	 * Checks whether the models in the specified URIs need a to be migrated.
 	 *
 	 * @param uris the physical URIs
-	 * @return true if migration is needed, false otherwise
+	 * @return the URIs which <b>need</b> to be migrated. The set is empty if no URIs need to be migrated
 	 */
-	boolean needsMigration(List<URI> uris);
+	Set<URI> needsMigration(Set<URI> uris);
 
 	/**
 	 * Migrate the models in the given URIs from the given source version to the most recent version.
@@ -52,7 +52,7 @@
 	 *
 	 * @throws EMFStoreMigrationException if the migration fails.
 	 */
-	void migrate(List<URI> resources, IProgressMonitor monitor)
+	void migrate(Set<URI> resources, IProgressMonitor monitor)
 		throws EMFStoreMigrationException;
 
 }
diff --git a/bundles/org.eclipse.emf.emfstore.modelmutator/pom.xml b/bundles/org.eclipse.emf.emfstore.modelmutator/pom.xml
index 8c2b84d..4ced22e 100644
--- a/bundles/org.eclipse.emf.emfstore.modelmutator/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.modelmutator/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb.client/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.mongodb.client/META-INF/MANIFEST.MF
index 247074b..51a17dd 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb.client/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.mongodb.client/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore mongoDB Client
 Bundle-SymbolicName: org.eclipse.emf.emfstore.mongodb.client;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)",
  org.eclipselabs.mongo;bundle-version="[0.7.1,1.0.0)",
  org.eclipselabs.mongo.emf.ext;bundle-version="[0.7.1,1.0.0)",
- org.eclipse.emf.emfstore.mongodb;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.mongodb;bundle-version="[1.8.0,2.0.0)"
 Import-Package: org.osgi.service.cm;version="0.0.0"
 Service-Component: OSGI-INF/config.xml,
  OSGI-INF/provider.xml
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.emfstore.mongodb.client;version="1.7.0
+Export-Package: org.eclipse.emf.emfstore.mongodb.client;version="1.8.0
  ";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb.client/pom.xml b/bundles/org.eclipse.emf.emfstore.mongodb.client/pom.xml
index 283830e..72cb164 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb.client/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.mongodb.client/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.mongodb.client</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb.server/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.mongodb.server/META-INF/MANIFEST.MF
index d432835..610f2eb 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb.server/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.mongodb.server/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore mongoDB Server
 Bundle-SymbolicName: org.eclipse.emf.emfstore.mongodb.server;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipselabs.mongo;bundle-version="[0.7.1,1.0.0)",
  org.eclipselabs.mongo.emf.ext;bundle-version="[0.7.1,1.0.0)",
- org.eclipse.emf.emfstore.mongodb;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.mongodb;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.server;bundle-version="[1.8.0,2.0.0)"
 Import-Package: org.osgi.service.cm;version="0.0.0"
 Service-Component: OSGI-INF/config.xml,
  OSGI-INF/provider.xml
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.emfstore.mongodb.server;version="1.7.0
+Export-Package: org.eclipse.emf.emfstore.mongodb.server;version="1.8.0
  ";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb.server/pom.xml b/bundles/org.eclipse.emf.emfstore.mongodb.server/pom.xml
index ce3879f..bcefd01 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb.server/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.mongodb.server/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.mongodb.server</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.mongodb/META-INF/MANIFEST.MF
index ecda6b4..ce188a1 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.mongodb/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore mongoDB
 Bundle-SymbolicName: org.eclipse.emf.emfstore.mongodb;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipselabs.mongo;bundle-version="[0.7.1,1.0.0)",
  org.eclipselabs.mongo.emf.ext;bundle-version="[0.7.1,1.0.0)",
- org.eclipse.emf.emfstore.common;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.common;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.server;bundle-version="[1.8.0,2.0.0)"
 Import-Package: org.osgi.service.cm;version="0.0.0"
 Service-Component: OSGI-INF/config.xml,
  OSGI-INF/provider.xml
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.emf.emfstore.mongodb;version="1.7.0";x-fri
+Export-Package: org.eclipse.emf.emfstore.mongodb;version="1.8.0";x-fri
  ends:="org.eclipse.emf.emfstore.mongodb.client,org.eclipse.emf.emfsto
  re.mongodb.server"
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb/pom.xml b/bundles/org.eclipse.emf.emfstore.mongodb/pom.xml
index 13deb2a..6142428 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.mongodb/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.mongodb</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.server.model.edit/META-INF/MANIFEST.MF
index 416185c..0ea6062 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.server.model.edit/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Model Edit
 Bundle-SymbolicName: org.eclipse.emf.emfstore.server.model.edit;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfstore.internal.server.model.provider.ServerEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.emf.emfstore.internal.server.model.accessc
- ontrol.provider;version="1.7.0";x-internal:=true,org.eclipse.emf.emfs
- tore.internal.server.model.accesscontrol.roles.provider;version="1.7.
+ ontrol.provider;version="1.8.0";x-internal:=true,org.eclipse.emf.emfs
+ tore.internal.server.model.accesscontrol.roles.provider;version="1.8.
  0";x-internal:=true,org.eclipse.emf.emfstore.internal.server.model.pr
- ovider;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.mo
+ ovider;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.client.mo
  del.edit,org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfsto
- re.internal.server.model.url.provider;version="1.7.0";x-internal:=tru
+ re.internal.server.model.url.provider;version="1.8.0";x-internal:=tru
  e,org.eclipse.emf.emfstore.internal.server.model.versioning.events.pr
- ovider;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.inte
- rnal.server.model.versioning.events.server.provider;version="1.7.0";x
+ ovider;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.inte
+ rnal.server.model.versioning.events.server.provider;version="1.8.0";x
  -internal:=true,org.eclipse.emf.emfstore.internal.server.model.versio
- ning.operations.provider;version="1.7.0";x-friends:="org.eclipse.emf.
+ ning.operations.provider;version="1.8.0";x-friends:="org.eclipse.emf.
  emfstore.client.ui",org.eclipse.emf.emfstore.internal.server.model.ve
- rsioning.operations.semantic.provider;version="1.7.0";x-internal:=tru
+ rsioning.operations.semantic.provider;version="1.8.0";x-internal:=tru
  e,org.eclipse.emf.emfstore.internal.server.model.versioning.provider;
- version="1.7.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.emfstore.server.model;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.7.0,2.0.0)",
+ version="1.8.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.emfstore.server.model;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.emfstore.server.model.edit/pom.xml b/bundles/org.eclipse.emf.emfstore.server.model.edit/pom.xml
index 8aa1f60..bc94855 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.server.model.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.server.model.edit</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model.edit/src/org/eclipse/emf/emfstore/internal/server/model/versioning/provider/ChangePackageEnvelopeItemProvider.java b/bundles/org.eclipse.emf.emfstore.server.model.edit/src/org/eclipse/emf/emfstore/internal/server/model/versioning/provider/ChangePackageEnvelopeItemProvider.java
index 382b791..9c948ea 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model.edit/src/org/eclipse/emf/emfstore/internal/server/model/versioning/provider/ChangePackageEnvelopeItemProvider.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model.edit/src/org/eclipse/emf/emfstore/internal/server/model/versioning/provider/ChangePackageEnvelopeItemProvider.java
@@ -23,7 +23,6 @@
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
@@ -31,7 +30,6 @@
 import org.eclipse.emf.emfstore.internal.server.model.provider.ServerEditPlugin;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningPackage;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.OperationsFactory;
 
 /**
  * This is the item provider adapter for a
@@ -42,7 +40,7 @@
  * @generated
  */
 public class ChangePackageEnvelopeItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
-	IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+	ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
 
 	/**
 	 * This constructs an instance from a factory and a notifier.
@@ -204,35 +202,7 @@
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createCompositeOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createCreateDeleteOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createAttributeOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createMultiAttributeOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createMultiAttributeSetOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createMultiAttributeMoveOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createSingleReferenceOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createMultiReferenceSetOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createMultiReferenceOperation()));
-
-		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT,
-			OperationsFactory.eINSTANCE.createMultiReferenceMoveOperation()));
+		newChildDescriptors.add(createChildParameter(VersioningPackage.Literals.CHANGE_PACKAGE_ENVELOPE__FRAGMENT, "")); //$NON-NLS-1$
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.server.model/META-INF/MANIFEST.MF
index 66ac3b6..fe1740b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.server.model/META-INF/MANIFEST.MF
@@ -2,62 +2,62 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Server Model
 Bundle-SymbolicName: org.eclipse.emf.emfstore.server.model;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.emf.emfstore.internal.server.model;version
- ="1.7.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.e
+ ="1.8.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.e
  mf.emfstore.client.model.edit,  org.eclipse.emf.emfstore.client.test.
  common,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.emfstor
  e.server,  org.eclipse.emf.emfstore.server.model.edit,  org.eclipse.e
  mf.emfstore.test.common,  org.eclipse.emf.emfstore.server.test",org.e
- clipse.emf.emfstore.internal.server.model.accesscontrol;version="1.7.
+ clipse.emf.emfstore.internal.server.model.accesscontrol;version="1.8.
  0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emf
  store.client.model.edit,  org.eclipse.emf.emfstore.client.ui,  org.ec
  lipse.emf.emfstore.server,  org.eclipse.emf.emfstore.server.model.edi
  t,  org.eclipse.emf.emfstore.server.test,  org.eclipse.emf.emfstore.c
  lient.test.common,  org.eclipse.emf.emfstore.test.common",org.eclipse
- .emf.emfstore.internal.server.model.accesscontrol.impl;version="1.7.0
+ .emf.emfstore.internal.server.model.accesscontrol.impl;version="1.8.0
  ";x-friends:="org.eclipse.emf.emfstore.server",org.eclipse.emf.emfsto
- re.internal.server.model.accesscontrol.roles;version="1.7.0"; x-frien
+ re.internal.server.model.accesscontrol.roles;version="1.8.0"; x-frien
  ds:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfstore.clien
  t.ui,  org.eclipse.emf.emfstore.server,  org.eclipse.emf.emfstore.ser
  ver.model.edit,  org.eclipse.emf.emfstore.server.test,  org.eclipse.e
  mf.emfstore.test.common",org.eclipse.emf.emfstore.internal.server.mod
- el.accesscontrol.roles.impl;version="1.7.0";x-friends:="org.eclipse.e
+ el.accesscontrol.roles.impl;version="1.8.0";x-friends:="org.eclipse.e
  mf.emfstore.server",org.eclipse.emf.emfstore.internal.server.model.ac
- cesscontrol.roles.util;version="1.7.0";x-friends:="org.eclipse.emf.em
+ cesscontrol.roles.util;version="1.8.0";x-friends:="org.eclipse.emf.em
  fstore.server,org.eclipse.emf.emfstore.server.model.edit",org.eclipse
- .emf.emfstore.internal.server.model.accesscontrol.util;version="1.7.0
+ .emf.emfstore.internal.server.model.accesscontrol.util;version="1.8.0
  ";x-friends:="org.eclipse.emf.emfstore.server,org.eclipse.emf.emfstor
  e.server.model.edit",org.eclipse.emf.emfstore.internal.server.model.d
- ao;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.server,org.ec
+ ao;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.server,org.ec
  lipse.emf.emfstore.test.common",org.eclipse.emf.emfstore.internal.ser
- ver.model.impl;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.s
+ ver.model.impl;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.s
  erver,org.eclipse.emf.emfstore.client,org.eclipse.emf.emfstore.test.c
  ommon",org.eclipse.emf.emfstore.internal.server.model.impl.api;versio
- n="1.7.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.
+ n="1.8.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.
  emf.emfstore.client.ui,  org.eclipse.emf.emfstore.test.common,  org.e
  clipse.emf.emfstore.server.test,  org.eclipse.emf.emfstore.server",or
  g.eclipse.emf.emfstore.internal.server.model.impl.api.query;version="
- 1.7.0";x-friends:="org.eclipse.emf.emfstore.client.ui,org.eclipse.emf
+ 1.8.0";x-friends:="org.eclipse.emf.emfstore.client.ui,org.eclipse.emf
  .emfstore.client,org.eclipse.emf.emfstore.client.test",org.eclipse.em
- f.emfstore.internal.server.model.impl.api.versionspec;version="1.7.0"
+ f.emfstore.internal.server.model.impl.api.versionspec;version="1.8.0"
  ; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfst
  ore.client.ui,  org.eclipse.emf.emfstore.server.test,  org.eclipse.em
  f.emfstore.test.common,  org.eclipse.emf.emfstore.client.api.test",or
- g.eclipse.emf.emfstore.internal.server.model.url;version="1.7.0";x-fr
+ g.eclipse.emf.emfstore.internal.server.model.url;version="1.8.0";x-fr
  iends:="org.eclipse.emf.emfstore.server,org.eclipse.emf.emfstore.clie
  nt,org.eclipse.emf.emfstore.server.model.edit",org.eclipse.emf.emfsto
- re.internal.server.model.url.impl;version="1.7.0";x-friends:="org.ecl
+ re.internal.server.model.url.impl;version="1.8.0";x-friends:="org.ecl
  ipse.emf.emfstore.server",org.eclipse.emf.emfstore.internal.server.mo
- del.url.util;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.ser
+ del.url.util;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.ser
  ver,org.eclipse.emf.emfstore.server.model.edit",org.eclipse.emf.emfst
- ore.internal.server.model.util;version="1.7.0";x-friends:="org.eclips
+ ore.internal.server.model.util;version="1.8.0";x-friends:="org.eclips
  e.emf.emfstore.server,org.eclipse.emf.emfstore.server.model.edit",org
- .eclipse.emf.emfstore.internal.server.model.versioning;version="1.7.0
+ .eclipse.emf.emfstore.internal.server.model.versioning;version="1.8.0
  "; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfs
  tore.client.model.edit,  org.eclipse.emf.emfstore.client.ui,  org.ecl
  ipse.emf.emfstore.example.merging,  org.eclipse.emf.emfstore.fuzzy.em
@@ -67,25 +67,25 @@
  .test,  org.eclipse.emf.emfstore.client.conflictdetection.test,  org.
  eclipse.emf.emfstore.client.changetracking.test,  org.eclipse.emf.emf
  store.client.test",org.eclipse.emf.emfstore.internal.server.model.ver
- sioning.events;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.s
+ sioning.events;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.s
  erver,org.eclipse.emf.emfstore.server.model.edit",org.eclipse.emf.emf
- store.internal.server.model.versioning.events.impl;version="1.7.0";x-
+ store.internal.server.model.versioning.events.impl;version="1.8.0";x-
  friends:="org.eclipse.emf.emfstore.server",org.eclipse.emf.emfstore.i
- nternal.server.model.versioning.events.server;version="1.7.0";x-frien
+ nternal.server.model.versioning.events.server;version="1.8.0";x-frien
  ds:="org.eclipse.emf.emfstore.server,org.eclipse.emf.emfstore.server.
  model.edit",org.eclipse.emf.emfstore.internal.server.model.versioning
- .events.server.impl;version="1.7.0";x-friends:="org.eclipse.emf.emfst
+ .events.server.impl;version="1.8.0";x-friends:="org.eclipse.emf.emfst
  ore.server",org.eclipse.emf.emfstore.internal.server.model.versioning
- .events.server.util;version="1.7.0";x-friends:="org.eclipse.emf.emfst
+ .events.server.util;version="1.8.0";x-friends:="org.eclipse.emf.emfst
  ore.server,org.eclipse.emf.emfstore.server.model.edit",org.eclipse.em
- f.emfstore.internal.server.model.versioning.events.util;version="1.7.
+ f.emfstore.internal.server.model.versioning.events.util;version="1.8.
  0";x-friends:="org.eclipse.emf.emfstore.server,org.eclipse.emf.emfsto
  re.server.model.edit",org.eclipse.emf.emfstore.internal.server.model.
- versioning.impl;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.
+ versioning.impl;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.
  server,org.eclipse.emf.emfstore.client",org.eclipse.emf.emfstore.inte
- rnal.server.model.versioning.impl.persistent;version="1.7.0";x-friend
+ rnal.server.model.versioning.impl.persistent;version="1.8.0";x-friend
  s:="org.eclipse.emf.emfstore.client",org.eclipse.emf.emfstore.interna
- l.server.model.versioning.operations;version="1.7.0"; x-friends:="org
+ l.server.model.versioning.operations;version="1.8.0"; x-friends:="org
  .eclipse.emf.emfstore.client,  org.eclipse.emf.emfstore.client.change
  tracking.test,  org.eclipse.emf.emfstore.client.conflictdetection.tes
  t,  org.eclipse.emf.emfstore.client.model.edit,  org.eclipse.emf.emfs
@@ -96,34 +96,34 @@
  mf.ecp.emfstore.ui.e3,  org.eclipse.emf.emfstore.server.test,  org.ec
  lipse.emf.emfstore.fuzzy.emf.test,  org.eclipse.emf.emfstore.client.t
  est,  org.eclipse.emf.emfstore.client.ui.test",org.eclipse.emf.emfsto
- re.internal.server.model.versioning.operations.impl;version="1.7.0";x
+ re.internal.server.model.versioning.operations.impl;version="1.8.0";x
  -friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf.emfstore.s
  erver,org.eclipse.emf.emfstore.client.recording.test",org.eclipse.emf
  .emfstore.internal.server.model.versioning.operations.semantic;versio
- n="1.7.0";x-friends:="org.eclipse.emf.emfstore.server,org.eclipse.emf
+ n="1.8.0";x-friends:="org.eclipse.emf.emfstore.server,org.eclipse.emf
  .emfstore.client,org.eclipse.emf.emfstore.server.model.edit",org.ecli
  pse.emf.emfstore.internal.server.model.versioning.operations.semantic
- .impl;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.server",or
+ .impl;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.server",or
  g.eclipse.emf.emfstore.internal.server.model.versioning.operations.se
- mantic.util;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.serv
+ mantic.util;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.serv
  er,org.eclipse.emf.emfstore.server.model.edit",org.eclipse.emf.emfsto
- re.internal.server.model.versioning.operations.util;version="1.7.0"; 
+ re.internal.server.model.versioning.operations.util;version="1.8.0"; 
  x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfstor
  e.client.ui,  org.eclipse.emf.emfstore.server,  org.eclipse.emf.emfst
  ore.server.model.edit,  org.eclipse.emf.emfstore.client.test.common, 
   org.eclipse.emf.emfstore.client.recording.test,  org.eclipse.emf.emf
  store.test.common,  org.eclipse.emf.emfstore.client.changetracking.te
  st,  org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfstore.i
- nternal.server.model.versioning.util;version="1.7.0"; x-friends:="org
+ nternal.server.model.versioning.util;version="1.8.0"; x-friends:="org
  .eclipse.emf.emfstore.server,  org.eclipse.emf.emfstore.client.test, 
   org.eclipse.emf.emfstore.server.model.edit,  org.eclipse.emf.emfstor
- e.client.ui",org.eclipse.emf.emfstore.server;version="1.7.0",org.ecli
- pse.emf.emfstore.server.model;version="1.7.0",org.eclipse.emf.emfstor
- e.server.model.query;version="1.7.0",org.eclipse.emf.emfstore.server.
- model.versionspec;version="1.7.0"
-Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ e.client.ui",org.eclipse.emf.emfstore.server;version="1.8.0",org.ecli
+ pse.emf.emfstore.server.model;version="1.8.0",org.eclipse.emf.emfstor
+ e.server.model.query;version="1.8.0",org.eclipse.emf.emfstore.server.
+ model.versionspec;version="1.8.0"
+Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.emfstore.common;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.common;bundle-version="[1.8.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/model/server.ecore b/bundles/org.eclipse.emf.emfstore.server.model/model/server.ecore
index b638d88..7d81f67 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/model/server.ecore
+++ b/bundles/org.eclipse.emf.emfstore.server.model/model/server.ecore
@@ -194,8 +194,8 @@
           eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="fragmentCount" lowerBound="1"
           eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-      <eStructuralFeatures xsi:type="ecore:EReference" name="fragment" upperBound="-1"
-          eType="#//versioning/operations/AbstractOperation" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="fragment" unique="false"
+          upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="ChangePackageProxy" eSuperTypes="#//versioning/AbstractChangePackage">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/model/server.genmodel b/bundles/org.eclipse.emf.emfstore.server.model/model/server.genmodel
index e6c8fce..f4c9ac7 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/model/server.genmodel
+++ b/bundles/org.eclipse.emf.emfstore.server.model/model/server.genmodel
@@ -152,7 +152,7 @@
       <genClasses ecoreClass="server.ecore#//versioning/ChangePackageEnvelope">
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute server.ecore#//versioning/ChangePackageEnvelope/fragmentIndex"/>
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute server.ecore#//versioning/ChangePackageEnvelope/fragmentCount"/>
-        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference server.ecore#//versioning/ChangePackageEnvelope/fragment"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute server.ecore#//versioning/ChangePackageEnvelope/fragment"/>
       </genClasses>
       <genClasses ecoreClass="server.ecore#//versioning/ChangePackageProxy">
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute server.ecore#//versioning/ChangePackageProxy/id"/>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/pom.xml b/bundles/org.eclipse.emf.emfstore.server.model/pom.xml
index adafc3a..7003c0b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.server.model/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.server.model</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ChangePackageEnvelope.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ChangePackageEnvelope.java
index eafe5c6..e98b039 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ChangePackageEnvelope.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ChangePackageEnvelope.java
@@ -13,7 +13,6 @@
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
 
 /**
  * <!-- begin-user-doc -->
@@ -22,15 +21,15 @@
  *
  * <p>
  * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragmentIndex <em>
- * Fragment Index</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragmentCount <em>
- * Fragment Count</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragment <em>Fragment
- * </em>}</li>
- * </ul>
  * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragmentIndex
+ * <em>Fragment Index</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragmentCount
+ * <em>Fragment Count</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragment
+ * <em>Fragment</em>}</li>
+ * </ul>
  *
  * @see org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningPackage#getChangePackageEnvelope()
  * @model
@@ -98,9 +97,8 @@
 	void setFragmentCount(int value);
 
 	/**
-	 * Returns the value of the '<em><b>Fragment</b></em>' containment reference list.
-	 * The list contents are of type
-	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation}.
+	 * Returns the value of the '<em><b>Fragment</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Fragment</em>' containment reference isn't clear, there really should be more of a
@@ -108,12 +106,12 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 *
-	 * @return the value of the '<em>Fragment</em>' containment reference list.
+	 * @return the value of the '<em>Fragment</em>' attribute list.
 	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningPackage#getChangePackageEnvelope_Fragment()
-	 * @model containment="true" resolveProxies="true"
+	 * @model unique="false"
 	 * @generated
 	 */
-	EList<AbstractOperation> getFragment();
+	EList<String> getFragment();
 
 	/**
 	 * Whether the fragment contained in this envelope is the last one in a series of fragments.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ImageProxy.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ImageProxy.java
index 2f3fff6..2a0a767 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ImageProxy.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ImageProxy.java
@@ -12,13 +12,63 @@
 package org.eclipse.emf.emfstore.internal.server.model.versioning;
 
 /**
- * Proxy for an ImageData object in order to avoid depdendency to SWT.
+ * Proxy for an ImageData object in order to avoid dependency to SWT.
  *
  * @author emueller
  *
  */
 public final class ImageProxy {
 
+	/**
+	 * Helper class for representing RGB values.
+	 */
+	public static class RGB {
+		private final int red;
+		private final int green;
+		private final int blue;
+
+		/**
+		 * Value constructor for a RGB value.
+		 *
+		 * @param red the red value
+		 * @param green the green value
+		 * @param blue the blue value
+		 */
+		public RGB(int red, int green, int blue) {
+			this.red = red;
+			this.green = green;
+			this.blue = blue;
+		}
+
+		/**
+		 * Returns the red value.
+		 *
+		 * @return the red value
+		 */
+		public int getRed() {
+			return red;
+		}
+
+		/**
+		 * Returns the green value.
+		 *
+		 * @return the green value
+		 */
+		public int getGreen() {
+			return green;
+		}
+
+		/**
+		 * Returns the blue value.
+		 *
+		 * @return the blue value
+		 */
+		public int getBlue() {
+			return blue;
+		}
+
+	}
+
 	private int width;
 	private int height;
 	private int depth;
@@ -27,6 +77,8 @@
 	private int redMask;
 	private int greenMask;
 	private int blueMask;
+	private boolean direct = true;
+	private RGB[] paletteColors;
 
 	private ImageProxy() {
 
@@ -198,4 +250,34 @@
 		return this;
 	}
 
+	/**
+	 * Set palette colors, the palette direct flag is set to false.
+	 *
+	 * @param colors colors to set
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setPaletteColors(RGB[] colors) {
+		paletteColors = colors;
+		direct = false;
+		return this;
+	}
+
+	/**
+	 * Returns the palette colors.
+	 *
+	 * @return the palette colors
+	 */
+	public RGB[] getPaletteColors() {
+		return paletteColors;
+	}
+
+	/**
+	 * Whether this is a palette is direct.
+	 *
+	 * @return {@code true}, if this palette is direct, {@code false} otherwise.
+	 */
+	public boolean isDirect() {
+		return direct;
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/VersioningPackage.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/VersioningPackage.java
index 7356364..5642018 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/VersioningPackage.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/VersioningPackage.java
@@ -1166,8 +1166,8 @@
 
 	/**
 	 * The meta object id for the '
-	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.OperationProxyImpl
-	 * <em>Operation Proxy</em>}' class.
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.OperationProxyImpl <em>Operation Proxy</em>
+	 * }' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -1231,7 +1231,7 @@
 	int CHANGE_PACKAGE_ENVELOPE__FRAGMENT_COUNT = 1;
 
 	/**
-	 * The feature id for the '<em><b>Fragment</b></em>' containment reference list.
+	 * The feature id for the '<em><b>Fragment</b></em>' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -1343,8 +1343,8 @@
 
 	/**
 	 * Returns the meta object for class '
-	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.PrimaryVersionSpec
-	 * <em>Primary Version Spec</em>}'.
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.PrimaryVersionSpec <em>Primary Version Spec</em>
+	 * }'.
 	 * <!-- begin-user-doc --> <!--
 	 * end-user-doc -->
 	 *
@@ -1464,8 +1464,8 @@
 	EAttribute getLogMessage_Author();
 
 	/**
-	 * Returns the meta object for class '
-	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackage <em>Change Package</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackage
+	 * <em>Change Package</em>}'.
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 *
 	 * @return the meta object for class '<em>Change Package</em>'.
@@ -1525,8 +1525,8 @@
 
 	/**
 	 * Returns the meta object for the containment reference '
-	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo#getPrimarySpec
-	 * <em>Primary Spec</em>}'.
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo#getPrimarySpec <em>Primary Spec</em>
+	 * }'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -2242,23 +2242,23 @@
 	EAttribute getChangePackageEnvelope_FragmentCount();
 
 	/**
-	 * Returns the meta object for the containment reference list '
+	 * Returns the meta object for the attribute list '
 	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragment
 	 * <em>Fragment</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @return the meta object for the containment reference list '<em>Fragment</em>'.
+	 * @return the meta object for the attribute list '<em>Fragment</em>'.
 	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope#getFragment()
 	 * @see #getChangePackageEnvelope()
 	 * @generated
 	 */
-	EReference getChangePackageEnvelope_Fragment();
+	EAttribute getChangePackageEnvelope_Fragment();
 
 	/**
 	 * Returns the meta object for class '
-	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageProxy
-	 * <em>Change Package Proxy</em>}'.
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageProxy <em>Change Package Proxy</em>
+	 * }'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -2578,8 +2578,8 @@
 
 		/**
 		 * The meta object literal for the '
-		 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.HistoryQueryImpl
-		 * <em>History Query</em>}' class.
+		 * {@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.HistoryQueryImpl <em>History Query</em>
+		 * }' class.
 		 * <!-- begin-user-doc --> <!--
 		 * end-user-doc -->
 		 *
@@ -3048,13 +3048,13 @@
 		EAttribute CHANGE_PACKAGE_ENVELOPE__FRAGMENT_COUNT = eINSTANCE.getChangePackageEnvelope_FragmentCount();
 
 		/**
-		 * The meta object literal for the '<em><b>Fragment</b></em>' containment reference list feature.
+		 * The meta object literal for the '<em><b>Fragment</b></em>' attribute list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 *
 		 * @generated
 		 */
-		EReference CHANGE_PACKAGE_ENVELOPE__FRAGMENT = eINSTANCE.getChangePackageEnvelope_Fragment();
+		EAttribute CHANGE_PACKAGE_ENVELOPE__FRAGMENT = eINSTANCE.getChangePackageEnvelope_Fragment();
 
 		/**
 		 * The meta object literal for the '
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageEnvelopeImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageEnvelopeImpl.java
index dc59fb7..6816c5a 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageEnvelopeImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageEnvelopeImpl.java
@@ -14,17 +14,13 @@
 import java.util.Collection;
 
 import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningPackage;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
 
 /**
  * <!-- begin-user-doc -->
@@ -32,15 +28,15 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageEnvelopeImpl#getFragmentIndex
  * <em>Fragment Index</em>}</li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageEnvelopeImpl#getFragmentCount
  * <em>Fragment Count</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageEnvelopeImpl#getFragment <em>
- * Fragment</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageEnvelopeImpl#getFragment
+ * <em>Fragment</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -90,7 +86,7 @@
 	protected int fragmentCount = FRAGMENT_COUNT_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getFragment() <em>Fragment</em>}' containment reference list.
+	 * The cached value of the '{@link #getFragment() <em>Fragment</em>}' attribute list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -98,7 +94,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<AbstractOperation> fragment;
+	protected EList<String> fragment;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -177,9 +173,9 @@
 	 *
 	 * @generated
 	 */
-	public EList<AbstractOperation> getFragment() {
+	public EList<String> getFragment() {
 		if (fragment == null) {
-			fragment = new EObjectContainmentEList.Resolving<AbstractOperation>(AbstractOperation.class, this,
+			fragment = new EDataTypeEList<String>(String.class, this,
 				VersioningPackage.CHANGE_PACKAGE_ENVELOPE__FRAGMENT);
 		}
 		return fragment;
@@ -192,21 +188,6 @@
 	 * @generated
 	 */
 	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-		case VersioningPackage.CHANGE_PACKAGE_ENVELOPE__FRAGMENT:
-			return ((InternalEList<?>) getFragment()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 		case VersioningPackage.CHANGE_PACKAGE_ENVELOPE__FRAGMENT_INDEX:
@@ -237,7 +218,7 @@
 			return;
 		case VersioningPackage.CHANGE_PACKAGE_ENVELOPE__FRAGMENT:
 			getFragment().clear();
-			getFragment().addAll((Collection<? extends AbstractOperation>) newValue);
+			getFragment().addAll((Collection<? extends String>) newValue);
 			return;
 		}
 		super.eSet(featureID, newValue);
@@ -301,6 +282,8 @@
 		result.append(fragmentIndex);
 		result.append(", fragmentCount: "); //$NON-NLS-1$
 		result.append(fragmentCount);
+		result.append(", fragment: "); //$NON-NLS-1$
+		result.append(fragment);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/FileBasedChangePackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/FileBasedChangePackageImpl.java
index 05fdee3..021ab64 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/FileBasedChangePackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/FileBasedChangePackageImpl.java
@@ -102,9 +102,11 @@
 	private static final String TEMP_FILE_PREFIX = "temp-"; //$NON-NLS-1$
 
 	/**
+	 * Suffix for temporary operation files.
+	 *
 	 * @generated NOT
 	 */
-	private static final String TEMP_SUFFIX = ".temp"; //$NON-NLS-1$
+	public static final String TEMP_SUFFIX = ".temp"; //$NON-NLS-1$
 
 	// FIXME we also have a constant for this on the client side
 	private static final String OPERATION_FILE_SUFFIX = ".eoc"; //$NON-NLS-1$
@@ -171,8 +173,8 @@
 	 */
 	protected EList<OperationProxy> operationProxies;
 
-	private Optional<Integer> cachedSize = Optional.absent();
-	private Optional<Integer> cachedLeafSize = Optional.absent();
+	private int leafSize;
+	private int size;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -504,8 +506,6 @@
 	 */
 	public void add(AbstractOperation op) {
 
-		updateCaches(1, op.getLeafOperations().size());
-
 		final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 		final Resource resource = createVirtualResource();
 		resource.getContents().add(op);
@@ -650,10 +650,8 @@
 	 * @generated NOT
 	 */
 	public int size() {
-		if (!cachedSize.isPresent()) {
-			computeSize();
-		}
-		return cachedSize.get();
+		computeSize();
+		return size;
 	}
 
 	/**
@@ -673,10 +671,8 @@
 	 * @generated NOT
 	 */
 	public boolean isEmpty() {
-		if (!cachedSize.isPresent()) {
-			computeSize();
-		}
-		return cachedSize.get() == 0;
+		computeSize();
+		return size == 0;
 	}
 
 	/**
@@ -697,24 +693,18 @@
 			AbstractOperation operation;
 			final Optional<AbstractOperation> maybeOperation = operationEmitter.tryEmit();
 
-			int removedOps = 0;
-			int removedLeafOps = 0;
 			while (counter > 0 && maybeOperation.isPresent()) {
 				operation = maybeOperation.get();
 				ops.add(operation);
-				removedOps += 1;
-				removedLeafOps += operation.getLeafOperations().size();
 				counter -= 1;
 			}
 
-			updateCaches(-removedOps, -removedLeafOps);
-
 			raf = new RandomAccessFile(getTempFilePath(), "rw"); //$NON-NLS-1$
 			final long skip = operationEmitter.getOffset();
 			raf.seek(skip);
 			final byte[] bytes = asBytes(XmlTags.NEWLINE + XmlTags.CHANGE_PACKAGE_END);
 			raf.write(bytes);
-			raf.setLength(skip + bytes.length);			
+			raf.setLength(skip + bytes.length);
 
 			return ops;
 
@@ -734,20 +724,6 @@
 		}
 	}
 
-	private void invalidateCaches() {
-		cachedSize = Optional.absent();
-		cachedLeafSize = Optional.absent();
-	}
-
-	private void updateCaches(int size, int leafSize) {
-		final int lSize = cachedSize.isPresent() ? cachedSize.get() : 0;
-		final int lLeafSize = cachedLeafSize.isPresent() ? cachedLeafSize.get() : 0;
-		final int newSize = lSize + size;
-		final int newLeafSize = lLeafSize + leafSize;
-		cachedSize = Optional.of(newSize >= 0 ? newSize : 0);
-		cachedLeafSize = Optional.of(newLeafSize >= 0 ? newLeafSize : 0);
-	}
-
 	/**
 	 * {@inheritDoc}
 	 *
@@ -755,7 +731,6 @@
 	 * @generated NOT
 	 */
 	public void clear() {
-		invalidateCaches();
 		Optional<RandomAccessFile> maybeRandomAccessFile = Optional.absent();
 		try {
 			final RandomAccessFile randomAccessFile = new RandomAccessFile(getTempFilePath(), "rw"); //$NON-NLS-1$
@@ -808,6 +783,13 @@
 		final File tempOpFile = new File(getTempFilePath());
 		opFile.delete();
 		tempOpFile.delete();
+		if (eResource() != null) {
+			try {
+				eResource().delete(null);
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
+			}
+		}
 	}
 
 	/**
@@ -817,10 +799,8 @@
 	 * @generated NOT
 	 */
 	public int leafSize() {
-		if (!cachedLeafSize.isPresent()) {
-			computeSize();
-		}
-		return cachedLeafSize.get();
+		computeSize();
+		return size + leafSize;
 	}
 
 	private void computeSize() {
@@ -850,7 +830,9 @@
 				}
 			}
 		}
-		updateCaches(size, leafSize);
+
+		this.leafSize = leafSize;
+		this.size = size;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersioningPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersioningPackageImpl.java
index 0c7c293..ca3110a 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersioningPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersioningPackageImpl.java
@@ -260,8 +260,9 @@
 	 * 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 VersioningPackage#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
+	 * This method is used to initialize {@link VersioningPackage#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
@@ -1048,8 +1049,8 @@
 	 *
 	 * @generated
 	 */
-	public EReference getChangePackageEnvelope_Fragment() {
-		return (EReference) changePackageEnvelopeEClass.getEStructuralFeatures().get(2);
+	public EAttribute getChangePackageEnvelope_Fragment() {
+		return (EAttribute) changePackageEnvelopeEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -1200,7 +1201,7 @@
 		changePackageEnvelopeEClass = createEClass(CHANGE_PACKAGE_ENVELOPE);
 		createEAttribute(changePackageEnvelopeEClass, CHANGE_PACKAGE_ENVELOPE__FRAGMENT_INDEX);
 		createEAttribute(changePackageEnvelopeEClass, CHANGE_PACKAGE_ENVELOPE__FRAGMENT_COUNT);
-		createEReference(changePackageEnvelopeEClass, CHANGE_PACKAGE_ENVELOPE__FRAGMENT);
+		createEAttribute(changePackageEnvelopeEClass, CHANGE_PACKAGE_ENVELOPE__FRAGMENT);
 
 		changePackageProxyEClass = createEClass(CHANGE_PACKAGE_PROXY);
 		createEAttribute(changePackageProxyEClass, CHANGE_PACKAGE_PROXY__ID);
@@ -1478,9 +1479,9 @@
 		initEAttribute(getChangePackageEnvelope_FragmentCount(), ecorePackage.getEInt(), "fragmentCount", null, 1, 1, //$NON-NLS-1$
 			ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 			!IS_DERIVED, IS_ORDERED);
-		initEReference(getChangePackageEnvelope_Fragment(), theOperationsPackage.getAbstractOperation(), null,
-			"fragment", null, 0, -1, ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
-			IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getChangePackageEnvelope_Fragment(), ecorePackage.getEString(), "fragment", null, 0, -1, //$NON-NLS-1$
+			ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
 		initEClass(changePackageProxyEClass, ChangePackageProxy.class, "ChangePackageProxy", !IS_ABSTRACT, //$NON-NLS-1$
 			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/AbstractOperationEmitter.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/AbstractOperationEmitter.java
new file mode 100644
index 0000000..0e07075
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/AbstractOperationEmitter.java
@@ -0,0 +1,275 @@
+/*******************************************************************************
+ * 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:
+ * Edgar Mueller - initial API and implementation
+ * Johannes Faltermeier - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent;
+
+import java.io.BufferedReader;
+import java.io.Closeable;
+import java.io.DataInput;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PipedOutputStream;
+import java.io.RandomAccessFile;
+import java.nio.channels.Channels;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.io.input.ReversedLinesFileReader;
+import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+
+/**
+ * Abstract super class for implementing types which emit operations when given an {@link ReadLineCapable} type.
+ *
+ */
+public abstract class AbstractOperationEmitter implements Closeable {
+
+	private final Direction direction;
+
+	private final File operationsFile;
+
+	private ReadLineCapable reader;
+	private final List<Long> forwardOffsets = new ArrayList<Long>();
+	private final List<Long> backwardsOffsets = new ArrayList<Long>();
+	private int currentOpIndex;
+	private long startOffset;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param direction
+	 *            the {@link Direction} that is used for reading
+	 * @param file
+	 *            the operation file
+	 */
+	public AbstractOperationEmitter(Direction direction, File file) {
+		this.direction = direction;
+		operationsFile = file;
+		determineOperationOffsets();
+		currentOpIndex = direction == Direction.Forward ? 0 : backwardsOffsets.size() - 1;
+		initReader();
+	}
+
+	/**
+	 * @return the direction the {@link Direction}
+	 */
+	protected final Direction getDirection() {
+		return direction;
+	}
+
+	private void determineOperationOffsets() {
+		try {
+			final RandomAccessFile randomAccessFile = new RandomAccessFile(operationsFile, "r"); //$NON-NLS-1$
+			final InputStream inputStream = Channels.newInputStream(randomAccessFile.getChannel());
+			final InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
+			final BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+
+			long filePointer = 0;
+			try {
+				String line;
+				while ((line = bufferedReader.readLine()) != null) {
+					filePointer += line.getBytes().length;
+					final long filePointerAfterReadline = randomAccessFile.getFilePointer();
+					randomAccessFile.seek(filePointer);
+					int byteAfterLine = randomAccessFile.read();
+					/*
+					 * Line is terminated by either:
+					 * \r\n
+					 * \r
+					 * \n
+					 */
+					if (byteAfterLine == '\r') {
+						filePointer += 1;
+						byteAfterLine = randomAccessFile.read();
+					}
+					if (byteAfterLine == '\n') {
+						filePointer += 1;
+					}
+					randomAccessFile.seek(filePointerAfterReadline);
+
+					if (line.contains(XmlTags.CHANGE_PACKAGE_START)) {
+						startOffset = filePointer;
+					} else if (line.contains(XmlTags.OPERATIONS_START_TAG)) {
+						forwardOffsets.add(filePointer);
+					} else if (line.contains(XmlTags.OPERATIONS_END_TAG)) {
+						backwardsOffsets.add(filePointer);
+					}
+				}
+			} finally {
+				bufferedReader.close();
+				randomAccessFile.close();
+			}
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		}
+	}
+
+	private void initReader() {
+		try {
+			if (getDirection() == Direction.Forward) {
+				reader = ReadLineCapable.INSTANCE.create(new BufferedReader(new FileReader(operationsFile)));
+			} else {
+				reader = ReadLineCapable.INSTANCE.create(new ReversedLinesFileReader(operationsFile));
+			}
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		}
+	}
+
+	/**
+	 * Returns the current offset.
+	 *
+	 * @return the current offset
+	 */
+	public long getOffset() {
+		if (currentOpIndex < 0) {
+			return startOffset;
+		}
+		return backwardsOffsets.get(currentOpIndex);
+	}
+
+	/**
+	 * Since an XML Resource needs exactly one root object, we have to write a dummy object to the stream.
+	 *
+	 * @param pos the {@link PipedOutputStream}
+	 * @throws IOException in case there is a problem during write
+	 */
+	private static void writeDummyResourceToStream(PipedOutputStream pos) throws IOException {
+		pos.write(XmlTags.XML_RESOURCE_WITH_EOBJECT.getBytes());
+	}
+
+	/**
+	 * Reads the file in forward direction and writes read lines to the given stream.
+	 *
+	 * @param pos the output stream
+	 */
+	protected final void readForward(PipedOutputStream pos) {
+		try {
+			boolean operationsFound = false;
+			boolean withinOperationsElement = false;
+			final boolean isForwardDir = getDirection() == Direction.Forward;
+			final String closingTag = getClosingTag(isForwardDir);
+			String line = reader.readLine();
+			while (line != null && !line.contains(closingTag)) {
+				if (line.contains(getOpeningTag(isForwardDir))) {
+					withinOperationsElement = true;
+				} else if (withinOperationsElement) {
+					operationsFound = true;
+					pos.write(line.getBytes());
+				}
+				line = reader.readLine();
+			}
+			if (line != null) {
+				withinOperationsElement = false;
+			}
+			if (!operationsFound) {
+				writeDummyResourceToStream(pos);
+			}
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		} finally {
+			try {
+				pos.close();
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
+			}
+		}
+	}
+
+	private void readForward(DataInput reader, PipedOutputStream pos) {
+		try {
+			boolean operationsFound = false;
+			boolean withinOperationsElement = true;
+			final String closingTag = getClosingTag(true);
+			String line = reader.readLine();
+			while (line != null && !line.contains(closingTag)) {
+				if (line.contains(getOpeningTag(true))) {
+					withinOperationsElement = true;
+				} else if (withinOperationsElement && line.length() > 0) {
+					operationsFound = true;
+					pos.write(line.getBytes());
+				}
+				line = reader.readLine();
+			}
+
+			if (!operationsFound) {
+				writeDummyResourceToStream(pos);
+			}
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		} finally {
+			try {
+				pos.close();
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
+			}
+		}
+	}
+
+	/**
+	 * Reads the file in backward direction and writes read lines to the given stream.
+	 *
+	 * @param pos the output strea,
+	 */
+	protected final void readBackward(PipedOutputStream pos) {
+
+		if (currentOpIndex < 0) {
+			try {
+				writeDummyResourceToStream(pos);
+				pos.close();
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
+			}
+			return;
+		}
+
+		final long offset = forwardOffsets.get(currentOpIndex);
+		currentOpIndex -= 1;
+
+		RandomAccessFile raf = null;
+		try {
+			raf = new RandomAccessFile(operationsFile, "r"); //$NON-NLS-1$
+			raf.skipBytes((int) offset);
+			readForward(raf, pos);
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		} finally {
+			try {
+				raf.close();
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
+			}
+		}
+	}
+
+	private String getClosingTag(boolean isForward) {
+		return isForward ? XmlTags.OPERATIONS_END_TAG : XmlTags.OPERATIONS_START_TAG;
+	}
+
+	private String getOpeningTag(boolean isForward) {
+		return isForward ? XmlTags.OPERATIONS_START_TAG : XmlTags.OPERATIONS_END_TAG;
+	}
+
+	/**
+	 * Closes the emitter.
+	 */
+	public void close() {
+		try {
+			reader.close();
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationEmitter.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationEmitter.java
index 6a38064..5acdf25 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationEmitter.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationEmitter.java
@@ -11,22 +11,11 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent;
 
-import java.io.BufferedReader;
-import java.io.Closeable;
-import java.io.DataInput;
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.io.PipedInputStream;
 import java.io.PipedOutputStream;
-import java.io.RandomAccessFile;
-import java.nio.channels.Channels;
-import java.util.ArrayList;
-import java.util.List;
 
-import org.apache.commons.io.input.ReversedLinesFileReader;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
@@ -48,17 +37,7 @@
  * @author emueller
  *
  */
-public class OperationEmitter implements Closeable {
-
-	private final Direction direction;
-
-	private final File operationsFile;
-
-	private ReadLineCapable reader;
-	private final List<Long> forwardOffsets = new ArrayList<Long>();
-	private final List<Long> backwardsOffsets = new ArrayList<Long>();
-	private int currentOpIndex;
-	private long startOffset;
+public class OperationEmitter extends AbstractOperationEmitter {
 
 	/**
 	 * Constructor.
@@ -69,185 +48,7 @@
 	 *            the operation file
 	 */
 	public OperationEmitter(Direction direction, File file) {
-		this.direction = direction;
-		operationsFile = file;
-		determineOperationOffsets();
-		currentOpIndex = direction == Direction.Forward ? 0 : backwardsOffsets.size() - 1;
-		initReader();
-	}
-
-	private void determineOperationOffsets() {
-		try {
-			final RandomAccessFile randomAccessFile = new RandomAccessFile(operationsFile, "r"); //$NON-NLS-1$
-			final InputStream inputStream = Channels.newInputStream(randomAccessFile.getChannel());
-			final InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
-			final BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
-
-			long filePointer = 0;
-			try {
-				String line;
-				while ((line = bufferedReader.readLine()) != null) {
-					filePointer += line.getBytes().length;
-					final long filePointerAfterReadline = randomAccessFile.getFilePointer();
-					randomAccessFile.seek(filePointer);
-					int byteAfterLine = randomAccessFile.read();
-					/*
-					 * Line is terminated by either:
-					 * \r\n
-					 * \r
-					 * \n
-					 */
-					if (byteAfterLine == '\r') {
-						filePointer += 1;
-						byteAfterLine = randomAccessFile.read();
-					}
-					if (byteAfterLine == '\n') {
-						filePointer += 1;
-					}
-					randomAccessFile.seek(filePointerAfterReadline);
-
-					if (line.contains(XmlTags.CHANGE_PACKAGE_START)) {
-						startOffset = filePointer;
-					} else if (line.contains(XmlTags.OPERATIONS_START_TAG)) {
-						forwardOffsets.add(filePointer);
-					} else if (line.contains(XmlTags.OPERATIONS_END_TAG)) {
-						backwardsOffsets.add(filePointer);
-					}
-				}
-			} finally {
-				bufferedReader.close();
-				randomAccessFile.close();
-			}
-		} catch (final IOException ex) {
-			ModelUtil.logException(ex);
-		}
-	}
-
-	private void initReader() {
-		try {
-			if (direction == Direction.Forward) {
-				reader = ReadLineCapable.INSTANCE.create(new BufferedReader(new FileReader(operationsFile)));
-			} else {
-				reader = ReadLineCapable.INSTANCE.create(new ReversedLinesFileReader(operationsFile));
-			}
-		} catch (final IOException ex) {
-			ModelUtil.logException(ex);
-		}
-	}
-
-	/**
-	 * Returns the current offset.
-	 *
-	 * @return the current offset
-	 */
-	public long getOffset() {
-		if (currentOpIndex < 0) {
-			return startOffset;
-		}
-		return backwardsOffsets.get(currentOpIndex);
-	}
-
-	/**
-	 * Since an XML Resource needs exactly one root object, we have to write a dummy object to the stream.
-	 *
-	 * @param pos the outputstream
-	 * @throws IOException in case there is a problem during write
-	 */
-	private static void writeDummyResourceToStream(PipedOutputStream pos) throws IOException {
-		pos.write(XmlTags.XML_RESOURCE_WITH_EOBJECT.getBytes());
-	}
-
-	private void readForward(PipedOutputStream pos) {
-		try {
-			boolean operationsFound = false;
-			boolean withinOperationsElement = false;
-			final boolean isForwardDir = direction == Direction.Forward;
-			final String closingTag = getClosingTag(isForwardDir);
-			String line = reader.readLine();
-			while (line != null && !line.contains(closingTag)) {
-				if (line.contains(getOpeningTag(isForwardDir))) {
-					withinOperationsElement = true;
-				} else if (withinOperationsElement) {
-					operationsFound = true;
-					pos.write(line.getBytes());
-				}
-				line = reader.readLine();
-			}
-			if (line != null) {
-				withinOperationsElement = false;
-			}
-			if (!operationsFound) {
-				writeDummyResourceToStream(pos);
-			}
-		} catch (final IOException ex) {
-			ModelUtil.logException(ex);
-		} finally {
-			try {
-				pos.close();
-			} catch (final IOException ex) {
-				ModelUtil.logException(ex);
-			}
-		}
-	}
-
-	private void readForward(DataInput reader, PipedOutputStream pos) {
-		try {
-			boolean operationsFound = false;
-			boolean withinOperationsElement = true;
-			final String closingTag = getClosingTag(true);
-			String line = reader.readLine();
-			while (line != null && !line.contains(closingTag)) {
-				if (line.contains(getOpeningTag(true))) {
-					withinOperationsElement = true;
-				} else if (withinOperationsElement && line.length() > 0) {
-					operationsFound = true;
-					pos.write(line.getBytes());
-				}
-				line = reader.readLine();
-			}
-
-			if (!operationsFound) {
-				writeDummyResourceToStream(pos);
-			}
-		} catch (final IOException ex) {
-			ModelUtil.logException(ex);
-		} finally {
-			try {
-				pos.close();
-			} catch (final IOException ex) {
-				ModelUtil.logException(ex);
-			}
-		}
-	}
-
-	private void readBackward(PipedOutputStream pos) {
-
-		if (currentOpIndex < 0) {
-			try {
-				pos.close();
-			} catch (final IOException ex) {
-				ModelUtil.logException(ex);
-			}
-			return;
-		}
-
-		final long offset = forwardOffsets.get(currentOpIndex);
-		currentOpIndex -= 1;
-
-		RandomAccessFile raf = null;
-		try {
-			raf = new RandomAccessFile(operationsFile, "r"); //$NON-NLS-1$
-			raf.skipBytes((int) offset);
-			readForward(raf, pos);
-		} catch (final IOException ex) {
-			ModelUtil.logException(ex);
-		} finally {
-			try {
-				raf.close();
-			} catch (final IOException ex) {
-				ModelUtil.logException(ex);
-			}
-		}
+		super(direction, file);
 	}
 
 	/**
@@ -264,7 +65,7 @@
 
 		new Thread(new Runnable() {
 			public void run() {
-				if (direction == Direction.Forward) {
+				if (getDirection() == Direction.Forward) {
 					readForward(pos);
 				} else {
 					readBackward(pos);
@@ -283,15 +84,6 @@
 		} finally {
 			pis.close();
 		}
-
-	}
-
-	private String getClosingTag(boolean isForward) {
-		return isForward ? XmlTags.OPERATIONS_END_TAG : XmlTags.OPERATIONS_START_TAG;
-	}
-
-	private String getOpeningTag(boolean isForward) {
-		return isForward ? XmlTags.OPERATIONS_START_TAG : XmlTags.OPERATIONS_END_TAG;
 	}
 
 	private EObject deserialize(final PipedInputStream pis) throws IOException {
@@ -302,15 +94,4 @@
 		xmlLoadImpl.load((XMLResource) resource, pis, ModelUtil.getResourceLoadOptions());
 		return resource.getContents().get(0);
 	}
-
-	/**
-	 * Closes the emitter.
-	 */
-	public void close() {
-		try {
-			reader.close();
-		} catch (final IOException ex) {
-			ModelUtil.logException(ex);
-		}
-	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/SerializedOperationEmitter.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/SerializedOperationEmitter.java
new file mode 100644
index 0000000..77486ba
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/SerializedOperationEmitter.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * 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.server.model.versioning.impl.persistent;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PipedInputStream;
+import java.io.PipedOutputStream;
+import java.util.Scanner;
+
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
+
+import com.google.common.base.Optional;
+
+/**
+ * Type for emitting {@link AbstractOperation}s in their serialized form when given a {@link ReadLineCapable} type.
+ *
+ * @author Johannes Faltermeier
+ *
+ */
+public class SerializedOperationEmitter extends AbstractOperationEmitter {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param direction
+	 *            the {@link Direction} that is used for reading
+	 * @param file
+	 *            the operation file
+	 */
+	public SerializedOperationEmitter(Direction direction, File file) {
+		super(direction, file);
+	}
+
+	/**
+	 * Tries to parse an operation in the reading directions and emits it,
+	 * if parsing has been successful. The operation is returned in its parsed string representation.
+	 *
+	 * @return the successfully parsed operation as a string representation
+	 * @throws IOException
+	 *             in case reading from the {@link ReadLineCapable} fails
+	 */
+	public Optional<String> tryEmit() throws IOException {
+		final PipedOutputStream pos = new PipedOutputStream();
+		final PipedInputStream pis = new PipedInputStream(pos);
+
+		new Thread(new Runnable() {
+			public void run() {
+				if (getDirection() == Direction.Forward) {
+					readForward(pos);
+				} else {
+					readBackward(pos);
+				}
+			}
+		}).start();
+
+		try {
+			final String streamToString = convertStreamToString(pis);
+			if (XmlTags.XML_RESOURCE_WITH_EOBJECT.equals(streamToString)) {
+				return Optional.absent();
+			}
+			return Optional.of(streamToString);
+		} finally {
+			pis.close();
+		}
+	}
+
+	private static String convertStreamToString(InputStream inputStream) {
+		final Scanner scanner = new Scanner(inputStream);
+		scanner.useDelimiter("\\A"); //$NON-NLS-1$
+		final String result = scanner.hasNext() ? scanner.next() : ""; //$NON-NLS-1$
+		scanner.close();
+		return result;
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/ChangePackageUtil.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/ChangePackageUtil.java
index e1f94c6..5ea8e7f 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/ChangePackageUtil.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/ChangePackageUtil.java
@@ -11,15 +11,22 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.model.versioning.operations.util;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.LineNumberReader;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
 
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.io.LineIterator;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.emfstore.internal.common.model.util.FileUtil;
-import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope;
@@ -71,38 +78,15 @@
 	 *            the max number of operations a single fragment may consists of
 	 * @return an iterator for the created fragments
 	 */
-	public static Iterator<ChangePackageEnvelope> splitChangePackage(final AbstractChangePackage changePackage,
+	public static Iterator<ChangePackageEnvelope> splitChangePackage(final FileBasedChangePackage changePackage,
 		final int changePackageFragmentSize) {
 
 		return new Iterator<ChangePackageEnvelope>() {
 
 			private int fragmentIndex;
-			private int currentOpIndex;
 			private int count;
-			private boolean isInitialized;
 			private ChangePackageEnvelope envelope;
-
-			private void init() {
-				int leafSizeCounter = 0;
-				final ESCloseableIterable<AbstractOperation> operations = changePackage.operations();
-				try {
-					for (final AbstractOperation operation : operations.iterable()) {
-						final int countLeafOperations = countLeafOperations(operation);
-						leafSizeCounter += countLeafOperations;
-						if (leafSizeCounter < changePackageFragmentSize) {
-							continue;
-						}
-						leafSizeCounter = 0;
-						count += 1;
-					}
-				} finally {
-					operations.close();
-				}
-				if (leafSizeCounter != 0 || count == 0) {
-					count += 1;
-				}
-				isInitialized = true;
-			}
+			private boolean isInitialized;
 
 			public boolean hasNext() {
 
@@ -112,19 +96,12 @@
 
 				if (envelope == null) {
 					envelope = VersioningFactory.eINSTANCE.createChangePackageEnvelope();
-					final ChangePackage cp = VersioningFactory.eINSTANCE.createChangePackage();
-					cp.setLogMessage(ModelUtil.clone(changePackage.getLogMessage()));
 					envelope.setFragmentCount(count);
 				}
 
-				while (countLeafOperations(envelope.getFragment()) < changePackageFragmentSize
-					&& currentOpIndex < changePackage.size()) {
-
-					// FIXME: get(opIndex) might be slow
-					final AbstractOperation op = changePackage.get(currentOpIndex);
-					envelope.getFragment().add(ModelUtil.clone(op));
-					currentOpIndex += 1;
-				}
+				final List<String> readLines = readLines(fragmentIndex * changePackageFragmentSize, changePackage,
+					changePackageFragmentSize);
+				envelope.getFragment().addAll(readLines);
 
 				envelope.setFragmentIndex(fragmentIndex);
 
@@ -135,6 +112,59 @@
 				return false;
 			}
 
+			private void init() {
+				LineNumberReader lineNumberReader = null;
+				try {
+					lineNumberReader = new LineNumberReader(new FileReader(new File(changePackage.getTempFilePath())));
+					lineNumberReader.skip(Long.MAX_VALUE);
+					final int lines = lineNumberReader.getLineNumber() + 1;
+					count = lines / changePackageFragmentSize;
+					if (lines % changePackageFragmentSize != 0) {
+						count += 1;
+					}
+				} catch (final FileNotFoundException ex) {
+					throw new IllegalStateException(ex);
+				} catch (final IOException ex) {
+					throw new IllegalStateException(ex);
+				} finally {
+					IOUtils.closeQuietly(lineNumberReader);
+				}
+				isInitialized = true;
+			}
+
+			private List<String> readLines(int from, final FileBasedChangePackage changePackage,
+				final int changePackageFragmentSize) {
+
+				int readLines = 0;
+				FileReader reader;
+				final List<String> lines = new ArrayList<String>();
+
+				try {
+					reader = new FileReader(new File(changePackage.getTempFilePath()));
+					final LineIterator lineIterator = new LineIterator(reader);
+					int read = 0;
+
+					while (read < from) {
+						if (!lineIterator.hasNext()) {
+							return lines;
+						}
+						lineIterator.next();
+						read += 1;
+					}
+
+					while (readLines < changePackageFragmentSize && lineIterator.hasNext()) {
+						final String nextLine = lineIterator.next();
+						readLines += 1;
+						lines.add(nextLine);
+					}
+
+				} catch (final FileNotFoundException ex) {
+					throw new IllegalStateException(ex);
+				}
+
+				return lines;
+			}
+
 			public ChangePackageEnvelope next() {
 				if (envelope == null) {
 					final boolean hasNext = hasNext();
diff --git a/bundles/org.eclipse.emf.emfstore.server/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.server/META-INF/MANIFEST.MF
index a5ba403..a2b2789 100644
--- a/bundles/org.eclipse.emf.emfstore.server/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.emfstore.server/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Server
 Bundle-SymbolicName: org.eclipse.emf.emfstore.server;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Activator: org.eclipse.emf.emfstore.internal.server.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.apache.commons.codec;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.emfstore.server.model;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.migration;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.common;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.server.model;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.migration;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.common;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
@@ -27,51 +27,51 @@
  .parser;version="3.1.3",org.apache.xmlrpc.serializer;version="3.1.3",
  org.apache.xmlrpc.server;version="3.1.3",org.apache.xmlrpc.util;versi
  on="3.1.3",org.apache.xmlrpc.webserver;version="3.1.3",org.eclipse.em
- f.emfstore.internal.server;version="1.7.0"; x-friends:="org.eclipse.e
+ f.emfstore.internal.server;version="1.8.0"; x-friends:="org.eclipse.e
  mf.emfstore.client,  org.eclipse.emf.emfstore.client.ui,  org.eclipse
  .emf.emfstore.client.test.common,  org.eclipse.emf.emfstore.server.te
  st,  org.eclipse.emf.emfstore.test.common,  org.eclipse.emf.ecp.emfst
  ore.localserver,  org.eclipse.emf.ecp.emfstore.ui,  org.eclipse.emf.e
  mfstore.client.test",org.eclipse.emf.emfstore.internal.server.accessc
- ontrol;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.test.comm
+ ontrol;version="1.8.0";x-friends:="org.eclipse.emf.emfstore.test.comm
  on,org.eclipse.emf.emfstore.server.test",org.eclipse.emf.emfstore.int
- ernal.server.accesscontrol.authentication;version="1.7.0";x-friends:=
+ ernal.server.accesscontrol.authentication;version="1.8.0";x-friends:=
  "org.eclipse.emf.emfstore.client.test,org.eclipse.emf.emfstore.test.c
  ommon",org.eclipse.emf.emfstore.internal.server.accesscontrol.authent
- ication.verifiers;version="1.7.0";x-friends:="org.eclipse.emf.emfstor
+ ication.verifiers;version="1.8.0";x-friends:="org.eclipse.emf.emfstor
  e.client.test,org.eclipse.emf.emfstore.server.test",org.eclipse.emf.e
- mfstore.internal.server.conflictDetection;version="1.7.0"; x-friends:
+ mfstore.internal.server.conflictDetection;version="1.8.0"; x-friends:
  ="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emfstore.client.t
  est,  org.eclipse.emf.emfstore.client.ui,  org.eclipse.emf.emfstore.c
  lient.conflictdetection.test,  org.eclipse.emf.emfstore.test.common",
- org.eclipse.emf.emfstore.internal.server.connection;version="1.7.0";x
+ org.eclipse.emf.emfstore.internal.server.connection;version="1.8.0";x
  -friends:="org.eclipse.emf.emfstore.server.test",org.eclipse.emf.emfs
- tore.internal.server.connection.xmlrpc;version="1.7.0";x-friends:="or
+ tore.internal.server.connection.xmlrpc;version="1.8.0";x-friends:="or
  g.eclipse.emf.emfstore.client,org.eclipse.emf.emfstore.test.common",o
  rg.eclipse.emf.emfstore.internal.server.connection.xmlrpc.util;versio
- n="1.7.0";x-friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf
+ n="1.8.0";x-friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf
  .emfstore.test.common",org.eclipse.emf.emfstore.internal.server.core;
- version="1.7.0";x-friends:="org.eclipse.emf.emfstore.test.common",org
- .eclipse.emf.emfstore.internal.server.core.helper;version="1.7.0";x-i
+ version="1.8.0";x-friends:="org.eclipse.emf.emfstore.test.common",org
+ .eclipse.emf.emfstore.internal.server.core.helper;version="1.8.0";x-i
  nternal:=true,org.eclipse.emf.emfstore.internal.server.core.subinterf
- aces;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.intern
- al.server.exceptions;version="1.7.0"; x-friends:="org.eclipse.emf.emf
+ aces;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.intern
+ al.server.exceptions;version="1.8.0"; x-friends:="org.eclipse.emf.emf
  store.client,  org.eclipse.emf.emfstore.client.test.common,  org.ecli
  pse.emf.emfstore.client.test.ui,  org.eclipse.emf.emfstore.client.ui,
    org.eclipse.emf.emfstore.example.merging,  org.eclipse.emf.emfstore
  .test.common,  org.eclipse.emf.emfstore.server.test,  org.eclipse.emf
  .ecp.emfstore.ui,  org.eclipse.emf.emfstore.client.api.test",org.ecli
- pse.emf.emfstore.internal.server.filetransfer;version="1.7.0";x-frien
+ pse.emf.emfstore.internal.server.filetransfer;version="1.8.0";x-frien
  ds:="org.eclipse.emf.emfstore.client,org.eclipse.emf.emfstore.test.co
- mmon",org.eclipse.emf.emfstore.internal.server.impl.api;version="1.7.
+ mmon",org.eclipse.emf.emfstore.internal.server.impl.api;version="1.8.
  0";x-friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf.emfsto
  re.client.ui",org.eclipse.emf.emfstore.internal.server.startup;versio
- n="1.7.0";x-friends:="org.eclipse.emf.emfstore.client",org.eclipse.em
- f.emfstore.internal.server.storage;version="1.7.0";x-internal:=true,o
- rg.eclipse.emf.emfstore.server;version="1.7.0",org.eclipse.emf.emfsto
- re.server.auth;version="1.7.0",org.eclipse.emf.emfstore.server.except
- ions;version="1.7.0",org.eclipse.emf.emfstore.server.observer;version
- ="1.7.0"
+ n="1.8.0";x-friends:="org.eclipse.emf.emfstore.client",org.eclipse.em
+ f.emfstore.internal.server.storage;version="1.8.0";x-internal:=true,o
+ rg.eclipse.emf.emfstore.server;version="1.8.0",org.eclipse.emf.emfsto
+ re.server.auth;version="1.8.0",org.eclipse.emf.emfstore.server.except
+ ions;version="1.8.0",org.eclipse.emf.emfstore.server.observer;version
+ ="1.8.0"
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.servlet;version="[2.0.0,4.0.0)";resolution:=optional,
  javax.servlet.http;version="[2.0.0,4.0.0)";resolution:=optional,
diff --git a/bundles/org.eclipse.emf.emfstore.server/pom.xml b/bundles/org.eclipse.emf.emfstore.server/pom.xml
index 39f0552..4d5e7ef 100644
--- a/bundles/org.eclipse.emf.emfstore.server/pom.xml
+++ b/bundles/org.eclipse.emf.emfstore.server/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-bundles-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.bundles</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.server</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.server/schema/resourceOptions.exsd b/bundles/org.eclipse.emf.emfstore.server/schema/resourceOptions.exsd
index 7dc1de0..7a50792 100644
--- a/bundles/org.eclipse.emf.emfstore.server/schema/resourceOptions.exsd
+++ b/bundles/org.eclipse.emf.emfstore.server/schema/resourceOptions.exsd
@@ -70,6 +70,15 @@
                </documentation>
             </annotation>
          </attribute>
+         <attribute name="saveProjectStateOnTag" type="boolean">
+            <annotation>
+               <documentation>
+                  If this attribute is set to true the projectstate for a version will be saved in its entirety when the version is tagged. 
+
+This option is valuable when used in conjunction with a changing metamodel an thus resulting migrations.
+               </documentation>
+            </annotation>
+         </attribute>
       </complexType>
    </element>
 
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/EMFStoreController.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/EMFStoreController.java
index fee25f8..e068401 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/EMFStoreController.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/EMFStoreController.java
@@ -61,6 +61,7 @@
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersionSpec;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningFactory;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.Versions;
+import org.eclipse.emf.emfstore.internal.server.startup.MigrationManager;
 import org.eclipse.emf.emfstore.internal.server.startup.PostStartupListener;
 import org.eclipse.emf.emfstore.internal.server.startup.ServerHrefMigrator;
 import org.eclipse.emf.emfstore.internal.server.startup.StartupListener;
@@ -152,9 +153,11 @@
 
 		registerDynamicModels();
 
-		// FIXME: JF
-		// new MigrationManager().migrateModel();
-		serverSpace = initServerSpace();
+		serverSpace = initServerSpace(Boolean.getBoolean("emfstore.migration")); //$NON-NLS-1$
+
+		if (serverSpace == null) {
+			return;
+		}
 
 		initializeBranchesIfRequired(serverSpace);
 
@@ -235,8 +238,7 @@
 	}
 
 	private void initLogging() {
-		Platform.getLog(Platform.getBundle(EMFSTORE_COMMON_BUNDLE)).addLogListener(new
-			ILogListener() {
+		Platform.getLog(Platform.getBundle(EMFSTORE_COMMON_BUNDLE)).addLogListener(new ILogListener() {
 
 			public void logging(IStatus status, String plugin) {
 				if (status.getSeverity() == IStatus.INFO) {
@@ -295,7 +297,8 @@
 					try {
 						FileUtil.copyFile(new URL("platform:/plugin/" //$NON-NLS-1$
 							+ element.getIConfigurationElement().getNamespaceIdentifier() + "/" + attribute) //$NON-NLS-1$
-						.openConnection().getInputStream(), targetFile);
+								.openConnection().getInputStream(),
+							targetFile);
 						return;
 					} catch (final IOException e) {
 						ModelUtil.logWarning(
@@ -333,7 +336,7 @@
 		return connectionHandlers;
 	}
 
-	private ServerSpace initServerSpace() throws FatalESException {
+	private ServerSpace initServerSpace(boolean migrationMode) throws FatalESException {
 
 		final ESResourceSetProvider resourceSetProvider = getResourceSetProvider();
 
@@ -360,6 +363,12 @@
 					throw new FatalESException(Messages.EMFStoreController_Error_During_Migration);
 				}
 			}
+			/* file has been fixed. check if metamodel migration is needed */
+			if (migrationMode) {
+				MigrationManager.migrate(getResourceSetProvider().getResourceSet(),
+					!ServerConfiguration.useFileBasedChangePackageOnServer());
+				return null;
+			}
 			resource = resourceSet.createResource(serverspaceURI);
 		}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/ServerConfiguration.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/ServerConfiguration.java
index 048f45b..a3c1d65 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/ServerConfiguration.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/ServerConfiguration.java
@@ -49,6 +49,7 @@
 	private static final String RESOURCE_OPTIONS_EXTENSION_POINT = "org.eclipse.emf.emfstore.server.resourceOptions"; //$NON-NLS-1$
 	private static final String CHANGEPACKAGE_FRAGMENT_SIZE_ATTRIBUTE = "changePackageFragmentSize"; //$NON-NLS-1$
 	private static final String SERVER_USE_FILEBASED_CHANGEPACKAGE = "useFileBasedChangePackage"; //$NON-NLS-1$
+	private static final String SAVE_PROJECT_STATE_ON_TAG = "saveProjectStateOnTag"; //$NON-NLS-1$
 
 	private static final String CHECKSUM_KEY = "org.eclipse.emf.emfstore.server.computeChecksum"; //$NON-NLS-1$
 
@@ -294,6 +295,11 @@
 	 */
 	public static final String AUTHENTICATION_MATCH_USERS_IGNORE_CASE = "emfstore.accesscontrol.authentication.matchusers.ignorecase"; //$NON-NLS-1$
 
+	/**
+	 * Whether authenticated users (eg. by LDAP) should be created in the server workspace on-the-fly on login.
+	 */
+	public static final String AUTHENTICATION_CREATE_AUTHENTICATED_USERS = "emfstore.accesscontrol.authentication.createusers"; //$NON-NLS-1$
+
 	private static final List<PostStartupListener> POST_STARTUP_LISTENERS = new ArrayList<PostStartupListener>();
 	private static final List<StartupListener> STARTUP_LISTENERS = new ArrayList<StartupListener>();
 
@@ -379,6 +385,7 @@
 	private static Boolean isChecksumComputationOnCommitActive;
 	private static Optional<Integer> changePackageFragmentSize;
 	private static Boolean useFileBasedChangePackageOnServer;
+	private static Boolean saveProjectStateOnTag;
 
 	/**
 	 * Return the server home directory location.
@@ -710,4 +717,21 @@
 	public static void addPostStartupListener(PostStartupListener listener) {
 		POST_STARTUP_LISTENERS.add(listener);
 	}
+
+	/**
+	 * Whether the project state of a tagged version should be kept as a file.
+	 *
+	 * @return <code>true</code> if project state should be kept, <code>false</code> otherwise
+	 */
+	public static boolean createProjectStateOnTag() {
+		if (saveProjectStateOnTag == null) {
+			try {
+				saveProjectStateOnTag = new ESExtensionPoint(RESOURCE_OPTIONS_EXTENSION_POINT, true)
+					.getBoolean(SAVE_PROJECT_STATE_ON_TAG, false);
+			} catch (final ESExtensionPointException e) {
+				saveProjectStateOnTag = false;
+			}
+		}
+		return saveProjectStateOnTag;
+	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/verifiers/UserVerifier.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/verifiers/UserVerifier.java
index 7133ac8..e51a602 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/verifiers/UserVerifier.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/verifiers/UserVerifier.java
@@ -13,6 +13,7 @@
 
 import java.util.Set;
 
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.emf.emfstore.internal.common.APIUtil;
 import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
 import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
@@ -20,6 +21,7 @@
 import org.eclipse.emf.emfstore.internal.server.exceptions.AccessControlException;
 import org.eclipse.emf.emfstore.internal.server.model.AuthenticationInformation;
 import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACUser;
+import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.AccesscontrolFactory;
 import org.eclipse.emf.emfstore.server.model.ESAuthenticationInformation;
 import org.eclipse.emf.emfstore.server.model.ESClientVersionInfo;
 import org.eclipse.emf.emfstore.server.model.ESOrgUnitProvider;
@@ -85,6 +87,9 @@
 		final Boolean ignoreCase = Boolean.parseBoolean(ServerConfiguration.getProperties().getProperty(
 			ServerConfiguration.AUTHENTICATION_MATCH_USERS_IGNORE_CASE, Boolean.FALSE.toString()));
 
+		final Boolean createAuthenticatedUsers = Boolean.parseBoolean(ServerConfiguration.getProperties().getProperty(
+			ServerConfiguration.AUTHENTICATION_CREATE_AUTHENTICATED_USERS, Boolean.FALSE.toString()));
+
 		synchronized (MonitorProvider.getInstance().getMonitor()) {
 			final Set<ESUser> users = orgUnitProvider.getUsers();
 			final Set<ACUser> internal = APIUtil.toInternal(users);
@@ -99,6 +104,13 @@
 					}
 				}
 			}
+			if (createAuthenticatedUsers) {
+				final ACUser acUser = AccesscontrolFactory.eINSTANCE.createACUser();
+				acUser.setName(username);
+				acUser.setDescription(StringUtils.EMPTY);
+				orgUnitProvider.addUser(acUser.toAPI());
+				return acUser;
+			}
 			throw new AccessControlException();
 		}
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java
index 2828119..df72abb 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java
@@ -252,10 +252,10 @@
 				results[i] = adjustResult(sessionId, results[i]);
 			}
 			return results;
-		} else if (AbstractChangePackage.class.isInstance(result) && !ChangePackageProxy.class.isInstance(result)) {
+		} else if (FileBasedChangePackage.class.isInstance(result) && !ChangePackageProxy.class.isInstance(result)) {
 			final ChangePackageProxy changePackageProxy = createAndRegisterChangePackageProxy(
 				sessionId,
-				AbstractChangePackage.class.cast(result));
+				FileBasedChangePackage.class.cast(result));
 			return changePackageProxy;
 		}
 
@@ -275,7 +275,7 @@
 	 * @return
 	 */
 	private ChangePackageProxy createAndRegisterChangePackageProxy(final SessionId session,
-		final AbstractChangePackage changePackage) {
+		final FileBasedChangePackage changePackage) {
 
 		final ESSessionId resolvedSession = getAccessControl().getSessions().resolveSessionById(session.getId());
 		final SessionId sessionId = APIUtil.toInternal(SessionId.class, resolvedSession);
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentProviderAdapter.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentProviderAdapter.java
index 8b1f0bb..d795fd6 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentProviderAdapter.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentProviderAdapter.java
@@ -18,9 +18,8 @@
 
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.FileBasedChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.util.ChangePackageUtil;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
 
@@ -33,8 +32,7 @@
  */
 public class ChangePackageFragmentProviderAdapter extends AdapterImpl {
 
-	private final Map<String, Map<Integer, List<AbstractOperation>>> proxyIdToChangePackageFragments =
-		new LinkedHashMap<String, Map<Integer, List<AbstractOperation>>>();
+	private final Map<String, Map<Integer, List<String>>> proxyIdToChangePackageFragments = new LinkedHashMap<String, Map<Integer, List<String>>>();
 
 	/**
 	 * Splits the given change package into fragments and stores them.
@@ -45,7 +43,7 @@
 	 * @param changePackage
 	 *            the change package to be splitted
 	 */
-	public void addAsFragments(String proxyId, AbstractChangePackage changePackage) {
+	public void addAsFragments(String proxyId, FileBasedChangePackage changePackage) {
 
 		final Iterator<ChangePackageEnvelope> envelopes = ChangePackageUtil.splitChangePackage(
 			changePackage,
@@ -56,10 +54,10 @@
 		}
 	}
 
-	private void addFragment(String proxyId, List<AbstractOperation> fragment) {
-		Map<Integer, List<AbstractOperation>> map = proxyIdToChangePackageFragments.get(proxyId);
+	private void addFragment(String proxyId, List<String> fragment) {
+		Map<Integer, List<String>> map = proxyIdToChangePackageFragments.get(proxyId);
 		if (map == null) {
-			map = new LinkedHashMap<Integer, List<AbstractOperation>>();
+			map = new LinkedHashMap<Integer, List<String>>();
 			proxyIdToChangePackageFragments.put(proxyId, map);
 		}
 		final int currentSize = map.size();
@@ -76,8 +74,8 @@
 	 * @return the fragment
 	 * @throws ESException in case no fragments for the given proxy ID are present
 	 */
-	public List<AbstractOperation> getFragment(String proxyId, int fragmentIndex) throws ESException {
-		final Map<Integer, List<AbstractOperation>> fragments = proxyIdToChangePackageFragments.get(proxyId);
+	public List<String> getFragment(String proxyId, int fragmentIndex) throws ESException {
+		final Map<Integer, List<String>> fragments = proxyIdToChangePackageFragments.get(proxyId);
 		if (fragments == null) {
 			throw new ESException(Messages.ChangePackageFragmentProviderAdapter_NoFragmentsFound);
 		}
@@ -92,7 +90,7 @@
 	 * @return the number of available fragments
 	 */
 	public int getFragmentSize(String proxyId) {
-		final Map<Integer, List<AbstractOperation>> map = proxyIdToChangePackageFragments.get(proxyId);
+		final Map<Integer, List<String>> map = proxyIdToChangePackageFragments.get(proxyId);
 		if (map == null) {
 			return -1;
 		}
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentUploadAdapter.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentUploadAdapter.java
index daf223e..151d731 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentUploadAdapter.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ChangePackageFragmentUploadAdapter.java
@@ -11,6 +11,8 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.core.subinterfaces;
 
+import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.text.MessageFormat;
 import java.util.LinkedHashMap;
@@ -38,8 +40,8 @@
 public class ChangePackageFragmentUploadAdapter extends AdapterImpl {
 
 	// maps proxy ID to file-based change package
-	private final Map<String, FileBasedChangePackage> proxyIdToChangePackageFragments = new LinkedHashMap<String, FileBasedChangePackage>();
-	private final Map<String, FileBasedChangePackage> proxyIdToCompletedChangePackages = new LinkedHashMap<String, FileBasedChangePackage>();
+	private final Map<String, File> proxyIdToChangePackageFragments = new LinkedHashMap<String, File>();
+	private final Map<String, File> proxyIdToCompletedChangePackages = new LinkedHashMap<String, File>();
 
 	/**
 	 * Adds a single fragment.
@@ -50,19 +52,28 @@
 	 *            the actual fragment to be added
 	 * @throws ESException in case the fragment could not be added
 	 */
-	public void addFragment(String proxyId, List<AbstractOperation> fragment) throws ESException {
-		FileBasedChangePackage fileBasedChangePackage = proxyIdToChangePackageFragments.get(proxyId);
-		if (fileBasedChangePackage == null) {
-			fileBasedChangePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
-			fileBasedChangePackage.initialize(
-				FileUtil.createLocationForTemporaryChangePackage());
-			proxyIdToChangePackageFragments.put(proxyId, fileBasedChangePackage);
+	public void addFragment(String proxyId, List<String> fragment) throws ESException {
+		File file = proxyIdToChangePackageFragments.get(proxyId);
+		if (file == null) {
+			file = new File(FileUtil.createLocationForTemporaryChangePackage() + ".temp"); //$NON-NLS-1$
+			proxyIdToChangePackageFragments.put(proxyId, file);
 		}
-		fileBasedChangePackage.addAll(fragment);
+		FileWriter writer = null;
 		try {
-			fileBasedChangePackage.save();
+			writer = new FileWriter(file, true);
+			for (final String str : fragment) {
+				writer.write(str + System.getProperty("line.separator")); //$NON-NLS-1$
+			}
 		} catch (final IOException ex) {
-			throw new ESException(Messages.ChangePackageFragmentAdapter_SaveChangePackageFailed, ex);
+			throw new ESException(Messages.ChangePackageFragmentUploadAdapter_SplittingFailed, ex);
+		} finally {
+			if (writer != null) {
+				try {
+					writer.close();
+				} catch (final IOException ex) {
+					throw new ESException(Messages.ChangePackageFragmentAdapter_SaveChangePackageFailed, ex);
+				}
+			}
 		}
 	}
 
@@ -74,8 +85,8 @@
 	 * @throws ESException in case
 	 */
 	public void markAsComplete(String proxyId) throws ESException {
-		final FileBasedChangePackage possiblyCompletedChangePackage = proxyIdToCompletedChangePackages.get(proxyId);
-		final FileBasedChangePackage fileBasedChangePackage = proxyIdToChangePackageFragments.get(proxyId);
+		final File possiblyCompletedChangePackage = proxyIdToCompletedChangePackages.get(proxyId);
+		final File fileBasedChangePackage = proxyIdToChangePackageFragments.get(proxyId);
 
 		if (possiblyCompletedChangePackage != null) {
 			throw new ESException(Messages.ChangePackageFragmentUploadAdapter_ChangePackageAlreadyComplete);
@@ -101,11 +112,16 @@
 	 * @return the aggregated {@link ChangePackage} as an {@link Optional}
 	 */
 	public Optional<ChangePackage> convertFileBasedToInMemoryChangePackage(String proxyId) {
-		final FileBasedChangePackage fileBasedChangePackage = proxyIdToCompletedChangePackages.get(proxyId);
-		if (fileBasedChangePackage == null) {
+		final File file = proxyIdToCompletedChangePackages.get(proxyId);
+		if (file == null) {
 			return Optional.absent();
 		}
-		final ESCloseableIterable<AbstractOperation> operationsHandle = fileBasedChangePackage.operations();
+		final FileBasedChangePackage cp = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		final String path = file.getAbsolutePath().substring(0,
+			file.getAbsolutePath().length() - ".temp".length()); //$NON-NLS-1$
+		cp.setFilePath(path);
+
+		final ESCloseableIterable<AbstractOperation> operationsHandle = cp.operations();
 		final ChangePackage changePackage = VersioningFactory.eINSTANCE.createChangePackage();
 		try {
 			for (final AbstractOperation operation : operationsHandle.iterable()) {
@@ -126,11 +142,21 @@
 	 * @return the file based change package as an {@link Optional}
 	 */
 	public Optional<FileBasedChangePackage> getFileBasedChangePackage(String proxyId) {
-		final FileBasedChangePackage fileBasedChangePackage = proxyIdToCompletedChangePackages.get(proxyId);
-		if (fileBasedChangePackage == null) {
+		final File file = proxyIdToCompletedChangePackages.get(proxyId);
+		if (file == null) {
 			return Optional.absent();
 		}
-		return Optional.of(fileBasedChangePackage);
+		final FileBasedChangePackage cp = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		final String path = file.getAbsolutePath().substring(0,
+			file.getAbsolutePath().length() - ".temp".length()); //$NON-NLS-1$
+		cp.setFilePath(path);
+		try {
+			cp.save();
+		} catch (final IOException ex) {
+			// TODO: use checked exception?
+			throw new IllegalStateException(ex);
+		}
+		return Optional.of(cp);
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/HistorySubInterfaceImpl.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/HistorySubInterfaceImpl.java
index 49a68e5..dbff961 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/HistorySubInterfaceImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/HistorySubInterfaceImpl.java
@@ -22,7 +22,10 @@
 import java.util.TreeSet;
 
 import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.emfstore.internal.common.model.Project;
 import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
 import org.eclipse.emf.emfstore.internal.server.core.AbstractEmfstoreInterface;
 import org.eclipse.emf.emfstore.internal.server.core.AbstractSubEmfstoreInterface;
 import org.eclipse.emf.emfstore.internal.server.exceptions.FatalESException;
@@ -42,6 +45,7 @@
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersionSpec;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningFactory;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.Versions;
+import org.eclipse.emf.emfstore.server.ESServerURIUtil;
 import org.eclipse.emf.emfstore.server.auth.ESMethod;
 import org.eclipse.emf.emfstore.server.auth.ESMethod.MethodId;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
@@ -99,6 +103,20 @@
 			} catch (final FatalESException e) {
 				throw new StorageException(StorageException.NOSAVE);
 			}
+
+			if (ServerConfiguration.createProjectStateOnTag()) {
+				final URI projectStateURI = ESServerURIUtil.createProjectStateURI(projectId, version.getPrimarySpec());
+				if (ESServerURIUtil.exists(projectStateURI)) {
+					/* the project state is existing, just return */
+					return;
+				}
+				final Project projectState = ProjectSubInterfaceImpl.getProjectFromVersion(version);
+				try {
+					getResourceHelper().createResourceForProject(projectState, versionSpec, projectId);
+				} catch (final FatalESException e) {
+					throw new StorageException(StorageException.NOSAVE);
+				}
+			}
 		}
 	}
 
@@ -119,6 +137,7 @@
 		throws ESException {
 		sanityCheckObjects(projectId, versionSpec, tag);
 		synchronized (getMonitor()) {
+			/* remove tag */
 			final Version version = getSubInterface(VersionSubInterfaceImpl.class).getVersion(projectId, versionSpec);
 			final Iterator<TagVersionSpec> iterator = version.getTagSpecs().iterator();
 			while (iterator.hasNext()) {
@@ -131,6 +150,19 @@
 			} catch (final FatalESException e) {
 				throw new StorageException(StorageException.NOSAVE);
 			}
+
+			/* delete project state if necessary */
+			if (ServerConfiguration.createProjectStateOnTag()) {
+				final URI projectStateURI = ESServerURIUtil.createProjectStateURI(projectId, version.getPrimarySpec());
+				if (!ESServerURIUtil.exists(projectStateURI)) {
+					/* the project state is not existing, just return */
+					return;
+				}
+				if (VersionSubInterfaceImpl.shouldDeleteOldProjectStateAccordingToOptions(projectId, version,
+					getResourceHelper())) {
+					getResourceHelper().deleteProjectState(version, projectId);
+				}
+			}
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/Messages.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/Messages.java
index 9dc2396..7ca3f2c 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/Messages.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/Messages.java
@@ -23,6 +23,7 @@
 	private static final String BUNDLE_NAME = "org.eclipse.emf.emfstore.internal.server.core.subinterfaces.messages"; //$NON-NLS-1$
 	public static String ChangePackageFragmentAdapter_SaveChangePackageFailed;
 	public static String ChangePackageFragmentProviderAdapter_NoFragmentsFound;
+	public static String ChangePackageFragmentUploadAdapter_SplittingFailed;
 	public static String ChangePackageFragmentUploadAdapter_ChangePackageAlreadyComplete;
 	public static String ChangePackageFragmentUploadAdapter_NoChangePackageFragmentsFound;
 	public static String EMFStorePropertiesSubInterfaceImpl_Project_Does_Not_Exist;
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ProjectSubInterfaceImpl.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ProjectSubInterfaceImpl.java
index e5d7947..ca116f8 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ProjectSubInterfaceImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/ProjectSubInterfaceImpl.java
@@ -146,6 +146,18 @@
 	 *             in case of failure
 	 */
 	protected Project getProject(Version version) throws InvalidVersionSpecException, ESException {
+		return getProjectFromVersion(version);
+	}
+
+	/**
+	 * Returns the project of a version.
+	 * 
+	 * @param version the version
+	 * @return the project
+	 * @throws InvalidVersionSpecException if the given version is invalid
+	 * @throws ESException in case of failure
+	 */
+	static Project getProjectFromVersion(Version version) throws InvalidVersionSpecException, ESException {
 		if (version.getProjectState() == null) {
 
 			// TODO BRANCH Review potential performance optimization by searching state in both directions
@@ -222,7 +234,7 @@
 					description,
 					logMessage,
 					org.eclipse.emf.emfstore.internal.common.model.ModelFactory.eINSTANCE
-					.createProject());
+						.createProject());
 			} catch (final FatalESException e) {
 				throw new StorageException(StorageException.NOSAVE);
 			}
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/VersionSubInterfaceImpl.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/VersionSubInterfaceImpl.java
index d0d90c0..a8956a8 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/VersionSubInterfaceImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/VersionSubInterfaceImpl.java
@@ -31,6 +31,7 @@
 import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
 import org.eclipse.emf.emfstore.internal.server.core.AbstractEmfstoreInterface;
 import org.eclipse.emf.emfstore.internal.server.core.AbstractSubEmfstoreInterface;
+import org.eclipse.emf.emfstore.internal.server.core.helper.ResourceHelper;
 import org.eclipse.emf.emfstore.internal.server.exceptions.BranchInfoMissingException;
 import org.eclipse.emf.emfstore.internal.server.exceptions.FatalESException;
 import org.eclipse.emf.emfstore.internal.server.exceptions.InvalidVersionSpecException;
@@ -133,7 +134,7 @@
 
 	private PrimaryVersionSpec resolveAncestorVersionSpec(ProjectHistory projectHistory,
 		AncestorVersionSpec versionSpec)
-			throws InvalidVersionSpecException {
+		throws InvalidVersionSpecException {
 
 		Version currentSource = getVersion(projectHistory, versionSpec.getSource());
 		Version currentTarget = getVersion(projectHistory, versionSpec.getTarget());
@@ -326,7 +327,7 @@
 
 		final ChangePackageFragmentProviderAdapter adapter = maybeAdapter.get();
 		final ChangePackageEnvelope envelope = VersioningFactory.eINSTANCE.createChangePackageEnvelope();
-		final List<AbstractOperation> fragment = adapter.getFragment(proxyId, fragmentIndex);
+		final List<String> fragment = adapter.getFragment(proxyId, fragmentIndex);
 
 		envelope.getFragment().addAll(fragment);
 		envelope.setFragmentCount(adapter.getFragmentSize(proxyId));
@@ -455,7 +456,7 @@
 				if (newVersion.getAncestorVersion() == null && baseVersion.getProjectState() != null) {
 					// delete projectstate from last revision depending on
 					// persistence policy
-					deleteOldProjectSpaceAccordingToOptions(projectId, baseVersion);
+					deleteOldProjectStateAccordingToOptions(projectId, baseVersion);
 				}
 
 				save(baseVersion);
@@ -522,7 +523,7 @@
 
 	private void rollback(final ProjectHistory projectHistory, final BranchInfo baseBranch,
 		final Version baseVersion, Version newVersion, BranchInfo newBranch, final FatalESException e)
-			throws StorageException {
+		throws StorageException {
 		projectHistory.getVersions().remove(newVersion);
 
 		if (newBranch == null) {
@@ -676,26 +677,52 @@
 	 * @param previousHeadVersion
 	 *            last head version
 	 */
-	private void deleteOldProjectSpaceAccordingToOptions(ProjectId projectId, Version previousHeadVersion) {
+	private void deleteOldProjectStateAccordingToOptions(ProjectId projectId, Version previousHeadVersion) {
+		if (shouldDeleteOldProjectStateAccordingToOptions(projectId, previousHeadVersion, getResourceHelper())) {
+			getResourceHelper().deleteProjectState(previousHeadVersion, projectId);
+		}
+	}
+
+	/**
+	 * Whether a projectstate should be deleted according to the server configuration.
+	 *
+	 * @param projectId project id
+	 * @param previousHeadVersion last head version
+	 * @param resourceHelper the resource helper
+	 * @return <code>true</code> if project state should be deleted, <code>false</code> otherwise
+	 */
+	static boolean shouldDeleteOldProjectStateAccordingToOptions(
+		ProjectId projectId,
+		Version previousHeadVersion,
+		ResourceHelper resourceHelper) {
+
+		final boolean keepBecauseOfTaggedVersion = ServerConfiguration.createProjectStateOnTag()
+			&& !previousHeadVersion.getTagSpecs().isEmpty();
+		if (keepBecauseOfTaggedVersion) {
+			return false;
+		}
+
 		final String property = ServerConfiguration.getProperties().getProperty(
 			ServerConfiguration.PROJECTSTATE_VERSION_PERSISTENCE,
 			ServerConfiguration.PROJECTSPACE_VERSION_PERSISTENCE_DEFAULT);
 
 		if (property.equals(ServerConfiguration.PROJECTSTATE_VERSION_PERSISTENCE_EVERYXVERSIONS)) {
 
-			final int x = getResourceHelper().getXFromPolicy(
+			final int x = resourceHelper.getXFromPolicy(
 				ServerConfiguration.PROJECTSTATE_VERSION_PERSISTENCE_EVERYXVERSIONS_X,
 				ServerConfiguration.PROJECTSTATE_VERSION_PERSISTENCE_EVERYXVERSIONS_X_DEFAULT, false);
 
 			// always save projecstate of first version
 			final int lastVersion = previousHeadVersion.getPrimarySpec().getIdentifier();
 			if (lastVersion != 0 && lastVersion % x != 0) {
-				getResourceHelper().deleteProjectState(previousHeadVersion, projectId);
+				return true;
 			}
 
 		} else {
-			getResourceHelper().deleteProjectState(previousHeadVersion, projectId);
+			return true;
 		}
+
+		return false;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/messages.properties b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/messages.properties
index b37b381..e800252 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/messages.properties
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/subinterfaces/messages.properties
@@ -1,5 +1,6 @@
 ChangePackageFragmentAdapter_SaveChangePackageFailed=Couldn't save change package.
 ChangePackageFragmentProviderAdapter_NoFragmentsFound=No fragments exist.
+ChangePackageFragmentUploadAdapter_SplittingFailed=Creating change package fragment failed
 ChangePackageFragmentUploadAdapter_ChangePackageAlreadyComplete=Trying to mark an already completed change package as complete.
 ChangePackageFragmentUploadAdapter_NoChangePackageFragmentsFound=No change package fragments for proxy id {0} found.
 EMFStorePropertiesSubInterfaceImpl_Project_Does_Not_Exist=The Project does not exist on the server. Cannot set the properties.
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/startup/MigrationManager.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/startup/MigrationManager.java
index e752edc..84247a6 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/startup/MigrationManager.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/startup/MigrationManager.java
@@ -9,229 +9,218 @@
  * Contributors:
  * wesendon
  * koegel
+ * jfaltermeier
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.startup;
 
+import java.io.File;
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.io.FileUtils;
+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.ecore.resource.URIConverter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.emfstore.common.ESSystemOutProgressMonitor;
+import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrationException;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigrator;
+import org.eclipse.emf.emfstore.internal.migration.EMFStoreMigratorUtil;
+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.FileBasedChangePackage;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.Version;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningFactory;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.FileBasedChangePackageImpl;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.Direction;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.SerializedOperationEmitter;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.OperationsPackage;
+import org.eclipse.emf.emfstore.server.ESServerURIUtil;
+
+import com.google.common.base.Optional;
+
 /**
  * Applies migrator to files on server.
  *
  * @author koegel
  * @author wesendon
+ * @author jfaltermeier
  */
-// TODO: internal
-public class MigrationManager {
-	//
-	// /**
-	// * Starts migration.
-	// *
-	// * @throws FatalESException in case of failure
-	// */
-	// public void migrateModel() throws FatalESException {
-	// int modelVersionNumber = 0;
-	// // try {
-	// // modelVersionNumber = ModelUtil.getModelVersionNumber();
-	// // } catch (MalformedModelVersionException e1) {
-	// // throw new FatalESException(e1);
-	// // }
-	//
-	// // check for legacy server space
-	// File versionFile = new File(ServerConfiguration.getModelReleaseNumberFileName());
-	// if (!versionFile.exists()) {
-	// stampCurrentVersionNumber(modelVersionNumber);
-	// }
-	//
-	// // check if we need to migrate
-	// ModelVersion modelVersion;
-	// URI versionFileUri = URI.createFileURI(ServerConfiguration.getModelReleaseNumberFileName());
-	// ResourceSet resourceSet = new ResourceSetImpl();
-	// try {
-	// Resource resource = resourceSet.getResource(versionFileUri, true);
-	// EList<EObject> directContents = resource.getContents();
-	// modelVersion = (ModelVersion) directContents.get(0);
-	// // BEGIN SUPRESS CATCH EXCEPTION
-	// } catch (RuntimeException e) {
-	// // END SUPRESS CATCH EXCEPTION
-	// // resource can not be loaded, assume version number before metamodel split
-	// modelVersion = ModelFactory.eINSTANCE.createModelVersion();
-	// modelVersion.setReleaseNumber(4);
-	// }
-	//
-	// if (modelVersion.getReleaseNumber() == modelVersionNumber) {
-	// return;
-	// }
-	//
-	// if (!EMFStoreMigratorUtil.isMigratorAvailable()) {
-	// throw new FatalESException("Model must be migrated to new version, but no migrators are available.");
-	// }
-	//
-	// // ask for confirmation
-	// boolean doProcceed = askForConfirmationForMigration();
-	// if (!doProcceed) {
-	// String message = "Server shutting down, model update is mandatory.";
-	// System.out.println(message);
-	// throw new FatalESException(message);
-	// }
-	//
-	// // migrate all versions of all projects
-	// // we need to migrate
-	// File serverSpaceDirectory = new File(ServerConfiguration.getServerHome());
-	// // for all projects
-	// for (File projectDirectory : serverSpaceDirectory.listFiles()) {
-	// if (projectDirectory.getName().startsWith(ServerConfiguration.FILE_PREFIX_PROJECTFOLDER)
-	// && projectDirectory.isDirectory()) {
-	//
-	// System.out.println("Migrating project at " + projectDirectory + "...");
-	//
-	// convertInitialProjectState(modelVersion, projectDirectory);
-	//
-	// File[] listFiles = projectDirectory.listFiles(new FileFilter() {
-	// public boolean accept(File pathname) {
-	// if (pathname.isFile()
-	// && (pathname.getName().endsWith(".ucp") || pathname.getName().endsWith(".ups"))) {
-	// return true;
-	// }
-	// return false;
-	// }
-	// });
-	//
-	// convertAllVersions(modelVersion, projectDirectory, listFiles);
-	//
-	// // convertAllBackupStates(modelVersion, projectDirectory, listFiles);
-	// }
-	// }
-	// stampCurrentVersionNumber(modelVersionNumber);
-	// }
-	//
-	// private void convertInitialProjectState(ModelVersion modelVersion, File projectDirectory)
-	// throws FatalESException {
-	// URI version0StateURI = URI.createFileURI(projectDirectory.getAbsolutePath() + File.separatorChar
-	// + ServerConfiguration.FILE_PREFIX_PROJECTSTATE + "0" + ServerConfiguration.FILE_EXTENSION_PROJECTSTATE);
-	// try {
-	// System.out.println("Migrating version 0...");
-	// migrate(version0StateURI, new ArrayList<URI>(), modelVersion.getReleaseNumber());
-	// } catch (EMFStoreMigrationException e) {
-	// throw new FatalESException("Migration of project at " + projectDirectory + " failed!", e);
-	// }
-	// }
-	//
-	// private void convertAllVersions(ModelVersion modelVersion, File projectDirectory, File[] listFiles)
-	// throws FatalESException {
-	// List<URI> changePackageURIs = new ArrayList<URI>();
-	//
-	// Arrays.sort(listFiles, new Comparator<File>() {
-	//
-	// public int compare(File o1, File o2) {
-	// return compare(o1.getName(), o2.getName());
-	// }
-	//
-	// private int compare(String name1, String name2) {
-	// return getNumber(name1).compareTo(getNumber(name2));
-	// }
-	//
-	// private Integer getNumber(String filename) {
-	// String name = filename.substring(0, filename.lastIndexOf("."));
-	//
-	// int i = name.length() - 1;
-	// while (i >= 0 && '0' <= name.charAt(i) && name.charAt(i) <= '9') {
-	// i--;
-	// }
-	// i++;
-	//
-	// String number = name.substring(i);
-	// return number.equals("") ? 0 : Integer.parseInt(number);
-	// }
-	// });
-	//
-	// for (File changePackageFile : listFiles) {
-	// String changePackageName = changePackageFile.getName();
-	// if (changePackageName.startsWith(ServerConfiguration.FILE_PREFIX_CHANGEPACKAGE)) {
-	// int versionSpec = parseVersionSpecFromFileName(changePackageName);
-	// URI changePackageURI = URI.createFileURI(changePackageFile.getAbsolutePath());
-	// changePackageURIs.add(changePackageURI);
-	// String projectStateFilename = projectDirectory.getAbsolutePath() + File.separatorChar
-	// + ServerConfiguration.FILE_PREFIX_PROJECTSTATE + versionSpec
-	// + ServerConfiguration.FILE_EXTENSION_PROJECTSTATE;
-	// File projectStateFile = new File(projectStateFilename);
-	// if (projectStateFile.exists()) {
-	// URI projectURI = URI.createFileURI(projectStateFilename);
-	// try {
-	// System.out.println("Migrating version " + versionSpec + " with its "
-	// + (changePackageURIs.size() - 1) + " previous versions...");
-	// migrate(projectURI, changePackageURIs, modelVersion.getReleaseNumber());
-	// } catch (EMFStoreMigrationException e) {
-	// throw new FatalESException("Migration of project at " + projectDirectory + " failed!", e);
-	// }
-	// changePackageURIs.clear();
-	// }
-	//
-	// }
-	//
-	// }
-	// }
-	//
-	// private int parseVersionSpecFromFileName(String versionName) {
-	// int startOfFileExtension = versionName.lastIndexOf(".");
-	// int prefixLength = ServerConfiguration.FILE_PREFIX_CHANGEPACKAGE.length();
-	// String versionSpecString = versionName.substring(prefixLength, startOfFileExtension);
-	// int versionSpec = Integer.parseInt(versionSpecString);
-	// return versionSpec;
-	// }
-	//
-	// /**
-	// * Migrate the model instance if neccessary.
-	// *
-	// * @param projectURI the uri of the project state
-	// * @param changesURI the uri of the local changes of the project state
-	// * @param sourceModelReleaseNumber
-	// * @throws ModelMigrationException
-	// */
-	// private void migrate(URI projectURI, List<URI> changesURIs, int sourceModelReleaseNumber)
-	// throws EMFStoreMigrationException {
-	//
-	// List<URI> modelURIs = new ArrayList<URI>();
-	// modelURIs.add(projectURI);
-	// for (URI changeURI : changesURIs) {
-	// modelURIs.add(changeURI);
-	// }
-	// EMFStoreMigratorUtil.getEMFStoreMigrator().migrate(modelURIs,
-	// new ConsoleProgressMonitor());
-	// }
-	//
-	// private void stampCurrentVersionNumber(int modelReleaseNumber) {
-	// URI versionFileUri = URI.createFileURI(ServerConfiguration.getModelReleaseNumberFileName());
-	// Resource versionResource = new ResourceSetImpl().createResource(versionFileUri);
-	// ModelVersion modelVersion = ModelFactory.eINSTANCE.createModelVersion();
-	// modelVersion.setReleaseNumber(modelReleaseNumber);
-	// versionResource.getContents().add(modelVersion);
-	// try {
-	// ModelUtil.saveResource(versionResource, ModelUtil.getResourceLogger());
-	// } catch (IOException e) {
-	// // MK Auto-generated catch block
-	// e.printStackTrace();
-	// }
-	// }
-	//
-	// /**
-	// * Ask for Confirmation for model migration.
-	// *
-	// * @return true if user wants to proceed
-	// * @throws FatalESException
-	// */
-	// private boolean askForConfirmationForMigration() throws FatalESException {
-	// System.out
-	// .println("Your model is not up to date. Do you want to update now and did you backup your emfstore folder? (y/n)");
-	//
-	// byte[] buffer = new byte[1];
-	// String input = "";
-	// int read = 0;
-	//
-	// try {
-	// read = System.in.read(buffer, 0, 1);
-	// } catch (IOException e) {
-	// throw new FatalESException("Cannot read from input", e);
-	// }
-	//
-	// input = new String(buffer, 0, read);
-	// return input.equalsIgnoreCase("y");
-	// }
+@SuppressWarnings("restriction")
+public final class MigrationManager {
+
+	private MigrationManager() {
+	}
+
+	/**
+	 * Performs a migration of the server space.
+	 *
+	 * @param resourceSet a resource set which contains all necessary converters/handler and may be safely used by the
+	 *            migrator.
+	 * @param inMemoryChangePackage <code>true</code> if server is configured to use in memory change packages,
+	 *            <code>false</code> otherwise
+	 * @throws FatalESException in case of a fatal state
+	 */
+	public static void migrate(ResourceSet resourceSet, boolean inMemoryChangePackage) throws FatalESException {
+		/* check if migrator is available */
+		if (!EMFStoreMigratorUtil.isMigratorAvailable()) {
+			return;
+		}
+
+		/* get migrator */
+		EMFStoreMigrator migrator = null;
+		try {
+			migrator = EMFStoreMigratorUtil.getEMFStoreMigrator();
+		} catch (final EMFStoreMigrationException ex1) {
+			throw new FatalESException(
+				"No EMFStore Migrator could be created even though a migrator should be available."); //$NON-NLS-1$
+		}
+
+		/* load server space in order to access versions */
+		final URI serverSpaceURI = ESServerURIUtil.createServerSpaceURI();
+		final Resource resource = resourceSet.createResource(serverSpaceURI);
+		try {
+			resource.load(null);
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+			return;
+		}
+		final ServerSpace serverSpace = (ServerSpace) resource.getContents().get(0);
+
+		/* get uris which might have to be migrated */
+		final Set<URI> urisToMigrate = new LinkedHashSet<URI>();
+		final Map<URI, List<URI>> fileBasedCPToTempFiles = new LinkedHashMap<URI, List<URI>>();
+		fillURIsToMigrate(resourceSet.getURIConverter(), serverSpace, urisToMigrate, fileBasedCPToTempFiles,
+			inMemoryChangePackage);
+
+		/* check if all URIs may be handled by the migrator */
+		final Set<URI> urisWhichCantBeHandled = migrator.canHandle(urisToMigrate);
+		if (!urisWhichCantBeHandled.isEmpty()) {
+			urisToMigrate.removeAll(urisWhichCantBeHandled);
+			for (final URI uri : urisWhichCantBeHandled) {
+				ModelUtil.logInfo(MessageFormat.format(
+					"No migrator found for URI {0}. If a migration is needed for this URI you may encounter problems.", //$NON-NLS-1$
+					uri));
+			}
+		}
+
+		/* get URIs that actually need migration */
+		final Set<URI> urisWhichNeedMigration = migrator.needsMigration(urisToMigrate);
+
+		if (urisWhichNeedMigration.isEmpty()) {
+			return;
+		}
+
+		/* perform the actual migration */
+		try {
+			migrator.migrate(urisWhichNeedMigration, new ESSystemOutProgressMonitor());
+		} catch (final EMFStoreMigrationException ex) {
+			ModelUtil.logException(ex);
+		}
+
+		/*
+		 * fix file based changepackages (every operation was migrated on its own in a temp file. these need to be
+		 * reassembled)
+		 */
+		fixFileBasedCPs(fileBasedCPToTempFiles);
+
+	}
+
+	private static void fixFileBasedCPs(final Map<URI, List<URI>> fileBasedCPToTempFiles) {
+		for (final URI fileBasedCPURI : fileBasedCPToTempFiles.keySet()) {
+			/* create a new file based changepackage and add all migrated operations to it */
+			final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+			changePackage.initialize(fileBasedCPURI.toFileString());
+			for (final URI tempOperationFileURI : fileBasedCPToTempFiles.get(fileBasedCPURI)) {
+				try {
+					final AbstractOperation operation = ModelUtil.loadEObjectFromResource(
+						OperationsPackage.eINSTANCE.getAbstractOperation(),
+						tempOperationFileURI, false);
+					changePackage.add(operation);
+				} catch (final IOException ex) {
+					ModelUtil.logException(ex);
+				}
+			}
+
+			/* copy temp file to regular file */
+			try {
+				FileUtils.copyFile(new File(changePackage.getTempFilePath()),
+					new File(changePackage.getFilePath()));
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
+			}
+		}
+	}
+
+	private static void fillURIsToMigrate(
+		URIConverter uriConverter,
+		final ServerSpace serverSpace,
+		Set<URI> urisToMigrate,
+		Map<URI, List<URI>> fileBasedCPToTempFiles,
+		boolean inMemoryChangePackage) {
+		/* loop over all versions and check if changepackage/projectstate resources are available */
+		for (final ProjectHistory project : serverSpace.getProjects()) {
+			for (final Version version : project.getVersions()) {
+				final URI versionURI = EcoreUtil.getURI(version);
+				final URI projectStateURI = ESServerURIUtil.createProjectStateURI(versionURI);
+				if (uriConverter.exists(projectStateURI, null)) {
+					urisToMigrate.add(uriConverter.normalize(projectStateURI));
+				}
+				final URI changePackageURI = ESServerURIUtil.createChangePackageURI(versionURI);
+				if (!inMemoryChangePackage) {
+					fillURIsToMigrateForFileBasedCP(uriConverter, changePackageURI, urisToMigrate,
+						fileBasedCPToTempFiles);
+				} else {
+					if (uriConverter.exists(changePackageURI, null)) {
+						urisToMigrate.add(uriConverter.normalize(changePackageURI));
+					}
+				}
+			}
+		}
+	}
+
+	private static void fillURIsToMigrateForFileBasedCP(
+		URIConverter uriConverter,
+		URI changePackageURI,
+		Set<URI> urisToMigrate,
+		Map<URI, List<URI>> fileBasedCPToTempFiles) {
+		final URI normalizedFileBasedChangePackageURI = uriConverter.normalize(changePackageURI);
+		final URI operationsFile = URI.createURI(
+			normalizedFileBasedChangePackageURI.toString() + FileBasedChangePackageImpl.FILE_OP_INDEX);
+		try {
+			final File operationsJavaFile = new File(operationsFile.toFileString());
+			if (!operationsJavaFile.exists()) {
+				/* no file -> nothing to add */
+				return;
+			}
+			fileBasedCPToTempFiles.put(operationsFile, new ArrayList<URI>());
+			final SerializedOperationEmitter operationEmitter = new SerializedOperationEmitter(
+				Direction.Forward, operationsJavaFile);
+			Optional<String> operation = operationEmitter.tryEmit();
+			while (operation.isPresent()) {
+				final File tempFile = File.createTempFile("esMigration", ".xmi"); //$NON-NLS-1$//$NON-NLS-2$
+				tempFile.deleteOnExit();
+				FileUtils.writeStringToFile(tempFile,
+					"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + operation.get(), //$NON-NLS-1$
+					"UTF-8"); //$NON-NLS-1$
+				final URI tempFileURI = URI.createFileURI(tempFile.getAbsolutePath());
+				urisToMigrate.add(tempFileURI);
+				fileBasedCPToTempFiles.get(operationsFile).add(tempFileURI);
+				operation = operationEmitter.tryEmit();
+			}
+			operationEmitter.close();
+		} catch (final IOException ex) {
+			ModelUtil.logException(ex);
+		}
+	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/storage/XMIServerURIConverter.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/storage/XMIServerURIConverter.java
index 5fac991..0215234 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/storage/XMIServerURIConverter.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/storage/XMIServerURIConverter.java
@@ -82,7 +82,7 @@
 
 	@Override
 	protected URI normalizeServerSpaceURI(String profile) {
-		return URI.createFileURI(ServerConfiguration.getServerHome() + "storage" + FILE_EXTENSION_MAINSTORAGE); //$NON-NLS-1$
+		return URI.createFileURI(getServerHome() + "storage" + FILE_EXTENSION_MAINSTORAGE); //$NON-NLS-1$
 	}
 
 	@Override
@@ -108,7 +108,7 @@
 	}
 
 	private String getProjectFolder(String projectId) {
-		return ServerConfiguration.getServerHome() + FILE_PREFIX_PROJECTFOLDER + projectId
+		return getServerHome() + FILE_PREFIX_PROJECTFOLDER + projectId
 			+ File.separatorChar;
 	}
 
@@ -131,4 +131,11 @@
 		return extensions;
 	}
 
+	/**
+	 * @return The path to the server home.
+	 */
+	protected String getServerHome() {
+		return ServerConfiguration.getServerHome();
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/server/ESServerURIUtil.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/server/ESServerURIUtil.java
index 8357701..40cd6f6 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/server/ESServerURIUtil.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/server/ESServerURIUtil.java
@@ -16,6 +16,10 @@
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.emf.emfstore.common.ESResourceSetProvider;
+import org.eclipse.emf.emfstore.common.extensionpoint.ESExtensionPoint;
+import org.eclipse.emf.emfstore.common.extensionpoint.ESPriorityComparator;
 import org.eclipse.emf.emfstore.internal.common.CommonUtil;
 import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
 import org.eclipse.emf.emfstore.internal.server.model.ProjectId;
@@ -95,6 +99,8 @@
 	 */
 	public static final String DYNAMIC_MODELS_SEGMENT = "dynamic-models"; //$NON-NLS-1$
 
+	private static URIConverter uriConverter;
+
 	private ESServerURIUtil() {
 		// private constructor
 	}
@@ -170,6 +176,20 @@
 	}
 
 	/**
+	 * Creates an EMFStore URI for addressing a specific changepackage of a project.
+	 * <p />
+	 * Example URI: emfstore://serverspaces/<i>profile</i>/projects/<i>identifier</i>/changepackages/<i>nr</i>
+	 *
+	 * @param versionURI the valid uri of a version
+	 * @return the EMFStore URI
+	 * @since 1.8
+	 */
+	public static URI createChangePackageURI(URI versionURI) {
+		return versionURI.trimSegments(2).appendSegment(CHANGEPACKAGES_SEGMENT)
+			.appendSegment(versionURI.segment(versionURI.segmentCount() - 1));
+	}
+
+	/**
 	 * Creates an EMFStore URI for addressing a specific state of a project.
 	 * <p />
 	 * Example URI: emfstore://serverspaces/<i>profile</i>/projects/<i>identifier</i>/projectstates/<i>nr</i>
@@ -183,6 +203,20 @@
 	}
 
 	/**
+	 * Creates an EMFStore URI for addressing a specific state of a project.
+	 * <p />
+	 * Example URI: emfstore://serverspaces/<i>profile</i>/projects/<i>identifier</i>/projectstates/<i>nr</i>
+	 *
+	 * @param versionURI the valid uri of a version
+	 * @return the EMFStore URI
+	 * @since 1.8
+	 */
+	public static URI createProjectStateURI(URI versionURI) {
+		return versionURI.trimSegments(2).appendSegment(PROJECTSTATES_SEGMENT)
+			.appendSegment(versionURI.segment(versionURI.segmentCount() - 1));
+	}
+
+	/**
 	 * Returns the used profile.
 	 * <p />
 	 * Example URI: emfstore://serverspaces/<b><i>profile</i></b>/projects/<i>identifier</i>/versions/<i>nr</i>
@@ -214,4 +248,29 @@
 		return getServerPrefix() + PROJECTS_SEGMENT + "/" + projectId.getId() + "/"; //$NON-NLS-1$ //$NON-NLS-2$
 	}
 
+	/**
+	 * Whether a resource for the given uri is existing. Please note that this method will only return valid arguments
+	 * when used with EMFStore-URIs or standard EMF-URIs.
+	 *
+	 * @param uri the uri to check
+	 * @return <code>true</code> if a resource for the given URI is existing, <code>false</code> otherwise
+	 * @since 1.8
+	 */
+	public static boolean exists(URI uri) {
+		return getURIConverter().exists(uri, null);
+	}
+
+	private static URIConverter getURIConverter() {
+		if (uriConverter == null) {
+			final ESExtensionPoint extensionPoint = new ESExtensionPoint(
+				"org.eclipse.emf.emfstore.server.resourceSetProvider", //$NON-NLS-1$
+				true, new ESPriorityComparator("priority", true)); //$NON-NLS-1$
+			final ESResourceSetProvider resourceSetProvider = extensionPoint
+				.getElementWithHighestPriority()
+				.getClass("class", ESResourceSetProvider.class); //$NON-NLS-1$
+			uriConverter = resourceSetProvider.getResourceSet().getURIConverter();
+		}
+		return uriConverter;
+	}
+
 }
diff --git a/features/org.eclipse.emf.emfstore.client.feature/feature.xml b/features/org.eclipse.emf.emfstore.client.feature/feature.xml
index f47486f..d7d2f98 100644
--- a/features/org.eclipse.emf.emfstore.client.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.client.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.client.feature"
       label="EMFStore Client"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.client"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all plugins to contact the EMFStore server from a client application.
diff --git a/features/org.eclipse.emf.emfstore.client.feature/pom.xml b/features/org.eclipse.emf.emfstore.client.feature/pom.xml
index 5627b29..753045c 100644
--- a/features/org.eclipse.emf.emfstore.client.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.client.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.client.transaction.feature/feature.xml b/features/org.eclipse.emf.emfstore.client.transaction.feature/feature.xml
index 95c082f..f4e30d4 100644
--- a/features/org.eclipse.emf.emfstore.client.transaction.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.client.transaction.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.client.transaction.feature"
       label="EMFStore Transaction Support"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.client.transaction"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature adds transaction support to EMFStore based on EMF Transaction. It automatically registers an TransactionalEditingDomain with the EMFStore.
diff --git a/features/org.eclipse.emf.emfstore.client.transaction.feature/pom.xml b/features/org.eclipse.emf.emfstore.client.transaction.feature/pom.xml
index 2cd7ad0..e7b994e 100644
--- a/features/org.eclipse.emf.emfstore.client.transaction.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.client.transaction.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.transaction.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.client.ui.feature/feature.xml b/features/org.eclipse.emf.emfstore.client.ui.feature/feature.xml
index 74dbfca..a8693fe 100644
--- a/features/org.eclipse.emf.emfstore.client.ui.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.client.ui.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.client.ui.feature"
       label="EMFStore Client UI"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.client.ui"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all plugins to provide user interfaces
diff --git a/features/org.eclipse.emf.emfstore.client.ui.feature/pom.xml b/features/org.eclipse.emf.emfstore.client.ui.feature/pom.xml
index e084185..38c4d91 100644
--- a/features/org.eclipse.emf.emfstore.client.ui.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.client.ui.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/feature.xml b/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/feature.xml
index f1a0e02..e6b5d7d 100644
--- a/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature"
       label="HistoryBrowserComparator"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.client.ui.historybrowsercomparator"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature adds a comparator to EMFStore&apos;s history browser.
@@ -23,8 +23,8 @@
    <requires>
       <import plugin="org.eclipse.emf.compare" version="3.0.0" match="compatible"/>
       <import plugin="org.eclipse.compare" version="3.5.300" match="compatible"/>
-      <import plugin="org.eclipse.emf.emfstore.client" version="1.7.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.emfstore.client.ui" version="1.7.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.emfstore.client" version="1.8.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.emfstore.client.ui" version="1.8.0" match="compatible"/>
       <import plugin="org.eclipse.emf.compare.ide.ui" version="4.0.0" match="compatible"/>
       <import plugin="org.eclipse.emf.compare.ide" version="3.1.0" match="compatible"/>
       <import plugin="org.eclipse.emf.compare.edit" version="4.0.0" match="compatible"/>
diff --git a/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/pom.xml b/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/pom.xml
index c358ecd..98a017a 100644
--- a/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.client.ui.rap.feature/feature.xml b/features/org.eclipse.emf.emfstore.client.ui.rap.feature/feature.xml
index 712c37f..0152e9c 100644
--- a/features/org.eclipse.emf.emfstore.client.ui.rap.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.client.ui.rap.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.client.ui.rap.feature"
       label="EMFStore Client UI RAP"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.client.ui"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all plugins to provide user interfaces
diff --git a/features/org.eclipse.emf.emfstore.client.ui.rap.feature/pom.xml b/features/org.eclipse.emf.emfstore.client.ui.rap.feature/pom.xml
index fb8ced3..d7dbee8 100644
--- a/features/org.eclipse.emf.emfstore.client.ui.rap.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.client.ui.rap.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.rap.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.common.feature/feature.xml b/features/org.eclipse.emf.emfstore.common.feature/feature.xml
index 2a1e8fa..54ac5a8 100644
--- a/features/org.eclipse.emf.emfstore.common.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.common.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.common.feature"
       label="EMFStore Common"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.common"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       Contains common plugins of EMFStore that are used by other EMFStore features.
diff --git a/features/org.eclipse.emf.emfstore.common.feature/pom.xml b/features/org.eclipse.emf.emfstore.common.feature/pom.xml
index 11f364f..7852874 100644
--- a/features/org.eclipse.emf.emfstore.common.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.common.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.common.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.ecore.feature/feature.xml b/features/org.eclipse.emf.emfstore.ecore.feature/feature.xml
index f158b15..656a9a7 100644
--- a/features/org.eclipse.emf.emfstore.ecore.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.ecore.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.ecore.feature"
       label="EMFStore Ecore"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.ecore"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       Contains ecore plugin of EMFStore that is used by other EMFStore features.
diff --git a/features/org.eclipse.emf.emfstore.ecore.feature/pom.xml b/features/org.eclipse.emf.emfstore.ecore.feature/pom.xml
index cca0f71..726fbe3 100644
--- a/features/org.eclipse.emf.emfstore.ecore.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.ecore.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.ecore.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.example.feature/feature.xml b/features/org.eclipse.emf.emfstore.example.feature/feature.xml
index 1404166..501ce7f 100644
--- a/features/org.eclipse.emf.emfstore.example.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.example.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.example.feature"
       label="EMFStore Code Examples"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.example.installer"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org ">
       EMFStore Code Examples
diff --git a/features/org.eclipse.emf.emfstore.example.feature/pom.xml b/features/org.eclipse.emf.emfstore.example.feature/pom.xml
index 79266ff..3a736bd 100644
--- a/features/org.eclipse.emf.emfstore.example.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.example.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.example.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.emfstore.fuzzy.feature/feature.xml b/features/org.eclipse.emf.emfstore.fuzzy.feature/feature.xml
index d220d53..10fcafe 100644
--- a/features/org.eclipse.emf.emfstore.fuzzy.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.fuzzy.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.fuzzy.feature"
       label="Fuzzy Testing Feature"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.branding"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains the fuzzy testing framework and the EMFDataProvider
diff --git a/features/org.eclipse.emf.emfstore.fuzzy.feature/pom.xml b/features/org.eclipse.emf.emfstore.fuzzy.feature/pom.xml
index d150fd3..8dab069 100644
--- a/features/org.eclipse.emf.emfstore.fuzzy.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.fuzzy.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.fuzzy.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.emfstore.fuzzy.test.feature/feature.xml b/features/org.eclipse.emf.emfstore.fuzzy.test.feature/feature.xml
index 86990ce..e779354 100644
--- a/features/org.eclipse.emf.emfstore.fuzzy.test.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.fuzzy.test.feature/feature.xml
@@ -2,10 +2,10 @@
 <feature
       id="org.eclipse.emf.emfstore.fuzzy.test.feature"
       label="EMFStore Fuzzy Tests"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://www.example.com/description">
       This feature contains the integration plugins for EMFStore with fuzzy testing.
diff --git a/features/org.eclipse.emf.emfstore.fuzzy.test.feature/pom.xml b/features/org.eclipse.emf.emfstore.fuzzy.test.feature/pom.xml
index aded925..bf3c0d4 100644
--- a/features/org.eclipse.emf.emfstore.fuzzy.test.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.fuzzy.test.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.fuzzy.test.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.emfstore.license.feature/feature.xml b/features/org.eclipse.emf.emfstore.license.feature/feature.xml
index b15a39a..be551c9 100644
--- a/features/org.eclipse.emf.emfstore.license.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.license.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.emfstore.license.feature"
       label="EMFStore License"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project">
 
    <description>
diff --git a/features/org.eclipse.emf.emfstore.license.feature/pom.xml b/features/org.eclipse.emf.emfstore.license.feature/pom.xml
index 0152966..cae0d98 100644
--- a/features/org.eclipse.emf.emfstore.license.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.license.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.license.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.migration.cope.feature/.project b/features/org.eclipse.emf.emfstore.migration.cope.feature/.project
deleted file mode 100644
index 7c58fc5..0000000
--- a/features/org.eclipse.emf.emfstore.migration.cope.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.emf.emfstore.migration.edapt.feature</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.pde.FeatureBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.pde.FeatureNature</nature>

-	</natures>

-</projectDescription>

diff --git a/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 4824b80..0000000
--- a/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1

-encoding/<project>=UTF-8

diff --git a/features/org.eclipse.emf.emfstore.migration.edapt.feature/feature.xml b/features/org.eclipse.emf.emfstore.migration.edapt.feature/feature.xml
index 4e55d1c..7fab61c 100644
--- a/features/org.eclipse.emf.emfstore.migration.edapt.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.migration.edapt.feature/feature.xml
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature

-      id="org.eclipse.emf.emfstore.migration.edapt.feature"

-      label="EMFStore Edapt Migration"

-      version="1.0.0.qualifier"

-      provider-name="Eclipse Modeling Project"

-      license-feature="org.eclipse.emf.emfstore.license.feature"

-      license-feature-version="1.2.0.qualifier">

-

-   <description url="http://emfstore.org">

-      This feature contains all plugins to migrate EMFStore-hosted models
-with Edapt.

-   </description>

-

-   <copyright url="http://www.eclipse.org/legal/epl-v10.html">

+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.emf.emfstore.migration.edapt.feature"
+      label="EMFStore Edapt Migration"
+      version="1.8.0.qualifier"
+      provider-name="Eclipse Modeling Project"
+      license-feature="org.eclipse.emf.emfstore.license.feature"
+      license-feature-version="1.8.0.qualifier">
+
+   <description url="http://emfstore.org">
+      This feature contains all plugins to migrate EMFStore-hosted
+models with Edapt.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
       Copyright (c) 2008-2011 Chair for Applied Software Engineering,
 Technische Universitaet Muenchen.
 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

-   </copyright>

-

-   <license url="http://www.eclipse.org/legal/epl-v10.html">

+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
       Eclipse Public License - v 1.0
 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
 ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
@@ -218,23 +218,23 @@
 No party to this Agreement will bring a legal action under this
 Agreement more than one year after the cause of action arose.
 Each party waives its rights to a jury trial in any resulting
-litigation.

-   </license>

-

-   <requires>

-      <import plugin="org.eclipse.core.runtime"/>

-      <import plugin="org.eclipse.emf.emfstore.migration"/>

-      <import plugin="org.eclipse.emf.edapt.migration" version="0.3.0" match="greaterOrEqual"/>

-      <import plugin="org.eclipse.emf.edapt.common" version="0.3.0" match="greaterOrEqual"/>

-      <import plugin="org.eclipse.emf.edapt.declaration" version="0.3.0" match="greaterOrEqual"/>

-      <import plugin="org.eclipse.emf.edapt.history" version="0.3.0" match="greaterOrEqual"/>

-   </requires>

-

-   <plugin

-         id="org.eclipse.emf.emfstore.migration.edapt"

-         download-size="0"

-         install-size="0"

-         version="0.0.0"

-         unpack="false"/>

-

-</feature>

+litigation.
+   </license>
+
+   <requires>
+      <import plugin="org.eclipse.emf.emfstore.migration" version="1.8.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.runtime" version="3.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.common" version="2.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.edapt.migration" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.edapt.history" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.emfstore.common.model" version="1.8.0" match="greaterOrEqual"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.migration.edapt"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.emf.emfstore.migration.edapt.feature/pom.xml b/features/org.eclipse.emf.emfstore.migration.edapt.feature/pom.xml
new file mode 100644
index 0000000..5a13967
--- /dev/null
+++ b/features/org.eclipse.emf.emfstore.migration.edapt.feature/pom.xml
@@ -0,0 +1,48 @@
+<?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-features-parent</artifactId>
+    <version>1.8.0-SNAPSHOT</version>
+    <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
+  </parent>
+  <groupId>org.eclipse.emf.emfstore</groupId>
+  <artifactId>org.eclipse.emf.emfstore.migration.edapt.feature</artifactId>
+  <version>1.8.0-SNAPSHOT</version>
+  <packaging>eclipse-feature</packaging>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho.extras</groupId>
+        <artifactId>tycho-source-feature-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <executions>
+          <execution>
+            <id>source-feature</id>
+            <phase>package</phase>
+            <goals>
+              <goal>source-feature</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-p2-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <executions>
+          <execution>
+            <id>attached-p2-metadata</id>
+            <phase>package</phase>
+            <goals>
+              <goal>p2-metadata</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/features/org.eclipse.emf.emfstore.modelmutator.feature/feature.xml b/features/org.eclipse.emf.emfstore.modelmutator.feature/feature.xml
index ab743a6..0ef7c7b 100644
--- a/features/org.eclipse.emf.emfstore.modelmutator.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.modelmutator.feature/feature.xml
@@ -6,7 +6,7 @@
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.modelmutator"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       Contains a set of plugins that may be used to alter existing
diff --git a/features/org.eclipse.emf.emfstore.modelmutator.feature/pom.xml b/features/org.eclipse.emf.emfstore.modelmutator.feature/pom.xml
index aa1b8a4..2e7653c 100644
--- a/features/org.eclipse.emf.emfstore.modelmutator.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.modelmutator.feature/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/features/org.eclipse.emf.emfstore.mongodb.client.feature/feature.xml b/features/org.eclipse.emf.emfstore.mongodb.client.feature/feature.xml
index 215b3d9..a2528a0 100644
--- a/features/org.eclipse.emf.emfstore.mongodb.client.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.mongodb.client.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.mongodb.client.feature"
       label="EMFStore mongoDB Client Feature"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.mongodb.client"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all plugins to run the EMFStore client
diff --git a/features/org.eclipse.emf.emfstore.mongodb.client.feature/pom.xml b/features/org.eclipse.emf.emfstore.mongodb.client.feature/pom.xml
index c7374e0..2c6f9d8 100644
--- a/features/org.eclipse.emf.emfstore.mongodb.client.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.mongodb.client.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.mongodb.client.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.mongodb.server.feature/feature.xml b/features/org.eclipse.emf.emfstore.mongodb.server.feature/feature.xml
index 10a2f62..1825452 100644
--- a/features/org.eclipse.emf.emfstore.mongodb.server.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.mongodb.server.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.mongodb.server.feature"
       label="EMFStore mongoDB Server Feature"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.mongodb.server"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all plugins to run the EMFStore server
diff --git a/features/org.eclipse.emf.emfstore.mongodb.server.feature/pom.xml b/features/org.eclipse.emf.emfstore.mongodb.server.feature/pom.xml
index 11dff03..22ac5b5 100644
--- a/features/org.eclipse.emf.emfstore.mongodb.server.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.mongodb.server.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.mongodb.server.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.sdk.feature/feature.xml b/features/org.eclipse.emf.emfstore.sdk.feature/feature.xml
index eb927a9..f68a55b 100644
--- a/features/org.eclipse.emf.emfstore.sdk.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.sdk.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.sdk.feature"
       label="EMFStore SDK"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.branding"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all core plugins including sources to use the EMFStore.
diff --git a/features/org.eclipse.emf.emfstore.sdk.feature/pom.xml b/features/org.eclipse.emf.emfstore.sdk.feature/pom.xml
index c86df92..10e592e 100644
--- a/features/org.eclipse.emf.emfstore.sdk.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.sdk.feature/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.sdk.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.emf.emfstore.server.feature/feature.xml b/features/org.eclipse.emf.emfstore.server.feature/feature.xml
index 9ffa685..60df487 100644
--- a/features/org.eclipse.emf.emfstore.server.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.server.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.server.feature"
       label="EMFStore Server"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.server"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all plugins to run the EMFStore server.
diff --git a/features/org.eclipse.emf.emfstore.server.feature/pom.xml b/features/org.eclipse.emf.emfstore.server.feature/pom.xml
index 783eb44..01ab90f 100644
--- a/features/org.eclipse.emf.emfstore.server.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.server.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.server.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.test.feature/feature.xml b/features/org.eclipse.emf.emfstore.test.feature/feature.xml
index e51dae1..62ae06a 100644
--- a/features/org.eclipse.emf.emfstore.test.feature/feature.xml
+++ b/features/org.eclipse.emf.emfstore.test.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.emf.emfstore.test.feature"
       label="EMFStore Tests"
-      version="1.7.0.qualifier"
+      version="1.8.0.qualifier"
       provider-name="Eclipse Modeling Project"
       plugin="org.eclipse.emf.emfstore.branding"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.7.0.qualifier">
+      license-feature-version="1.8.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all test plugins as well as helper and utility classes to write custom EMFStore tests.
diff --git a/features/org.eclipse.emf.emfstore.test.feature/pom.xml b/features/org.eclipse.emf.emfstore.test.feature/pom.xml
index f2d87eb..bbc0f58 100644
--- a/features/org.eclipse.emf.emfstore.test.feature/pom.xml
+++ b/features/org.eclipse.emf.emfstore.test.feature/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-features-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.features</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.test.feature</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/releng/_marketplace/_mpparent/pom.xml b/releng/_marketplace/_mpparent/pom.xml
index 92a9026..407e0ca 100644
--- a/releng/_marketplace/_mpparent/pom.xml
+++ b/releng/_marketplace/_mpparent/pom.xml
@@ -30,11 +30,11 @@
             <configuration>
               <source>
                 <repository>
-                    <url>http://download.eclipse.org/ecp/releases/releases_17/171</url>
+                    <url>http://download.eclipse.org/ecp/releases/releases_18/180_RC4</url>
                     <layout>p2</layout>
                 </repository>
                 <repository>
-                    <url>http://download.eclipse.org/emfstore/releases_16/162</url>
+                    <url>http://download.eclipse.org/emfstore/releases_17/170</url>
                     <layout>p2</layout>
                 </repository>
               </source>
diff --git a/releng/_target/emfstore-mars.target b/releng/_target/emfstore-mars.target
new file mode 100644
index 0000000..56ed01a
--- /dev/null
+++ b/releng/_target/emfstore-mars.target
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="EMFStore" sequenceNumber="241">
+<locations>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.ecp.view.categorization.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.treemasterdetail.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.label.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.sdk.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.model.controls.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.custom.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.emfstore.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.demo.e3.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.e4.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.viewmodel.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.e3.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.cdo.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.rule.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.template.helper.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.workspace.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.table.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.model.editor.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.unset.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.validation.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.groupedgrid.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.ecore.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.separator.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.vertical.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.group.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.horizontal.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.view.template.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecp.demo.e4.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/ecp/releases/releases_12"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.platform.ide" version="0.0.0"/>
+<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.sdk.ide" version="0.0.0"/>
+<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.sdk" version="0.0.0"/>
+<unit id="org.eclipse.pde.source.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.5"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.apache.log4j.source" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.core" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
+<unit id="org.apache.log4j" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.library.source" version="0.0.0"/>
+<unit id="org.hamcrest.library" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.core.source" version="0.0.0"/>
+<repository location="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipselabs.mongo.emf.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipselabs.mongo.emf.feature.source.feature.group" version="0.0.0"/>
+<repository location="http://bryanhunt.github.com/mongo-emf/releases/0.7.1"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.compare.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.0/"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.jetty.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/juno/"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.validation.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.gef.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.compare.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.ocl.all.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/mars/"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="com.google.guava" version="0.0.0"/>
+<unit id="javax.annotation" version="0.0.0"/>
+<unit id="javax.annotation.source" version="0.0.0"/>
+<unit id="com.google.guava.source" version="0.0.0"/>
+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20151221205849/repository/"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.edapt.runtime.feature.source.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/edapt/p2/nightly"/>
+</location>
+</locations>
+</target>
diff --git a/releng/_target/emfstore-rap.target b/releng/_target/emfstore-rap.target
index a344003..f52f40c 100644
--- a/releng/_target/emfstore-rap.target
+++ b/releng/_target/emfstore-rap.target
@@ -88,4 +88,1194 @@
 <repository location="http://download.eclipse.org/rt/rap/incubator/2.3/fileupload/"/>
 </location>
 </locations>
+<includeBundles>
+<plugin id="ch.qos.logback.classic"/>
+<plugin id="ch.qos.logback.classic.source"/>
+<plugin id="ch.qos.logback.core"/>
+<plugin id="ch.qos.logback.core.source"/>
+<plugin id="ch.qos.logback.slf4j"/>
+<plugin id="com.google.guava"/>
+<plugin id="com.google.guava.source"/>
+<plugin id="com.ibm.icu"/>
+<plugin id="com.ibm.icu.base"/>
+<plugin id="com.ibm.icu.base.source"/>
+<plugin id="com.ibm.icu.source"/>
+<plugin id="com.jcraft.jsch"/>
+<plugin id="com.jcraft.jsch.source"/>
+<plugin id="com.sun.el" version="2.2.0.v201108011116"/>
+<plugin id="com.sun.el" version="2.2.0.v201108011116"/>
+<plugin id="com.sun.el.source" version="2.2.0.v201108011116"/>
+<plugin id="com.sun.el.source" version="2.2.0.v201108011116"/>
+<plugin id="javax.annotation"/>
+<plugin id="javax.el" version="2.2.0.v201108011116"/>
+<plugin id="javax.el" version="2.2.0.v201108011116"/>
+<plugin id="javax.el.source" version="2.2.0.v201108011116"/>
+<plugin id="javax.el.source" version="2.2.0.v201108011116"/>
+<plugin id="javax.inject"/>
+<plugin id="javax.inject.source"/>
+<plugin id="javax.servlet" version="3.0.0.v201112011016"/>
+<plugin id="javax.servlet" version="3.0.0.v201112011016"/>
+<plugin id="javax.servlet" version="3.0.0.v201112011016"/>
+<plugin id="javax.servlet.jsp" version="2.2.0.v201112011158"/>
+<plugin id="javax.servlet.jsp" version="2.2.0.v201112011158"/>
+<plugin id="javax.servlet.jsp.jstl"/>
+<plugin id="javax.servlet.jsp.jstl.source"/>
+<plugin id="javax.servlet.jsp.source" version="2.2.0.v201112011158"/>
+<plugin id="javax.servlet.jsp.source" version="2.2.0.v201112011158"/>
+<plugin id="javax.servlet.source" version="3.0.0.v201112011016"/>
+<plugin id="javax.servlet.source" version="3.0.0.v201112011016"/>
+<plugin id="javax.servlet.source" version="3.0.0.v201112011016"/>
+<plugin id="javax.xml" version="1.3.4.v201005080400"/>
+<plugin id="javax.xml" version="1.3.4.v201005080400"/>
+<plugin id="org.apache.ant"/>
+<plugin id="org.apache.ant.source"/>
+<plugin id="org.apache.batik.css" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.css" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.css.source" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.css.source" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.dom"/>
+<plugin id="org.apache.batik.dom.source"/>
+<plugin id="org.apache.batik.ext.awt"/>
+<plugin id="org.apache.batik.ext.awt.source"/>
+<plugin id="org.apache.batik.svggen"/>
+<plugin id="org.apache.batik.svggen.source"/>
+<plugin id="org.apache.batik.util" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util.gui" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util.gui" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util.gui.source" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util.gui.source" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util.source" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.util.source" version="1.6.0.v201011041432"/>
+<plugin id="org.apache.batik.xml"/>
+<plugin id="org.apache.batik.xml.source"/>
+<plugin id="org.apache.commons.codec" version="1.3.0.v201101211617"/>
+<plugin id="org.apache.commons.codec" version="1.6.0.v201305230611"/>
+<plugin id="org.apache.commons.codec.source" version="1.3.0.v201101211617"/>
+<plugin id="org.apache.commons.codec.source" version="1.6.0.v201305230611"/>
+<plugin id="org.apache.commons.fileupload"/>
+<plugin id="org.apache.commons.httpclient" version="3.1.0.v201012070820"/>
+<plugin id="org.apache.commons.httpclient" version="3.1.0.v201012070820"/>
+<plugin id="org.apache.commons.httpclient.source" version="3.1.0.v201012070820"/>
+<plugin id="org.apache.commons.httpclient.source" version="3.1.0.v201012070820"/>
+<plugin id="org.apache.commons.io"/>
+<plugin id="org.apache.commons.logging" version="1.0.4.v201101211617"/>
+<plugin id="org.apache.commons.logging" version="1.1.1.v201101211721"/>
+<plugin id="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
+<plugin id="org.apache.commons.logging.source" version="1.0.4.v201101211617"/>
+<plugin id="org.apache.derby.source"/>
+<plugin id="org.apache.felix.gogo.command" version="0.8.0.v201108120515"/>
+<plugin id="org.apache.felix.gogo.command" version="0.10.0.v201209301215"/>
+<plugin id="org.apache.felix.gogo.command.source" version="0.10.0.v201209301215"/>
+<plugin id="org.apache.felix.gogo.command.source" version="0.8.0.v201108120515"/>
+<plugin id="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036"/>
+<plugin id="org.apache.felix.gogo.runtime" version="0.8.0.v201108120515"/>
+<plugin id="org.apache.felix.gogo.runtime.source" version="0.10.0.v201209301036"/>
+<plugin id="org.apache.felix.gogo.runtime.source" version="0.8.0.v201108120515"/>
+<plugin id="org.apache.felix.gogo.shell" version="0.8.0.v201110170705"/>
+<plugin id="org.apache.felix.gogo.shell" version="0.10.0.v201212101605"/>
+<plugin id="org.apache.felix.gogo.shell.source" version="0.10.0.v201212101605"/>
+<plugin id="org.apache.felix.gogo.shell.source" version="0.8.0.v201110170705"/>
+<plugin id="org.apache.jasper.glassfish" version="2.2.2.v201205150955"/>
+<plugin id="org.apache.jasper.glassfish" version="2.2.2.v201205150955"/>
+<plugin id="org.apache.jasper.glassfish.source" version="2.2.2.v201205150955"/>
+<plugin id="org.apache.jasper.glassfish.source" version="2.2.2.v201205150955"/>
+<plugin id="org.apache.log4j"/>
+<plugin id="org.apache.log4j.source"/>
+<plugin id="org.apache.lucene"/>
+<plugin id="org.apache.lucene.analysis"/>
+<plugin id="org.apache.lucene.analysis.source"/>
+<plugin id="org.apache.lucene.core"/>
+<plugin id="org.apache.lucene.core.source"/>
+<plugin id="org.apache.lucene.source"/>
+<plugin id="org.apache.mina.core"/>
+<plugin id="org.apache.mina.core.source"/>
+<plugin id="org.apache.sshd.core"/>
+<plugin id="org.apache.sshd.core.source"/>
+<plugin id="org.apache.taglibs.standard.glassfish"/>
+<plugin id="org.apache.taglibs.standard.glassfish.source"/>
+<plugin id="org.eclipse.ant.core"/>
+<plugin id="org.eclipse.ant.core.source"/>
+<plugin id="org.eclipse.ant.launching"/>
+<plugin id="org.eclipse.ant.launching.source"/>
+<plugin id="org.eclipse.ant.ui"/>
+<plugin id="org.eclipse.ant.ui.source"/>
+<plugin id="org.eclipse.compare"/>
+<plugin id="org.eclipse.compare.core"/>
+<plugin id="org.eclipse.compare.core.source"/>
+<plugin id="org.eclipse.compare.source"/>
+<plugin id="org.eclipse.compare.win32"/>
+<plugin id="org.eclipse.compare.win32.source"/>
+<plugin id="org.eclipse.core.commands" version="3.6.100.v20140528-1422"/>
+<plugin id="org.eclipse.core.commands" version="3.6.2.v20130123-162658"/>
+<plugin id="org.eclipse.core.commands.source" version="3.6.100.v20140528-1422"/>
+<plugin id="org.eclipse.core.commands.source" version="3.6.2.v20130123-162658"/>
+<plugin id="org.eclipse.core.contenttype" version="3.4.200.v20140207-1251"/>
+<plugin id="org.eclipse.core.contenttype" version="3.4.200.v20120523-2004"/>
+<plugin id="org.eclipse.core.contenttype.source" version="3.4.200.v20140207-1251"/>
+<plugin id="org.eclipse.core.contenttype.source" version="3.4.200.v20120523-2004"/>
+<plugin id="org.eclipse.core.databinding" version="1.4.2.v20140729-1044"/>
+<plugin id="org.eclipse.core.databinding" version="1.4.1.v20120912-132807"/>
+<plugin id="org.eclipse.core.databinding.beans" version="1.2.200.v20120523-1955"/>
+<plugin id="org.eclipse.core.databinding.beans" version="1.2.200.v20140214-0004"/>
+<plugin id="org.eclipse.core.databinding.beans.source" version="1.2.200.v20140214-0004"/>
+<plugin id="org.eclipse.core.databinding.beans.source" version="1.2.200.v20120523-1955"/>
+<plugin id="org.eclipse.core.databinding.observable" version="1.4.1.v20120521-2329"/>
+<plugin id="org.eclipse.core.databinding.observable" version="1.4.1.v20140210-1835"/>
+<plugin id="org.eclipse.core.databinding.observable.source" version="1.4.1.v20120521-2329"/>
+<plugin id="org.eclipse.core.databinding.observable.source" version="1.4.1.v20140210-1835"/>
+<plugin id="org.eclipse.core.databinding.property" version="1.4.200.v20140214-0004"/>
+<plugin id="org.eclipse.core.databinding.property" version="1.4.100.v20120523-1955"/>
+<plugin id="org.eclipse.core.databinding.property.source" version="1.4.200.v20140214-0004"/>
+<plugin id="org.eclipse.core.databinding.property.source" version="1.4.100.v20120523-1955"/>
+<plugin id="org.eclipse.core.databinding.source" version="1.4.2.v20140729-1044"/>
+<plugin id="org.eclipse.core.databinding.source" version="1.4.1.v20120912-132807"/>
+<plugin id="org.eclipse.core.expressions" version="3.4.600.v20140128-0851"/>
+<plugin id="org.eclipse.core.expressions" version="3.4.401.v20120912-155018"/>
+<plugin id="org.eclipse.core.expressions.source" version="3.4.401.v20120912-155018"/>
+<plugin id="org.eclipse.core.expressions.source" version="3.4.600.v20140128-0851"/>
+<plugin id="org.eclipse.core.externaltools"/>
+<plugin id="org.eclipse.core.externaltools.source"/>
+<plugin id="org.eclipse.core.filebuffers"/>
+<plugin id="org.eclipse.core.filebuffers.source"/>
+<plugin id="org.eclipse.core.filesystem"/>
+<plugin id="org.eclipse.core.filesystem.aix.ppc"/>
+<plugin id="org.eclipse.core.filesystem.aix.ppc64"/>
+<plugin id="org.eclipse.core.filesystem.hpux.ia64_32"/>
+<plugin id="org.eclipse.core.filesystem.linux.ppc"/>
+<plugin id="org.eclipse.core.filesystem.linux.ppc64"/>
+<plugin id="org.eclipse.core.filesystem.linux.x86"/>
+<plugin id="org.eclipse.core.filesystem.linux.x86_64"/>
+<plugin id="org.eclipse.core.filesystem.macosx"/>
+<plugin id="org.eclipse.core.filesystem.solaris.sparc"/>
+<plugin id="org.eclipse.core.filesystem.source"/>
+<plugin id="org.eclipse.core.filesystem.win32.x86"/>
+<plugin id="org.eclipse.core.filesystem.win32.x86_64"/>
+<plugin id="org.eclipse.core.jobs" version="3.5.300.v20120912-155018"/>
+<plugin id="org.eclipse.core.jobs" version="3.6.1.v20141014-1248"/>
+<plugin id="org.eclipse.core.jobs.source" version="3.6.1.v20141014-1248"/>
+<plugin id="org.eclipse.core.jobs.source" version="3.5.300.v20120912-155018"/>
+<plugin id="org.eclipse.core.net"/>
+<plugin id="org.eclipse.core.net.linux.x86"/>
+<plugin id="org.eclipse.core.net.linux.x86_64"/>
+<plugin id="org.eclipse.core.net.source"/>
+<plugin id="org.eclipse.core.net.win32.x86"/>
+<plugin id="org.eclipse.core.net.win32.x86_64"/>
+<plugin id="org.eclipse.core.resources"/>
+<plugin id="org.eclipse.core.resources.source"/>
+<plugin id="org.eclipse.core.resources.win32.x86"/>
+<plugin id="org.eclipse.core.runtime" version="3.10.0.v20140318-2214"/>
+<plugin id="org.eclipse.core.runtime" version="3.8.0.v20120912-155025"/>
+<plugin id="org.eclipse.core.runtime.compatibility"/>
+<plugin id="org.eclipse.core.runtime.compatibility.registry"/>
+<plugin id="org.eclipse.core.runtime.compatibility.registry.source"/>
+<plugin id="org.eclipse.core.runtime.compatibility.source"/>
+<plugin id="org.eclipse.core.runtime.source" version="3.10.0.v20140318-2214"/>
+<plugin id="org.eclipse.core.runtime.source" version="3.8.0.v20120912-155025"/>
+<plugin id="org.eclipse.core.variables"/>
+<plugin id="org.eclipse.core.variables.source"/>
+<plugin id="org.eclipse.debug.core"/>
+<plugin id="org.eclipse.debug.core.source"/>
+<plugin id="org.eclipse.debug.ui"/>
+<plugin id="org.eclipse.debug.ui.source"/>
+<plugin id="org.eclipse.draw2d"/>
+<plugin id="org.eclipse.draw2d.doc.isv"/>
+<plugin id="org.eclipse.draw2d.source"/>
+<plugin id="org.eclipse.e4.core.commands"/>
+<plugin id="org.eclipse.e4.core.commands.source"/>
+<plugin id="org.eclipse.e4.core.contexts"/>
+<plugin id="org.eclipse.e4.core.contexts.source"/>
+<plugin id="org.eclipse.e4.core.di"/>
+<plugin id="org.eclipse.e4.core.di.extensions"/>
+<plugin id="org.eclipse.e4.core.di.extensions.source"/>
+<plugin id="org.eclipse.e4.core.di.source"/>
+<plugin id="org.eclipse.e4.core.services"/>
+<plugin id="org.eclipse.e4.core.services.source"/>
+<plugin id="org.eclipse.e4.ui.bindings"/>
+<plugin id="org.eclipse.e4.ui.bindings.source"/>
+<plugin id="org.eclipse.e4.ui.css.core"/>
+<plugin id="org.eclipse.e4.ui.css.core.source"/>
+<plugin id="org.eclipse.e4.ui.css.swt"/>
+<plugin id="org.eclipse.e4.ui.css.swt.source"/>
+<plugin id="org.eclipse.e4.ui.css.swt.theme"/>
+<plugin id="org.eclipse.e4.ui.css.swt.theme.source"/>
+<plugin id="org.eclipse.e4.ui.di"/>
+<plugin id="org.eclipse.e4.ui.di.source"/>
+<plugin id="org.eclipse.e4.ui.model.workbench"/>
+<plugin id="org.eclipse.e4.ui.model.workbench.source"/>
+<plugin id="org.eclipse.e4.ui.services"/>
+<plugin id="org.eclipse.e4.ui.services.source"/>
+<plugin id="org.eclipse.e4.ui.widgets"/>
+<plugin id="org.eclipse.e4.ui.widgets.source"/>
+<plugin id="org.eclipse.e4.ui.workbench"/>
+<plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
+<plugin id="org.eclipse.e4.ui.workbench.addons.swt.source"/>
+<plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
+<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa"/>
+<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source"/>
+<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.source"/>
+<plugin id="org.eclipse.e4.ui.workbench.source"/>
+<plugin id="org.eclipse.e4.ui.workbench.swt"/>
+<plugin id="org.eclipse.e4.ui.workbench.swt.source"/>
+<plugin id="org.eclipse.e4.ui.workbench3"/>
+<plugin id="org.eclipse.e4.ui.workbench3.source"/>
+<plugin id="org.eclipse.ecf"/>
+<plugin id="org.eclipse.ecf.filetransfer"/>
+<plugin id="org.eclipse.ecf.filetransfer.source"/>
+<plugin id="org.eclipse.ecf.identity"/>
+<plugin id="org.eclipse.ecf.identity.source"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.httpclient"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.source"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.source"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.ssl"/>
+<plugin id="org.eclipse.ecf.provider.filetransfer.ssl.source"/>
+<plugin id="org.eclipse.ecf.source"/>
+<plugin id="org.eclipse.ecf.ssl"/>
+<plugin id="org.eclipse.ecf.ssl.source"/>
+<plugin id="org.eclipse.emf"/>
+<plugin id="org.eclipse.emf.ant"/>
+<plugin id="org.eclipse.emf.ant.source"/>
+<plugin id="org.eclipse.emf.cdo"/>
+<plugin id="org.eclipse.emf.cdo.admin"/>
+<plugin id="org.eclipse.emf.cdo.admin.source"/>
+<plugin id="org.eclipse.emf.cdo.common"/>
+<plugin id="org.eclipse.emf.cdo.common.db"/>
+<plugin id="org.eclipse.emf.cdo.common.db.source"/>
+<plugin id="org.eclipse.emf.cdo.common.source"/>
+<plugin id="org.eclipse.emf.cdo.compare"/>
+<plugin id="org.eclipse.emf.cdo.compare.source"/>
+<plugin id="org.eclipse.emf.cdo.defs"/>
+<plugin id="org.eclipse.emf.cdo.defs.source"/>
+<plugin id="org.eclipse.emf.cdo.doc"/>
+<plugin id="org.eclipse.emf.cdo.doc.source"/>
+<plugin id="org.eclipse.emf.cdo.ecore.retrofit"/>
+<plugin id="org.eclipse.emf.cdo.ecore.retrofit.source"/>
+<plugin id="org.eclipse.emf.cdo.edit"/>
+<plugin id="org.eclipse.emf.cdo.edit.source"/>
+<plugin id="org.eclipse.emf.cdo.efs"/>
+<plugin id="org.eclipse.emf.cdo.efs.source"/>
+<plugin id="org.eclipse.emf.cdo.examples.installer"/>
+<plugin id="org.eclipse.emf.cdo.examples.installer.source"/>
+<plugin id="org.eclipse.emf.cdo.expressions"/>
+<plugin id="org.eclipse.emf.cdo.expressions.edit"/>
+<plugin id="org.eclipse.emf.cdo.expressions.edit.source"/>
+<plugin id="org.eclipse.emf.cdo.expressions.editor"/>
+<plugin id="org.eclipse.emf.cdo.expressions.editor.source"/>
+<plugin id="org.eclipse.emf.cdo.expressions.source"/>
+<plugin id="org.eclipse.emf.cdo.location"/>
+<plugin id="org.eclipse.emf.cdo.location.source"/>
+<plugin id="org.eclipse.emf.cdo.migrator"/>
+<plugin id="org.eclipse.emf.cdo.migrator.source"/>
+<plugin id="org.eclipse.emf.cdo.net4j"/>
+<plugin id="org.eclipse.emf.cdo.net4j.source"/>
+<plugin id="org.eclipse.emf.cdo.sdk"/>
+<plugin id="org.eclipse.emf.cdo.sdk.source"/>
+<plugin id="org.eclipse.emf.cdo.security"/>
+<plugin id="org.eclipse.emf.cdo.security.edit"/>
+<plugin id="org.eclipse.emf.cdo.security.edit.source"/>
+<plugin id="org.eclipse.emf.cdo.security.editor"/>
+<plugin id="org.eclipse.emf.cdo.security.editor.source"/>
+<plugin id="org.eclipse.emf.cdo.security.source"/>
+<plugin id="org.eclipse.emf.cdo.security.ui"/>
+<plugin id="org.eclipse.emf.cdo.security.ui.source"/>
+<plugin id="org.eclipse.emf.cdo.server"/>
+<plugin id="org.eclipse.emf.cdo.server.admin"/>
+<plugin id="org.eclipse.emf.cdo.server.admin.source"/>
+<plugin id="org.eclipse.emf.cdo.server.db"/>
+<plugin id="org.eclipse.emf.cdo.server.db.source"/>
+<plugin id="org.eclipse.emf.cdo.server.lissome"/>
+<plugin id="org.eclipse.emf.cdo.server.lissome.source"/>
+<plugin id="org.eclipse.emf.cdo.server.mongodb"/>
+<plugin id="org.eclipse.emf.cdo.server.mongodb.source"/>
+<plugin id="org.eclipse.emf.cdo.server.net4j"/>
+<plugin id="org.eclipse.emf.cdo.server.net4j.source"/>
+<plugin id="org.eclipse.emf.cdo.server.ocl"/>
+<plugin id="org.eclipse.emf.cdo.server.ocl.source"/>
+<plugin id="org.eclipse.emf.cdo.server.product"/>
+<plugin id="org.eclipse.emf.cdo.server.product.source"/>
+<plugin id="org.eclipse.emf.cdo.server.security"/>
+<plugin id="org.eclipse.emf.cdo.server.security.source"/>
+<plugin id="org.eclipse.emf.cdo.server.source"/>
+<plugin id="org.eclipse.emf.cdo.source"/>
+<plugin id="org.eclipse.emf.cdo.team"/>
+<plugin id="org.eclipse.emf.cdo.team.source"/>
+<plugin id="org.eclipse.emf.cdo.transfer"/>
+<plugin id="org.eclipse.emf.cdo.transfer.repository"/>
+<plugin id="org.eclipse.emf.cdo.transfer.repository.source"/>
+<plugin id="org.eclipse.emf.cdo.transfer.source"/>
+<plugin id="org.eclipse.emf.cdo.transfer.ui"/>
+<plugin id="org.eclipse.emf.cdo.transfer.ui.source"/>
+<plugin id="org.eclipse.emf.cdo.transfer.workspace"/>
+<plugin id="org.eclipse.emf.cdo.transfer.workspace.source"/>
+<plugin id="org.eclipse.emf.cdo.transfer.workspace.ui"/>
+<plugin id="org.eclipse.emf.cdo.transfer.workspace.ui.source"/>
+<plugin id="org.eclipse.emf.cdo.ui"/>
+<plugin id="org.eclipse.emf.cdo.ui.admin"/>
+<plugin id="org.eclipse.emf.cdo.ui.admin.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.compare"/>
+<plugin id="org.eclipse.emf.cdo.ui.compare.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.defs"/>
+<plugin id="org.eclipse.emf.cdo.ui.defs.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.efs"/>
+<plugin id="org.eclipse.emf.cdo.ui.efs.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.ide"/>
+<plugin id="org.eclipse.emf.cdo.ui.ide.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.location"/>
+<plugin id="org.eclipse.emf.cdo.ui.location.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.shared"/>
+<plugin id="org.eclipse.emf.cdo.ui.shared.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.team"/>
+<plugin id="org.eclipse.emf.cdo.ui.team.source"/>
+<plugin id="org.eclipse.emf.cdo.ui.workspace"/>
+<plugin id="org.eclipse.emf.cdo.ui.workspace.source"/>
+<plugin id="org.eclipse.emf.cdo.workspace"/>
+<plugin id="org.eclipse.emf.cdo.workspace.efs"/>
+<plugin id="org.eclipse.emf.cdo.workspace.efs.source"/>
+<plugin id="org.eclipse.emf.cdo.workspace.source"/>
+<plugin id="org.eclipse.emf.cheatsheets"/>
+<plugin id="org.eclipse.emf.cheatsheets.source"/>
+<plugin id="org.eclipse.emf.codegen"/>
+<plugin id="org.eclipse.emf.codegen.ecore"/>
+<plugin id="org.eclipse.emf.codegen.ecore.source"/>
+<plugin id="org.eclipse.emf.codegen.ecore.ui"/>
+<plugin id="org.eclipse.emf.codegen.ecore.ui.source"/>
+<plugin id="org.eclipse.emf.codegen.source"/>
+<plugin id="org.eclipse.emf.codegen.ui"/>
+<plugin id="org.eclipse.emf.codegen.ui.source"/>
+<plugin id="org.eclipse.emf.common"/>
+<plugin id="org.eclipse.emf.common.source"/>
+<plugin id="org.eclipse.emf.common.ui"/>
+<plugin id="org.eclipse.emf.common.ui.source"/>
+<plugin id="org.eclipse.emf.compare"/>
+<plugin id="org.eclipse.emf.compare.diff"/>
+<plugin id="org.eclipse.emf.compare.diff.edit"/>
+<plugin id="org.eclipse.emf.compare.diff.edit.source"/>
+<plugin id="org.eclipse.emf.compare.diff.source"/>
+<plugin id="org.eclipse.emf.compare.doc"/>
+<plugin id="org.eclipse.emf.compare.epatch"/>
+<plugin id="org.eclipse.emf.compare.epatch.source"/>
+<plugin id="org.eclipse.emf.compare.logical.source"/>
+<plugin id="org.eclipse.emf.compare.logical.ui.source"/>
+<plugin id="org.eclipse.emf.compare.match"/>
+<plugin id="org.eclipse.emf.compare.match.source"/>
+<plugin id="org.eclipse.emf.compare.source"/>
+<plugin id="org.eclipse.emf.compare.ui"/>
+<plugin id="org.eclipse.emf.compare.ui.capabilities"/>
+<plugin id="org.eclipse.emf.compare.ui.capabilities.source"/>
+<plugin id="org.eclipse.emf.compare.ui.source"/>
+<plugin id="org.eclipse.emf.converter"/>
+<plugin id="org.eclipse.emf.converter.source"/>
+<plugin id="org.eclipse.emf.databinding"/>
+<plugin id="org.eclipse.emf.databinding.edit"/>
+<plugin id="org.eclipse.emf.databinding.edit.source"/>
+<plugin id="org.eclipse.emf.databinding.source"/>
+<plugin id="org.eclipse.emf.doc"/>
+<plugin id="org.eclipse.emf.ecore"/>
+<plugin id="org.eclipse.emf.ecore.change"/>
+<plugin id="org.eclipse.emf.ecore.change.edit"/>
+<plugin id="org.eclipse.emf.ecore.change.edit.source"/>
+<plugin id="org.eclipse.emf.ecore.change.source"/>
+<plugin id="org.eclipse.emf.ecore.edit"/>
+<plugin id="org.eclipse.emf.ecore.edit.source"/>
+<plugin id="org.eclipse.emf.ecore.editor"/>
+<plugin id="org.eclipse.emf.ecore.editor.source"/>
+<plugin id="org.eclipse.emf.ecore.source"/>
+<plugin id="org.eclipse.emf.ecore.xmi"/>
+<plugin id="org.eclipse.emf.ecore.xmi.source"/>
+<plugin id="org.eclipse.emf.ecp.application.e3"/>
+<plugin id="org.eclipse.emf.ecp.application.e3.source"/>
+<plugin id="org.eclipse.emf.ecp.application.e4"/>
+<plugin id="org.eclipse.emf.ecp.cdo.core"/>
+<plugin id="org.eclipse.emf.ecp.cdo.core.source"/>
+<plugin id="org.eclipse.emf.ecp.cdo.ui"/>
+<plugin id="org.eclipse.emf.ecp.cdo.ui.source"/>
+<plugin id="org.eclipse.emf.ecp.common"/>
+<plugin id="org.eclipse.emf.ecp.common.source"/>
+<plugin id="org.eclipse.emf.ecp.core"/>
+<plugin id="org.eclipse.emf.ecp.core.emffilter"/>
+<plugin id="org.eclipse.emf.ecp.core.emffilter.source"/>
+<plugin id="org.eclipse.emf.ecp.core.source"/>
+<plugin id="org.eclipse.emf.ecp.edit"/>
+<plugin id="org.eclipse.emf.ecp.edit.ecore.swt"/>
+<plugin id="org.eclipse.emf.ecp.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.edit.swt"/>
+<plugin id="org.eclipse.emf.ecp.edit.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.editor.e3"/>
+<plugin id="org.eclipse.emf.ecp.editor.e3.source"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.core"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.core.source"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.e3"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.e3.source"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.e4"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.e4.source"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.search"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.search.source"/>
+<plugin id="org.eclipse.emf.ecp.emfstore.ui.source"/>
+<plugin id="org.eclipse.emf.ecp.explorereditorbridge"/>
+<plugin id="org.eclipse.emf.ecp.explorereditorbridge.source"/>
+<plugin id="org.eclipse.emf.ecp.ui"/>
+<plugin id="org.eclipse.emf.ecp.ui.e3"/>
+<plugin id="org.eclipse.emf.ecp.ui.e3.source"/>
+<plugin id="org.eclipse.emf.ecp.ui.e4"/>
+<plugin id="org.eclipse.emf.ecp.ui.e4.source"/>
+<plugin id="org.eclipse.emf.ecp.ui.rcp"/>
+<plugin id="org.eclipse.emf.ecp.ui.rcp.source"/>
+<plugin id="org.eclipse.emf.ecp.ui.source"/>
+<plugin id="org.eclipse.emf.ecp.ui.view"/>
+<plugin id="org.eclipse.emf.ecp.ui.view.editor.controls"/>
+<plugin id="org.eclipse.emf.ecp.ui.view.editor.controls.source"/>
+<plugin id="org.eclipse.emf.ecp.ui.view.source"/>
+<plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
+<plugin id="org.eclipse.emf.ecp.ui.view.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.validation"/>
+<plugin id="org.eclipse.emf.ecp.validation.connector"/>
+<plugin id="org.eclipse.emf.ecp.validation.connector.source"/>
+<plugin id="org.eclipse.emf.ecp.validation.source"/>
+<plugin id="org.eclipse.emf.ecp.view.categorization.model"/>
+<plugin id="org.eclipse.emf.ecp.view.categorization.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.categorization.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.categorization.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.categorization.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.categorization.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.context"/>
+<plugin id="org.eclipse.emf.ecp.view.context.locale"/>
+<plugin id="org.eclipse.emf.ecp.view.context.locale.source"/>
+<plugin id="org.eclipse.emf.ecp.view.context.source"/>
+<plugin id="org.eclipse.emf.ecp.view.core.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.core.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.model"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.ui"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.ui.source"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.custom.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.group.model"/>
+<plugin id="org.eclipse.emf.ecp.view.group.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.group.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.group.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.group.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.group.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.groupedgrid.model"/>
+<plugin id="org.eclipse.emf.ecp.view.groupedgrid.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.groupedgrid.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.horizontal.model"/>
+<plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.horizontal.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.horizontal.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.horizontal.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.label.model"/>
+<plugin id="org.eclipse.emf.ecp.view.label.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.label.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.label.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.label.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.label.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.model"/>
+<plugin id="org.eclipse.emf.ecp.view.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.model.editor"/>
+<plugin id="org.eclipse.emf.ecp.view.model.editor.source"/>
+<plugin id="org.eclipse.emf.ecp.view.model.provider.generator"/>
+<plugin id="org.eclipse.emf.ecp.view.model.provider.generator.source"/>
+<plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
+<plugin id="org.eclipse.emf.ecp.view.model.provider.xmi.source"/>
+<plugin id="org.eclipse.emf.ecp.view.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.rule"/>
+<plugin id="org.eclipse.emf.ecp.view.rule.model"/>
+<plugin id="org.eclipse.emf.ecp.view.rule.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.rule.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.rule.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.rule.source"/>
+<plugin id="org.eclipse.emf.ecp.view.separator.model"/>
+<plugin id="org.eclipse.emf.ecp.view.separator.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.separator.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.separator.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.separator.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.separator.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.table.columnservice"/>
+<plugin id="org.eclipse.emf.ecp.view.table.columnservice.source"/>
+<plugin id="org.eclipse.emf.ecp.view.table.editor"/>
+<plugin id="org.eclipse.emf.ecp.view.table.editor.source"/>
+<plugin id="org.eclipse.emf.ecp.view.table.model"/>
+<plugin id="org.eclipse.emf.ecp.view.table.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.table.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.table.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.table.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.table.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.template.controls.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.template.controls.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.template.model"/>
+<plugin id="org.eclipse.emf.ecp.view.template.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.template.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.template.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.template.service"/>
+<plugin id="org.eclipse.emf.ecp.view.template.service.source"/>
+<plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model"/>
+<plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.treemasterdetail.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.view.unset"/>
+<plugin id="org.eclipse.emf.ecp.view.unset.source"/>
+<plugin id="org.eclipse.emf.ecp.view.validation"/>
+<plugin id="org.eclipse.emf.ecp.view.validation.source"/>
+<plugin id="org.eclipse.emf.ecp.view.vertical.model"/>
+<plugin id="org.eclipse.emf.ecp.view.vertical.model.edit"/>
+<plugin id="org.eclipse.emf.ecp.view.vertical.model.edit.source"/>
+<plugin id="org.eclipse.emf.ecp.view.vertical.model.source"/>
+<plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt"/>
+<plugin id="org.eclipse.emf.ecp.view.vertical.ui.swt.source"/>
+<plugin id="org.eclipse.emf.ecp.workspace.core"/>
+<plugin id="org.eclipse.emf.ecp.workspace.core.source"/>
+<plugin id="org.eclipse.emf.ecp.workspace.ui"/>
+<plugin id="org.eclipse.emf.ecp.workspace.ui.source"/>
+<plugin id="org.eclipse.emf.edit"/>
+<plugin id="org.eclipse.emf.edit.source"/>
+<plugin id="org.eclipse.emf.edit.ui"/>
+<plugin id="org.eclipse.emf.edit.ui.source"/>
+<plugin id="org.eclipse.emf.example.installer"/>
+<plugin id="org.eclipse.emf.exporter"/>
+<plugin id="org.eclipse.emf.exporter.source"/>
+<plugin id="org.eclipse.emf.importer"/>
+<plugin id="org.eclipse.emf.importer.ecore"/>
+<plugin id="org.eclipse.emf.importer.ecore.source"/>
+<plugin id="org.eclipse.emf.importer.java"/>
+<plugin id="org.eclipse.emf.importer.java.source"/>
+<plugin id="org.eclipse.emf.importer.rose"/>
+<plugin id="org.eclipse.emf.importer.rose.source"/>
+<plugin id="org.eclipse.emf.importer.source"/>
+<plugin id="org.eclipse.emf.mapping"/>
+<plugin id="org.eclipse.emf.mapping.ecore"/>
+<plugin id="org.eclipse.emf.mapping.ecore.editor"/>
+<plugin id="org.eclipse.emf.mapping.ecore2ecore"/>
+<plugin id="org.eclipse.emf.mapping.ecore2ecore.editor"/>
+<plugin id="org.eclipse.emf.mapping.ecore2ecore.editor.source"/>
+<plugin id="org.eclipse.emf.mapping.ecore2ecore.source"/>
+<plugin id="org.eclipse.emf.mapping.ecore2xml"/>
+<plugin id="org.eclipse.emf.mapping.ecore2xml.source"/>
+<plugin id="org.eclipse.emf.mapping.ecore2xml.ui"/>
+<plugin id="org.eclipse.emf.mapping.ecore2xml.ui.source"/>
+<plugin id="org.eclipse.emf.mapping.source"/>
+<plugin id="org.eclipse.emf.mapping.ui"/>
+<plugin id="org.eclipse.emf.mapping.ui.source"/>
+<plugin id="org.eclipse.emf.transaction"/>
+<plugin id="org.eclipse.emf.transaction.doc"/>
+<plugin id="org.eclipse.emf.transaction.examples"/>
+<plugin id="org.eclipse.emf.transaction.source"/>
+<plugin id="org.eclipse.emf.transaction.ui"/>
+<plugin id="org.eclipse.emf.transaction.ui.source"/>
+<plugin id="org.eclipse.emf.validation"/>
+<plugin id="org.eclipse.emf.validation.doc"/>
+<plugin id="org.eclipse.emf.validation.examples"/>
+<plugin id="org.eclipse.emf.validation.ocl"/>
+<plugin id="org.eclipse.emf.validation.ocl.source"/>
+<plugin id="org.eclipse.emf.validation.source"/>
+<plugin id="org.eclipse.emf.validation.ui"/>
+<plugin id="org.eclipse.emf.validation.ui.ide"/>
+<plugin id="org.eclipse.emf.validation.ui.ide.source"/>
+<plugin id="org.eclipse.emf.validation.ui.source"/>
+<plugin id="org.eclipse.emf.workspace"/>
+<plugin id="org.eclipse.emf.workspace.doc"/>
+<plugin id="org.eclipse.emf.workspace.source"/>
+<plugin id="org.eclipse.emf.workspace.ui"/>
+<plugin id="org.eclipse.emf.workspace.ui.source"/>
+<plugin id="org.eclipse.equinox.app" version="1.3.100.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.app" version="1.3.200.v20130910-1609"/>
+<plugin id="org.eclipse.equinox.app.source" version="1.3.200.v20130910-1609"/>
+<plugin id="org.eclipse.equinox.app.source" version="1.3.100.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.bidi"/>
+<plugin id="org.eclipse.equinox.bidi.source"/>
+<plugin id="org.eclipse.equinox.cm" version="1.1.0.v20131021-1936"/>
+<plugin id="org.eclipse.equinox.cm" version="1.0.400.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.cm.source" version="1.1.0.v20131021-1936"/>
+<plugin id="org.eclipse.equinox.cm.source" version="1.0.400.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.common" version="3.6.200.v20130402-1505"/>
+<plugin id="org.eclipse.equinox.common" version="3.6.100.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.common.source" version="3.6.100.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.common.source" version="3.6.200.v20130402-1505"/>
+<plugin id="org.eclipse.equinox.concurrent"/>
+<plugin id="org.eclipse.equinox.concurrent.source"/>
+<plugin id="org.eclipse.equinox.console" version="1.0.0.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.console" version="1.1.0.v20140131-1639"/>
+<plugin id="org.eclipse.equinox.console.jaas.fragment"/>
+<plugin id="org.eclipse.equinox.console.jaas.fragment.source"/>
+<plugin id="org.eclipse.equinox.console.source" version="1.1.0.v20140131-1639"/>
+<plugin id="org.eclipse.equinox.console.source" version="1.0.0.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.console.ssh"/>
+<plugin id="org.eclipse.equinox.console.ssh.source"/>
+<plugin id="org.eclipse.equinox.coordinator"/>
+<plugin id="org.eclipse.equinox.coordinator.source"/>
+<plugin id="org.eclipse.equinox.device"/>
+<plugin id="org.eclipse.equinox.device.source"/>
+<plugin id="org.eclipse.equinox.ds" version="1.4.200.v20131126-2331"/>
+<plugin id="org.eclipse.equinox.ds" version="1.4.1.v20120926-201320"/>
+<plugin id="org.eclipse.equinox.ds.source" version="1.4.1.v20120926-201320"/>
+<plugin id="org.eclipse.equinox.ds.source" version="1.4.200.v20131126-2331"/>
+<plugin id="org.eclipse.equinox.event" version="1.2.200.v20120522-2049"/>
+<plugin id="org.eclipse.equinox.event" version="1.3.100.v20140115-1647"/>
+<plugin id="org.eclipse.equinox.event.source" version="1.3.100.v20140115-1647"/>
+<plugin id="org.eclipse.equinox.event.source" version="1.2.200.v20120522-2049"/>
+<plugin id="org.eclipse.equinox.frameworkadmin"/>
+<plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
+<plugin id="org.eclipse.equinox.frameworkadmin.equinox.source"/>
+<plugin id="org.eclipse.equinox.frameworkadmin.source"/>
+<plugin id="org.eclipse.equinox.http.jetty" version="3.0.200.v20131021-1843"/>
+<plugin id="org.eclipse.equinox.http.jetty" version="3.0.1.v20121109-203239"/>
+<plugin id="org.eclipse.equinox.http.jetty.source" version="3.0.200.v20131021-1843"/>
+<plugin id="org.eclipse.equinox.http.jetty.source" version="3.0.1.v20121109-203239"/>
+<plugin id="org.eclipse.equinox.http.registry" version="1.1.300.v20130402-1529"/>
+<plugin id="org.eclipse.equinox.http.registry" version="1.1.200.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.http.registry.source" version="1.1.200.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.http.registry.source" version="1.1.300.v20130402-1529"/>
+<plugin id="org.eclipse.equinox.http.servlet" version="1.1.300.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.http.servlet" version="1.1.500.v20140318-1755"/>
+<plugin id="org.eclipse.equinox.http.servlet" version="1.1.300.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.http.servlet.source" version="1.1.500.v20140318-1755"/>
+<plugin id="org.eclipse.equinox.http.servlet.source" version="1.1.300.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.http.servlet.source" version="1.1.300.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.http.servletbridge" version="1.0.300.v20130327-1442"/>
+<plugin id="org.eclipse.equinox.http.servletbridge" version="1.0.300.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.http.servletbridge.source" version="1.0.300.v20130327-1442"/>
+<plugin id="org.eclipse.equinox.http.servletbridge.source" version="1.0.300.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.io"/>
+<plugin id="org.eclipse.equinox.io.source"/>
+<plugin id="org.eclipse.equinox.ip"/>
+<plugin id="org.eclipse.equinox.ip.source"/>
+<plugin id="org.eclipse.equinox.jsp.jasper"/>
+<plugin id="org.eclipse.equinox.jsp.jasper.registry"/>
+<plugin id="org.eclipse.equinox.jsp.jasper.registry.source"/>
+<plugin id="org.eclipse.equinox.jsp.jasper.source"/>
+<plugin id="org.eclipse.equinox.launcher"/>
+<plugin id="org.eclipse.equinox.launcher.cocoa.macosx"/>
+<plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.aix.ppc"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.aix.ppc64"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.hpux.ia64_32"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.linux.ppc"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.linux.ppc64"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.linux.s390"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.linux.s390x"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.solaris.sparc"/>
+<plugin id="org.eclipse.equinox.launcher.gtk.solaris.x86"/>
+<plugin id="org.eclipse.equinox.launcher.source"/>
+<plugin id="org.eclipse.equinox.launcher.win32.win32.x86"/>
+<plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
+<plugin id="org.eclipse.equinox.log"/>
+<plugin id="org.eclipse.equinox.log.source"/>
+<plugin id="org.eclipse.equinox.metatype"/>
+<plugin id="org.eclipse.equinox.metatype.source"/>
+<plugin id="org.eclipse.equinox.p2.artifact.repository"/>
+<plugin id="org.eclipse.equinox.p2.artifact.repository.source"/>
+<plugin id="org.eclipse.equinox.p2.console"/>
+<plugin id="org.eclipse.equinox.p2.console.source"/>
+<plugin id="org.eclipse.equinox.p2.core"/>
+<plugin id="org.eclipse.equinox.p2.core.source"/>
+<plugin id="org.eclipse.equinox.p2.director"/>
+<plugin id="org.eclipse.equinox.p2.director.app"/>
+<plugin id="org.eclipse.equinox.p2.director.app.source"/>
+<plugin id="org.eclipse.equinox.p2.director.source"/>
+<plugin id="org.eclipse.equinox.p2.directorywatcher"/>
+<plugin id="org.eclipse.equinox.p2.directorywatcher.source"/>
+<plugin id="org.eclipse.equinox.p2.discovery"/>
+<plugin id="org.eclipse.equinox.p2.discovery.compatibility"/>
+<plugin id="org.eclipse.equinox.p2.engine"/>
+<plugin id="org.eclipse.equinox.p2.engine.source"/>
+<plugin id="org.eclipse.equinox.p2.extensionlocation"/>
+<plugin id="org.eclipse.equinox.p2.extensionlocation.source"/>
+<plugin id="org.eclipse.equinox.p2.garbagecollector"/>
+<plugin id="org.eclipse.equinox.p2.garbagecollector.source"/>
+<plugin id="org.eclipse.equinox.p2.installer"/>
+<plugin id="org.eclipse.equinox.p2.installer.source"/>
+<plugin id="org.eclipse.equinox.p2.jarprocessor"/>
+<plugin id="org.eclipse.equinox.p2.jarprocessor.source"/>
+<plugin id="org.eclipse.equinox.p2.metadata"/>
+<plugin id="org.eclipse.equinox.p2.metadata.repository"/>
+<plugin id="org.eclipse.equinox.p2.metadata.repository.source"/>
+<plugin id="org.eclipse.equinox.p2.metadata.source"/>
+<plugin id="org.eclipse.equinox.p2.operations"/>
+<plugin id="org.eclipse.equinox.p2.operations.source"/>
+<plugin id="org.eclipse.equinox.p2.publisher"/>
+<plugin id="org.eclipse.equinox.p2.publisher.eclipse"/>
+<plugin id="org.eclipse.equinox.p2.publisher.eclipse.source"/>
+<plugin id="org.eclipse.equinox.p2.publisher.source"/>
+<plugin id="org.eclipse.equinox.p2.ql"/>
+<plugin id="org.eclipse.equinox.p2.ql.source"/>
+<plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
+<plugin id="org.eclipse.equinox.p2.reconciler.dropins.source"/>
+<plugin id="org.eclipse.equinox.p2.repository"/>
+<plugin id="org.eclipse.equinox.p2.repository.source"/>
+<plugin id="org.eclipse.equinox.p2.repository.tools"/>
+<plugin id="org.eclipse.equinox.p2.repository.tools.source"/>
+<plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
+<plugin id="org.eclipse.equinox.p2.touchpoint.eclipse.source"/>
+<plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
+<plugin id="org.eclipse.equinox.p2.touchpoint.natives.source"/>
+<plugin id="org.eclipse.equinox.p2.transport.ecf"/>
+<plugin id="org.eclipse.equinox.p2.transport.ecf.source"/>
+<plugin id="org.eclipse.equinox.p2.ui"/>
+<plugin id="org.eclipse.equinox.p2.ui.admin"/>
+<plugin id="org.eclipse.equinox.p2.ui.admin.rcp"/>
+<plugin id="org.eclipse.equinox.p2.ui.admin.rcp.source"/>
+<plugin id="org.eclipse.equinox.p2.ui.admin.source"/>
+<plugin id="org.eclipse.equinox.p2.ui.discovery"/>
+<plugin id="org.eclipse.equinox.p2.ui.importexport"/>
+<plugin id="org.eclipse.equinox.p2.ui.importexport.source"/>
+<plugin id="org.eclipse.equinox.p2.ui.sdk"/>
+<plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
+<plugin id="org.eclipse.equinox.p2.ui.sdk.scheduler.source"/>
+<plugin id="org.eclipse.equinox.p2.ui.sdk.source"/>
+<plugin id="org.eclipse.equinox.p2.ui.source"/>
+<plugin id="org.eclipse.equinox.p2.updatechecker"/>
+<plugin id="org.eclipse.equinox.p2.updatechecker.source"/>
+<plugin id="org.eclipse.equinox.p2.updatesite"/>
+<plugin id="org.eclipse.equinox.p2.updatesite.source"/>
+<plugin id="org.eclipse.equinox.preferences" version="3.5.1.v20121031-182809"/>
+<plugin id="org.eclipse.equinox.preferences" version="3.5.200.v20140224-1527"/>
+<plugin id="org.eclipse.equinox.preferences.source" version="3.5.200.v20140224-1527"/>
+<plugin id="org.eclipse.equinox.preferences.source" version="3.5.1.v20121031-182809"/>
+<plugin id="org.eclipse.equinox.region"/>
+<plugin id="org.eclipse.equinox.region.source"/>
+<plugin id="org.eclipse.equinox.registry" version="3.5.400.v20140428-1507"/>
+<plugin id="org.eclipse.equinox.registry" version="3.5.200.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.registry.source" version="3.5.400.v20140428-1507"/>
+<plugin id="org.eclipse.equinox.registry.source" version="3.5.200.v20120522-1841"/>
+<plugin id="org.eclipse.equinox.security"/>
+<plugin id="org.eclipse.equinox.security.macosx"/>
+<plugin id="org.eclipse.equinox.security.macosx.source"/>
+<plugin id="org.eclipse.equinox.security.source"/>
+<plugin id="org.eclipse.equinox.security.ui"/>
+<plugin id="org.eclipse.equinox.security.ui.source"/>
+<plugin id="org.eclipse.equinox.security.win32.x86"/>
+<plugin id="org.eclipse.equinox.security.win32.x86.source"/>
+<plugin id="org.eclipse.equinox.security.win32.x86_64"/>
+<plugin id="org.eclipse.equinox.security.win32.x86_64.source"/>
+<plugin id="org.eclipse.equinox.servletbridge" version="1.3.0.v20140430-1556"/>
+<plugin id="org.eclipse.equinox.servletbridge" version="1.2.200.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.servletbridge.extensionbundle"/>
+<plugin id="org.eclipse.equinox.servletbridge.source" version="1.3.0.v20140430-1556"/>
+<plugin id="org.eclipse.equinox.servletbridge.source" version="1.2.200.v20120912-130548"/>
+<plugin id="org.eclipse.equinox.simpleconfigurator"/>
+<plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
+<plugin id="org.eclipse.equinox.simpleconfigurator.manipulator.source"/>
+<plugin id="org.eclipse.equinox.simpleconfigurator.source"/>
+<plugin id="org.eclipse.equinox.supplement"/>
+<plugin id="org.eclipse.equinox.supplement.source"/>
+<plugin id="org.eclipse.equinox.transforms.hook"/>
+<plugin id="org.eclipse.equinox.transforms.hook.source"/>
+<plugin id="org.eclipse.equinox.transforms.xslt"/>
+<plugin id="org.eclipse.equinox.transforms.xslt.source"/>
+<plugin id="org.eclipse.equinox.useradmin"/>
+<plugin id="org.eclipse.equinox.useradmin.source"/>
+<plugin id="org.eclipse.equinox.util" version="1.0.500.v20130404-1337"/>
+<plugin id="org.eclipse.equinox.util" version="1.0.400.v20120917-192807"/>
+<plugin id="org.eclipse.equinox.util.source" version="1.0.400.v20120917-192807"/>
+<plugin id="org.eclipse.equinox.util.source" version="1.0.500.v20130404-1337"/>
+<plugin id="org.eclipse.equinox.weaving.aspectj"/>
+<plugin id="org.eclipse.equinox.weaving.aspectj.source"/>
+<plugin id="org.eclipse.equinox.weaving.caching"/>
+<plugin id="org.eclipse.equinox.weaving.caching.j9"/>
+<plugin id="org.eclipse.equinox.weaving.caching.j9.source"/>
+<plugin id="org.eclipse.equinox.weaving.caching.source"/>
+<plugin id="org.eclipse.equinox.weaving.hook"/>
+<plugin id="org.eclipse.equinox.weaving.hook.source"/>
+<plugin id="org.eclipse.equinox.wireadmin"/>
+<plugin id="org.eclipse.equinox.wireadmin.source"/>
+<plugin id="org.eclipse.gef"/>
+<plugin id="org.eclipse.gef.doc.isv"/>
+<plugin id="org.eclipse.gef.examples.ui.pde"/>
+<plugin id="org.eclipse.gef.source"/>
+<plugin id="org.eclipse.graphiti"/>
+<plugin id="org.eclipse.graphiti.export.batik"/>
+<plugin id="org.eclipse.graphiti.mm"/>
+<plugin id="org.eclipse.graphiti.mm.source"/>
+<plugin id="org.eclipse.graphiti.pattern"/>
+<plugin id="org.eclipse.graphiti.pattern.source"/>
+<plugin id="org.eclipse.graphiti.source"/>
+<plugin id="org.eclipse.graphiti.ui"/>
+<plugin id="org.eclipse.graphiti.ui.source"/>
+<plugin id="org.eclipse.help" version="3.6.0.v20130326-1254"/>
+<plugin id="org.eclipse.help" version="3.6.0.v20120912-134126"/>
+<plugin id="org.eclipse.help.base"/>
+<plugin id="org.eclipse.help.base.source"/>
+<plugin id="org.eclipse.help.source" version="3.6.0.v20130326-1254"/>
+<plugin id="org.eclipse.help.source" version="3.6.0.v20120912-134126"/>
+<plugin id="org.eclipse.help.ui"/>
+<plugin id="org.eclipse.help.ui.source"/>
+<plugin id="org.eclipse.help.webapp"/>
+<plugin id="org.eclipse.help.webapp.source"/>
+<plugin id="org.eclipse.jdt"/>
+<plugin id="org.eclipse.jdt.annotation" version="1.1.0.v20140129-1625"/>
+<plugin id="org.eclipse.jdt.annotation" version="2.0.0.v20140415-1436"/>
+<plugin id="org.eclipse.jdt.annotation.source" version="2.0.0.v20140415-1436"/>
+<plugin id="org.eclipse.jdt.annotation.source" version="1.1.0.v20140129-1625"/>
+<plugin id="org.eclipse.jdt.apt.core"/>
+<plugin id="org.eclipse.jdt.apt.core.source"/>
+<plugin id="org.eclipse.jdt.apt.pluggable.core"/>
+<plugin id="org.eclipse.jdt.apt.pluggable.core.source"/>
+<plugin id="org.eclipse.jdt.apt.ui"/>
+<plugin id="org.eclipse.jdt.apt.ui.source"/>
+<plugin id="org.eclipse.jdt.compiler.apt"/>
+<plugin id="org.eclipse.jdt.compiler.apt.source"/>
+<plugin id="org.eclipse.jdt.compiler.tool"/>
+<plugin id="org.eclipse.jdt.compiler.tool.source"/>
+<plugin id="org.eclipse.jdt.core"/>
+<plugin id="org.eclipse.jdt.core.manipulation"/>
+<plugin id="org.eclipse.jdt.core.manipulation.source"/>
+<plugin id="org.eclipse.jdt.core.source"/>
+<plugin id="org.eclipse.jdt.debug"/>
+<plugin id="org.eclipse.jdt.debug.source"/>
+<plugin id="org.eclipse.jdt.debug.ui"/>
+<plugin id="org.eclipse.jdt.debug.ui.source"/>
+<plugin id="org.eclipse.jdt.doc.user"/>
+<plugin id="org.eclipse.jdt.junit"/>
+<plugin id="org.eclipse.jdt.junit.core"/>
+<plugin id="org.eclipse.jdt.junit.core.source"/>
+<plugin id="org.eclipse.jdt.junit.runtime"/>
+<plugin id="org.eclipse.jdt.junit.runtime.source"/>
+<plugin id="org.eclipse.jdt.junit.source"/>
+<plugin id="org.eclipse.jdt.junit4.runtime"/>
+<plugin id="org.eclipse.jdt.junit4.runtime.source"/>
+<plugin id="org.eclipse.jdt.launching"/>
+<plugin id="org.eclipse.jdt.launching.macosx"/>
+<plugin id="org.eclipse.jdt.launching.macosx.source"/>
+<plugin id="org.eclipse.jdt.launching.source"/>
+<plugin id="org.eclipse.jdt.launching.ui.macosx"/>
+<plugin id="org.eclipse.jdt.launching.ui.macosx.source"/>
+<plugin id="org.eclipse.jdt.ui"/>
+<plugin id="org.eclipse.jdt.ui.source"/>
+<plugin id="org.eclipse.jetty.annotations"/>
+<plugin id="org.eclipse.jetty.annotations.source"/>
+<plugin id="org.eclipse.jetty.client"/>
+<plugin id="org.eclipse.jetty.client.source"/>
+<plugin id="org.eclipse.jetty.continuation" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.continuation" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.continuation" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.continuation.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.continuation.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.continuation.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.deploy"/>
+<plugin id="org.eclipse.jetty.deploy.source"/>
+<plugin id="org.eclipse.jetty.http" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.http" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.http" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.http.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.http.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.http.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.io" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.io" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.io" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.io.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.io.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.io.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.jaspi"/>
+<plugin id="org.eclipse.jetty.jaspi.source"/>
+<plugin id="org.eclipse.jetty.jmx"/>
+<plugin id="org.eclipse.jetty.jmx.source"/>
+<plugin id="org.eclipse.jetty.jndi"/>
+<plugin id="org.eclipse.jetty.jndi.source"/>
+<plugin id="org.eclipse.jetty.monitor"/>
+<plugin id="org.eclipse.jetty.monitor.source"/>
+<plugin id="org.eclipse.jetty.nested"/>
+<plugin id="org.eclipse.jetty.nested.source"/>
+<plugin id="org.eclipse.jetty.nosql"/>
+<plugin id="org.eclipse.jetty.nosql.source"/>
+<plugin id="org.eclipse.jetty.osgi.boot"/>
+<plugin id="org.eclipse.jetty.osgi.boot.jsp"/>
+<plugin id="org.eclipse.jetty.osgi.boot.source"/>
+<plugin id="org.eclipse.jetty.osgi.boot.warurl"/>
+<plugin id="org.eclipse.jetty.osgi.httpservice"/>
+<plugin id="org.eclipse.jetty.plus"/>
+<plugin id="org.eclipse.jetty.plus.source"/>
+<plugin id="org.eclipse.jetty.rewrite"/>
+<plugin id="org.eclipse.jetty.rewrite.source"/>
+<plugin id="org.eclipse.jetty.security" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.security" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.security" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.security.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.security.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.security.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.server" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.server" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.server" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.server.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.server.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.server.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.servlet" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.servlet" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.servlet" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.servlet.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.servlet.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.servlet.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.servlets"/>
+<plugin id="org.eclipse.jetty.servlets.source"/>
+<plugin id="org.eclipse.jetty.util" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.util" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.util" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.util.source" version="8.1.16.v20140903"/>
+<plugin id="org.eclipse.jetty.util.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.util.source" version="8.1.3.v20120522"/>
+<plugin id="org.eclipse.jetty.webapp"/>
+<plugin id="org.eclipse.jetty.webapp.source"/>
+<plugin id="org.eclipse.jetty.websocket"/>
+<plugin id="org.eclipse.jetty.websocket.source"/>
+<plugin id="org.eclipse.jetty.xml"/>
+<plugin id="org.eclipse.jetty.xml.source"/>
+<plugin id="org.eclipse.jsch.core"/>
+<plugin id="org.eclipse.jsch.core.source"/>
+<plugin id="org.eclipse.jsch.ui"/>
+<plugin id="org.eclipse.jsch.ui.source"/>
+<plugin id="org.eclipse.ltk.core.refactoring"/>
+<plugin id="org.eclipse.ltk.core.refactoring.source"/>
+<plugin id="org.eclipse.ltk.ui.refactoring"/>
+<plugin id="org.eclipse.ltk.ui.refactoring.source"/>
+<plugin id="org.eclipse.net4j"/>
+<plugin id="org.eclipse.net4j.db"/>
+<plugin id="org.eclipse.net4j.db.doc"/>
+<plugin id="org.eclipse.net4j.db.doc.source"/>
+<plugin id="org.eclipse.net4j.db.h2"/>
+<plugin id="org.eclipse.net4j.db.h2.source"/>
+<plugin id="org.eclipse.net4j.db.jdbc"/>
+<plugin id="org.eclipse.net4j.db.jdbc.source"/>
+<plugin id="org.eclipse.net4j.db.source"/>
+<plugin id="org.eclipse.net4j.debug"/>
+<plugin id="org.eclipse.net4j.debug.source"/>
+<plugin id="org.eclipse.net4j.defs"/>
+<plugin id="org.eclipse.net4j.defs.source"/>
+<plugin id="org.eclipse.net4j.doc"/>
+<plugin id="org.eclipse.net4j.doc.source"/>
+<plugin id="org.eclipse.net4j.examples.installer"/>
+<plugin id="org.eclipse.net4j.examples.installer.source"/>
+<plugin id="org.eclipse.net4j.http"/>
+<plugin id="org.eclipse.net4j.http.common"/>
+<plugin id="org.eclipse.net4j.http.common.source"/>
+<plugin id="org.eclipse.net4j.http.server"/>
+<plugin id="org.eclipse.net4j.http.server.source"/>
+<plugin id="org.eclipse.net4j.http.source"/>
+<plugin id="org.eclipse.net4j.jvm"/>
+<plugin id="org.eclipse.net4j.jvm.source"/>
+<plugin id="org.eclipse.net4j.sdk"/>
+<plugin id="org.eclipse.net4j.sdk.source"/>
+<plugin id="org.eclipse.net4j.source"/>
+<plugin id="org.eclipse.net4j.tcp"/>
+<plugin id="org.eclipse.net4j.tcp.source"/>
+<plugin id="org.eclipse.net4j.ui"/>
+<plugin id="org.eclipse.net4j.ui.defs"/>
+<plugin id="org.eclipse.net4j.ui.defs.source"/>
+<plugin id="org.eclipse.net4j.ui.shared"/>
+<plugin id="org.eclipse.net4j.ui.shared.source"/>
+<plugin id="org.eclipse.net4j.ui.source"/>
+<plugin id="org.eclipse.net4j.util"/>
+<plugin id="org.eclipse.net4j.util.defs"/>
+<plugin id="org.eclipse.net4j.util.defs.source"/>
+<plugin id="org.eclipse.net4j.util.doc"/>
+<plugin id="org.eclipse.net4j.util.doc.source"/>
+<plugin id="org.eclipse.net4j.util.source"/>
+<plugin id="org.eclipse.net4j.util.ui"/>
+<plugin id="org.eclipse.net4j.util.ui.source"/>
+<plugin id="org.eclipse.orbit.mongodb"/>
+<plugin id="org.eclipse.orbit.mongodb.source"/>
+<plugin id="org.eclipse.osgi" version="3.8.0.v20120529-1548"/>
+<plugin id="org.eclipse.osgi" version="3.8.2.v20130124-134944"/>
+<plugin id="org.eclipse.osgi" version="3.10.2.v20150203-1939"/>
+<plugin id="org.eclipse.osgi.services" version="3.3.100.v20120522-1822"/>
+<plugin id="org.eclipse.osgi.services" version="3.4.0.v20140312-2051"/>
+<plugin id="org.eclipse.osgi.services" version="3.3.100.v20120522-1822"/>
+<plugin id="org.eclipse.osgi.services.source" version="3.3.100.v20120522-1822"/>
+<plugin id="org.eclipse.osgi.services.source" version="3.3.100.v20120522-1822"/>
+<plugin id="org.eclipse.osgi.services.source" version="3.4.0.v20140312-2051"/>
+<plugin id="org.eclipse.osgi.source" version="3.8.2.v20130124-134944"/>
+<plugin id="org.eclipse.osgi.source" version="3.10.2.v20150203-1939"/>
+<plugin id="org.eclipse.osgi.source" version="3.8.0.v20120529-1548"/>
+<plugin id="org.eclipse.osgi.util" version="3.2.300.v20120913-144807"/>
+<plugin id="org.eclipse.osgi.util" version="3.2.300.v20120522-1822"/>
+<plugin id="org.eclipse.osgi.util.source" version="3.2.300.v20120913-144807"/>
+<plugin id="org.eclipse.osgi.util.source" version="3.2.300.v20120522-1822"/>
+<plugin id="org.eclipse.platform"/>
+<plugin id="org.eclipse.platform.doc.user"/>
+<plugin id="org.eclipse.platform.source"/>
+<plugin id="org.eclipse.rap.addons.filedialog"/>
+<plugin id="org.eclipse.rap.addons.filedialog.source"/>
+<plugin id="org.eclipse.rap.addons.fileupload"/>
+<plugin id="org.eclipse.rap.addons.fileupload.source"/>
+<plugin id="org.eclipse.rap.jface"/>
+<plugin id="org.eclipse.rap.jface.databinding"/>
+<plugin id="org.eclipse.rap.jface.databinding.source"/>
+<plugin id="org.eclipse.rap.jface.source"/>
+<plugin id="org.eclipse.rap.junit"/>
+<plugin id="org.eclipse.rap.junit.runtime"/>
+<plugin id="org.eclipse.rap.junit.runtime.source"/>
+<plugin id="org.eclipse.rap.junit.source"/>
+<plugin id="org.eclipse.rap.rwt"/>
+<plugin id="org.eclipse.rap.rwt.osgi"/>
+<plugin id="org.eclipse.rap.rwt.osgi.source"/>
+<plugin id="org.eclipse.rap.rwt.source"/>
+<plugin id="org.eclipse.rap.rwt.testfixture"/>
+<plugin id="org.eclipse.rap.rwt.testfixture.source"/>
+<plugin id="org.eclipse.rap.ui"/>
+<plugin id="org.eclipse.rap.ui.cheatsheets"/>
+<plugin id="org.eclipse.rap.ui.cheatsheets.source"/>
+<plugin id="org.eclipse.rap.ui.forms"/>
+<plugin id="org.eclipse.rap.ui.forms.source"/>
+<plugin id="org.eclipse.rap.ui.source"/>
+<plugin id="org.eclipse.rap.ui.views"/>
+<plugin id="org.eclipse.rap.ui.views.source"/>
+<plugin id="org.eclipse.rap.ui.workbench"/>
+<plugin id="org.eclipse.rap.ui.workbench.source"/>
+<plugin id="org.eclipse.rcp"/>
+<plugin id="org.eclipse.rcp.source"/>
+<plugin id="org.eclipse.search"/>
+<plugin id="org.eclipse.search.source"/>
+<plugin id="org.eclipse.swt.cocoa.macosx"/>
+<plugin id="org.eclipse.swt.cocoa.macosx.source"/>
+<plugin id="org.eclipse.swt.cocoa.macosx.x86_64"/>
+<plugin id="org.eclipse.swt.cocoa.macosx.x86_64.source"/>
+<plugin id="org.eclipse.swt.gtk.aix.ppc"/>
+<plugin id="org.eclipse.swt.gtk.aix.ppc.source"/>
+<plugin id="org.eclipse.swt.gtk.aix.ppc64"/>
+<plugin id="org.eclipse.swt.gtk.aix.ppc64.source"/>
+<plugin id="org.eclipse.swt.gtk.hpux.ia64_32"/>
+<plugin id="org.eclipse.swt.gtk.hpux.ia64_32.source"/>
+<plugin id="org.eclipse.swt.gtk.linux.ppc"/>
+<plugin id="org.eclipse.swt.gtk.linux.ppc.source"/>
+<plugin id="org.eclipse.swt.gtk.linux.ppc64"/>
+<plugin id="org.eclipse.swt.gtk.linux.ppc64.source"/>
+<plugin id="org.eclipse.swt.gtk.linux.s390"/>
+<plugin id="org.eclipse.swt.gtk.linux.s390.source"/>
+<plugin id="org.eclipse.swt.gtk.linux.s390x"/>
+<plugin id="org.eclipse.swt.gtk.linux.s390x.source"/>
+<plugin id="org.eclipse.swt.gtk.linux.x86"/>
+<plugin id="org.eclipse.swt.gtk.linux.x86.source"/>
+<plugin id="org.eclipse.swt.gtk.linux.x86_64"/>
+<plugin id="org.eclipse.swt.gtk.linux.x86_64.source"/>
+<plugin id="org.eclipse.swt.gtk.solaris.sparc"/>
+<plugin id="org.eclipse.swt.gtk.solaris.sparc.source"/>
+<plugin id="org.eclipse.swt.gtk.solaris.x86"/>
+<plugin id="org.eclipse.swt.gtk.solaris.x86.source"/>
+<plugin id="org.eclipse.swt.win32.win32.x86"/>
+<plugin id="org.eclipse.swt.win32.win32.x86.source"/>
+<plugin id="org.eclipse.swt.win32.win32.x86_64"/>
+<plugin id="org.eclipse.swt.win32.win32.x86_64.source"/>
+<plugin id="org.eclipse.swtbot.ant.junit"/>
+<plugin id="org.eclipse.swtbot.e4.finder"/>
+<plugin id="org.eclipse.swtbot.e4.finder.source"/>
+<plugin id="org.eclipse.swtbot.eclipse.core"/>
+<plugin id="org.eclipse.swtbot.eclipse.core.source"/>
+<plugin id="org.eclipse.swtbot.eclipse.finder"/>
+<plugin id="org.eclipse.swtbot.eclipse.finder.source"/>
+<plugin id="org.eclipse.swtbot.eclipse.gef.finder"/>
+<plugin id="org.eclipse.swtbot.eclipse.gef.finder.source"/>
+<plugin id="org.eclipse.swtbot.eclipse.junit.headless"/>
+<plugin id="org.eclipse.swtbot.forms.finder"/>
+<plugin id="org.eclipse.swtbot.forms.finder.source"/>
+<plugin id="org.eclipse.swtbot.go"/>
+<plugin id="org.eclipse.swtbot.go.source"/>
+<plugin id="org.eclipse.swtbot.junit4_x"/>
+<plugin id="org.eclipse.swtbot.junit4_x.source"/>
+<plugin id="org.eclipse.swtbot.swt.finder"/>
+<plugin id="org.eclipse.swtbot.swt.finder.source"/>
+<plugin id="org.eclipse.team.core"/>
+<plugin id="org.eclipse.team.core.source"/>
+<plugin id="org.eclipse.team.ui"/>
+<plugin id="org.eclipse.team.ui.source"/>
+<plugin id="org.eclipse.text"/>
+<plugin id="org.eclipse.text.source"/>
+<plugin id="org.eclipse.ui"/>
+<plugin id="org.eclipse.ui.browser"/>
+<plugin id="org.eclipse.ui.browser.source"/>
+<plugin id="org.eclipse.ui.cheatsheets"/>
+<plugin id="org.eclipse.ui.cheatsheets.source"/>
+<plugin id="org.eclipse.ui.console"/>
+<plugin id="org.eclipse.ui.console.source"/>
+<plugin id="org.eclipse.ui.editors"/>
+<plugin id="org.eclipse.ui.editors.source"/>
+<plugin id="org.eclipse.ui.externaltools"/>
+<plugin id="org.eclipse.ui.externaltools.source"/>
+<plugin id="org.eclipse.ui.forms"/>
+<plugin id="org.eclipse.ui.forms.source"/>
+<plugin id="org.eclipse.ui.ide"/>
+<plugin id="org.eclipse.ui.ide.application"/>
+<plugin id="org.eclipse.ui.ide.application.source"/>
+<plugin id="org.eclipse.ui.ide.source"/>
+<plugin id="org.eclipse.ui.intro"/>
+<plugin id="org.eclipse.ui.intro.source"/>
+<plugin id="org.eclipse.ui.intro.universal"/>
+<plugin id="org.eclipse.ui.intro.universal.source"/>
+<plugin id="org.eclipse.ui.navigator"/>
+<plugin id="org.eclipse.ui.navigator.resources"/>
+<plugin id="org.eclipse.ui.navigator.resources.source"/>
+<plugin id="org.eclipse.ui.navigator.source"/>
+<plugin id="org.eclipse.ui.net"/>
+<plugin id="org.eclipse.ui.net.source"/>
+<plugin id="org.eclipse.ui.source"/>
+<plugin id="org.eclipse.ui.views"/>
+<plugin id="org.eclipse.ui.views.properties.tabbed"/>
+<plugin id="org.eclipse.ui.views.properties.tabbed.source"/>
+<plugin id="org.eclipse.ui.views.source"/>
+<plugin id="org.eclipse.ui.win32"/>
+<plugin id="org.eclipse.ui.win32.source"/>
+<plugin id="org.eclipse.ui.workbench"/>
+<plugin id="org.eclipse.ui.workbench.source"/>
+<plugin id="org.eclipse.ui.workbench.texteditor"/>
+<plugin id="org.eclipse.ui.workbench.texteditor.source"/>
+<plugin id="org.eclipse.update.configurator"/>
+<plugin id="org.eclipse.update.configurator.source"/>
+<plugin id="org.eclipselabs.emf.query.simple"/>
+<plugin id="org.eclipselabs.emf.query.simple.source"/>
+<plugin id="org.eclipselabs.mongo"/>
+<plugin id="org.eclipselabs.mongo.emf"/>
+<plugin id="org.eclipselabs.mongo.emf.builders"/>
+<plugin id="org.eclipselabs.mongo.emf.builders.source"/>
+<plugin id="org.eclipselabs.mongo.emf.converter"/>
+<plugin id="org.eclipselabs.mongo.emf.converter.source"/>
+<plugin id="org.eclipselabs.mongo.emf.ext"/>
+<plugin id="org.eclipselabs.mongo.emf.ext.source"/>
+<plugin id="org.eclipselabs.mongo.emf.query.simple"/>
+<plugin id="org.eclipselabs.mongo.emf.query.simple.source"/>
+<plugin id="org.eclipselabs.mongo.emf.source"/>
+<plugin id="org.eclipselabs.mongo.emf.streams"/>
+<plugin id="org.eclipselabs.mongo.emf.streams.source"/>
+<plugin id="org.eclipselabs.mongo.source"/>
+<plugin id="org.h2"/>
+<plugin id="org.h2.source"/>
+<plugin id="org.hamcrest.core" version="1.3.0.v201303031735"/>
+<plugin id="org.hamcrest.core" version="1.3.0.v201303031735"/>
+<plugin id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
+<plugin id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
+<plugin id="org.hamcrest.library"/>
+<plugin id="org.hamcrest.library.source"/>
+<plugin id="org.junit"/>
+<plugin id="org.junit.source"/>
+<plugin id="org.sat4j.core"/>
+<plugin id="org.sat4j.pb"/>
+<plugin id="org.slf4j.api"/>
+<plugin id="org.slf4j.api.source"/>
+<plugin id="org.slf4j.jcl"/>
+<plugin id="org.slf4j.jcl.source"/>
+<plugin id="org.slf4j.jul"/>
+<plugin id="org.slf4j.jul.source"/>
+<plugin id="org.slf4j.log4j"/>
+<plugin id="org.slf4j.log4j.source"/>
+<plugin id="org.w3c.css.sac" version="1.3.1.v200903091627"/>
+<plugin id="org.w3c.css.sac" version="1.3.1.v200903091627"/>
+<plugin id="org.w3c.css.sac.source" version="1.3.1.v200903091627"/>
+<plugin id="org.w3c.css.sac.source" version="1.3.1.v200903091627"/>
+<plugin id="org.w3c.dom.smil" version="1.0.0.v200806040011"/>
+<plugin id="org.w3c.dom.smil" version="1.0.0.v200806040011"/>
+<plugin id="org.w3c.dom.smil.source" version="1.0.0.v200806040011"/>
+<plugin id="org.w3c.dom.smil.source" version="1.0.0.v200806040011"/>
+<plugin id="org.w3c.dom.svg" version="1.1.0.v201011041433"/>
+<plugin id="org.w3c.dom.svg" version="1.1.0.v201011041433"/>
+<plugin id="org.w3c.dom.svg.source" version="1.1.0.v201011041433"/>
+<plugin id="org.w3c.dom.svg.source" version="1.1.0.v201011041433"/>
+</includeBundles>
 </target>
diff --git a/releng/_target/emfstore.target b/releng/_target/emfstore.target
index 2f18c5c..259e35a 100644
--- a/releng/_target/emfstore.target
+++ b/releng/_target/emfstore.target
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="EMFStore" sequenceNumber="226">
+<?pde version="3.8"?><target name="EMFStore" sequenceNumber="249">
 <locations>
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.emf.ecp.view.categorization.feature.feature.group" version="0.0.0"/>
@@ -37,23 +37,13 @@
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.platform.ide" version="0.0.0"/>
 <unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.sdk.ide" version="0.0.0"/>
+<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.sdk" version="0.0.0"/>
+<unit id="org.eclipse.pde.source.feature.group" version="0.0.0"/>
 <repository location="http://download.eclipse.org/eclipse/updates/4.2"/>
 </location>
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.apache.log4j.source" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="0.0.0"/>
-<unit id="org.hamcrest.core" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
-<unit id="org.apache.log4j" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="0.0.0"/>
-<unit id="org.hamcrest.library.source" version="0.0.0"/>
-<unit id="org.hamcrest.library" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.feature.group" version="0.0.0"/>
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
-<unit id="org.hamcrest.core.source" version="0.0.0"/>
-<repository location="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
-</location>
-<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipselabs.mongo.emf.feature.feature.group" version="0.0.0"/>
 <unit id="org.eclipselabs.mongo.emf.feature.source.feature.group" version="0.0.0"/>
 <repository location="http://bryanhunt.github.com/mongo-emf/releases/0.7.1"/>
@@ -80,6 +70,7 @@
 <unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.emf.compare.source.feature.group" version="0.0.0"/>
 <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.ocl.all.sdk.feature.group" version="0.0.0"/>
 <repository location="http://download.eclipse.org/releases/luna/"/>
 </location>
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
@@ -89,5 +80,23 @@
 <unit id="com.google.guava.source" version="0.0.0"/>
 <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20151221205849/repository/"/>
 </location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.edapt.runtime.feature.source.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/edapt/releases/12x"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
+<unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
+<unit id="org.eclipse.swtbot.forms.feature.group" version="2.3.0.201506081302"/>
+<unit id="org.eclipse.swtbot.feature.group" version="2.3.0.201506081302"/>
+<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="2.3.0.201506081302"/>
+<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
+<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
+<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.3.0.201506081302"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.3.0.201506081302"/>
+<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
+<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
+<repository location="http://download.eclipse.org/technology/swtbot/releases/2.3.0/"/>
+</location>
 </locations>
 </target>
diff --git a/releng/_target/pom.xml b/releng/_target/pom.xml
index 762ab9e..b105211 100644
--- a/releng/_target/pom.xml
+++ b/releng/_target/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/emfstore-parent/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>emfstore</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-target-definition</packaging>
 </project>
\ No newline at end of file
diff --git a/releng/emfstore-parent/pom.xml b/releng/emfstore-parent/pom.xml
index 0322be1..3b8bc2a 100644
--- a/releng/emfstore-parent/pom.xml
+++ b/releng/emfstore-parent/pom.xml
@@ -5,7 +5,7 @@
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-parent</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<properties>
@@ -16,8 +16,8 @@
 		<maven-checkstyle-version>2.10</maven-checkstyle-version>
 		<jacoco-version>0.7.4.201502262128</jacoco-version>
 		<javadoc-version>2.9</javadoc-version>
-		<javadoc-title>EMFStore 1.7.0 API</javadoc-title>
-		<emfstore-version>1.7.0-SNAPSHOT</emfstore-version>
+		<javadoc-title>EMFStore 1.8.0 API</javadoc-title>
+		<emfstore-version>1.8.0-SNAPSHOT</emfstore-version>
 		<jarsigner-version>1.0.5</jarsigner-version>
 		<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
 		<!-- Properties to enable jacoco code coverage analysis with sonar -->
diff --git a/releng/org.eclipse.emf.emfstore.p2repository/category.xml b/releng/org.eclipse.emf.emfstore.p2repository/category.xml
index 3444be6..dc976c2 100644
--- a/releng/org.eclipse.emf.emfstore.p2repository/category.xml
+++ b/releng/org.eclipse.emf.emfstore.p2repository/category.xml
@@ -48,6 +48,9 @@
    <feature id="org.eclipse.emf.emfstore.client.ui.rap.feature" version="0.0.0">
       <category name="org.eclipse.emf.emfstore.other"/>
    </feature>
+   <feature id="org.eclipse.emf.emfstore.migration.edapt.feature" version="0.0.0">
+      <category name="org.eclipse.emf.emfstore.other"/>
+   </feature>
    <category-def name="org.eclipse.emf.emfstore.core" label="EMFStore Core Features">
       <description>
          Core Features of EMFStore, a model repository for EMF.
diff --git a/releng/org.eclipse.emf.emfstore.p2repository/pom.xml b/releng/org.eclipse.emf.emfstore.p2repository/pom.xml
index 5709568..1085ac6 100644
--- a/releng/org.eclipse.emf.emfstore.p2repository/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.p2repository/pom.xml
@@ -5,12 +5,12 @@
     <parent>
         <groupId>org.eclipse.emf.emfstore</groupId>
         <artifactId>emfstore-parent</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../emfstore-parent/</relativePath>
     </parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>org.eclipse.emf.emfstore.p2repository</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <packaging>eclipse-repository</packaging>
     
     <!-- see http://www.codetrails.com/blog/maven-tycho-how-to-configure-your-repos-mirror-and-statistics-uris -->
diff --git a/releng/org.eclipse.emf.emfstore.products/pom.xml b/releng/org.eclipse.emf.emfstore.products/pom.xml
index d995743..d451939 100644
--- a/releng/org.eclipse.emf.emfstore.products/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.products/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../emfstore-parent/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.products</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-repository</packaging>
 
   <build>
diff --git a/releng/org.eclipse.emf.emfstore.releng.bundles/pom.xml b/releng/org.eclipse.emf.emfstore.releng.bundles/pom.xml
index a56f753..40479bf 100644
--- a/releng/org.eclipse.emf.emfstore.releng.bundles/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.releng.bundles/pom.xml
@@ -6,18 +6,19 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../emfstore-parent/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-bundles-parent</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
 		<module>../../bundles/org.eclipse.emf.emfstore.common</module>
 		<module>../../bundles/org.eclipse.emf.emfstore.common.model</module>
 		<module>../../bundles/org.eclipse.emf.emfstore.migration</module>
+		<module>../../bundles/org.eclipse.emf.emfstore.migration.edapt</module>
 		<module>../../bundles/org.eclipse.emf.emfstore.server</module>
 		<module>../../bundles/org.eclipse.emf.emfstore.server.model</module>
 		<module>../../bundles/org.eclipse.emf.emfstore.client.model.edit</module>
diff --git a/releng/org.eclipse.emf.emfstore.releng.features/pom.xml b/releng/org.eclipse.emf.emfstore.releng.features/pom.xml
index 19d053b..2b8086a 100644
--- a/releng/org.eclipse.emf.emfstore.releng.features/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.releng.features/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../emfstore-parent/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-features-parent</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
@@ -32,6 +32,7 @@
 		<module>../../features/org.eclipse.emf.emfstore.fuzzy.test.feature</module>
 		<module>../../features/org.eclipse.emf.emfstore.test.feature</module>
 		<module>../../features/org.eclipse.emf.emfstore.license.feature</module>
+		<module>../../features/org.eclipse.emf.emfstore.migration.edapt.feature</module>
 	</modules>
 
 	<!-- Parent used for features. This POM contains all build steps for code signing. -->
diff --git a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
index 49d5932..176b90f 100644
--- a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../emfstore-parent/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-tests-parent</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
@@ -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.client.api.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.api.test/META-INF/MANIFEST.MF
index 93b7af2..3540096 100644
--- a/tests/org.eclipse.emf.emfstore.client.api.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.api.test/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Client API Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.api.test
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.client.api.test;version="1.7.
+Export-Package: org.eclipse.emf.emfstore.client.api.test;version="1.8.
  0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)",
diff --git a/tests/org.eclipse.emf.emfstore.client.api.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.api.test/pom.xml
index 2683c9d..f10e262 100644
--- a/tests/org.eclipse.emf.emfstore.client.api.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.api.test/pom.xml
@@ -6,13 +6,13 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.api.test</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
     <build>
diff --git a/tests/org.eclipse.emf.emfstore.client.changetracking.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.changetracking.test/META-INF/MANIFEST.MF
index 847e446..4aea1eb 100644
--- a/tests/org.eclipse.emf.emfstore.client.changetracking.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.changetracking.test/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Changetracking Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.changetracking.test
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.emf.emfstore.modelmutator;bundle-version="[2.0.0,3.0.0)"
 Export-Package: org.eclipse.emf.emfstore.client.changetracking.test;ve
- rsion="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.client.change
- tracking.test.canonization;version="1.7.0";x-internal:=true,org.eclip
- se.emf.emfstore.client.changetracking.test.command;version="1.7.0";x-
+ rsion="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.client.change
+ tracking.test.canonization;version="1.8.0";x-internal:=true,org.eclip
+ se.emf.emfstore.client.changetracking.test.command;version="1.8.0";x-
  internal:=true,org.eclipse.emf.emfstore.client.changetracking.test.no
- tification;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.
- client.changetracking.test.toplogy;version="1.7.0";x-internal:=true
+ tification;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.
+ client.changetracking.test.toplogy;version="1.8.0";x-internal:=true
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.emfstore.client.changetracking.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.changetracking.test/pom.xml
index 50b4fdb..e2e0cef 100644
--- a/tests/org.eclipse.emf.emfstore.client.changetracking.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.changetracking.test/pom.xml
@@ -7,13 +7,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-tests-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/META-INF/MANIFEST.MF
index a7503f0..e7e10b9 100644
--- a/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.conflictdetection.test
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)"
 Export-Package: org.eclipse.emf.emfstore.client.conflictdetection.test
- ;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.client.con
- flictdetection.test.merging;version="1.7.0";x-internal:=true; uses:="
+ ;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.client.con
+ flictdetection.test.merging;version="1.8.0";x-internal:=true; uses:="
  org.eclipse.emf.emfstore.internal.common.model,  org.eclipse.emf.ecor
  e,  org.eclipse.emf.emfstore.internal.client.model.changeTracking.mer
  ging,  org.eclipse.emf.emfstore.internal.client.model,  org.eclipse.e
diff --git a/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/pom.xml
index d1dec39..3b69b43 100644
--- a/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.conflictdetection.test/pom.xml
@@ -7,13 +7,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-tests-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.client.conflictdetection.test</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.emfstore.client.example.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.example.test/META-INF/MANIFEST.MF
index c5f0d35..36c5a88 100644
--- a/tests/org.eclipse.emf.emfstore.client.example.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.example.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore API Test
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.example.test
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.emfstore.example.merging;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.example.helloworld;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.example.merging;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.example.helloworld;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)",
  org.junit;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)"
 Export-Package: org.eclipse.emf.emfstore.client.example.test;version="
- 1.7.0";x-internal:=true
+ 1.8.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.emfstore.client.example.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.example.test/pom.xml
index eee8017..a9ff37d 100644
--- a/tests/org.eclipse.emf.emfstore.client.example.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.example.test/pom.xml
@@ -6,13 +6,13 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.example.test</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
 <build>
diff --git a/tests/org.eclipse.emf.emfstore.client.recording.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.recording.test/META-INF/MANIFEST.MF
index 82b9d97..f477ba4 100644
--- a/tests/org.eclipse.emf.emfstore.client.recording.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.recording.test/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Test
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.recording.test
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)"
 Export-Package: org.eclipse.emf.emfstore.client.recording.test;version
- ="1.7.0";x-internal:=true
+ ="1.8.0";x-internal:=true
diff --git a/tests/org.eclipse.emf.emfstore.client.recording.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.recording.test/pom.xml
index c274331..45263ff 100644
--- a/tests/org.eclipse.emf.emfstore.client.recording.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.recording.test/pom.xml
@@ -6,13 +6,13 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.recording.test</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
 <build>
diff --git a/tests/org.eclipse.emf.emfstore.client.test.alltests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.test.alltests/META-INF/MANIFEST.MF
index 80bbf33..92d1fa3 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.alltests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.test.alltests/META-INF/MANIFEST.MF
@@ -6,8 +6,8 @@
 Bundle-Activator: org.eclipse.emf.emfstore.client.test.alltests.Activator
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.emf.emfstore.client.test;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.emfstore.client.test.ui;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="1.7.0",
+ org.eclipse.emf.emfstore.client.test.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="1.8.0",
  org.junit;bundle-version="4.0.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/tests/org.eclipse.emf.emfstore.client.test.ui/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.test.ui/META-INF/MANIFEST.MF
index 33c47f2..90332ac 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.ui/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.test.ui/META-INF/MANIFEST.MF
@@ -2,25 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client UI Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.test.ui;singleton:=true
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.client.test;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.emfstore.client.ui;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.swtbot.eclipse.core;bundle-version="[2.1.0,3.0.0)",
  org.eclipse.swtbot.eclipse.finder;bundle-version="[2.1.0,3.0.0)",
  org.eclipse.swtbot.forms.finder;bundle-version="[2.1.0,3.0.0)",
  org.eclipse.swtbot.junit4_x;bundle-version="[2.1.0,3.0.0)",
  org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.expressions;bundle-version="3.4.401"
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.emf.emfstore.client.test.ui.Activator
 Bundle-ClassPath: .
-Export-Package: org.eclipse.emf.emfstore.client.test.ui;version="1.7.0
+Export-Package: org.eclipse.emf.emfstore.client.test.ui;version="1.8.0
  ";x-internal:=true,org.eclipse.emf.emfstore.client.test.ui.conflictde
- tection;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.cli
- ent.test.ui.controllers;version="1.7.0";x-internal:=true,org.eclipse.
- emf.emfstore.client.test.ui.testers;version="1.7.0"
+ tection;version="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.cli
+ ent.test.ui.controllers;version="1.8.0";x-internal:=true,org.eclipse.
+ emf.emfstore.client.test.ui.testers;version="1.8.0"
diff --git a/tests/org.eclipse.emf.emfstore.client.test.ui/pom.xml b/tests/org.eclipse.emf.emfstore.client.test.ui/pom.xml
index 65ec3c8..0d49351 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.ui/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.test.ui/pom.xml
@@ -7,13 +7,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-tests-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.client.test.ui</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/AllUITests.java b/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/AllUITests.java
index 4e6fcf4..f15b2fc 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/AllUITests.java
+++ b/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/AllUITests.java
@@ -41,7 +41,7 @@
 
 	public static final int TIMEOUT = 20000;
 
-	private static final Optional<Integer> MIN_CHANGEPACKAGE_FRAGMENT_SIZE = Optional.of(1);
+	private static final Optional<Integer> MIN_CHANGEPACKAGE_FRAGMENT_SIZE = Optional.of(10000);
 
 	private static Behavior clientBehavior = Configuration.getClientBehavior();
 	private static Optional<Integer> clientFragmentSize;
diff --git a/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/AllUIControllerTests.java b/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/AllUIControllerTests.java
index df3b0d5..77458c9 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/AllUIControllerTests.java
+++ b/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/AllUIControllerTests.java
@@ -31,6 +31,7 @@
 	UIDeleteRemoteProjectControllerTest.class,
 	UIMergeControllerTest.class,
 	UIRevertCommitControllerTest.class,
+	UIRemoveServerControllerTest.class,
 	UIRevertCommitControllerTest2.class,
 	UIServerControllerTest.class,
 	UISessionControllerTest.class,
@@ -40,7 +41,9 @@
 	UIPagedUpdateProjectControllerTest.class,
 	UIShowHistoryControllerTest.class,
 	UIShowHistoryControllerForElementTest.class,
-	UIUndoLastOperationControllerTest.class })
+	UIUndoLastOperationControllerTest.class
+})
+
 public class AllUIControllerTests {
 
 }
diff --git a/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/UIRemoveServerControllerTest.java b/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/UIRemoveServerControllerTest.java
new file mode 100644
index 0000000..4959c0f
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.client.test.ui/src/org/eclipse/emf/emfstore/client/test/ui/controllers/UIRemoveServerControllerTest.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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:
+ * Edgar Mueller - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.client.test.ui.controllers;
+
+import org.eclipse.emf.emfstore.client.ESServer;
+import org.eclipse.emf.emfstore.client.ESWorkspaceProvider;
+import org.eclipse.emf.emfstore.client.test.common.util.ProjectUtil;
+import org.eclipse.emf.emfstore.internal.client.ui.controller.UIRemoveServerController;
+import org.eclipse.emf.emfstore.server.exceptions.ESException;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.VoidResult;
+
+/**
+ * SWTBot test for {@link UIRemoveServerController}.
+ *
+ * @author emueller
+ *
+ */
+public class UIRemoveServerControllerTest extends AbstractUIControllerTest {
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.client.test.ui.controllers.AbstractUIControllerTest#testController()
+	 */
+	@Override
+	public void testController() throws ESException {
+		// share project in order to have one active project
+		ProjectUtil.share(getUsersession(), getLocalProject());
+		// removal should fail
+		removeServer();
+	}
+
+	private void removeServer() {
+		final int howManyServers = ESWorkspaceProvider.INSTANCE.getWorkspace().getServers().size();
+		final ESServer serverToBeRemoved = ESWorkspaceProvider.INSTANCE.getWorkspace().getServers()
+			.get(howManyServers - 1);
+		UIThreadRunnable.asyncExec(new VoidResult() {
+			public void run() {
+				final UIRemoveServerController removeServerController = new UIRemoveServerController(
+					getBot().getDisplay().getActiveShell(),
+					serverToBeRemoved);
+				removeServerController.execute();
+			}
+		});
+		getBot().button("Yes").click();
+		// expect warning dialog that can be confirmed by clicking OK
+		getBot().button("OK").click();
+	}
+}
diff --git a/tests/org.eclipse.emf.emfstore.client.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.test/META-INF/MANIFEST.MF
index 5c2dd71..f7cab08 100644
--- a/tests/org.eclipse.emf.emfstore.client.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.test/META-INF/MANIFEST.MF
@@ -6,9 +6,9 @@
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.7.0,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.8.0,2.0.0)",
  org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.emfstore.client.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.test/pom.xml
index 8ee0b95..f429ea2 100644
--- a/tests/org.eclipse.emf.emfstore.client.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.test/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
diff --git a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/common/ChangePackageUtilTest.java b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/common/ChangePackageUtilTest.java
index 5d4c398..9b1b896 100644
--- a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/common/ChangePackageUtilTest.java
+++ b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/common/ChangePackageUtilTest.java
@@ -23,9 +23,8 @@
 import org.eclipse.emf.emfstore.client.test.common.dsl.Create;
 import org.eclipse.emf.emfstore.client.test.common.util.ProjectUtil;
 import org.eclipse.emf.emfstore.internal.client.model.Configuration;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackageEnvelope;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.FileBasedChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningFactory;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.CompositeOperation;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.CreateDeleteOperation;
@@ -36,6 +35,7 @@
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import com.google.common.base.Optional;
@@ -71,9 +71,10 @@
 		Configuration.getClientBehavior().setChangePackageFragmentSize(fragmentationSize);
 	}
 
+	@Ignore
 	@Test
 	public void shouldEmitAtLeastOneElement() throws ESException {
-		final ChangePackage changePackage = VersioningFactory.eINSTANCE.createChangePackage();
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
 		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(changePackage, 1);
 
 		assertTrue(it.hasNext());
@@ -95,14 +96,15 @@
 		Add.toProject(getLocalProject(), bar);
 		Add.toProject(getLocalProject(), baz);
 
-		final AbstractChangePackage localChangePackage = getProjectSpace().getLocalChangePackage();
-		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(localChangePackage, 2);
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(changePackage, 2);
 
 		assertTrue(it.hasNext());
 		assertTrue(it.hasNext());
 		assertTrue(it.hasNext());
 	}
 
+	@Ignore
 	@Test
 	public void shouldSplitOperationsIntoChunks() throws ESException {
 		ProjectUtil.share(getUsersession(), getLocalProject());
@@ -114,8 +116,8 @@
 		Add.toProject(getLocalProject(), bar);
 		Add.toProject(getLocalProject(), baz);
 
-		final AbstractChangePackage localChangePackage = getProjectSpace().getLocalChangePackage();
-		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(localChangePackage, 2);
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(changePackage, 2);
 
 		assertTrue(it.hasNext());
 		assertEquals(2, it.next().getFragment().size());
@@ -124,6 +126,7 @@
 		assertFalse(it.hasNext());
 	}
 
+	@Ignore
 	@Test
 	public void shouldSetIsLastFlagCorrectly() throws ESException {
 		ProjectUtil.share(getUsersession(), getLocalProject());
@@ -135,8 +138,8 @@
 		Add.toProject(getLocalProject(), bar);
 		Add.toProject(getLocalProject(), baz);
 
-		final AbstractChangePackage localChangePackage = getProjectSpace().getLocalChangePackage();
-		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(localChangePackage, 2);
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		final Iterator<ChangePackageEnvelope> it = ChangePackageUtil.splitChangePackage(changePackage, 2);
 
 		final ChangePackageEnvelope firstFragment = it.next();
 		final ChangePackageEnvelope secondFragment = it.next();
@@ -145,11 +148,12 @@
 		assertTrue(secondFragment.isLast());
 	}
 
+	@Ignore
 	@Test
 	public void shouldConsiderRootOperationBoundaries() {
 
-		final ChangePackage changePackage = VersioningFactory.eINSTANCE.createChangePackage();
-		changePackage.getOperations().add(createDummyCompositeOperation(3));
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		changePackage.add(createDummyCompositeOperation(3));
 
 		final Iterator<ChangePackageEnvelope> iterator = ChangePackageUtil.splitChangePackage(changePackage, 1);
 
@@ -162,10 +166,10 @@
 
 	@Test
 	public void shouldConsiderRootOperationBoundariesOfMultipleOperations() {
-		final ChangePackage changePackage = VersioningFactory.eINSTANCE.createChangePackage();
-		changePackage.getOperations().add(createDummyCompositeOperation(3));
-		changePackage.getOperations().add(createDummyCompositeOperation(2));
-		changePackage.getOperations().add(createDummyCompositeOperation(6));
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+		changePackage.add(createDummyCompositeOperation(3));
+		changePackage.add(createDummyCompositeOperation(2));
+		changePackage.add(createDummyCompositeOperation(6));
 
 		final Iterator<ChangePackageEnvelope> iterator = ChangePackageUtil.splitChangePackage(changePackage, 5);
 
@@ -175,9 +179,10 @@
 		assertTrue(iterator.next().isLast());
 	}
 
+	@Ignore
 	@Test(expected = NoSuchElementException.class)
 	public void shouldThrowNoSuchElementException() {
-		final ChangePackage changePackage = VersioningFactory.eINSTANCE.createChangePackage();
+		final FileBasedChangePackage changePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
 		final Iterator<ChangePackageEnvelope> iterator = ChangePackageUtil.splitChangePackage(changePackage, 5);
 
 		assertTrue(iterator.next().isLast());
diff --git a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/persistence/ProjectLastUpdatedTest.java b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/persistence/ProjectLastUpdatedTest.java
index bbc79dd..4ecfff4 100644
--- a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/persistence/ProjectLastUpdatedTest.java
+++ b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/persistence/ProjectLastUpdatedTest.java
@@ -11,7 +11,7 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.test.persistence;
 
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
@@ -75,7 +75,7 @@
 		final Date before = clonedProject.getLastUpdated();
 		clonedProject.update(new NullProgressMonitor());
 		final Date after = clonedProject.getLastUpdated();
-		assertNotEquals(before, after);
+		assertFalse(before.equals(after));
 	}
 
 }
diff --git a/tests/org.eclipse.emf.emfstore.client.ui.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.client.ui.test/META-INF/MANIFEST.MF
index 0d594b2..eb5da8b 100644
--- a/tests/org.eclipse.emf.emfstore.client.ui.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.client.ui.test/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Client UI Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui.test
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="[1.7.0,2.0.0)"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="[1.8.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.client.ui.test;version="1.7.0
+Export-Package: org.eclipse.emf.emfstore.client.ui.test;version="1.8.0
  ";x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui.common
- ;version="1.7.0";x-internal:=true
+ ;version="1.8.0";x-internal:=true
 Require-Bundle: org.junit;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)"
diff --git a/tests/org.eclipse.emf.emfstore.client.ui.test/pom.xml b/tests/org.eclipse.emf.emfstore.client.ui.test/pom.xml
index 20b356e..5b70236 100644
--- a/tests/org.eclipse.emf.emfstore.client.ui.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.ui.test/pom.xml
@@ -6,13 +6,13 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.test</artifactId>
-  <version>1.7.0-SNAPSHOT</version>
+  <version>1.8.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
     <build>
diff --git a/tests/org.eclipse.emf.emfstore.fuzzy.emf.diff.test/pom.xml b/tests/org.eclipse.emf.emfstore.fuzzy.emf.diff.test/pom.xml
index 9e9ef8d..7e7dd3a 100644
--- a/tests/org.eclipse.emf.emfstore.fuzzy.emf.diff.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.fuzzy.emf.diff.test/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
diff --git a/tests/org.eclipse.emf.emfstore.fuzzy.emf.test/pom.xml b/tests/org.eclipse.emf.emfstore.fuzzy.emf.test/pom.xml
index f2a8ce8..936dea9 100644
--- a/tests/org.eclipse.emf.emfstore.fuzzy.emf.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.fuzzy.emf.test/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
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/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.runtime.prefs b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
similarity index 99%
copy from features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.runtime.prefs
copy to tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
index c522e1f..5a0ad22 100644
--- a/features/org.eclipse.emf.emfstore.migration.cope.feature/.settings/org.eclipse.core.runtime.prefs
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/.settings/org.eclipse.core.runtime.prefs
@@ -1,2 +1,2 @@
-eclipse.preferences.version=1

-line.separator=\n

+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..61331ff
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.migration.edapt.test/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.emfstore.migration.edapt.test;singleton:=true
+Bundle-Version: 1.8.0.qualifier
+Bundle-ClassPath: .
+Fragment-Host: org.eclipse.emf.emfstore.migration.edapt;bundle-version="[1.8.0,2.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.emf.emfstore.internal.migration.edapt;vers
+ ion="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.internal.migrat
+ ion.edapt.test;version="1.8.0";x-internal:=true,org.eclipse.emf.emfst
+ ore.migration.edapt.test.model.a.model;version="1.8.0",org.eclipse.em
+ f.emfstore.migration.edapt.test.model.a.model.impl;version="1.8.0",or
+ g.eclipse.emf.emfstore.migration.edapt.test.model.a.model.util;versio
+ n="1.8.0",org.eclipse.emf.emfstore.migration.edapt.test.model.d.model
+ ;version="1.8.0",org.eclipse.emf.emfstore.migration.edapt.test.model.
+ d.model.impl;version="1.8.0",org.eclipse.emf.emfstore.migration.edapt
+ .test.model.d.model.util;version="1.8.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.8.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..09b6552
--- /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.8.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.8.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
diff --git a/tests/org.eclipse.emf.emfstore.performance.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.performance.test/META-INF/MANIFEST.MF
index 0d2b4b5..b249eff 100644
--- a/tests/org.eclipse.emf.emfstore.performance.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.performance.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Performance Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.performance.test
-Bundle-Version: 1.7.0.qualifier
+Bundle-Version: 1.8.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.modelmutator,
  org.eclipse.emf.emfstore.server,
diff --git a/tests/org.eclipse.emf.emfstore.performance.test/pom.xml b/tests/org.eclipse.emf.emfstore.performance.test/pom.xml
index a118e47..636cfc3 100644
--- a/tests/org.eclipse.emf.emfstore.performance.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.performance.test/pom.xml
@@ -6,13 +6,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-tests-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.performance.test</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.emfstore.server.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.server.test/META-INF/MANIFEST.MF
index 02e9a1c..17ae563 100644
--- a/tests/org.eclipse.emf.emfstore.server.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.server.test/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Server Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.server.test
-Bundle-Version: 1.7.0.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.0"
+Bundle-Version: 1.8.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.8.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.test.common;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)"
+ org.eclipse.emf.emfstore.server;bundle-version="[1.8.0,2.0.0)"
 Export-Package: org.eclipse.emf.emfstore.server.accesscontrol.test;ver
- sion="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.server.test;ve
- rsion="1.7.0";x-internal:=true
+ sion="1.8.0";x-internal:=true,org.eclipse.emf.emfstore.server.test;ve
+ rsion="1.8.0";x-internal:=true
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/tests/org.eclipse.emf.emfstore.server.test/pom.xml b/tests/org.eclipse.emf.emfstore.server.test/pom.xml
index 5157d88..31f2173 100644
--- a/tests/org.eclipse.emf.emfstore.server.test/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.server.test/pom.xml
@@ -7,13 +7,13 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-tests-parent</artifactId>
-		<version>1.7.0-SNAPSHOT</version>
+		<version>1.8.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.server.test</artifactId>
-	<version>1.7.0-SNAPSHOT</version>
+	<version>1.8.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
diff --git a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AllAccessControlTests.java b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AllAccessControlTests.java
index 42927d3..12ad3cf 100644
--- a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AllAccessControlTests.java
+++ b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AllAccessControlTests.java
@@ -1,11 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2011-2014 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:
  * Edgar Mueller - initial API and implementation
  ******************************************************************************/
@@ -16,9 +16,9 @@
 
 /**
  * Suite for all access control tests.
- * 
+ *
  * @author emueller
- * 
+ *
  */
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
@@ -40,7 +40,8 @@
 	CreateUserWithPasswordTests.class,
 	CreateUserWithPasswordMissingPrivilegTests.class,
 	AdminEMFStoreTests.class,
-	AddInitialParticipantTest.class
+	AddInitialParticipantTest.class,
+	AutoCreateACUserTestTest.class
 
 })
 public class AllAccessControlTests {
diff --git a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AutoCreateACUserTestTest.java b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AutoCreateACUserTestTest.java
new file mode 100644
index 0000000..d8a5a64
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AutoCreateACUserTestTest.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * 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.server.accesscontrol.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.eclipse.emf.emfstore.client.test.common.cases.ESTestWithLoggedInUserMock;
+import org.eclipse.emf.emfstore.client.test.common.util.ServerUtil;
+import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
+import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACUser;
+import org.eclipse.emf.emfstore.server.exceptions.ESException;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class AutoCreateACUserTestTest extends ESTestWithLoggedInUserMock {
+
+	private static final String NOT_EXISTING_USER_NAME = "FOO_USER"; //$NON-NLS-1$
+
+	private static void startEMFStoreWithAutoCreateProperty() {
+		final Map<String, String> properties = new LinkedHashMap<String, String>();
+		properties.put(ServerConfiguration.AUTHENTICATION_CREATE_AUTHENTICATED_USERS, Boolean.TRUE.toString());
+		startEMFStore(properties);
+	}
+
+	@BeforeClass
+	public static void beforeClass() {
+		startEMFStoreWithAutoCreateProperty();
+	}
+
+	@Test
+	public void testAutoCreateACUser() throws ESException {
+		/* act */
+		getServer().login(NOT_EXISTING_USER_NAME, ""); //$NON-NLS-1$
+		/* assert */
+		final ACUser user = ServerUtil.getUser(getUsersession(), NOT_EXISTING_USER_NAME);
+		assertNotNull(user);
+		assertEquals(NOT_EXISTING_USER_NAME, user.getName());
+	}
+}
diff --git a/tests/org.eclipse.emf.emfstore.test.common/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.test.common/META-INF/MANIFEST.MF
index 36d3563..cbaa868 100644
--- a/tests/org.eclipse.emf.emfstore.test.common/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.emfstore.test.common/META-INF/MANIFEST.MF
@@ -6,9 +6,9 @@
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.emf.emfstore.test.model;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.client;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.junit;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.emfstore.test.model.edit;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
  org.eclipse.core.resources;bundle-version="[3.8.1,4.0.0)"
 Export-Package: org.eclipse.emf.emfstore.client.test.common;version="2.0.0";x-friends:="org.eclipse.emf.emfstore.client.api.test",
diff --git a/tests/org.eclipse.emf.emfstore.test.common/pom.xml b/tests/org.eclipse.emf.emfstore.test.common/pom.xml
index e88b746..e46a8b9 100644
--- a/tests/org.eclipse.emf.emfstore.test.common/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.test.common/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
diff --git a/tests/org.eclipse.emf.emfstore.test.model.edit/pom.xml b/tests/org.eclipse.emf.emfstore.test.model.edit/pom.xml
index fde8de0..45e7089 100644
--- a/tests/org.eclipse.emf.emfstore.test.model.edit/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.test.model.edit/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
diff --git a/tests/org.eclipse.emf.emfstore.test.model/pom.xml b/tests/org.eclipse.emf.emfstore.test.model/pom.xml
index 15e8d25..3eeb069 100644
--- a/tests/org.eclipse.emf.emfstore.test.model/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.test.model/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>emfstore-tests-parent</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>