diff --git a/builds/org.eclipse.emf.edapt.releng.target/edapt.target b/builds/org.eclipse.emf.edapt.releng.target/edapt.target
index 55c9878..a7d26c6 100644
--- a/builds/org.eclipse.emf.edapt.releng.target/edapt.target
+++ b/builds/org.eclipse.emf.edapt.releng.target/edapt.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Edapt Target" sequenceNumber="1472207247">
+<target name="Edapt Target" sequenceNumber="1502350970">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="2.1.2.201310031412"/>
@@ -95,5 +95,9 @@
       <unit id="org.junit" version="4.11.0.v201303080030"/>
       <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20130827064939/repository/"/>
     </location>
+    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.mockito.mockito-core-hamcrest-modified" version="1.9.5"/>
+      <repository location="http://build.eclipse.org/rt/rap/base-platforms/3.1/extra-dependencies/"/>
+    </location>
   </locations>
 </target>
diff --git a/builds/org.eclipse.emf.edapt.releng.target/edapt.tpd b/builds/org.eclipse.emf.edapt.releng.target/edapt.tpd
index e3dbf6d..2c5877a 100644
--- a/builds/org.eclipse.emf.edapt.releng.target/edapt.tpd
+++ b/builds/org.eclipse.emf.edapt.releng.target/edapt.tpd
@@ -94,3 +94,6 @@
 org.junit
 }
 
+location "http://build.eclipse.org/rt/rap/base-platforms/3.1/extra-dependencies/" {
+org.mockito.mockito-core-hamcrest-modified
+}
diff --git a/builds/org.eclipse.emf.edapt.releng.target/edapt_neon.target b/builds/org.eclipse.emf.edapt.releng.target/edapt_oxygen.target
similarity index 88%
rename from builds/org.eclipse.emf.edapt.releng.target/edapt_neon.target
rename to builds/org.eclipse.emf.edapt.releng.target/edapt_oxygen.target
index da25b34..49ce883 100644
--- a/builds/org.eclipse.emf.edapt.releng.target/edapt_neon.target
+++ b/builds/org.eclipse.emf.edapt.releng.target/edapt_oxygen.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Edapt Neon Target" sequenceNumber="1464859164">
+<target name="Edapt Oxygen Target" sequenceNumber="1502350974">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.source.feature.group" version="2.1.2.201310031412"/>
@@ -11,17 +11,17 @@
       <repository location="http://download.eclipse.org/modeling/emf/compare/updates/releases/2.1"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.rcp.source.feature.group" version="4.6.0.v20160525-2000"/>
-      <unit id="org.eclipse.pde.api.tools.ee.feature.feature.group" version="1.0.1.v20160419-1303"/>
-      <unit id="org.eclipse.releng.tools.feature.group" version="3.9.0.v20160424-1559"/>
-      <unit id="org.eclipse.equinox.sdk.feature.group" version="3.12.0.v20160525-1303"/>
-      <unit id="org.eclipse.sdk.ide" version="4.6.0.I20160525-2000"/>
-      <unit id="org.eclipse.platform.sdk" version="4.6.0.I20160525-2000"/>
-      <unit id="org.eclipse.test.feature.group" version="3.7.100.v20160503-1715"/>
-      <unit id="org.eclipse.sdk.tests.feature.group" version="4.6.0.v20160525-2000"/>
-      <unit id="org.eclipse.platform.ide" version="4.6.0.I20160525-2000"/>
-      <unit id="org.eclipse.rcp.feature.group" version="4.6.0.v20160525-2000"/>
-      <repository location="http://download.eclipse.org/eclipse/updates/4.6milestones"/>
+      <unit id="org.eclipse.rcp.source.feature.group" version="4.7.0.v20170612-1255"/>
+      <unit id="org.eclipse.pde.api.tools.ee.feature.feature.group" version="1.0.200.v20170515-0910"/>
+      <unit id="org.eclipse.releng.tools.feature.group" version="3.9.100.v20170516-0717"/>
+      <unit id="org.eclipse.equinox.sdk.feature.group" version="3.13.0.v20170531-1133"/>
+      <unit id="org.eclipse.sdk.ide" version="4.7.0.I20170612-0950"/>
+      <unit id="org.eclipse.platform.sdk" version="4.7.0.I20170612-0950"/>
+      <unit id="org.eclipse.test.feature.group" version="3.7.200.v20170511-1043"/>
+      <unit id="org.eclipse.sdk.tests.feature.group" version="4.7.0.v20170612-0950"/>
+      <unit id="org.eclipse.platform.ide" version="4.7.0.I20170612-0950"/>
+      <unit id="org.eclipse.rcp.feature.group" version="4.7.0.v20170612-1255"/>
+      <repository location="http://download.eclipse.org/eclipse/updates/4.7"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.ocl.core.sdk.feature.group" version="4.0.1.v20120917-1739"/>
@@ -91,5 +91,9 @@
       <unit id="org.junit" version="4.11.0.v201303080030"/>
       <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20130827064939/repository/"/>
     </location>
+    <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.mockito.mockito-core-hamcrest-modified" version="1.9.5"/>
+      <repository location="http://build.eclipse.org/rt/rap/base-platforms/3.1/extra-dependencies/"/>
+    </location>
   </locations>
 </target>
diff --git a/builds/org.eclipse.emf.edapt.releng.target/edapt_neon.tpd b/builds/org.eclipse.emf.edapt.releng.target/edapt_oxygen.tpd
similarity index 93%
rename from builds/org.eclipse.emf.edapt.releng.target/edapt_neon.tpd
rename to builds/org.eclipse.emf.edapt.releng.target/edapt_oxygen.tpd
index eebfe65..eb9620b 100644
--- a/builds/org.eclipse.emf.edapt.releng.target/edapt_neon.tpd
+++ b/builds/org.eclipse.emf.edapt.releng.target/edapt_oxygen.tpd
@@ -1,4 +1,4 @@
-target "Edapt Neon Target"
+target "Edapt Oxygen Target"
 
 location "http://download.eclipse.org/modeling/emf/compare/updates/releases/2.1" {
 org.eclipse.emf.compare.source.feature.group
@@ -7,7 +7,7 @@
 org.eclipse.emf.compare.rcp.ui.feature.group
 }
 
-location "http://download.eclipse.org/eclipse/updates/4.6milestones" {
+location "http://download.eclipse.org/eclipse/updates/4.7" {
 org.eclipse.rcp.source.feature.group
 org.eclipse.pde.api.tools.ee.feature.feature.group
 org.eclipse.releng.tools.feature.group
@@ -88,3 +88,6 @@
 org.junit
 }
 
+location "http://build.eclipse.org/rt/rap/base-platforms/3.1/extra-dependencies/" {
+org.mockito.mockito-core-hamcrest-modified
+}
diff --git a/builds/org.eclipse.emf.edapt.releng.target/edapt_with_cdo.target b/builds/org.eclipse.emf.edapt.releng.target/edapt_with_cdo.target
index e1b9418..4254e89 100644
--- a/builds/org.eclipse.emf.edapt.releng.target/edapt_with_cdo.target
+++ b/builds/org.eclipse.emf.edapt.releng.target/edapt_with_cdo.target
@@ -1,156 +1,159 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?>
-
-<target name="Edapt target" sequenceNumber="69">
+<?pde version="3.8"?><target name="Edapt build target" sequenceNumber="71">
 <locations>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="2.1.0.201306250935"/>
-<unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="2.1.0.201306250935"/>
-<unit id="org.eclipse.emf.compare.source.feature.group" version="2.1.0.201306250935"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.emf.compare.feature.group" version="2.1.0.201306250935"/>
-<unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="2.1.0.201306250935"/>
+<unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="2.1.0.201306250935"/>
+<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="2.1.0.201306250935"/>
 <unit id="org.eclipse.emf.compare.rcp.ui.feature.group" version="2.1.0.201306250935"/>
+<unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="2.1.0.201306250935"/>
+<unit id="org.eclipse.emf.compare.source.feature.group" version="2.1.0.201306250935"/>
 <repository location="http://download.eclipse.org/modeling/emf/compare/updates/releases/2.1"/>
 </location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rcp.source.feature.group" version="4.3.0.v20130605-2000"/>
-<unit id="org.eclipse.pde.api.tools.ee.feature.feature.group" version="1.0.0.v20130327-1631"/>
-<unit id="org.eclipse.releng.tools.feature.group" version="3.5.0.v20130523-0845"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.equinox.sdk.feature.group" version="3.9.0.v20130604-2047"/>
-<unit id="org.eclipse.sdk.ide" version="4.3.0.I20130605-2000"/>
-<unit id="org.eclipse.platform.sdk" version="4.3.0.I20130605-2000"/>
-<unit id="org.eclipse.test.feature.group" version="3.6.0.v20130424-0442"/>
-<unit id="org.eclipse.sdk.tests.feature.group" version="4.3.0.v20130606-0135"/>
+<unit id="org.eclipse.pde.api.tools.ee.feature.feature.group" version="1.0.0.v20130327-1631"/>
 <unit id="org.eclipse.platform.ide" version="4.3.0.I20130605-2000"/>
+<unit id="org.eclipse.platform.sdk" version="4.3.0.I20130605-2000"/>
 <unit id="org.eclipse.rcp.feature.group" version="4.3.0.v20130605-2000"/>
+<unit id="org.eclipse.rcp.source.feature.group" version="4.3.0.v20130605-2000"/>
+<unit id="org.eclipse.releng.tools.feature.group" version="3.5.0.v20130523-0845"/>
+<unit id="org.eclipse.sdk.ide" version="4.3.0.I20130605-2000"/>
+<unit id="org.eclipse.sdk.tests.feature.group" version="4.3.0.v20130606-0135"/>
+<unit id="org.eclipse.test.feature.group" version="3.6.0.v20130424-0442"/>
 <repository location="http://download.eclipse.org/eclipse/updates/4.3"/>
 </location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.ocl.master.feature.group" version="4.0.1.v20120919-0602"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.ocl.all.sdk.feature.group" version="4.0.1.v20120919-0602"/>
 <unit id="org.eclipse.ocl.examples.feature.group" version="3.2.1.v20120919-0602"/>
+<unit id="org.eclipse.ocl.master.feature.group" version="4.0.1.v20120919-0602"/>
 <repository location="http://download.eclipse.org/modeling/mdt/ocl/updates/releases/4.0.1"/>
 </location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecore.xcore.ui.feature.group" version="1.1.0.v20130903-0948"/>
-<unit id="org.eclipse.emf.databinding.feature.group" version="1.3.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.codegen.ecore.feature.group" version="2.9.1.v20130902-0605"/>
-<unit id="org.eclipse.emf.edit.ui.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.mapping.ecore.editor.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.gwt.sdk.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.gwt.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.mapping.ecore.feature.group" version="2.7.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.rap.edit.ui.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.oda.ecore.feature.group" version="1.2.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.codegen.ecore.ui.feature.group" version="2.9.1.v20130902-0605"/>
-<unit id="org.eclipse.xsd.sdk.feature.group" version="2.9.1.v20130902-0605"/>
-<unit id="org.eclipse.emf.common.feature.group" version="2.9.1.v20130827-0309"/>
-<unit id="org.eclipse.emf.ecore.edit.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.xsd.feature.group" version="2.9.1.v20130902-0605"/>
-<unit id="org.eclipse.emf.ecore.xcore.feature.group" version="1.1.1.v20130903-0948"/>
-<unit id="org.eclipse.emf.codegen.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.edit.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.ecore.xcore.sdk.feature.group" version="1.1.1.v20130903-0948"/>
-<unit id="org.eclipse.xsd.edit.feature.group" version="2.7.0.v20130902-0605"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.emf.all.feature.group" version="2.9.1.v20130902-0605"/>
-<unit id="org.eclipse.emf.oda.ecore.ui.feature.group" version="1.1.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.rap.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.ecore.editor.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.codegen.ecore.feature.group" version="2.9.1.v20130902-0605"/>
+<unit id="org.eclipse.emf.codegen.ecore.ui.feature.group" version="2.9.1.v20130902-0605"/>
+<unit id="org.eclipse.emf.codegen.feature.group" version="2.9.0.v20130902-0605"/>
 <unit id="org.eclipse.emf.codegen.ui.feature.group" version="2.7.0.v20130902-0605"/>
-<unit id="org.eclipse.xsd.mapping.editor.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.mapping.feature.group" version="2.7.0.v20130902-0605"/>
-<unit id="org.eclipse.xsd.doc.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.feature.group" version="2.9.1.v20130902-0605"/>
-<unit id="org.eclipse.emf.doc.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.examples.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.oda.sdk.feature.group" version="1.2.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.gwt.common.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.rap.common.ui.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.xsd.editor.feature.group" version="2.7.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.oda.feature.group" version="1.2.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.gwt.edit.ui.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.common.feature.group" version="2.9.1.v20130827-0309"/>
 <unit id="org.eclipse.emf.common.ui.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.rap.sdk.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.ecore.feature.group" version="2.9.1.v20130827-0309"/>
-<unit id="org.eclipse.emf.mapping.ui.feature.group" version="2.7.0.v20130902-0605"/>
-<unit id="org.eclipse.xsd.mapping.feature.group" version="2.7.0.v20130902-0605"/>
 <unit id="org.eclipse.emf.converter.feature.group" version="2.9.0.v20130902-0605"/>
-<unit id="org.eclipse.xsd.ecore.converter.feature.group" version="2.8.0.v20130902-0605"/>
 <unit id="org.eclipse.emf.databinding.edit.feature.group" version="1.3.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.databinding.feature.group" version="1.3.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.doc.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.ecore.edit.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.ecore.editor.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.ecore.feature.group" version="2.9.1.v20130827-0309"/>
+<unit id="org.eclipse.emf.ecore.xcore.feature.group" version="1.1.1.v20130903-0948"/>
+<unit id="org.eclipse.emf.ecore.xcore.sdk.feature.group" version="1.1.1.v20130903-0948"/>
+<unit id="org.eclipse.emf.ecore.xcore.ui.feature.group" version="1.1.0.v20130903-0948"/>
+<unit id="org.eclipse.emf.edit.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.edit.ui.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.examples.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.feature.group" version="2.9.1.v20130902-0605"/>
+<unit id="org.eclipse.emf.gwt.common.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.gwt.ecore.edit.feature.group" version="2.8.0.v20130902-0605"/>
 <unit id="org.eclipse.emf.gwt.ecore.feature.group" version="2.9.0.v20130902-0605"/>
 <unit id="org.eclipse.emf.gwt.edit.feature.group" version="2.8.0.v20130902-0605"/>
-<unit id="org.eclipse.emf.gwt.ecore.edit.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.gwt.edit.ui.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.gwt.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.gwt.sdk.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.mapping.ecore.editor.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.mapping.ecore.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.mapping.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.mapping.ui.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.oda.ecore.feature.group" version="1.2.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.oda.ecore.ui.feature.group" version="1.1.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.oda.feature.group" version="1.2.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.oda.sdk.feature.group" version="1.2.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.rap.common.ui.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.rap.edit.ui.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.rap.feature.group" version="2.9.0.v20130902-0605"/>
+<unit id="org.eclipse.emf.rap.sdk.feature.group" version="2.9.0.v20130902-0605"/>
 <unit id="org.eclipse.emf.sdk.feature.group" version="2.9.1.v20130902-0605"/>
+<unit id="org.eclipse.xsd.doc.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.xsd.ecore.converter.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.xsd.edit.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.xsd.editor.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.xsd.feature.group" version="2.9.1.v20130902-0605"/>
+<unit id="org.eclipse.xsd.mapping.editor.feature.group" version="2.8.0.v20130902-0605"/>
+<unit id="org.eclipse.xsd.mapping.feature.group" version="2.7.0.v20130902-0605"/>
+<unit id="org.eclipse.xsd.sdk.feature.group" version="2.9.1.v20130902-0605"/>
 <repository location="http://download.eclipse.org/modeling/emf/emf/updates/releases/"/>
 </location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.acceleo.examples.feature.group" version="3.2.2.v20120807-0831"/>
-<unit id="org.eclipse.acceleo.runtime.feature.group" version="3.2.2.v20120807-0831"/>
-<unit id="org.eclipse.acceleo.ui.capabilities.feature.group" version="3.2.2.v20120807-0831"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.acceleo.doc.feature.group" version="3.2.2.v20120807-0831"/>
+<unit id="org.eclipse.acceleo.examples.feature.group" version="3.2.2.v20120807-0831"/>
 <unit id="org.eclipse.acceleo.feature.group" version="3.2.2.v20120807-0831"/>
+<unit id="org.eclipse.acceleo.runtime.feature.group" version="3.2.2.v20120807-0831"/>
 <unit id="org.eclipse.acceleo.sdk.feature.group" version="3.2.2.v20120807-0831"/>
+<unit id="org.eclipse.acceleo.ui.capabilities.feature.group" version="3.2.2.v20120807-0831"/>
 <repository location="http://download.eclipse.org/acceleo/updates/releases/3.2"/>
 </location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.junit" version="4.11.0.v201303080030"/>
+<unit id="org.objenesis" version="0.0.0"/>
 <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20130827064939/repository/"/>
 </location>
-<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.cdo.migrator.feature.group" version="4.2.0.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.doc.feature.group" version="4.2.0.v20130612-0849"/>
-<unit id="org.eclipse.emf.cdo.explorer.product.feature.group" version="4.1.100.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.server.db4o.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.gastro.feature.group" version="4.2.0.v20130503-1908"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.emf.cdo.compare.feature.group" version="4.2.0.v20130612-0849"/>
-<unit id="org.eclipse.emf.cdo.server.lissome.feature.group" version="4.2.1.v20130810-1101"/>
-<unit id="org.eclipse.emf.cdo.feature.group" version="4.2.1.v20130913-0613"/>
-<unit id="org.eclipse.emf.cdo.server.objectivity.feature.group" version="4.2.0.v20130811-0646"/>
-<unit id="org.eclipse.emf.cdo.examples.feature.group" version="4.2.0.v20130601-0759"/>
-<unit id="org.eclipse.emf.cdo.server.product.feature.group" version="4.1.100.v20130531-1716"/>
-<unit id="org.eclipse.emf.cdo.server.feature.group" version="4.2.1.v20130913-0613"/>
-<unit id="org.eclipse.emf.cdo.server.db.feature.group" version="4.2.1.v20130811-0503"/>
 <unit id="org.eclipse.emf.cdo.defs.feature.group" version="4.2.1.v20130913-0613"/>
-<unit id="org.eclipse.emf.cdo.server.mongodb.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.2.1.v20130913-0613"/>
-<unit id="org.eclipse.emf.cdo.tests.feature.group" version="4.2.1.v20130913-0613"/>
+<unit id="org.eclipse.emf.cdo.doc.feature.group" version="4.2.0.v20130612-0849"/>
+<unit id="org.eclipse.emf.cdo.examples.feature.group" version="4.2.0.v20130601-0759"/>
 <unit id="org.eclipse.emf.cdo.examples.hibernate.feature.group" version="4.2.1.v20130813-1544"/>
-<unit id="org.eclipse.emf.cdo.server.hibernate.feature.group" version="4.2.1.v20130911-1235"/>
-<unit id="org.eclipse.emf.cdo.tests.hibernate.feature.group" version="4.2.1.v20130911-1235"/>
-<unit id="org.eclipse.emf.cdo.releng.projectcopy.feature.group" version="1.1.0.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.releng.version.doc.feature.group" version="1.1.0.v20130612-0849"/>
-<unit id="org.eclipse.emf.cdo.releng.version.headless.feature.group" version="1.1.0.v20130601-1611"/>
-<unit id="org.eclipse.emf.cdo.releng.manifests.feature.group" version="1.1.0.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.releng.version.feature.group" version="1.1.0.v20130601-1611"/>
-<unit id="org.eclipse.emf.cdo.releng.version.sdk.feature.group" version="1.1.0.v20130612-0849"/>
-<unit id="org.eclipse.emf.cdo.releng.tasks.feature.group" version="1.1.0.v20130504-1740"/>
-<unit id="org.eclipse.emf.cdo.releng.winexplorer.feature.group" version="1.1.0.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.releng.gitbash.feature.group" version="1.1.0.v20130529-1207"/>
-<unit id="org.eclipse.emf.cdo.releng.buildstamp.feature.group" version="1.1.0.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.releng.help.feature.group" version="4.2.0.v20130612-0849"/>
+<unit id="org.eclipse.emf.cdo.explorer.product.feature.group" version="4.1.100.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.feature.group" version="4.2.1.v20130913-0613"/>
+<unit id="org.eclipse.emf.cdo.migrator.feature.group" version="4.2.0.v20130503-1908"/>
 <unit id="org.eclipse.emf.cdo.releng.apireports.feature.group" version="1.0.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.releng.buildstamp.feature.group" version="1.1.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.releng.gitbash.feature.group" version="1.1.0.v20130529-1207"/>
+<unit id="org.eclipse.emf.cdo.releng.help.feature.group" version="4.2.0.v20130612-0849"/>
+<unit id="org.eclipse.emf.cdo.releng.launches.feature.group" version="1.1.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.releng.manifests.feature.group" version="1.1.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.releng.projectcopy.feature.group" version="1.1.0.v20130503-1908"/>
 <unit id="org.eclipse.emf.cdo.releng.relativepaths.feature.group" version="1.1.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.releng.tasks.feature.group" version="1.1.0.v20130504-1740"/>
+<unit id="org.eclipse.emf.cdo.releng.version.doc.feature.group" version="1.1.0.v20130612-0849"/>
+<unit id="org.eclipse.emf.cdo.releng.version.feature.group" version="1.1.0.v20130601-1611"/>
+<unit id="org.eclipse.emf.cdo.releng.version.headless.feature.group" version="1.1.0.v20130601-1611"/>
+<unit id="org.eclipse.emf.cdo.releng.version.sdk.feature.group" version="1.1.0.v20130612-0849"/>
 <unit id="org.eclipse.emf.cdo.releng.version.tests.feature.group" version="1.1.0.v20130503-1908"/>
 <unit id="org.eclipse.emf.cdo.releng.windowtitle.feature.group" version="1.1.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.releng.winexplorer.feature.group" version="1.1.0.v20130503-1908"/>
 <unit id="org.eclipse.emf.cdo.releng.workingsets.feature.group" version="1.1.0.v20130503-1908"/>
-<unit id="org.eclipse.emf.cdo.releng.launches.feature.group" version="1.1.0.v20130503-1908"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.2.1.v20130913-0613"/>
+<unit id="org.eclipse.emf.cdo.server.db.feature.group" version="4.2.1.v20130811-0503"/>
+<unit id="org.eclipse.emf.cdo.server.db4o.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.emf.cdo.server.feature.group" version="4.2.1.v20130913-0613"/>
+<unit id="org.eclipse.emf.cdo.server.hibernate.feature.group" version="4.2.1.v20130911-1235"/>
+<unit id="org.eclipse.emf.cdo.server.lissome.feature.group" version="4.2.1.v20130810-1101"/>
+<unit id="org.eclipse.emf.cdo.server.mongodb.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.emf.cdo.server.objectivity.feature.group" version="4.2.0.v20130811-0646"/>
+<unit id="org.eclipse.emf.cdo.server.product.feature.group" version="4.1.100.v20130531-1716"/>
+<unit id="org.eclipse.emf.cdo.tests.feature.group" version="4.2.1.v20130913-0613"/>
+<unit id="org.eclipse.emf.cdo.tests.hibernate.feature.group" version="4.2.1.v20130911-1235"/>
+<unit id="org.eclipse.net4j.db.derby.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.net4j.db.feature.group" version="4.2.1.v20130730-0902"/>
+<unit id="org.eclipse.net4j.db.h2.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.net4j.db.hsqldb.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.net4j.db.mysql.feature.group" version="4.2.0.v20130601-1611"/>
 <unit id="org.eclipse.net4j.db.oracle.feature.group" version="1.0.0.v20130515-0529"/>
 <unit id="org.eclipse.net4j.db.postgresql.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.eclipse.net4j.db.feature.group" version="4.2.1.v20130730-0902"/>
-<unit id="org.eclipse.net4j.db.mysql.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.eclipse.net4j.db.derby.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.eclipse.net4j.db.hsqldb.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.eclipse.net4j.db.h2.feature.group" version="4.2.0.v20130601-1611"/>
-<unit id="org.eclipse.net4j.ui.feature.group" version="4.2.0.v20130601-1611"/>
 <unit id="org.eclipse.net4j.defs.feature.group" version="4.2.1.v20130806-0658"/>
-<unit id="org.eclipse.net4j.examples.feature.group" version="4.2.0.v20130601-0759"/>
-<unit id="org.eclipse.net4j.util.ui.feature.group" version="4.2.0.v20130730-0902"/>
 <unit id="org.eclipse.net4j.doc.feature.group" version="4.2.0.v20130612-0849"/>
+<unit id="org.eclipse.net4j.examples.feature.group" version="4.2.0.v20130601-0759"/>
 <unit id="org.eclipse.net4j.feature.group" version="4.2.1.v20130806-0658"/>
-<unit id="org.eclipse.net4j.tests.feature.group" version="4.2.0.v20130503-1908"/>
-<unit id="org.eclipse.net4j.util.feature.group" version="4.2.0.v20130601-1611"/>
 <unit id="org.eclipse.net4j.sdk.feature.group" version="4.2.1.v20130806-0658"/>
+<unit id="org.eclipse.net4j.tests.feature.group" version="4.2.0.v20130503-1908"/>
+<unit id="org.eclipse.net4j.ui.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.net4j.util.feature.group" version="4.2.0.v20130601-1611"/>
+<unit id="org.eclipse.net4j.util.ui.feature.group" version="4.2.0.v20130730-0902"/>
+<unit id="org.gastro.feature.group" version="4.2.0.v20130503-1908"/>
 <repository location="http://download.eclipse.org/modeling/emf/cdo/updates/releases/4.2"/>
 </location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.mockito.mockito-core-hamcrest-modified" version="1.9.5"/>
+<repository location="http://build.eclipse.org/rt/rap/base-platforms/3.1/extra-dependencies/"/>
+</location>
 </locations>
 </target>
diff --git a/plugins/org.eclipse.emf.edapt.common/src/org/eclipse/emf/edapt/common/IResourceSetProcessor.java b/plugins/org.eclipse.emf.edapt.common/src/org/eclipse/emf/edapt/common/IResourceSetProcessor.java
new file mode 100644
index 0000000..350a6b3
--- /dev/null
+++ b/plugins/org.eclipse.emf.edapt.common/src/org/eclipse/emf/edapt/common/IResourceSetProcessor.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2017 BMW Car IT, TUM, 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.edapt.common;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+/**
+ * Generic interface for a processor which is supposed to work with {@link ResourceSet ResourceSets}.
+ *
+ * @since 1.3
+ *
+ */
+public interface IResourceSetProcessor {
+
+	/**
+	 * @param resourceSet the {@link ResourceSet} to process
+	 */
+	void process(ResourceSet resourceSet);
+
+}
diff --git a/plugins/org.eclipse.emf.edapt.history.cdo/src/org/eclipse/emf/edapt/cdo/migration/execution/CDOMigrationReconstructor.java b/plugins/org.eclipse.emf.edapt.history.cdo/src/org/eclipse/emf/edapt/cdo/migration/execution/CDOMigrationReconstructor.java
index c548584..03af5c5 100644
--- a/plugins/org.eclipse.emf.edapt.history.cdo/src/org/eclipse/emf/edapt/cdo/migration/execution/CDOMigrationReconstructor.java
+++ b/plugins/org.eclipse.emf.edapt.history.cdo/src/org/eclipse/emf/edapt/cdo/migration/execution/CDOMigrationReconstructor.java
@@ -23,7 +23,7 @@
 		IProgressMonitor monitor, IClassLoader classLoader,
 		ValidationLevel level, IResourceSetFactory resourceSetFactory) {
 		super(modelURIs, sourceRelease, targetRelease, monitor, classLoader,
-			level, resourceSetFactory);
+			level, resourceSetFactory, null);
 	}
 
 	/** Load the model before migration. */
diff --git a/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/internal/migration/execution/internal/MigrationReconstructor.java b/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/internal/migration/execution/internal/MigrationReconstructor.java
index 79a7445..73adeb5 100644
--- a/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/internal/migration/execution/internal/MigrationReconstructor.java
+++ b/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/internal/migration/execution/internal/MigrationReconstructor.java
@@ -26,6 +26,7 @@
 import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.edapt.common.IResourceSetFactory;
+import org.eclipse.emf.edapt.common.IResourceSetProcessor;
 import org.eclipse.emf.edapt.declaration.OperationImplementation;
 import org.eclipse.emf.edapt.history.reconstruction.EcoreReconstructorSwitchBase;
 import org.eclipse.emf.edapt.history.reconstruction.FinishedException;
@@ -112,11 +113,13 @@
 	/** Factory to create {@link ResourceSet}s for custom serialization. */
 	protected IResourceSetFactory resourceSetFactory;
 
+	private final IResourceSetProcessor postLoadProcessor;
+
 	/** Constructor. */
 	public MigrationReconstructor(List<URI> modelURIs, Release sourceRelease,
 		Release targetRelease, IProgressMonitor monitor,
 		IClassLoader classLoader, ValidationLevel level,
-		IResourceSetFactory resourceSetFactory) {
+		IResourceSetFactory resourceSetFactory, IResourceSetProcessor postLoadProcessor) {
 		this.modelURIs = modelURIs;
 		this.sourceRelease = sourceRelease;
 		this.targetRelease = targetRelease;
@@ -124,6 +127,7 @@
 		this.classLoader = classLoader;
 		this.level = level;
 		this.resourceSetFactory = resourceSetFactory;
+		this.postLoadProcessor = postLoadProcessor;
 	}
 
 	/** {@inheritDoc} */
@@ -183,7 +187,7 @@
 		metamodel.refreshCaches();
 		try {
 			final Model model = Persistency.loadModel(modelURIs, metamodel,
-				resourceSetFactory);
+				resourceSetFactory, postLoadProcessor);
 			repository = MigrationFactory.eINSTANCE.createRepository();
 			repository.setMetamodel(metamodel);
 			repository.setModel(model);
diff --git a/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/migration/execution/Migrator.java b/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/migration/execution/Migrator.java
index d583488..e2cd536 100644
--- a/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/migration/execution/Migrator.java
+++ b/plugins/org.eclipse.emf.edapt.history/src/org/eclipse/emf/edapt/migration/execution/Migrator.java
@@ -31,6 +31,7 @@
 import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.edapt.common.IResourceSetFactory;
+import org.eclipse.emf.edapt.common.IResourceSetProcessor;
 import org.eclipse.emf.edapt.declaration.LibraryImplementation;
 import org.eclipse.emf.edapt.declaration.OperationImplementation;
 import org.eclipse.emf.edapt.history.reconstruction.EcoreForwardReconstructor;
@@ -84,6 +85,8 @@
 	/** Validation level. */
 	private ValidationLevel level = ValidationLevel.CUSTOM_MIGRATION;
 
+	private IResourceSetProcessor postLoadProcessor;
+
 	/** Constructor. */
 	public Migrator(URI historyURI, IClassLoader classLoader)
 		throws MigrationException {
@@ -165,7 +168,7 @@
 	 */
 	public void migrateAndSave(List<URI> modelURIs, Release sourceRelease,
 		Release targetRelease, IProgressMonitor monitor)
-			throws MigrationException {
+		throws MigrationException {
 		this.migrateAndSave(modelURIs, sourceRelease, targetRelease, monitor, null);
 	}
 
@@ -186,7 +189,7 @@
 	 */
 	public void migrateAndSave(List<URI> modelURIs, Release sourceRelease,
 		Release targetRelease, IProgressMonitor monitor, Map<String, Object> options)
-			throws MigrationException {
+		throws MigrationException {
 		final Model model = migrate(modelURIs, sourceRelease, targetRelease, monitor);
 		if (model == null) {
 			throw new MigrationException("Model is up-to-date", null); //$NON-NLS-1$
@@ -245,7 +248,7 @@
 	 */
 	private Model migrate(List<URI> modelURIs, Release sourceRelease,
 		Release targetRelease, IProgressMonitor monitor)
-			throws MigrationException {
+		throws MigrationException {
 		try {
 			if (targetRelease == null) {
 				targetRelease = getLatestRelease();
@@ -260,7 +263,7 @@
 				URI.createFileURI("test")); //$NON-NLS-1$
 			final MigrationReconstructor migrationReconstructor = new MigrationReconstructor(
 				modelURIs, sourceRelease, targetRelease, monitor,
-				classLoader, level, resourceSetFactory);
+				classLoader, level, resourceSetFactory, postLoadProcessor);
 			reconstructor.addReconstructor(migrationReconstructor);
 
 			reconstructor.reconstruct(targetRelease, false);
@@ -429,4 +432,24 @@
 	public IResourceSetFactory getResourceSetFactory() {
 		return resourceSetFactory;
 	}
+
+	/**
+	 * The given processor will be called after the outdated model was loaded. It will be called before Edapt translates
+	 * the dynamic EMF model into its internal representation required for the migration. Hence this processor may be
+	 * used to modify the to be migrated model before the actual migrations starts.
+	 *
+	 * @since 1.3
+	 */
+	public void setPostLoadModelProcessor(IResourceSetProcessor postLoadProcessor) {
+		this.postLoadProcessor = postLoadProcessor;
+	}
+
+	/**
+	 * The post load model processor.
+	 * 
+	 * @since 1.3
+	 */
+	public IResourceSetProcessor getPostLoadModelProcessor() {
+		return postLoadProcessor;
+	}
 }
diff --git a/plugins/org.eclipse.emf.edapt.migration.ui/src/org/eclipse/emf/edapt/migration/ui/MigratorHandlerBase.java b/plugins/org.eclipse.emf.edapt.migration.ui/src/org/eclipse/emf/edapt/migration/ui/MigratorHandlerBase.java
index b8306db..13db02f 100644
--- a/plugins/org.eclipse.emf.edapt.migration.ui/src/org/eclipse/emf/edapt/migration/ui/MigratorHandlerBase.java
+++ b/plugins/org.eclipse.emf.edapt.migration.ui/src/org/eclipse/emf/edapt/migration/ui/MigratorHandlerBase.java
@@ -127,7 +127,7 @@
 				final Metamodel metamodel = migrator.getMetamodel(r);
 				try {
 					final Model model = Persistency.loadModel(modelURIs, metamodel,
-						migrator.getResourceSetFactory());
+						migrator.getResourceSetFactory(), migrator.getPostLoadModelProcessor());
 					model.checkConformance();
 				} catch (final Exception e) {
 					i.remove();
diff --git a/plugins/org.eclipse.emf.edapt.migration/src/org/eclipse/emf/edapt/internal/migration/internal/Persistency.java b/plugins/org.eclipse.emf.edapt.migration/src/org/eclipse/emf/edapt/internal/migration/internal/Persistency.java
index 893bcc1..2f8568a 100644
--- a/plugins/org.eclipse.emf.edapt.migration/src/org/eclipse/emf/edapt/internal/migration/internal/Persistency.java
+++ b/plugins/org.eclipse.emf.edapt.migration/src/org/eclipse/emf/edapt/internal/migration/internal/Persistency.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
 import org.eclipse.emf.edapt.common.IResourceSetFactory;
+import org.eclipse.emf.edapt.common.IResourceSetProcessor;
 import org.eclipse.emf.edapt.internal.common.ResourceUtils;
 import org.eclipse.emf.edapt.spi.migration.Metamodel;
 import org.eclipse.emf.edapt.spi.migration.MetamodelResource;
@@ -90,24 +91,27 @@
 
 	/** Load model based on {@link URI} for model and metamodel. */
 	public static Model loadModel(URI modelURI, URI metamodelURI,
-		IResourceSetFactory resourceSetFactory) throws IOException {
+		IResourceSetFactory resourceSetFactory, IResourceSetProcessor postLoadProcessor) throws IOException {
 		final Metamodel metamodel = loadMetamodel(metamodelURI);
-		final Model model = loadModel(modelURI, metamodel, resourceSetFactory);
+		final Model model = loadModel(modelURI, metamodel, resourceSetFactory, postLoadProcessor);
 		return model;
 	}
 
 	/** Load model based on {@link URI} and metamodel. */
 	public static Model loadModel(URI modelURI, Metamodel metamodel,
-		IResourceSetFactory resourceSetFactory) throws IOException {
+		IResourceSetFactory resourceSetFactory, IResourceSetProcessor postLoadProcessor) throws IOException {
 		return loadModel(Collections.singletonList(modelURI), metamodel,
-			resourceSetFactory);
+			resourceSetFactory, postLoadProcessor);
 	}
 
 	/** Load model based on a set of {@link URI} and metamodel. */
 	public static Model loadModel(List<URI> modelURIs, Metamodel metamodel,
-		IResourceSetFactory resourceSetFactory) throws IOException {
+		IResourceSetFactory resourceSetFactory, IResourceSetProcessor postLoadProcessor) throws IOException {
 		final ResourceSet resourceSet = ResourceUtils.loadResourceSet(modelURIs,
 			metamodel.getEPackages(), resourceSetFactory);
+		if (postLoadProcessor != null) {
+			postLoadProcessor.process(resourceSet);
+		}
 		final ForwardConverter fConverter = new ForwardConverter();
 		final Model model = fConverter.convert(resourceSet);
 		model.setMetamodel(metamodel);
@@ -116,9 +120,9 @@
 
 	/** Load model based on file name and metamodel. */
 	public static Model loadModel(String fileName, Metamodel metamodel,
-		IResourceSetFactory resourceSetFactory) throws IOException {
+		IResourceSetFactory resourceSetFactory, IResourceSetProcessor postLoadProcessor) throws IOException {
 		return loadModel(URI.createFileURI(fileName), metamodel,
-			resourceSetFactory);
+			resourceSetFactory, postLoadProcessor);
 	}
 
 	/** Save model based on {@link URI}. */
diff --git a/tests/org.eclipse.emf.edapt.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.edapt.tests/META-INF/MANIFEST.MF
index 138eae8..e95d483 100644
--- a/tests/org.eclipse.emf.edapt.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.edapt.tests/META-INF/MANIFEST.MF
@@ -11,7 +11,9 @@
  org.eclipse.emf.edapt.history.editor;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.emf.edapt.migration;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.emf.edapt.declaration.editor;bundle-version="[1.3.0,2.0.0)",
- org.junit;bundle-version="[4.11.0,5.0.0)"
+ org.junit;bundle-version="[4.11.0,5.0.0)",
+ org.mockito.mockito-core-hamcrest-modified;bundle-version="[1.9.5,2.0.0)",
+ org.objenesis;bundle-version="[1.0.0,2.0.0)"
 Export-Package: org.eclipse.emf.edapt.tests.declaration;version="1.3.0";x-internal:="true",
  org.eclipse.emf.edapt.tests.history;version="1.3.0";x-internal:="true",
  org.eclipse.emf.edapt.tests.migration;version="1.3.0";x-internal:="true",
diff --git a/tests/org.eclipse.emf.edapt.tests/pom.xml b/tests/org.eclipse.emf.edapt.tests/pom.xml
index dd779d7..d6d952f 100644
--- a/tests/org.eclipse.emf.edapt.tests/pom.xml
+++ b/tests/org.eclipse.emf.edapt.tests/pom.xml
@@ -28,6 +28,7 @@
 							<excludes>
 								<exclude>**/GMFLifecycleTest.java</exclude>
 								<exclude>**/FactoryHelperTest.java</exclude>
+								<exclude>**/PersistencyTest.java</exclude>
 							</excludes>
 						</configuration>
 						<goals>
@@ -45,6 +46,7 @@
 					<useUIThread>false</useUIThread>
 					<includes>
 						<include>**/FactoryHelperTest.java</include>
+						<include>**/PersistencyTest.java</include>
 					</includes>
 				</configuration>
 			</plugin>
diff --git a/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/ConverterTest.java b/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/ConverterTest.java
index 5a14d9a..f0ea5f3 100644
--- a/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/ConverterTest.java
+++ b/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/ConverterTest.java
@@ -16,9 +16,6 @@
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
@@ -37,6 +34,9 @@
 import org.eclipse.emf.edapt.spi.migration.Model;
 import org.eclipse.emf.edapt.spi.migration.ModelResource;
 
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
 /**
  * Tests for {@link ForwardConverter} and {@link BackwardConverter}
  *
@@ -66,7 +66,7 @@
 
 		final Metamodel metamodel = Persistency.loadMetamodel(metamodelURI);
 		final Model model = Persistency.loadModel(model1URI, metamodel,
-			new ResourceSetFactoryImpl());
+			new ResourceSetFactoryImpl(), null);
 		model.validate();
 
 		final URIMapper mapper = new URIMapper() {
diff --git a/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/PersistencyTest.java b/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/PersistencyTest.java
new file mode 100644
index 0000000..c97f642
--- /dev/null
+++ b/tests/org.eclipse.emf.edapt.tests/src/org/eclipse/emf/edapt/tests/migration/PersistencyTest.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2017 BMW Car IT, TUM, 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.edapt.tests.migration;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.ECollections;
+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.edapt.common.IResourceSetFactory;
+import org.eclipse.emf.edapt.common.IResourceSetProcessor;
+import org.eclipse.emf.edapt.internal.migration.internal.Persistency;
+import org.eclipse.emf.edapt.spi.migration.Metamodel;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+@SuppressWarnings("restriction")
+public class PersistencyTest {
+
+	@Test
+	public void testPostLoadProcessor() throws IOException {
+		/* setup */
+		final List<URI> modelURIs = Collections.emptyList();
+		final Metamodel metamodel = Mockito.mock(Metamodel.class);
+		final ResourceSet resourceSet = Mockito.mock(ResourceSet.class);
+		Mockito.doReturn(ECollections.<Resource> emptyEList()).when(resourceSet).getResources();
+		final IResourceSetFactory resourceSetFactory = Mockito.mock(IResourceSetFactory.class);
+		Mockito.doReturn(resourceSet).when(resourceSetFactory).createResourceSet();
+		final IResourceSetProcessor postLoadProcessor = Mockito.mock(IResourceSetProcessor.class);
+
+		/* act */
+		Persistency.loadModel(modelURIs, metamodel, resourceSetFactory, postLoadProcessor);
+
+		/* verify */
+		Mockito.verify(postLoadProcessor, Mockito.times(1)).process(resourceSet);
+
+	}
+
+}
