Merge commit 'e0d35c8639fac05051338e4737de6e43d6d0af0c'

Change-Id: I922b4ef484b88f657efd14c2af2b9b27c506b7ca
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/bundles/org.eclipse.emf.emfstore.branding/about.properties b/bundles/org.eclipse.emf.emfstore.branding/about.properties
index 912e381..dce29ec 100644
--- a/bundles/org.eclipse.emf.emfstore.branding/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.branding/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
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 3714994..d7607f9 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.
- 2"
-Require-Bundle: org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
+ ,  org.eclipse.emf.emfstore.internal.client.model.util";version="1.7.
+ 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,
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.7.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 790d0c7..97fb7e8 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 5176022..7b93f1f 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.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.6.2,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.7.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.6.2";x-internal:=true
+ ersion="1.7.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client.transaction/about.properties b/bundles/org.eclipse.emf.emfstore.client.transaction/about.properties
index 9ea67c7..11e12e4 100644
--- a/bundles/org.eclipse.emf.emfstore.client.transaction/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.client.transaction/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.client.transaction/pom.xml b/bundles/org.eclipse.emf.emfstore.client.transaction/pom.xml
index 70ea4ba..f6413e6 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 17b8124..f515101 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)",
- org.eclipse.emf.emfstore.client.ui;bundle-version="[1.6.2,2.0.0)",
+ 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.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.6.2";x-internal:=true
+ rator;version="1.7.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/about.properties b/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/about.properties
index 912e381..dce29ec 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.historybrowsercomparator/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
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 19d3564..5cf8a8d 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
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 050c120..c839639 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.7.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.eclipse.emf.emfstore.internal.client.ui.dialogs.lo
- gin;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.interna
- l.client.ui.dialogs.merge.ui;version="1.6.2";x-internal:=true,org.ecl
- ipse.emf.emfstore.internal.client.ui.util;version="1.6.2";x-friends:=
+ 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:=
  "org.eclipse.emf.emfstore.client.ui"
 Bundle-Vendor: Eclipse Modeling Project
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 19c486f..2f955d7 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rap/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui.rap/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java
index 4f69fb6..aaa9eb3 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.rap/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rap/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java
@@ -97,7 +97,11 @@
 		loginContainer.setLayout(new GridLayout(3, false));
 		loginContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
 			true, 1, 1));
-		loginContainer.setBounds(0, 0, 64, 64);
+		loginContainer.setBounds(
+			0,
+			0,
+			convertHorizontalDLUsToPixels(64),
+			convertVerticalDLUsToPixels(64));
 
 		createUsernameLabel(loginContainer);
 		createUsernameCombo(loginContainer);
@@ -122,7 +126,7 @@
 	private void createPasswordField(Composite parent) {
 		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
 		final GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
-		gridData.widthHint = 300;
+		gridData.widthHint = convertHorizontalDLUsToPixels(175);
 		passwordField.setLayoutData(gridData);
 		passwordField.addModifyListener(new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
@@ -136,7 +140,7 @@
 	private void createPasswordLabel(Composite parent) {
 		final Label passwordLabel = new Label(parent, SWT.NONE);
 		final GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
-		gridData.widthHint = 80;
+		gridData.widthHint = convertHorizontalDLUsToPixels(80);
 		passwordLabel.setLayoutData(gridData);
 		passwordLabel.setText(Messages.LoginDialog_Password);
 	}
@@ -146,7 +150,7 @@
 		final Label usernameLabel = new Label(parent, SWT.NONE);
 		final GridData gridData = new GridData(SWT.RIGHT, SWT.CENTER, false, false,
 			1, 1);
-		gridData.widthHint = 95;
+		gridData.widthHint = convertHorizontalDLUsToPixels(95);
 		usernameLabel.setLayoutData(gridData);
 		usernameLabel.setText(Messages.LoginDialog_Username);
 	}
@@ -158,7 +162,7 @@
 		final Combo combo = usernameCombo.getCombo();
 		combo.addModifyListener(comboListener);
 		final GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
-		gridData.widthHint = 285;
+		gridData.widthHint = convertHorizontalDLUsToPixels(165);
 		combo.setLayoutData(gridData);
 		new Label(parent, SWT.NONE);
 	}
@@ -296,7 +300,9 @@
 	 */
 	@Override
 	protected Point getInitialSize() {
-		return new Point(500, 300);
+		return new Point(
+			convertHorizontalDLUsToPixels(300),
+			convertVerticalDLUsToPixels(125));
 	}
 
 	/**
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 19a3dbc..fdc0aa3 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="1.7.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.6.2";x-internal:=true,org.eclipse.emf.emfstore.interna
- l.client.ui.dialogs.merge.ui;version="1.6.2";x-internal:=true,org.ecl
+ 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.dialogs.merge.ui.components;vers
- ion="1.6.2";x-friends:="org.eclipse.emf.emfstore.client.ui",org.eclip
- se.emf.emfstore.internal.client.ui.util;version="1.6.2";x-friends:="o
+ 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
  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 f95c18c..cb6261c 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.rcp/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui.rcp/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java
index e6dc5f4..9bfe026 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.rcp/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.rcp/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/login/LoginDialog.java
@@ -99,7 +99,9 @@
 		loginContainer.setLayout(new GridLayout(3, false));
 		loginContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
 			true, 1, 1));
-		loginContainer.setBounds(0, 0, 64, 64);
+		loginContainer.setBounds(0, 0,
+			convertHorizontalDLUsToPixels(64),
+			convertVerticalDLUsToPixels(64));
 
 		createUsernameLabel(loginContainer);
 		createUsernameCombo(loginContainer);
@@ -136,7 +138,7 @@
 	private void createPasswordField(Composite parent) {
 		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
 		final GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
-		gridData.widthHint = 250;
+		gridData.widthHint = convertHorizontalDLUsToPixels(175);
 		passwordField.setLayoutData(gridData);
 		passwordField.addModifyListener(new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
@@ -150,7 +152,7 @@
 	private void createPasswordLabel(Composite parent) {
 		final Label passwordLabel = new Label(parent, SWT.NONE);
 		final GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
-		gridData.widthHint = 80;
+		gridData.widthHint = convertHorizontalDLUsToPixels(80);
 		passwordLabel.setLayoutData(gridData);
 		passwordLabel.setText(Messages.LoginDialog_Password);
 	}
@@ -160,7 +162,7 @@
 		final Label usernameLabel = new Label(parent, SWT.NONE);
 		final GridData gridData = new GridData(SWT.RIGHT, SWT.CENTER, false, false,
 			1, 1);
-		gridData.widthHint = 95;
+		gridData.widthHint = convertHorizontalDLUsToPixels(95);
 		usernameLabel.setLayoutData(gridData);
 		usernameLabel.setText(Messages.LoginDialog_Username);
 	}
@@ -172,7 +174,7 @@
 		final Combo combo = usernameCombo.getCombo();
 		combo.addModifyListener(comboListener);
 		final GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
-		gridData.widthHint = 235;
+		gridData.widthHint = convertHorizontalDLUsToPixels(165);
 		combo.setLayoutData(gridData);
 		new Label(parent, SWT.NONE);
 	}
@@ -314,7 +316,9 @@
 	 */
 	@Override
 	protected Point getInitialSize() {
-		return new Point(400, 250);
+		return new Point(
+			convertHorizontalDLUsToPixels(300),
+			convertVerticalDLUsToPixels(125));
 	}
 
 	/**
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 18c25fc..b46346c 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,11 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Transaction UI
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.ui.transaction;singleton:=true
-Bundle-Version: 1.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.emfstore.client.ui;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.transaction;bundle-version="[1.6.0,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.6.2,2.0.0)"
+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)"
 Export-Package: org.eclipse.emf.emfstore.internal.client.ui.transactio
- n;version="1.6.2";x-internal:=true
+ n;version="1.7.0";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/plugin.xml b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/plugin.xml
index c88fa01..61e1237 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/plugin.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/plugin.xml
@@ -2,7 +2,7 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension
-         point="org.eclipse.emf.emfstore.client.ui.uiRunnableProvider">
+         point="org.eclipse.emf.emfstore.common.runnableWrapper">
       <provider
             class="org.eclipse.emf.emfstore.internal.client.ui.transaction.PrivilegedRunnableProvider">
       </provider>
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 4aa487e..77ec430 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/src/org/eclipse/emf/emfstore/internal/client/ui/transaction/PrivilegedRunnableProvider.java b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/src/org/eclipse/emf/emfstore/internal/client/ui/transaction/PrivilegedRunnableProvider.java
index f0fd190..e6623e9 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui.transaction/src/org/eclipse/emf/emfstore/internal/client/ui/transaction/PrivilegedRunnableProvider.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui.transaction/src/org/eclipse/emf/emfstore/internal/client/ui/transaction/PrivilegedRunnableProvider.java
@@ -12,25 +12,26 @@
 package org.eclipse.emf.emfstore.internal.client.ui.transaction;
 
 import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.emfstore.client.ui.ESUIRunnableProvider;
+import org.eclipse.emf.emfstore.common.ESRunnableWrapper;
 import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
 import org.eclipse.emf.transaction.RunnableWithResult;
 import org.eclipse.emf.transaction.TransactionalEditingDomain;
 
 /**
- * Implementation of {@link ESUIRunnableProvider} for creating
+ * Implementation of {@link ESRunnableWrapper} for creating
  * {@link TransactionalEditingDomain#createPrivilegedRunnable(Runnable) privileged runnables} to be executed on the UI
  * thread.
  *
  * @author jfaltermeier
  *
  */
-public class PrivilegedRunnableProvider implements ESUIRunnableProvider {
+public class PrivilegedRunnableProvider implements ESRunnableWrapper {
 
 	/**
+	 *
 	 * {@inheritDoc}
 	 *
-	 * @see org.eclipse.emf.emfstore.client.ui.ESUIRunnableProvider#createRunnable(java.lang.Runnable)
+	 * @see org.eclipse.emf.emfstore.common.ESRunnableWrapper#createRunnable(java.lang.Runnable)
 	 */
 	public Runnable createRunnable(Runnable runnable) {
 		final EditingDomain editingDomain = ESWorkspaceProviderImpl.getInstance().getEditingDomain();
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/.settings/.api_filters b/bundles/org.eclipse.emf.emfstore.client.ui/.settings/.api_filters
index 92b8aef..f17b302 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/.settings/.api_filters
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/.settings/.api_filters
@@ -1,5 +1,21 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <component id="org.eclipse.emf.emfstore.client.ui" version="2">
+    <resource path="src/org/eclipse/emf/emfstore/internal/client/ui/common/RunInUI.java" type="org.eclipse.emf.emfstore.internal.client.ui.common.RunInUI">
+        <filter comment="internal API usage" id="572522506">
+            <message_arguments>
+                <message_argument value="ESException"/>
+                <message_argument value="RunInUI"/>
+            </message_arguments>
+        </filter>
+    </resource>
+    <resource path="src/org/eclipse/emf/emfstore/internal/client/ui/common/RunInUI.java" type="org.eclipse.emf.emfstore.internal.client.ui.common.RunInUI$WithException">
+        <filter comment="Internal API usage" id="572522506">
+            <message_arguments>
+                <message_argument value="ESException"/>
+                <message_argument value="WithException"/>
+            </message_arguments>
+        </filter>
+    </resource>
     <resource path="src/org/eclipse/emf/emfstore/internal/client/ui/controller/UIUpdateProjectController.java" type="org.eclipse.emf.emfstore.internal.client.ui.controller.UIUpdateProjectController">
         <filter comment="Internal usage" id="640712815">
             <message_arguments>
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 da4c12b..c903f5d 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.7.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.6.2"; us
+Export-Package: org.eclipse.emf.emfstore.client.ui;version="1.7.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.6.2";x-inter
+ ",org.eclipse.emf.emfstore.internal.client.ui;version="1.7.0";x-inter
  nal:=true,org.eclipse.emf.emfstore.internal.client.ui.common;version=
- "1.6.2";x-friends:="org.eclipse.emf.emfstore.client.test.ui,org.eclip
+ "1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.client
+ ontroller;version="1.7.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.6.2";x-internal:=true,org.ecli
- pse.emf.emfstore.internal.client.ui.dialogs;version="1.6.2";x-interna
+ 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
  l:=true,org.eclipse.emf.emfstore.internal.client.ui.dialogs.admin;ver
- sion="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.internal.clien
- t.ui.dialogs.admin.acimport;version="1.6.2";x-internal:=true,org.ecli
+ 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
  pse.emf.emfstore.internal.client.ui.dialogs.admin.acimport.wizard;ver
- sion="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.internal.clien
- t.ui.dialogs.admin.action;version="1.6.2";x-internal:=true,org.eclips
- e.emf.emfstore.internal.client.ui.dialogs.login;version="1.6.2";x-int
+ 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
  ernal:=true,org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge
- ;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.internal.c
- lient.ui.dialogs.merge.ui;version="1.6.2";x-internal:=true,org.eclips
+ ;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
  e.emf.emfstore.internal.client.ui.dialogs.merge.ui.components;version
- ="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui
- .dialogs.merge.ui.widgets;version="1.6.2";x-internal:=true,org.eclips
- e.emf.emfstore.internal.client.ui.dialogs.merge.util;version="1.6.2";
+ ="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";
  x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui.epackage
- s;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.internal.
- client.ui.exceptions;version="1.6.2";x-internal:=true,org.eclipse.emf
- .emfstore.internal.client.ui.handlers;version="1.6.2";x-internal:=tru
+ 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
  e,org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport;v
- ersion="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.internal.cli
- ent.ui.testers;version="1.6.2";x-internal:=true,org.eclipse.emf.emfst
- ore.internal.client.ui.util;version="1.6.2";x-internal:=true,org.ecli
- pse.emf.emfstore.internal.client.ui.views.changes;version="1.6.2";x-i
+ 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
  nternal:=true,org.eclipse.emf.emfstore.internal.client.ui.views.emfst
- orebrowser.views;version="1.6.2";x-friends:="org.eclipse.emf.ecp.emfs
+ orebrowser.views;version="1.7.0";x-friends:="org.eclipse.emf.ecp.emfs
  tore.ui",org.eclipse.emf.emfstore.internal.client.ui.views.historybro
- wserview;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.in
- ternal.client.ui.views.historybrowserview.graph;version="1.6.2";x-int
+ 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
  ernal:=true,org.eclipse.emf.emfstore.internal.client.ui.views.scm;ver
- sion="1.6.2";x-internal:=true,org.eclipse.wb.swt;version="1.6.2";x-in
+ sion="1.7.0";x-internal:=true,org.eclipse.wb.swt;version="1.7.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/about.properties b/bundles/org.eclipse.emf.emfstore.client.ui/about.properties
index 6c04ab6..bc85af2 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/plugin.xml b/bundles/org.eclipse.emf.emfstore.client.ui/plugin.xml
index ea1d2ef..6fb2b9c 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/plugin.xml
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/plugin.xml
@@ -1,833 +1,833 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.2"?>

-<plugin>

-  <extension-point id="disableSaveControls" name="Disable save controls contributed by EMFStore" schema="schema/disableSaveControls.exsd"/>

-  <extension-point id="filteredTypes" name="Filtered Types" schema="schema/filteredTypes.exsd"/>

-  <extension-point id="historyBrowserComparator" name="HistoryBrowserComparator" schema="schema/historyBrowserComparator.exsd"/>

-  <extension-point id="showPasswordControls" name="Show password controls" schema="schema/showPasswordControls.exsd"/>

-  <extension-point id="uiRunnableProvider" name="UI Runnable Provider" schema="schema/uiRunnableProvider.exsd"/>

-  <extension

-        point="org.eclipse.ui.handlers">

-      <handler

-            class="org.eclipse.emf.emfstore.internal.client.ui.handlers.RevertHandler"

-            commandId="org.eclipse.emf.emfstore.client.ui.revert">

-         <enabledWhen>

-            <and>

-               <iterate

-                     ifEmpty="true"

-                     operator="and">

-                  <instanceof

-                        value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-                  </instanceof>

-                  <test

-                        forcePluginActivation="true"

-                        property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"

-                        value="true">

-                  </test>

-               </iterate>

-            </and>

-         </enabledWhen>

-      </handler>

-      <handler

-            class="org.eclipse.emf.emfstore.internal.client.ui.handlers.UndoLastOperationHandler"

-            commandId="org.eclipse.emf.emfstore.client.ui.undoLastOperation">

-         <enabledWhen>

-            <and>

-               <iterate

-                     ifEmpty="true"

-                     operator="and">

-                  <instanceof

-                        value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-                  </instanceof>

-                  <test

-                        forcePluginActivation="true"

-                        property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"

-                        value="true">

-                  </test>

-               </iterate>

-            </and>

-         </enabledWhen>

-      </handler>

-     <handler

-           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportChangesHandler"

-           commandId="org.eclipse.emf.emfstore.client.ui.importChanges">

-        <enabledWhen>

-           <and>

-              <iterate

-                    ifEmpty="true"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-                 </instanceof>

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"

-                       value="true">

-                 </test>

-              </iterate>

-           </and>

-        </enabledWhen>

-     </handler>

-     <handler

-           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.CommitProjectHandler"

-           commandId="org.eclipse.emf.emfstore.client.ui.commitProject">

-        <enabledWhen>

-           <and>

-              <iterate

-                    ifEmpty="true"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.client.ESLocalProject">

-                 </instanceof>

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"

-                       value="true">

-                 </test>

-              </iterate>

-           </and>

-        </enabledWhen>

-     </handler>

-     <handler

-           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.CreateBranchHandler"

-           commandId="org.eclipse.emf.emfstore.client.ui.createBranch">

-        <enabledWhen>

-           <and>

-              <iterate

-                    ifEmpty="true"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-                 </instanceof>

-                 <!-- <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"

-                       value="true">

-                 </test> -->

-              </iterate>

-           </and>

-        </enabledWhen>

-     </handler>

-     <handler

-           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.MergeBranchHandler"

-           commandId="org.eclipse.emf.emfstore.client.ui.mergeBranch">

-        <enabledWhen>

-           <and>

-              <iterate

-                    ifEmpty="true"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-                 </instanceof>

-              </iterate>

-           </and>

-        </enabledWhen>

-     </handler>

-     <handler

-           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.SaveProjectSpaceHandler"

-           commandId="org.eclipse.emf.emfstore.client.ui.save">

-        <enabledWhen>

-           <and>

-              <iterate>

-                 <instanceof

-                       value="org.eclipse.emf.ecore.EObject">

-                 </instanceof>

-              </iterate>

-              <with

-                    variable="org.eclipse.emf.emfstore.internal.client.ui.currentProjectSpaceSaveState">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.currentProjectSpacehasUnsavedChangesTester"

-                       value="true">

-                 </test>

-              </with>

-           </and></enabledWhen>

-     </handler>

-  </extension>

-  <extension

-        point="org.eclipse.ui.menus">

-          <menuContribution

-           locationURI="popup:org.eclipse.emf.emfstore.client.ui.views.RepositoryView?after=additions">

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Login"

-              icon="icons/serverLogin.png"

-              label="Login"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"

-                       value="false">

-                 </test>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Logout"

-              icon="icons/lock.png"

-              label="Logout"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"

-                       value="true">

-                 </test>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectCheckout"

-              icon="icons/checkout.png"

-              label="Checkout"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.BranchCheckout"

-              icon="icons/checkout.png"

-              label="Checkout Branch..."

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.CreateProjectOnServer"

-              icon="icons/projectAdd.png"

-              label="Create new project..."

-              style="push"

-              tooltip="Create new project on the server">

-

-           <visibleWhen

-           		checkEnabled="false">

-				<iterate

-	               ifEmpty="false"

-	               operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"

-                       value="true">

-                 </test>

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"

-                       value="true">

-                 </test>

-                 </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ManageOrgUnits"

-              icon="icons/Group.gif"

-              label="Manage Users/Groups..."

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"

-                       value="true">

-                 </test>

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"

-                       value="true">

-                 </test>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ExportProjectHistory"

-              icon="icons/database_go.png"

-              label="Export project history"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.isServerAdmin"

-                       value="true">

-                 </test>

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ImportProjectHistory"

-              icon="icons/folder_go.png"

-              label="Import Project History"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.isServerAdmin"

-                       value="true">

-                 </test>

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.DeleteProjectOnServer"

-              icon="icons/delete.gif"

-              label="Delete on server"

-              style="push"

-              tooltip="Delete this project on the server">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <test

-                       forcePluginActivation="true"

-                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"

-                       value="true">

-                 </test>

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RemoveServer"

-              icon="icons/delete.gif"

-              label="Remove repository"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.AddServer"

-              icon="icons/serverAdd.png"

-              label="New Repository..."

-              style="push"

-              tooltip="Adds a new EMFStore Repository">

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectProperties"

-              icon="icons/info.png"

-              label="Project Properties"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-        <command

-              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ServerProperties"

-              icon="icons/serverEdit.png"

-              label="Server Properties"

-              style="push">

-           <visibleWhen

-                 checkEnabled="false">

-              <iterate

-                    ifEmpty="false"

-                    operator="and">

-                 <instanceof

-                       value="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">

-                 </instanceof>

-              </iterate>

-           </visibleWhen>

-        </command>

-     </menuContribution>

-          <menuContribution

-                locationURI="popup:org.eclipse.emf.emfstore.client.ui.views.historybrowserview.HistoryBrowserView">

-             <command

-                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.addtag"

-                   icon="icons/tag_blue_add.png"

-                   label="Add tag"

-                   style="push"

-                   tooltip="Add a new tag to this revision">

-                <visibleWhen

-                      checkEnabled="false">

-                   <iterate

-                         ifEmpty="true"

-                         operator="and">

-                      <instanceof

-                            value="org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo">

-                      </instanceof>

-                   </iterate>

-                </visibleWhen>

-             </command>

-             <command

-                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.removetag"

-                   icon="icons/tag_blue_delete.png"

-                   label="Remove tag"

-                   style="push"

-                   tooltip="Remove an existing tag">

-                <visibleWhen

-                      checkEnabled="false">

-                   <iterate

-                         ifEmpty="false"

-                         operator="and">

-                      <instanceof

-                            value="org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo">

-                      </instanceof>

-                   </iterate>

-                </visibleWhen>

-             </command>

-             <separator

-                   name="org.eclipse.emf.emfstore.internal.client.ui.historybrowserview.tagseparator"

-                   visible="true">

-             </separator>

-             <command

-                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.checkout"

-                   label="Checkout this revision"

-                   style="push"

-                   tooltip="Checkout this revision of the project">

-             </command>

-             <command

-                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.revert"

-                   label="Revert to this revision"

-                   style="push"

-                   tooltip="Force to revert, the reversed changes between the previous revision has been applied">

-             </command>

-             <command

-                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.compareRevisions"

-                   label="Compare Revisions"

-                   style="push">

-                <visibleWhen

-                      checkEnabled="true">

-                   <and>

-                      <with

-                            variable="selection">

-                         <count

-                               value="2">

-                         </count>

-                      </with>

-                      <iterate

-                            ifEmpty="false"

-                            operator="and">

-                         <instanceof

-                               value="org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo">

-                         </instanceof>

-                         <test

-                               forcePluginActivation="true"

-                               property="org.eclipse.emf.emfstore.client.ui.testers.historyCompareEnabled"

-                               value="true">

-                         </test>

-                      </iterate>

-                   </and>

-                </visibleWhen>

-             </command>

-          </menuContribution>

-          <menuContribution

-                locationURI="popup:org.eclipse.emf.emfstore.client.ui.views.RepositoryView?after=org.eclipse.emf.emfstore.internal.client.ui.repositorybrowser.ManageOrgUnits">

-             <command

-                   commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RegisterEPackage"

-                   icon="icons/arrow_up.png"

-                   label="Register EPackage"

-                   style="push">

-                <visibleWhen

-                      checkEnabled="false">

-                   <iterate

-                         ifEmpty="false"

-                         operator="and">

-                      <test

-                            forcePluginActivation="true"

-                            property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"

-                            value="true">

-                      </test>

-                      <test

-                            forcePluginActivation="true"

-                            property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"

-                            value="true">

-                      </test>

-                   </iterate>

-                </visibleWhen>

-             </command>

-          </menuContribution>

-  </extension>

-  

- 

-     

-     <extension

-           point="org.eclipse.ui.bindings">

-        <key

-              commandId="org.eclipse.emf.emfstore.client.ui.commitProject"

-              contextId="org.eclipse.ui.contexts.window"

-              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"

-              sequence="Alt+C">

-        </key>

-        <key

-              commandId="org.eclipse.emf.emfstore.client.ui.updateProject"

-              contextId="org.eclipse.ui.contexts.window"

-              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"

-              sequence="Alt+P">

-        </key>

-        <key

-              commandId="org.eclipse.emf.emfstore.client.ui.deleteProject"

-              contextId="org.eclipse.ui.contexts.window"

-              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"

-              sequence="Alt+Delete">

-        </key>

-        <key

-              commandId="org.eclipse.emf.emfstore.client.ui.projectProperties"

-              contextId="org.eclipse.ui.contexts.window"

-              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"

-              sequence="Alt+E">

-        </key>

-     </extension>

-     <extension

-           point="org.eclipse.core.expressions.propertyTesters">

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.ProjectIsSharedTester"

-              id="org.eclipse.emf.emfstore.client.ui.commands.projectIsSharedTester"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"

-              properties="projectIsShared"

-              type="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.ProjectHasLocalChangesTester"

-              id="org.eclipse.emf.emfstore.client.ui.commands.projectHasLocalChangesTester"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"

-              properties="projectHasLocalChanges"

-              type="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsAdminTester"

-              id="org.eclipse.emf.emfstore.client.ui.commands.isAdminTester"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"

-              properties="isAdmin"

-              type="org.eclipse.emf.ecore.EObject">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.HistoryBrowserAdminTester"

-              id="org.eclipse.emf.emfstore.client.ui.commands.historyBrowserAdminTester"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"

-              properties="historyBrowserAdminTester"

-              type="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsACUserTester"

-              id="org.eclipse.emf.emfstore.client.ui.commands.isACUserTester"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"

-              properties="isACUser"

-              type="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsServerAdminTester"

-              id="org.eclipse.emf.emfstore.client.ui.testers.isServerAdmin"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.testers"

-              properties="isServerAdmin"

-              type="org.eclipse.emf.ecore.EObject">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.ServerInfoIsLoggedInTester"

-              id="org.eclipse.emf.emfstore.client.ui.testers.serverInfoIsLoggedIn"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.testers"

-              properties="serverInfoIsLoggedIn"

-              type="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.CurrentProjectSpaceHasUnsavedChangesTester"

-              id="org.eclipse.emf.emfstore.client.ui.currentProjectSpacehasUnsavedChangesTester"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui"

-              properties="currentProjectSpacehasUnsavedChangesTester"

-              type="java.lang.Object">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsAutoSaveEnabledTester"

-              id="org.eclipse.emf.emfstore.client.ui.testers.isAutoSaveEnabled"

-              namespace="org.eclipse.emf.emfstore.internal.client.ui.testers"

-              properties="isAutoSaveEnabled"

-              type="java.lang.Object">

-        </propertyTester>

-        <propertyTester

-              class="org.eclipse.emf.emfstore.internal.client.ui.testers.HistoryCompareEnabledTester"

-              id="org.eclipse.emf.emfstore.client.ui.testers.historyCompareEnabled"

-              namespace="org.eclipse.emf.emfstore.client.ui.testers"

-              properties="historyCompareEnabled"

-              type="java.lang.Object">

-        </propertyTester>

-     </extension>

-        

-           <extension

-         point="org.eclipse.ui.views">

-      <view

-            allowMultiple="false"

-            category="org.eclipse.emf.emfstore.client.ui.category"

-            class="org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.HistoryBrowserView"

-            icon="icons/historyview.png"

-            id="org.eclipse.emf.emfstore.client.ui.views.historybrowserview.HistoryBrowserView"

-            name="History Browser"

-            restorable="false">

-      </view>

-      <category

-            id="org.eclipse.emf.emfstore.client.ui.category"

-            name="EMFStore Views">

-      </category>

-   </extension>

-   <extension

-         point="org.eclipse.ui.commands">

-      <category

-            id="org.eclipse.emf.emfstore.client.ui.project"

-            name="ECP">

-      </category>

-      <command

-            id="org.eclipse.emf.emfstore.client.ui.importChanges"

-            name="Import Changes">

-      </command>

-      <command

-            categoryId="org.eclipse.emf.emfstore.client.ui.project"

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportProjectHandler"

-            id="org.eclipse.emf.emfstore.client.ui.importProject"

-            name="Import Project">

-      </command>

-      <command

-            categoryId="org.eclipse.emf.emfstore.client.ui.project"

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportProjectHandler"

-            id="org.eclipse.emf.emfstore.client.ui.exportProject"

-            name="Export Project">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ShowHistoryHandler"

-            id="org.eclipse.emf.emfstore.client.ui.commands.showHistory"

-            name="Show History">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportChangesHandler"

-            id="org.eclipse.emf.emfstore.client.ui.exportChanges"

-            name="Export Changes">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportProjectSpaceHandler"

-            id="org.eclipse.emf.emfstore.client.ui.exportProjectSpace"

-            name="Export Projectspace">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportWorkspaceHandler"

-            id="org.eclipse.emf.emfstore.client.ui.exportWorkSpace"

-            name="Export Workspace">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportProjectSpaceHandler"

-            id="org.eclipse.emf.emfstore.client.ui.importProjectSpace"

-            name="Import Projectspace">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.AddServerHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.AddServer"

-            name="Add Server">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ServerLoginHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Login"

-            name="Login">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ChangeSessionHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Logout"

-            name="Logout">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CreateProjectOnServerHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.CreateProjectOnServer"

-            name="Create Project On Server">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.DeleteProjectOnServerHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.DeleteProjectOnServer"

-            name="Delete Project On Server">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.DeleteServerHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RemoveServer"

-            name="Remove Server">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportProjectHistoryHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ExportProjectHistory"

-            name="Export Project History">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportProjectHistoryHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ImportProjectHistory"

-            name=" ImportProject History">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ManageOrgUnitsHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ManageOrgUnits"

-            name="Manage OrgUnits">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CheckoutHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectCheckout"

-            name="Project Checkout">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ServerPropertiesHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ServerProperties"

-            name="Server Properties">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ProjectPropertiesHandler"

-            id="org.eclipse.emf.emfstore.client.ui.projectProperties"

-            name="Project Properties">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.BranchCheckoutHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.BranchCheckout"

-            name="Branch Checkout">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CheckoutRevisionHandler"

-            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.checkout"

-            name="CheckoutRevision">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.AddTagHandler"

-            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.addtag"

-            name="AddTag">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.RemoveTagHandler"

-            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.removetag"

-            name="RemoveTag">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.RevertCommitHandler"

-            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.revert"

-            name="Revert Revision">

-      </command>

-      <command

-            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.RegisterEPackageHandler"

-            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RegisterEPackage"

-            name="RegisterEPackage">

-      </command>

-      <command

-            id="org.eclipse.emf.emfstore.client.ui.save"

-            name="Save Project">

-      </command>

-      <command

-            categoryId="org.eclipse.emf.emfstore.client.ui.project"

-            id="org.eclipse.emf.emfstore.client.ui.commitProject"

-            name="commit">

-      </command>

-      <command

-            categoryId="org.eclipse.emf.emfstore.client.ui.project"

-            id="org.eclipse.emf.emfstore.client.ui.createBranch"

-            name="create branch">

-      </command>

-         <command

-           categoryId="org.eclipse.emf.emfstore.client.ui.project"

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.UpdateProjectHandler"

-           id="org.eclipse.emf.emfstore.client.ui.updateProject"

-           name="update">

-     </command>

-         <command

-               categoryId="org.eclipse.emf.emfstore.client.ui.project"

-               defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.UpdateProjectVersionHandler"

-               id="org.eclipse.emf.emfstore.client.ui.updateProjectVersion"

-               name="updateToVersion">

-         </command>

-     <command

-           categoryId="org.eclipse.emf.emfstore.client.ui.project"

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ShareProjectHandler"

-           id="org.eclipse.emf.emfstore.client.ui.shareProject"

-           name="share">

-     </command>

-     <command

-           categoryId="org.eclipse.emf.emfstore.client.ui.project"

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.DeleteProjectHandler"

-           id="org.eclipse.emf.emfstore.client.ui.deleteProject"

-           name="deleteProject">

-     </command>

-     <command

-           categoryId="org.eclipse.emf.emfstore.client.ui.project"

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CreateLocalProjectHandler"

-           id="org.eclipse.emf.emfstore.client.ui.NewLocalProject"

-           name="NewLocalProject">

-     </command>

-     <command

-           categoryId="org.eclipse.emf.emfstore.client.ui.project"

-           id="org.eclipse.emf.emfstore.client.ui.revert"

-           name="Revert">

-     </command>

-     <command

-           id="org.eclipse.emf.emfstore.client.ui.undoLastOperation"

-           name="undoLastOperation">

-     </command>

-     <command

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ProjectInfoPropertiesHandler"

-           id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectProperties"

-           name="ProjectInfo Properties">

-     </command>

-     <command

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CompareProjectsHandler"

-           id="org.eclipse.emf.emfstore.client.ui.compareProjects"

-           name="compareProjects">

-     </command>

-     <command

-           categoryId="org.eclipse.emf.emfstore.client.ui.project"

-           id="org.eclipse.emf.emfstore.client.ui.mergeBranch"

-           name="mergeBranch">

-     </command>

-     <command

-           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CompareRevisionsHandler"

-           id="org.eclipse.emf.emfstore.client.ui.historybrowserview.compareRevisions"

-           name="CompareRevisions">

-     </command>

-      

-   </extension>

-   <extension

-         point="org.eclipse.emf.emfstore.client.usersessionProvider">

-      <sessionProvider

-            class="org.eclipse.emf.emfstore.internal.client.ui.dialogs.login.BasicUISessionProvider">

-      </sessionProvider>

+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+  <extension-point id="disableSaveControls" name="Disable save controls contributed by EMFStore" schema="schema/disableSaveControls.exsd"/>
+  <extension-point id="filteredTypes" name="Filtered Types" schema="schema/filteredTypes.exsd"/>
+  <extension-point id="historyBrowserComparator" name="HistoryBrowserComparator" schema="schema/historyBrowserComparator.exsd"/>
+  <extension-point id="showPasswordControls" name="Show password controls" schema="schema/showPasswordControls.exsd"/>
+  <extension-point id="uiRunnableProvider" name="UI Runnable Provider" schema="schema/uiRunnableProvider.exsd"/>
+  <extension
+        point="org.eclipse.ui.handlers">
+      <handler
+            class="org.eclipse.emf.emfstore.internal.client.ui.handlers.RevertHandler"
+            commandId="org.eclipse.emf.emfstore.client.ui.revert">
+         <enabledWhen>
+            <and>
+               <iterate
+                     ifEmpty="true"
+                     operator="and">
+                  <instanceof
+                        value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+                  </instanceof>
+                  <test
+                        forcePluginActivation="true"
+                        property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"
+                        value="true">
+                  </test>
+               </iterate>
+            </and>
+         </enabledWhen>
+      </handler>
+      <handler
+            class="org.eclipse.emf.emfstore.internal.client.ui.handlers.UndoLastOperationHandler"
+            commandId="org.eclipse.emf.emfstore.client.ui.undoLastOperation">
+         <enabledWhen>
+            <and>
+               <iterate
+                     ifEmpty="true"
+                     operator="and">
+                  <instanceof
+                        value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+                  </instanceof>
+                  <test
+                        forcePluginActivation="true"
+                        property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"
+                        value="true">
+                  </test>
+               </iterate>
+            </and>
+         </enabledWhen>
+      </handler>
+     <handler
+           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportChangesHandler"
+           commandId="org.eclipse.emf.emfstore.client.ui.importChanges">
+        <enabledWhen>
+           <and>
+              <iterate
+                    ifEmpty="true"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+                 </instanceof>
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"
+                       value="true">
+                 </test>
+              </iterate>
+           </and>
+        </enabledWhen>
+     </handler>
+     <handler
+           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.CommitProjectHandler"
+           commandId="org.eclipse.emf.emfstore.client.ui.commitProject">
+        <enabledWhen>
+           <and>
+              <iterate
+                    ifEmpty="true"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.client.ESLocalProject">
+                 </instanceof>
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"
+                       value="true">
+                 </test>
+              </iterate>
+           </and>
+        </enabledWhen>
+     </handler>
+     <handler
+           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.CreateBranchHandler"
+           commandId="org.eclipse.emf.emfstore.client.ui.createBranch">
+        <enabledWhen>
+           <and>
+              <iterate
+                    ifEmpty="true"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+                 </instanceof>
+                 <!-- <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.projectHasLocalChanges"
+                       value="true">
+                 </test> -->
+              </iterate>
+           </and>
+        </enabledWhen>
+     </handler>
+     <handler
+           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.MergeBranchHandler"
+           commandId="org.eclipse.emf.emfstore.client.ui.mergeBranch">
+        <enabledWhen>
+           <and>
+              <iterate
+                    ifEmpty="true"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+                 </instanceof>
+              </iterate>
+           </and>
+        </enabledWhen>
+     </handler>
+     <handler
+           class="org.eclipse.emf.emfstore.internal.client.ui.handlers.SaveProjectSpaceHandler"
+           commandId="org.eclipse.emf.emfstore.client.ui.save">
+        <enabledWhen>
+           <and>
+              <iterate>
+                 <instanceof
+                       value="org.eclipse.emf.ecore.EObject">
+                 </instanceof>
+              </iterate>
+              <with
+                    variable="org.eclipse.emf.emfstore.internal.client.ui.currentProjectSpaceSaveState">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.currentProjectSpacehasUnsavedChangesTester"
+                       value="true">
+                 </test>
+              </with>
+           </and></enabledWhen>
+     </handler>
+  </extension>
+  <extension
+        point="org.eclipse.ui.menus">
+          <menuContribution
+           locationURI="popup:org.eclipse.emf.emfstore.client.ui.views.RepositoryView?after=additions">
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Login"
+              icon="icons/serverLogin.png"
+              label="Login"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"
+                       value="false">
+                 </test>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Logout"
+              icon="icons/lock.png"
+              label="Logout"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"
+                       value="true">
+                 </test>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectCheckout"
+              icon="icons/checkout.png"
+              label="Checkout"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.BranchCheckout"
+              icon="icons/checkout.png"
+              label="Checkout Branch..."
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.CreateProjectOnServer"
+              icon="icons/projectAdd.png"
+              label="Create new project..."
+              style="push"
+              tooltip="Create new project on the server">
+
+           <visibleWhen
+           		checkEnabled="false">
+				<iterate
+	               ifEmpty="false"
+	               operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"
+                       value="true">
+                 </test>
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"
+                       value="true">
+                 </test>
+                 </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ManageOrgUnits"
+              icon="icons/Group.gif"
+              label="Manage Users/Groups..."
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"
+                       value="true">
+                 </test>
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"
+                       value="true">
+                 </test>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ExportProjectHistory"
+              icon="icons/database_go.png"
+              label="Export project history"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.isServerAdmin"
+                       value="true">
+                 </test>
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ImportProjectHistory"
+              icon="icons/folder_go.png"
+              label="Import Project History"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.commands.isServerAdmin"
+                       value="true">
+                 </test>
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.DeleteProjectOnServer"
+              icon="icons/delete.gif"
+              label="Delete on server"
+              style="push"
+              tooltip="Delete this project on the server">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <test
+                       forcePluginActivation="true"
+                       property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"
+                       value="true">
+                 </test>
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RemoveServer"
+              icon="icons/delete.gif"
+              label="Remove repository"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.AddServer"
+              icon="icons/serverAdd.png"
+              label="New Repository..."
+              style="push"
+              tooltip="Adds a new EMFStore Repository">
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectProperties"
+              icon="icons/info.png"
+              label="Project Properties"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.server.model.ProjectInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+        <command
+              commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ServerProperties"
+              icon="icons/serverEdit.png"
+              label="Server Properties"
+              style="push">
+           <visibleWhen
+                 checkEnabled="false">
+              <iterate
+                    ifEmpty="false"
+                    operator="and">
+                 <instanceof
+                       value="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">
+                 </instanceof>
+              </iterate>
+           </visibleWhen>
+        </command>
+     </menuContribution>
+          <menuContribution
+                locationURI="popup:org.eclipse.emf.emfstore.client.ui.views.historybrowserview.HistoryBrowserView">
+             <command
+                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.addtag"
+                   icon="icons/tag_blue_add.png"
+                   label="Add tag"
+                   style="push"
+                   tooltip="Add a new tag to this revision">
+                <visibleWhen
+                      checkEnabled="false">
+                   <iterate
+                         ifEmpty="true"
+                         operator="and">
+                      <instanceof
+                            value="org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo">
+                      </instanceof>
+                   </iterate>
+                </visibleWhen>
+             </command>
+             <command
+                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.removetag"
+                   icon="icons/tag_blue_delete.png"
+                   label="Remove tag"
+                   style="push"
+                   tooltip="Remove an existing tag">
+                <visibleWhen
+                      checkEnabled="false">
+                   <iterate
+                         ifEmpty="false"
+                         operator="and">
+                      <instanceof
+                            value="org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo">
+                      </instanceof>
+                   </iterate>
+                </visibleWhen>
+             </command>
+             <separator
+                   name="org.eclipse.emf.emfstore.internal.client.ui.historybrowserview.tagseparator"
+                   visible="true">
+             </separator>
+             <command
+                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.checkout"
+                   label="Checkout this revision"
+                   style="push"
+                   tooltip="Checkout this revision of the project">
+             </command>
+             <command
+                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.revert"
+                   label="Revert to this revision"
+                   style="push"
+                   tooltip="Force to revert, the reversed changes between the previous revision has been applied">
+             </command>
+             <command
+                   commandId="org.eclipse.emf.emfstore.client.ui.historybrowserview.compareRevisions"
+                   label="Compare Revisions"
+                   style="push">
+                <visibleWhen
+                      checkEnabled="true">
+                   <and>
+                      <with
+                            variable="selection">
+                         <count
+                               value="2">
+                         </count>
+                      </with>
+                      <iterate
+                            ifEmpty="false"
+                            operator="and">
+                         <instanceof
+                               value="org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo">
+                         </instanceof>
+                         <test
+                               forcePluginActivation="true"
+                               property="org.eclipse.emf.emfstore.client.ui.testers.historyCompareEnabled"
+                               value="true">
+                         </test>
+                      </iterate>
+                   </and>
+                </visibleWhen>
+             </command>
+          </menuContribution>
+          <menuContribution
+                locationURI="popup:org.eclipse.emf.emfstore.client.ui.views.RepositoryView?after=org.eclipse.emf.emfstore.internal.client.ui.repositorybrowser.ManageOrgUnits">
+             <command
+                   commandId="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RegisterEPackage"
+                   icon="icons/arrow_up.png"
+                   label="Register EPackage"
+                   style="push">
+                <visibleWhen
+                      checkEnabled="false">
+                   <iterate
+                         ifEmpty="false"
+                         operator="and">
+                      <test
+                            forcePluginActivation="true"
+                            property="org.eclipse.emf.emfstore.internal.client.ui.testers.isServerAdmin"
+                            value="true">
+                      </test>
+                      <test
+                            forcePluginActivation="true"
+                            property="org.eclipse.emf.emfstore.internal.client.ui.testers.serverInfoIsLoggedIn"
+                            value="true">
+                      </test>
+                   </iterate>
+                </visibleWhen>
+             </command>
+          </menuContribution>
+  </extension>
+  
+ 
+     
+     <extension
+           point="org.eclipse.ui.bindings">
+        <key
+              commandId="org.eclipse.emf.emfstore.client.ui.commitProject"
+              contextId="org.eclipse.ui.contexts.window"
+              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+              sequence="Alt+C">
+        </key>
+        <key
+              commandId="org.eclipse.emf.emfstore.client.ui.updateProject"
+              contextId="org.eclipse.ui.contexts.window"
+              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+              sequence="Alt+P">
+        </key>
+        <key
+              commandId="org.eclipse.emf.emfstore.client.ui.deleteProject"
+              contextId="org.eclipse.ui.contexts.window"
+              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+              sequence="Alt+Delete">
+        </key>
+        <key
+              commandId="org.eclipse.emf.emfstore.client.ui.projectProperties"
+              contextId="org.eclipse.ui.contexts.window"
+              schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+              sequence="Alt+E">
+        </key>
+     </extension>
+     <extension
+           point="org.eclipse.core.expressions.propertyTesters">
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.ProjectIsSharedTester"
+              id="org.eclipse.emf.emfstore.client.ui.commands.projectIsSharedTester"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"
+              properties="projectIsShared"
+              type="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.ProjectHasLocalChangesTester"
+              id="org.eclipse.emf.emfstore.client.ui.commands.projectHasLocalChangesTester"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"
+              properties="projectHasLocalChanges"
+              type="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsAdminTester"
+              id="org.eclipse.emf.emfstore.client.ui.commands.isAdminTester"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"
+              properties="isAdmin"
+              type="org.eclipse.emf.ecore.EObject">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.HistoryBrowserAdminTester"
+              id="org.eclipse.emf.emfstore.client.ui.commands.historyBrowserAdminTester"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"
+              properties="historyBrowserAdminTester"
+              type="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsACUserTester"
+              id="org.eclipse.emf.emfstore.client.ui.commands.isACUserTester"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.commands"
+              properties="isACUser"
+              type="org.eclipse.emf.emfstore.internal.client.model.ProjectSpace">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsServerAdminTester"
+              id="org.eclipse.emf.emfstore.client.ui.testers.isServerAdmin"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.testers"
+              properties="isServerAdmin"
+              type="org.eclipse.emf.ecore.EObject">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.ServerInfoIsLoggedInTester"
+              id="org.eclipse.emf.emfstore.client.ui.testers.serverInfoIsLoggedIn"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.testers"
+              properties="serverInfoIsLoggedIn"
+              type="org.eclipse.emf.emfstore.internal.client.model.ServerInfo">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.CurrentProjectSpaceHasUnsavedChangesTester"
+              id="org.eclipse.emf.emfstore.client.ui.currentProjectSpacehasUnsavedChangesTester"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui"
+              properties="currentProjectSpacehasUnsavedChangesTester"
+              type="java.lang.Object">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.IsAutoSaveEnabledTester"
+              id="org.eclipse.emf.emfstore.client.ui.testers.isAutoSaveEnabled"
+              namespace="org.eclipse.emf.emfstore.internal.client.ui.testers"
+              properties="isAutoSaveEnabled"
+              type="java.lang.Object">
+        </propertyTester>
+        <propertyTester
+              class="org.eclipse.emf.emfstore.internal.client.ui.testers.HistoryCompareEnabledTester"
+              id="org.eclipse.emf.emfstore.client.ui.testers.historyCompareEnabled"
+              namespace="org.eclipse.emf.emfstore.client.ui.testers"
+              properties="historyCompareEnabled"
+              type="java.lang.Object">
+        </propertyTester>
+     </extension>
+        
+           <extension
+         point="org.eclipse.ui.views">
+      <view
+            allowMultiple="false"
+            category="org.eclipse.emf.emfstore.client.ui.category"
+            class="org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.HistoryBrowserView"
+            icon="icons/historyview.png"
+            id="org.eclipse.emf.emfstore.client.ui.views.historybrowserview.HistoryBrowserView"
+            name="History Browser"
+            restorable="false">
+      </view>
+      <category
+            id="org.eclipse.emf.emfstore.client.ui.category"
+            name="EMFStore Views">
+      </category>
    </extension>
-</plugin>

+   <extension
+         point="org.eclipse.ui.commands">
+      <category
+            id="org.eclipse.emf.emfstore.client.ui.project"
+            name="ECP">
+      </category>
+      <command
+            id="org.eclipse.emf.emfstore.client.ui.importChanges"
+            name="Import Changes">
+      </command>
+      <command
+            categoryId="org.eclipse.emf.emfstore.client.ui.project"
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportProjectHandler"
+            id="org.eclipse.emf.emfstore.client.ui.importProject"
+            name="Import Project">
+      </command>
+      <command
+            categoryId="org.eclipse.emf.emfstore.client.ui.project"
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportProjectHandler"
+            id="org.eclipse.emf.emfstore.client.ui.exportProject"
+            name="Export Project">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ShowHistoryHandler"
+            id="org.eclipse.emf.emfstore.client.ui.commands.showHistory"
+            name="Show History">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportChangesHandler"
+            id="org.eclipse.emf.emfstore.client.ui.exportChanges"
+            name="Export Changes">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportProjectSpaceHandler"
+            id="org.eclipse.emf.emfstore.client.ui.exportProjectSpace"
+            name="Export Projectspace">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportWorkspaceHandler"
+            id="org.eclipse.emf.emfstore.client.ui.exportWorkSpace"
+            name="Export Workspace">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportProjectSpaceHandler"
+            id="org.eclipse.emf.emfstore.client.ui.importProjectSpace"
+            name="Import Projectspace">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.AddServerHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.AddServer"
+            name="Add Server">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ServerLoginHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Login"
+            name="Login">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ChangeSessionHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.Logout"
+            name="Logout">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CreateProjectOnServerHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.CreateProjectOnServer"
+            name="Create Project On Server">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.DeleteProjectOnServerHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.DeleteProjectOnServer"
+            name="Delete Project On Server">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.DeleteServerHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RemoveServer"
+            name="Remove Server">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ExportProjectHistoryHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ExportProjectHistory"
+            name="Export Project History">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.exportimport.ImportProjectHistoryHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ImportProjectHistory"
+            name=" ImportProject History">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ManageOrgUnitsHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ManageOrgUnits"
+            name="Manage OrgUnits">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CheckoutHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectCheckout"
+            name="Project Checkout">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ServerPropertiesHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ServerProperties"
+            name="Server Properties">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ProjectPropertiesHandler"
+            id="org.eclipse.emf.emfstore.client.ui.projectProperties"
+            name="Project Properties">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.BranchCheckoutHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.BranchCheckout"
+            name="Branch Checkout">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CheckoutRevisionHandler"
+            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.checkout"
+            name="CheckoutRevision">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.AddTagHandler"
+            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.addtag"
+            name="AddTag">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.RemoveTagHandler"
+            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.removetag"
+            name="RemoveTag">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.RevertCommitHandler"
+            id="org.eclipse.emf.emfstore.client.ui.historybrowserview.revert"
+            name="Revert Revision">
+      </command>
+      <command
+            defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.RegisterEPackageHandler"
+            id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.RegisterEPackage"
+            name="RegisterEPackage">
+      </command>
+      <command
+            id="org.eclipse.emf.emfstore.client.ui.save"
+            name="Save Project">
+      </command>
+      <command
+            categoryId="org.eclipse.emf.emfstore.client.ui.project"
+            id="org.eclipse.emf.emfstore.client.ui.commitProject"
+            name="commit">
+      </command>
+      <command
+            categoryId="org.eclipse.emf.emfstore.client.ui.project"
+            id="org.eclipse.emf.emfstore.client.ui.createBranch"
+            name="create branch">
+      </command>
+         <command
+           categoryId="org.eclipse.emf.emfstore.client.ui.project"
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.UpdateProjectHandler"
+           id="org.eclipse.emf.emfstore.client.ui.updateProject"
+           name="update">
+     </command>
+         <command
+               categoryId="org.eclipse.emf.emfstore.client.ui.project"
+               defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.UpdateProjectVersionHandler"
+               id="org.eclipse.emf.emfstore.client.ui.updateProjectVersion"
+               name="updateToVersion">
+         </command>
+     <command
+           categoryId="org.eclipse.emf.emfstore.client.ui.project"
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ShareProjectHandler"
+           id="org.eclipse.emf.emfstore.client.ui.shareProject"
+           name="share">
+     </command>
+     <command
+           categoryId="org.eclipse.emf.emfstore.client.ui.project"
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.DeleteProjectHandler"
+           id="org.eclipse.emf.emfstore.client.ui.deleteProject"
+           name="deleteProject">
+     </command>
+     <command
+           categoryId="org.eclipse.emf.emfstore.client.ui.project"
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CreateLocalProjectHandler"
+           id="org.eclipse.emf.emfstore.client.ui.NewLocalProject"
+           name="NewLocalProject">
+     </command>
+     <command
+           categoryId="org.eclipse.emf.emfstore.client.ui.project"
+           id="org.eclipse.emf.emfstore.client.ui.revert"
+           name="Revert">
+     </command>
+     <command
+           id="org.eclipse.emf.emfstore.client.ui.undoLastOperation"
+           name="undoLastOperation">
+     </command>
+     <command
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.ProjectInfoPropertiesHandler"
+           id="org.eclipse.emf.emfstore.client.ui.repositorybrowser.ProjectProperties"
+           name="ProjectInfo Properties">
+     </command>
+     <command
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CompareProjectsHandler"
+           id="org.eclipse.emf.emfstore.client.ui.compareProjects"
+           name="compareProjects">
+     </command>
+     <command
+           categoryId="org.eclipse.emf.emfstore.client.ui.project"
+           id="org.eclipse.emf.emfstore.client.ui.mergeBranch"
+           name="mergeBranch">
+     </command>
+     <command
+           defaultHandler="org.eclipse.emf.emfstore.internal.client.ui.handlers.CompareRevisionsHandler"
+           id="org.eclipse.emf.emfstore.client.ui.historybrowserview.compareRevisions"
+           name="CompareRevisions">
+     </command>
+      
+   </extension>
+   <extension
+         point="org.eclipse.emf.emfstore.client.usersessionProvider">
+      <sessionProvider
+            class="org.eclipse.emf.emfstore.internal.client.ui.dialogs.login.BasicUISessionProvider">
+      </sessionProvider>
+   </extension>
+</plugin>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/pom.xml b/bundles/org.eclipse.emf.emfstore.client.ui/pom.xml
index 9ba7f2d..611688c 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/schema/uiRunnableProvider.exsd b/bundles/org.eclipse.emf.emfstore.client.ui/schema/uiRunnableProvider.exsd
index 34541c6..22569f8 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/schema/uiRunnableProvider.exsd
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/schema/uiRunnableProvider.exsd
@@ -13,7 +13,7 @@
    <element name="extension">
       <annotation>
          <appInfo>
-            <meta.element />
+            <meta.element deprecated="true" />
          </appInfo>
       </annotation>
       <complexType>
@@ -48,6 +48,11 @@
    </element>
 
    <element name="provider">
+      <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
+      </annotation>
       <complexType>
          <attribute name="class" type="string" use="required">
             <annotation>
@@ -55,7 +60,7 @@
                   
                </documentation>
                <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.emf.emfstore.client.ui.ESUIRunnableProvider"/>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.emf.emfstore.client.ui.ESUIRunnableProvider" deprecated="true"/>
                </appInfo>
             </annotation>
          </attribute>
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/client/ui/ESUIRunnableProvider.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/client/ui/ESUIRunnableProvider.java
index ffdcc2f..281046d 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/client/ui/ESUIRunnableProvider.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/client/ui/ESUIRunnableProvider.java
@@ -11,24 +11,17 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.client.ui;
 
+import org.eclipse.emf.emfstore.common.ESRunnableWrapper;
+
 /**
  * Interface for providing a {@link Runnable} which will get executed on the UI Thread.
  *
  * @author jfaltermeier
  * @since 1.5
  * @noextend This interface is not intended to be extended by clients.
- *
+ * @deprecated
  */
-public interface ESUIRunnableProvider {
-
-	/**
-	 * The method is used to create a {@link Runnable} which will be executed on the UI thread. The returned
-	 * {@link Runnable} is expected to wrap the given runnable.
-	 *
-	 * @param runnable the {@link Runnable} which will be executed by the runnable
-	 * @return a {@link Runnable} which can be executed on the UI Thread in a safe fashion.
-	 * @noreference This method is not intended to be referenced by clients.
-	 */
-	Runnable createRunnable(Runnable runnable);
+@Deprecated
+public interface ESUIRunnableProvider extends ESRunnableWrapper {
 
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/Messages.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/Messages.java
index de171fe..5eb0132 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/Messages.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/Messages.java
@@ -17,12 +17,13 @@
  * Common Client UI messages.
  *
  * @author emueller
- *
+ * @generated
  */
 public final class Messages extends NLS {
 
 	private static final String BUNDLE_NAME = "org.eclipse.emf.emfstore.internal.client.ui.common.messages"; //$NON-NLS-1$
 	public static String MonitoredEMFStoreAction;
+
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/RunInUI.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/RunInUI.java
index f2d0cc7..4142535 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/RunInUI.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/common/RunInUI.java
@@ -7,15 +7,14 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * emueller
+ * Edgar Mueller - initial API and implementation
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.common;
 
 import java.util.concurrent.Callable;
 
-import org.eclipse.emf.emfstore.client.ui.ESUIRunnableProvider;
-import org.eclipse.emf.emfstore.common.extensionpoint.ESExtensionPoint;
 import org.eclipse.emf.emfstore.internal.client.model.util.WorkspaceUtil;
+import org.eclipse.emf.emfstore.internal.common.ESRunnableWrapperProvider;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
 import org.eclipse.swt.widgets.Display;
 
@@ -28,8 +27,6 @@
 public final class RunInUI {
 
 	private static RunInUI runInUI = new RunInUI();
-	private ESUIRunnableProvider runnableProvider;
-	private boolean initialized;
 
 	private RunInUI() {
 
@@ -217,7 +214,7 @@
 
 			returnValue = null;
 
-			display.syncExec(getUIRunnable(new Runnable() {
+			display.syncExec(ESRunnableWrapperProvider.getInstance().embedInContext(new Runnable() {
 
 				public void run() {
 					try {
@@ -245,21 +242,4 @@
 		public abstract T doRun() throws ESException;
 	}
 
-	private Runnable getUIRunnable(Runnable runnable) {
-		final ESUIRunnableProvider runnableProvider = getRunnableProvider();
-		if (runnableProvider == null) {
-			return runnable;
-		}
-		return runnableProvider.createRunnable(runnable);
-	}
-
-	private ESUIRunnableProvider getRunnableProvider() {
-		if (!initialized) {
-			initialized = true;
-			runnableProvider = new ESExtensionPoint("org.eclipse.emf.emfstore.client.ui.uiRunnableProvider").getClass( //$NON-NLS-1$
-				"class", ESUIRunnableProvider.class); //$NON-NLS-1$
-		}
-		return runnableProvider;
-	}
-
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/BranchSelectionDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/BranchSelectionDialog.java
index fd817b6..b438f35 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/BranchSelectionDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/BranchSelectionDialog.java
@@ -182,7 +182,9 @@
 	 */
 	@Override
 	protected Point getInitialSize() {
-		return new Point(400, 350);
+		return new Point(
+			convertHorizontalDLUsToPixels(400),
+			convertVerticalDLUsToPixels(350));
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/CommitDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/CommitDialog.java
index 3262af6..3cf2559 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/CommitDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/CommitDialog.java
@@ -54,7 +54,7 @@
  * @author Shterev
  */
 public class CommitDialog extends EMFStoreTitleAreaDialog implements
-KeyListener {
+	KeyListener {
 
 	private static final String COMMITDIALOG_TRAY_EXTENSION_POINT = "org.eclipse.emf.emfstore.client.ui.commitdialog.tray"; //$NON-NLS-1$
 	private Text txtLogMsg;
@@ -93,7 +93,7 @@
 
 		for (final ESExtensionElement element : new ESExtensionPoint(
 			COMMITDIALOG_TRAY_EXTENSION_POINT, true)
-			.getExtensionElements()) {
+				.getExtensionElements()) {
 			try {
 				final CommitDialogTray tray = element.getClass("class", //$NON-NLS-1$
 					CommitDialogTray.class);
@@ -181,27 +181,10 @@
 		final ArrayList<AbstractChangePackage> changePackages = new ArrayList<AbstractChangePackage>();
 		changePackages.add(changes);
 
-		// final ArrayList<AbstractChangePackage> changePackages = new ArrayList<AbstractChangePackage>();
-		// // changePackages.add(changes);
-		//
-		// // TODO LCP: fully loading change packages to display them..
-		// final AbstractChangePackage cp = ChangePackageUtil.createChangePackage();
-		// // final FileBasedChangePackage cp = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
-		// // cp.initialize(FileUtil.createLocationForTemporaryChangePackage());
-		// final ESCloseableIterable<AbstractOperation> operations = changes.operations();
-		// try {
-		// for (final AbstractOperation operation : operations.iterable()) {
-		// cp.add(operation);
-		// }
-		// } finally {
-		// operations.close();
-		// }
-		//
-		// changePackages.add(cp);
-
 		changesComposite = new TabbedChangesComposite(
 			contents, SWT.BORDER, changePackages, getActiveProjectSpace()
-				.getProject(), idToEObjectMapping, true);
+				.getProject(),
+			idToEObjectMapping, true);
 		GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL)
 			.grab(true, true).span(2, 1).applyTo(changesComposite);
 
@@ -219,8 +202,12 @@
 
 	private void createLogMessageText(Composite contents) {
 		txtLogMsg = new Text(contents, SWT.MULTI | SWT.LEAD | SWT.BORDER);
-		GridDataFactory.fillDefaults().grab(true, false).span(2, 1)
-			.align(SWT.FILL, SWT.TOP).hint(1, 45).applyTo(txtLogMsg);
+		GridDataFactory.fillDefaults()
+			.grab(true, false)
+			.span(2, 1)
+			.align(SWT.FILL, SWT.TOP)
+			.hint(convertHorizontalDLUsToPixels(1), convertVerticalDLUsToPixels(45))
+			.applyTo(txtLogMsg);
 		String logMsg = StringUtils.EMPTY;
 		final LogMessage logMessage = changes.getLogMessage();
 
@@ -297,7 +284,7 @@
 		// final String notifyUsers = "Notify users";
 		for (final ESExtensionElement c : new ESExtensionPoint(
 			COMMITDIALOG_TRAY_EXTENSION_POINT)
-			.getExtensionElements()) {
+				.getExtensionElements()) {
 			final String name = c.getAttribute("name"); //$NON-NLS-1$
 			final CommitDialogTray tray = trays.get(name);
 			if (tray != null) {
@@ -313,13 +300,13 @@
 								openTray(tray);
 								notificationsButton.setText(name + " <<"); //$NON-NLS-1$
 								final Rectangle bounds = getShell().getBounds();
-								bounds.x -= 100;
+								bounds.x -= convertHorizontalDLUsToPixels(100);
 								getShell().setBounds(bounds);
 							} else {
 								closeTray();
 								notificationsButton.setText(name + " >>"); //$NON-NLS-1$
 								final Rectangle bounds = getShell().getBounds();
-								bounds.x += 100;
+								bounds.x += convertHorizontalDLUsToPixels(100);
 								getShell().setBounds(bounds);
 							}
 							isOpen = !isOpen;
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/OrgUnitManagementGUI.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/OrgUnitManagementGUI.java
index 23408b1..eacff27 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/OrgUnitManagementGUI.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/OrgUnitManagementGUI.java
@@ -162,19 +162,6 @@
 
 		// set initial input to properties form
 		projectsTabContents.selectFirstElement();
-
-		// tabFolder.addSelectionListener(new SelectionListener() {
-		//
-		// public void widgetDefaultSelected(SelectionEvent e) {
-		// }
-		//
-		// // Update every tableViewer on any click on one of the TabItems
-		// public void widgetSelected(SelectionEvent e) {
-		// projectsTabContents.getTableViewer().refresh();
-		// groupsTabContents.getTableViewer().refresh();
-		// usersTabContents.getTableViewer().refresh();
-		// }
-		// });
 	}
 
 	private TabItem createTab(TabFolder folder, TabContent tabContent, String text) {
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/ProjectComposite.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/ProjectComposite.java
index 284468f..5ee8d10 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/ProjectComposite.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/ProjectComposite.java
@@ -25,6 +25,7 @@
 import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles.RolesPackage;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.layout.PixelConverter;
 import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.jface.viewers.ColumnLabelProvider;
@@ -59,7 +60,8 @@
 
 	// Set column names
 	private final String[] roleNames = new String[] { Messages.ProjectComposite_Reader,
-		Messages.ProjectComposite_Writer, Messages.ProjectComposite_ProjectAdmin, Messages.ProjectComposite_ServerAdmin };
+		Messages.ProjectComposite_Writer, Messages.ProjectComposite_ProjectAdmin,
+		Messages.ProjectComposite_ServerAdmin };
 
 	private Label lblVersion;
 	private Text txtVersion;
@@ -206,10 +208,11 @@
 	protected void createTableViewer(Composite parent) {
 
 		super.createTableViewer(parent);
+		final PixelConverter pixelConverter = new PixelConverter(this);
 
 		final TableViewerColumn roleColumnViewer = new TableViewerColumn(getTableViewer(), SWT.NONE);
 		roleColumnViewer.getColumn().setText(Messages.ProjectComposite_Role);
-		roleColumnViewer.getColumn().setWidth(120);
+		roleColumnViewer.getColumn().setWidth(pixelConverter.convertHorizontalDLUsToPixels(120));
 		roleColumnViewer.setLabelProvider(new ColumnLabelProvider() {
 			@Override
 			public String getText(Object element) {
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/PropertiesComposite.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/PropertiesComposite.java
index ac21a94..54f56ca 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/PropertiesComposite.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/PropertiesComposite.java
@@ -27,6 +27,7 @@
 import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACUser;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.layout.PixelConverter;
 import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.ILabelProviderListener;
@@ -213,26 +214,25 @@
 		// Create and configure the "Add" button
 		final Button add = new Button(parent, SWT.PUSH | SWT.CENTER);
 		add.setText(Messages.PropertiesComposite_Add);
+		final PixelConverter pixelConverter = new PixelConverter(this);
 
 		GridData gridData = new GridData();
-		gridData.widthHint = 80;
+		gridData.widthHint = pixelConverter.convertHorizontalDLUsToPixels(80);
 		gridData.horizontalAlignment = GridData.END;
 		gridData.horizontalSpan = 4;
 		add.setLayoutData(gridData);
 		add.addSelectionListener(new SelectionAdapter() {
-
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				addNewOrgUnit();
 			}
-
 		});
 
 		// Create and configure the "Delete" button
 		final Button remove = new Button(parent, SWT.PUSH | SWT.CENTER);
 		remove.setText(Messages.PropertiesComposite_Remove);
 		gridData = new GridData(SWT.END);
-		gridData.widthHint = 80;
+		gridData.widthHint = pixelConverter.convertHorizontalDLUsToPixels(80);
 		remove.setLayoutData(gridData);
 
 		remove.addSelectionListener(new SelectionAdapter() {
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/LdapSourceDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/LdapSourceDialog.java
index 211dcfc..dd54239 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/LdapSourceDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/LdapSourceDialog.java
@@ -76,12 +76,16 @@
 		final Label name = new Label(contents, SWT.NULL);
 		name.setText(Messages.LdapSourceDialog_ServerName);
 		serverName = new Text(contents, SWT.SINGLE | SWT.BORDER);
-		serverName.setSize(350, 20);
+		serverName.setSize(
+			convertHorizontalDLUsToPixels(350),
+			convertVerticalDLUsToPixels(20));
 
 		final Label desc = new Label(contents, SWT.NULL);
 		desc.setText(Messages.LdapSourceDialog_ServerBase);
 		ldapBase = new Text(contents, SWT.SINGLE | SWT.BORDER);
-		ldapBase.setSize(350, 20);
+		ldapBase.setSize(
+			convertHorizontalDLUsToPixels(350),
+			convertVerticalDLUsToPixels(20));
 
 		final Point defaultMargins = LayoutConstants.getMargins();
 		GridLayoutFactory.fillDefaults().numColumns(2).margins(defaultMargins.x, defaultMargins.y)
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageOne.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageOne.java
index 23fbc1f..a956772 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageOne.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageOne.java
@@ -78,7 +78,11 @@
 		for (final ImportSource src : list) {
 			radios[i] = new Button(composite, SWT.RADIO);
 			radios[i].setText(src.getLabel());
-			radios[i].setBounds(30, 5, 200, 30);
+			radios[i].setBounds(
+				convertHorizontalDLUsToPixels(30),
+				convertVerticalDLUsToPixels(5),
+				convertHorizontalDLUsToPixels(200),
+				convertVerticalDLUsToPixels(30));
 			radios[i].addSelectionListener(new SelectionAdapter() {
 				@Override
 				public void widgetSelected(SelectionEvent e) {
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageTwo.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageTwo.java
index 8b2cd3a..5c7f51c 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageTwo.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/acimport/wizard/AcUserImportPageTwo.java
@@ -82,7 +82,7 @@
 
 		gridData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
 		gridData.horizontalSpan = 2;
-		gridData.heightHint = 280; // TODO remove this "magic number"?
+		gridData.heightHint = convertHorizontalDLUsToPixels(280);
 		filter.setLayoutData(gridData);
 
 		tv = filter.getViewer();
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/action/NewOrgUnitDialog.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/action/NewOrgUnitDialog.java
index 3da1040..98fe99e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/action/NewOrgUnitDialog.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/admin/action/NewOrgUnitDialog.java
@@ -75,7 +75,9 @@
 
 	@Override
 	protected Point getInitialSize() {
-		return new Point(450, 165);
+		return new Point(
+			convertHorizontalDLUsToPixels(250),
+			convertVerticalDLUsToPixels(90));
 	}
 
 	@Override
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeProjectHandler.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeProjectHandler.java
index 1b4d206..c7f38a3 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeProjectHandler.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeProjectHandler.java
@@ -5,7 +5,7 @@
  * 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:
  * wesendon
  ******************************************************************************/
@@ -29,7 +29,7 @@
 
 /**
  * This is an alternative merge handler, using the new merge wizard.
- * 
+ *
  * @author wesendon
  */
 public class MergeProjectHandler extends AbstractConflictResolver {
@@ -39,7 +39,7 @@
 
 	/**
 	 * Default constructor.
-	 * 
+	 *
 	 * @param isBranchMerge
 	 *            specifies whether two branches are merged, rather then changes
 	 *            from the same branches.
@@ -68,7 +68,8 @@
 
 	@SuppressWarnings("unchecked")
 	@Override
-	protected boolean controlDecisionManager(final DecisionManager decisionManager, ChangeConflictSet changeConflictSet) {
+	protected boolean controlDecisionManager(final DecisionManager decisionManager,
+		ChangeConflictSet changeConflictSet) {
 		authorProvider = new DefaultOperationAuthorProvider(changeConflictSet.getLeftChanges(),
 			changeConflictSet.getRightChanges());
 		ESWorkspaceProviderImpl.getObserverBus().register(authorProvider, OperationAuthorProvider.class);
@@ -77,7 +78,9 @@
 			public Boolean call() {
 				final MergeWizard wizard = new MergeWizard(decisionManager);
 				final WizardDialog dialog = new WizardDialog(Display.getCurrent().getActiveShell(), wizard);
-				dialog.setPageSize(1000, 500);
+				dialog.setPageSize(
+					1000,
+					400);
 				dialog.setBlockOnOpen(true);
 				dialog.create();
 
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeWizardPage.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeWizardPage.java
index 638bdd8..60fb787 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeWizardPage.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/MergeWizardPage.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.util.UIDecisionConfig;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.PixelConverter;
 import org.eclipse.jface.wizard.WizardPage;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
@@ -83,8 +84,8 @@
 	 */
 	public void createControl(final Composite parent) {
 		parent.setLayout(new GridLayout());
-
-		final Composite topBar = createTopBar(parent);
+		final PixelConverter converter = new PixelConverter(parent);
+		final Composite topBar = createTopBar(parent, converter);
 		GridDataFactory.fillDefaults().grab(true, false).applyTo(topBar);
 		final ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
 		scrolledComposite.setExpandHorizontal(true);
@@ -128,24 +129,24 @@
 
 		scrolledComposite.setContent(client);
 
-		final Point computeSize = calcParentSize(parent, topBar);
+		final Point computeSize = calcParentSize(parent, topBar, converter);
 		scrolledComposite.setMinSize(computeSize);
 
 		setControl(scrolledComposite);
 	}
 
-	private Point calcParentSize(final Composite parent, Composite topBar) {
+	private Point calcParentSize(final Composite parent, Composite topBar, PixelConverter converter) {
 		final Point computeSize = parent.computeSize(SWT.DEFAULT, SWT.DEFAULT);
 		computeSize.x = parent.getBounds().width;
 		// Due to resizing issues give a bit of extra space.
-		computeSize.y = computeSize.y + topBar.getSize().y + 50;
+		computeSize.y = computeSize.y + topBar.getSize().y + converter.convertHorizontalDLUsToPixels(50);
 		return computeSize;
 	}
 
-	private Composite createTopBar(Composite parent) {
+	private Composite createTopBar(Composite parent, PixelConverter converter) {
 		final Composite composite = new Composite(parent, SWT.NONE);
 		composite.setLayout(new RowLayout(SWT.HORIZONTAL));
-		composite.setSize(SWT.DEFAULT, 200);
+		composite.setSize(SWT.DEFAULT, converter.convertVerticalDLUsToPixels(200));
 
 		final Button acceptMine = new Button(composite, SWT.PUSH);
 		acceptMine.setText(Messages.MergeWizardPage_KeepMyChanges);
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/ContextComponent.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/ContextComponent.java
index 63a483e..dfa38ac 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/ContextComponent.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/ContextComponent.java
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * wesendon
+ * Otto von Wesendonk - initial API and implementation
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.ui.components;
 
@@ -19,6 +19,7 @@
 import org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.ui.DecisionBox;
 import org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.util.UIDecisionUtil;
 import org.eclipse.emf.emfstore.internal.common.ESDisposable;
+import org.eclipse.jface.layout.PixelConverter;
 import org.eclipse.jface.resource.FontRegistry;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
@@ -34,6 +35,8 @@
  */
 public class ContextComponent extends Composite implements ESDisposable {
 
+	private static final String CONTENT = "content"; //$NON-NLS-1$
+	private static final String TITLE_LABEL = "titleLabel"; //$NON-NLS-1$
 	private final ComposedAdapterFactory adapterFactory;
 
 	/**
@@ -48,10 +51,11 @@
 		super(parent, SWT.NONE);
 
 		final ConflictContext context = conflict.getConflictContext();
+		final PixelConverter pixelConverter = new PixelConverter(this);
 
 		final GridLayout layout = new GridLayout(3, false);
-		layout.verticalSpacing = 1;
-		layout.horizontalSpacing = 20;
+		layout.verticalSpacing = pixelConverter.convertVerticalDLUsToPixels(1);
+		layout.horizontalSpacing = pixelConverter.convertHorizontalDLUsToPixels(20);
 		setLayout(layout);
 		setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
 
@@ -61,17 +65,17 @@
 
 		final Label meTitle = new Label(this, SWT.NONE);
 		meTitle.setText(context.getModelElementTitleLabel());
-		meTitle.setFont(fontRegistry.get("titleLabel"));
+		meTitle.setFont(fontRegistry.get(TITLE_LABEL));
 		meTitle.setBackground(getBackground());
 
 		final Label attTitle = new Label(this, SWT.NONE);
 		attTitle.setText(context.getAttributeTitleLabel());
-		attTitle.setFont(fontRegistry.get("titleLabel"));
+		attTitle.setFont(fontRegistry.get(TITLE_LABEL));
 		attTitle.setBackground(getBackground());
 
 		final Label oppTitle = new Label(this, SWT.NONE);
 		oppTitle.setText(context.getOpponentTitleLabel());
-		oppTitle.setFont(fontRegistry.get("titleLabel"));
+		oppTitle.setFont(fontRegistry.get(TITLE_LABEL));
 		oppTitle.setBackground(getBackground());
 
 		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
@@ -81,17 +85,17 @@
 		meLabel.setImage(provider.getImage(context.getModelElement()));
 		meLabel.setText(UIDecisionUtil.cutString(provider.getText(context.getModelElement()), 40, true));
 		meLabel.setToolTipText(DecisionUtil.getClassAndName(context.getModelElement()));
-		meLabel.setFont(fontRegistry.get("content"));
+		meLabel.setFont(fontRegistry.get(CONTENT));
 		meLabel.setBackground(getBackground());
 
 		final Label attLabel = new Label(this, SWT.NONE);
 		attLabel.setText(context.getAttribute());
-		attLabel.setFont(fontRegistry.get("content"));
+		attLabel.setFont(fontRegistry.get(CONTENT));
 		attLabel.setBackground(getBackground());
 
 		final Label oppLable = new Label(this, SWT.NONE);
 		oppLable.setText(context.getOpponent());
-		oppLable.setFont(fontRegistry.get("content"));
+		oppLable.setFont(fontRegistry.get(CONTENT));
 		oppLable.setBackground(getBackground());
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/DetailsComponent.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/DetailsComponent.java
index 0b80c70..636b060 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/DetailsComponent.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/components/DetailsComponent.java
@@ -16,6 +16,7 @@
 import org.eclipse.emf.emfstore.internal.client.model.changeTracking.merging.util.DecisionUtil;
 import org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.ui.DecisionBox;
 import org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.ui.widgets.MergeTextWidget;
+import org.eclipse.jface.layout.PixelConverter;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.FillLayout;
@@ -44,22 +45,14 @@
 	 */
 	public DetailsComponent(final DecisionBox decisionBox, VisualConflict conflict) {
 		super(decisionBox, ExpandableComposite.TWISTIE);
-		setText("Details");
+		setText("Details"); //$NON-NLS-1$
 		setLayout(new FillLayout());
 		final GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
 		layoutData.horizontalSpan = 2;
 		setLayoutData(layoutData);
 		setBackground(decisionBox.getBackground());
-		// section.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		final int columns = 1;
 
-		//
-		// for (ConflictOption option : conflict.getOptions()) {
-		// if (option.isDetailsProvider()) {
-		// columns++;
-		// }
-		// }
-
 		final Composite client = new Composite(this, SWT.NONE);
 		final TableWrapLayout layout = new TableWrapLayout();
 		layout.numColumns = columns;
@@ -90,10 +83,15 @@
 		}
 
 		setClient(client);
+		final PixelConverter pixelConverter = new PixelConverter(this);
 		addExpansionListener(new IExpansionListener() {
 
 			// FIXME: assuming initial size
-			private final Rectangle bounds = new Rectangle(0, 0, 0, 20);
+			private final Rectangle bounds = new Rectangle(
+				0,
+				0,
+				0,
+				pixelConverter.convertVerticalDLUsToPixels(20));
 
 			public void expansionStateChanged(ExpansionEvent e) {
 				final int height = bounds.height;
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/widgets/MergeTextWidget.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/widgets/MergeTextWidget.java
index a096cb8..6ba7c59 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/widgets/MergeTextWidget.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/dialogs/merge/ui/widgets/MergeTextWidget.java
@@ -16,6 +16,7 @@
 import java.util.Observable;
 import java.util.Observer;
 
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.emf.emfstore.internal.client.model.changeTracking.merging.conflict.ConflictOption;
 import org.eclipse.emf.emfstore.internal.client.model.changeTracking.merging.conflict.VisualConflict;
 import org.eclipse.emf.emfstore.internal.client.model.changeTracking.merging.conflict.options.MergeTextOption;
@@ -90,11 +91,6 @@
 		setText(option, text);
 		text.setBackground(tabFolder.getBackground());
 		text.setEditable(isEditable(option));
-		// TODO: RAP compat
-		// text.setWordWrap(true);
-		// text.setTopMargin(5);
-		// text.setLeftMargin(5);
-		// text.setRightMargin(5);
 		tab.setControl(text);
 
 	}
@@ -114,28 +110,15 @@
 		final LinkedList<Diff> diffMain = dmp.diff_main(mergeOption.getMyText(), mergeOption.getTheirString());
 		dmp.diff_cleanupEfficiency(diffMain);
 
-		String description = "";
-		// TODO: RAP compat
-		// List<StyleRange> styleRanges = new ArrayList<StyleRange>();
+		final StringBuffer description = new StringBuffer();
 
 		for (final Diff diff : diffMain) {
 			final String text = diff.text;
 			if (!diff.operation.equals(Operation.EQUAL)) {
-				// StyleRange styleRange = new StyleRange();
-				// styleRange.start = description.length();
-				// styleRange.length = text.length();
-
-				// if (diff.operation.equals(Operation.DELETE)) {
-				// styleRange.foreground = Display.getDefault().getSystemColor(SWT.COLOR_RED);
-				// } else if (diff.operation.equals(Operation.INSERT)) {
-				// styleRange.foreground = Display.getDefault().getSystemColor(SWT.COLOR_DARK_GREEN);
-				// }
-				// styleRanges.add(styleRange);
 			}
-			description += text;
+			description.append(text);
 		}
-		styledText.setText(description);
-		// styledText.setStyleRanges(styleRanges.toArray(new StyleRange[styleRanges.size()]));
+		styledText.setText(description.toString());
 		styledText.addModifyListener(new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
 				final String newText = styledText.getText();
@@ -162,7 +145,7 @@
 		case MergeText:
 			return option.getOptionLabel();
 		default:
-			return "";
+			return StringUtils.EMPTY;
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsACUserTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsACUserTester.java
index d20ac47..faaaa97 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsACUserTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsACUserTester.java
@@ -50,7 +50,7 @@
 						}
 					}
 
-					return new Boolean(isACUser).equals(expectedValue);
+					return Boolean.valueOf(isACUser).equals(expectedValue);
 				}
 			};
 			return command.run(false);
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAdminTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAdminTester.java
index 087d11f..4e444f1 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAdminTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAdminTester.java
@@ -51,7 +51,7 @@
 						}
 					}
 
-					return new Boolean(isAdmin).equals(expectedValue);
+					return Boolean.valueOf(isAdmin).equals(expectedValue);
 				}
 			};
 			return command.run(false);
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAutoSaveEnabledTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAutoSaveEnabledTester.java
index 569bf25..ad1a525 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAutoSaveEnabledTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsAutoSaveEnabledTester.java
@@ -25,6 +25,7 @@
  */
 public class IsAutoSaveEnabledTester extends PropertyTester {
 
+	private static final String ORG_ECLIPSE_EMF_EMFSTORE_CLIENT_UI_DISABLE_SAVE_CONTROLS = "org.eclipse.emf.emfstore.client.ui.disableSaveControls"; //$NON-NLS-1$
 	private static boolean isAutoSaveEnabledTesterDisabled = initExtensionPoint();
 
 	/**
@@ -40,7 +41,7 @@
 
 	private static boolean initExtensionPoint() {
 		final ESExtensionPoint extensionPoint = new ESExtensionPoint(
-			"org.eclipse.emf.emfstore.client.ui.disableSaveControls");
+			ORG_ECLIPSE_EMF_EMFSTORE_CLIENT_UI_DISABLE_SAVE_CONTROLS);
 		final ESExtensionElement element = extensionPoint.getFirst();
 
 		if (element == null) {
@@ -48,6 +49,6 @@
 			return false;
 		}
 
-		return element.getBoolean("enabled", false);
+		return element.getBoolean("enabled", false); //$NON-NLS-1$
 	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsServerAdminTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsServerAdminTester.java
index 125af86..f148aa5 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsServerAdminTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/IsServerAdminTester.java
@@ -66,7 +66,7 @@
 						}
 					}
 
-					return new Boolean(isAdmin).equals(expectedValue);
+					return Boolean.valueOf(isAdmin).equals(expectedValue);
 				}
 			};
 			final Boolean result = command.run(false);
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectHasLocalChangesTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectHasLocalChangesTester.java
index 1625a2c..a31fdc9 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectHasLocalChangesTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectHasLocalChangesTester.java
@@ -39,8 +39,7 @@
 
 			return RunESCommand.runWithResult(new Callable<Boolean>() {
 				public Boolean call() throws Exception {
-					final Boolean hasLocalChanges = new Boolean(localProject.hasUncommitedChanges());
-					return hasLocalChanges.equals(expectedValue);
+					return Boolean.valueOf(localProject.hasUncommitedChanges()).equals(expectedValue);
 				}
 			});
 		}
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectIsSharedTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectIsSharedTester.java
index 9895c9a..b429938 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectIsSharedTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ProjectIsSharedTester.java
@@ -36,7 +36,7 @@
 				@Override
 				protected Boolean doRun() {
 					final Usersession usersession = projectSpace.getUsersession();
-					final Boolean isShared = new Boolean(usersession != null);
+					final Boolean isShared = Boolean.valueOf(usersession != null);
 					return isShared.equals(expectedValue);
 				}
 			};
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ServerInfoIsLoggedInTester.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ServerInfoIsLoggedInTester.java
index 0c9b761..b3f10d1 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ServerInfoIsLoggedInTester.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/testers/ServerInfoIsLoggedInTester.java
@@ -39,7 +39,7 @@
 			}
 			try {
 				usersession.toAPI().refresh();
-				return new Boolean(usersession.isLoggedIn()).equals(expectedValue);
+				return Boolean.valueOf(usersession.isLoggedIn()).equals(expectedValue);
 			} catch (final ESException ex) {
 				return Boolean.FALSE.equals(expectedValue);
 			}
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/ChangePackageVisualizationHelper.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/ChangePackageVisualizationHelper.java
index 61dd7c6..cde7793 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/ChangePackageVisualizationHelper.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/ChangePackageVisualizationHelper.java
@@ -147,6 +147,8 @@
 				// END SUPRESS CATCH EXCEPTION
 				ModelUtil.logWarning(Messages.ChangePackageVisualizationHelper_CustomOperationProvider_LoadImageFailed,
 					e);
+			} finally {
+				customLabelProvider.dispose();
 			}
 		}
 		return null;
@@ -160,10 +162,6 @@
 	 * @return the description for the given operation
 	 */
 	public String getDescription(AbstractOperation op) {
-
-		// check of a custom operation label provider can provide a label
-		final OperationCustomLabelProvider customLabelProvider = getLabelProvider();
-
 		if (op instanceof CompositeOperation) {
 			final CompositeOperation compositeOperation = (CompositeOperation) op;
 			// artificial composite because of opposite ref, take description of
@@ -173,16 +171,23 @@
 			}
 		}
 
-		return decorate(customLabelProvider, op);
+		// check of a custom operation label provider can provide a label
+		final OperationCustomLabelProvider customLabelProvider = getLabelProvider();
+		String decorate;
+		try {
+			decorate = decorate(customLabelProvider, op);
+			return decorate;
+		} finally {
+			customLabelProvider.dispose();
+		}
 	}
 
 	private OperationCustomLabelProvider getLabelProvider() {
 		if (customLabelProvider == null) {
-			customLabelProvider =
-				ExtensionRegistry.INSTANCE.get(
-					OperationCustomLabelProvider.ID, OperationCustomLabelProvider.class,
-					new DefaultOperationLabelProvider(),
-					true);
+			customLabelProvider = ExtensionRegistry.INSTANCE.get(
+				OperationCustomLabelProvider.ID, OperationCustomLabelProvider.class,
+				new DefaultOperationLabelProvider(),
+				true);
 		}
 		return customLabelProvider;
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/DefaultOperationLabelProvider.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/DefaultOperationLabelProvider.java
index 69e4e22..6926e1b 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/DefaultOperationLabelProvider.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/changes/DefaultOperationLabelProvider.java
@@ -31,15 +31,29 @@
 	 */
 	protected static final String UNKOWN_ELEMENT = Messages.DefaultOperationLabelProvider_UnknownElement;
 
-	private final AdapterFactoryLabelProvider adapterFactoryLabelProvider;
-	private final ComposedAdapterFactory adapterFactory;
+	private AdapterFactoryLabelProvider adapterFactoryLabelProvider;
+	private ComposedAdapterFactory adapterFactory;
+
+	private boolean isDisposed;
 
 	/**
 	 * Constructor.
 	 */
 	public DefaultOperationLabelProvider() {
-		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
-		adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(adapterFactory);
+		init();
+	}
+
+	/**
+	 * Initializes the label provider.
+	 */
+	protected void init() {
+		if (adapterFactory == null) {
+			adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		}
+		if (adapterFactoryLabelProvider == null) {
+			adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(adapterFactory);
+		}
+		isDisposed = false;
 	}
 
 	/**
@@ -49,7 +63,6 @@
 	 * @see org.eclipse.emf.emfstore.internal.client.ui.common.OperationCustomLabelProvider#getDescription(org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation)
 	 */
 	public String getDescription(AbstractOperation operation) {
-
 		if (operation instanceof CompositeOperation) {
 			final CompositeOperation compositeOperation = (CompositeOperation) operation;
 			// artificial composite because of opposite reference,
@@ -58,7 +71,9 @@
 				return getDescription(compositeOperation.getMainOperation());
 			}
 		}
-
+		if (isDisposed()) {
+			init();
+		}
 		return adapterFactoryLabelProvider.getText(operation);
 	}
 
@@ -69,6 +84,9 @@
 	 * @see org.eclipse.emf.emfstore.internal.client.ui.common.OperationCustomLabelProvider#getImage(org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation)
 	 */
 	public Object getImage(AbstractOperation operation) {
+		if (isDisposed()) {
+			init();
+		}
 		return adapterFactoryLabelProvider.getImage(operation);
 	}
 
@@ -89,7 +107,9 @@
 	 * @see org.eclipse.emf.emfstore.internal.client.ui.common.OperationCustomLabelProvider#getModelElementName(org.eclipse.emf.ecore.EObject)
 	 */
 	public String getModelElementName(EObject modelElement) {
-
+		if (isDisposed()) {
+			init();
+		}
 		if (modelElement == null) {
 			return UNKOWN_ELEMENT;
 		}
@@ -118,10 +138,21 @@
 	public void dispose() {
 		if (adapterFactory != null) {
 			adapterFactory.dispose();
+			adapterFactory = null;
 		}
 		if (adapterFactoryLabelProvider != null) {
 			adapterFactoryLabelProvider.dispose();
+			adapterFactoryLabelProvider = null;
 		}
+		isDisposed = true;
+	}
+
+	/**
+	 * @return whether the label provider is disposed. A disposed label provider has to be {@link #init() initialized}
+	 *         again.
+	 */
+	protected boolean isDisposed() {
+		return isDisposed;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/HistoryBrowserView.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/HistoryBrowserView.java
index 1d7b708..bedac2a 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/HistoryBrowserView.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/HistoryBrowserView.java
@@ -47,7 +47,6 @@
 import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
 import org.eclipse.emf.emfstore.internal.server.conflictDetection.ModelElementIdToEObjectMappingImpl;
 import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESHistoryInfoImpl;
-import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESOperationImpl;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ModelElementQuery;
@@ -110,6 +109,10 @@
 // TODO: review setInput methods
 public class HistoryBrowserView extends ViewPart implements ProjectSpaceContainer {
 
+	// icons
+	private static final String EXPAND_ALL_GIF = "icons/expandall.gif"; //$NON-NLS-1$
+	private static final String COLLAPSE_ALL_GIF = "icons/collapseall.gif"; //$NON-NLS-1$
+
 	// Config
 	private static final int UPPER_LIMIT = 10;
 	private static final int LOWER_LIMIT = 20;
@@ -315,8 +318,7 @@
 	}
 
 	private List<HistoryInfo> getHistoryInfos() {
-		final Shell shell =
-			getViewSite().getShell();
+		final Shell shell = getViewSite().getShell();
 
 		final List<HistoryInfo> result = new AbstractEMFStoreUIController<List<HistoryInfo>>(shell, true,
 			false) {
@@ -374,8 +376,7 @@
 			true);
 		// TODO: proivde util method
 		final ESHistoryQuery<ESModelElementQuery> api = query.toAPI();
-		final List<ESHistoryInfo> infos =
-			projectSpace.toAPI().getHistoryInfos(api, new NullProgressMonitor());
+		final List<ESHistoryInfo> infos = projectSpace.toAPI().getHistoryInfos(api, new NullProgressMonitor());
 		return infos;
 	}
 
@@ -407,11 +408,9 @@
 				try {
 					for (final AbstractOperation operation : operations.iterable()) {
 
-						final AbstractOperation ao = ESOperationImpl.class.cast(operation).toInternalAPI();
-
-						if (!ao.getAllInvolvedModelElements().contains(
+						if (!operation.getAllInvolvedModelElements().contains(
 							ModelUtil.getProject(modelElement).getModelElementId(modelElement))) {
-							operationsToRemove.add(ao);
+							operationsToRemove.add(operation);
 						}
 					}
 				} finally {
@@ -505,7 +504,7 @@
 		GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(true, false).applyTo(noProjectHint);
 
 		noProjectHint
-		.setText(Messages.HistoryBrowserView_SelectProjectOrCallHistory);
+			.setText(Messages.HistoryBrowserView_SelectProjectOrCallHistory);
 		noProjectHint.addSelectionListener(new SelectionListener() {
 			public void widgetSelected(SelectionEvent e) {
 				final ElementListSelectionDialog elsd = new ElementListSelectionDialog(parent.getShell(),
@@ -551,6 +550,8 @@
 	@Override
 	public void dispose() {
 		adapterFactoryLabelProvider.dispose();
+		changeLabel.dispose();
+		commitLabel.dispose();
 		super.dispose();
 	}
 
@@ -687,7 +688,7 @@
 		for (final HistoryInfo info : resultCandidates) {
 			if (info.getPrimarySpec().getIdentifier() != -1
 				&& (biggest && info.getPrimarySpec().compareTo(result) == 1 || !biggest && info.getPrimarySpec()
-				.compareTo(result) == -1)) {
+					.compareTo(result) == -1)) {
 				result = info.getPrimarySpec();
 			}
 		}
@@ -778,12 +779,12 @@
 	}
 
 	private void addExpandAllAndCollapseAllAction(IToolBarManager menuManager) {
-		final ImageDescriptor expandImg = Activator.getImageDescriptor("icons/expandall.gif");
-		final ImageDescriptor collapseImg = Activator.getImageDescriptor("icons/collapseall.gif");
+		final ImageDescriptor expandImg = Activator.getImageDescriptor(EXPAND_ALL_GIF);
+		final ImageDescriptor collapseImg = Activator.getImageDescriptor(COLLAPSE_ALL_GIF);
 
-		expandAndCollapse = new ExpandCollapseAction("", SWT.TOGGLE, expandImg, collapseImg);
+		expandAndCollapse = new ExpandCollapseAction(StringUtils.EMPTY, SWT.TOGGLE, expandImg, collapseImg);
 		expandAndCollapse.setImageDescriptor(expandImg);
-		expandAndCollapse.setToolTipText("Use this toggle to expand or collapse all elements");
+		expandAndCollapse.setToolTipText(Messages.HistoryBrowserView_ExpandCollapseToggle);
 		menuManager.add(expandAndCollapse);
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/Messages.java b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/Messages.java
index 3d6ee59..a53739b 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/Messages.java
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/Messages.java
@@ -24,6 +24,7 @@
 	public static String HistoryBrowserView_Changes;
 	public static String HistoryBrowserView_CommitMessage;
 	public static String HistoryBrowserView_Error;
+	public static String HistoryBrowserView_ExpandCollapseToggle;
 	public static String HistoryBrowserView_ExpandToggle;
 	public static String HistoryBrowserView_FetchingHistory;
 	public static String HistoryBrowserView_GoToRevision;
diff --git a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/messages.properties b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/messages.properties
index 5a58857..01eff3e 100644
--- a/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/messages.properties
+++ b/bundles/org.eclipse.emf.emfstore.client.ui/src/org/eclipse/emf/emfstore/internal/client/ui/views/historybrowserview/messages.properties
@@ -3,6 +3,7 @@
 HistoryBrowserView_Changes=Changes
 HistoryBrowserView_CommitMessage=Commit Message
 HistoryBrowserView_Error=Error
+HistoryBrowserView_ExpandCollapseToggle=Use this toggle to expand or collapse all elements
 HistoryBrowserView_ExpandToggle=Use this toggle to expand or collapse all elements
 HistoryBrowserView_FetchingHistory=Fetching history form server
 HistoryBrowserView_GoToRevision=Go to revision
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 892f12d..28f9ec2 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
@@ -33,6 +33,7 @@
 import org.eclipse.emf.emfstore.internal.server.model.versioning.ChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.FileBasedChangePackage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.HistoryInfo;
+import org.eclipse.emf.emfstore.internal.server.model.versioning.ImageProxy;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.LogMessage;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.OperationProxy;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.TagVersionSpec;
@@ -45,6 +46,8 @@
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.PaletteData;
 import org.eclipse.swt.widgets.Display;
 
 /**
@@ -69,10 +72,8 @@
 	private final Image currentRevision;
 	private final Image headRevision;
 
-	private final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
-		ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
-	private final AdapterFactoryLabelProvider adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(
-		adapterFactory);
+	private ComposedAdapterFactory adapterFactory;
+	private AdapterFactoryLabelProvider adapterFactoryLabelProvider;
 	private Project project;
 
 	/**
@@ -89,6 +90,17 @@
 		baseRevision = Activator.getImageDescriptor("icons/HistoryInfo_base.png").createImage(); //$NON-NLS-1$
 		currentRevision = Activator.getImageDescriptor("icons/HistoryInfo_current.png").createImage(); //$NON-NLS-1$
 		headRevision = Activator.getImageDescriptor("icons/HistoryInfo_head.png").createImage(); //$NON-NLS-1$
+		init();
+	}
+
+	private void init() {
+		if (adapterFactory == null) {
+			adapterFactory = new ComposedAdapterFactory(
+				ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		}
+		if (adapterFactoryLabelProvider == null) {
+			adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(adapterFactory);
+		}
 	}
 
 	/**
@@ -227,11 +239,18 @@
 		return proxy.getLabel();
 	}
 
-	private Image getImage(OperationProxy proxy) {
+	private ImageData createImageFromProxy(OperationProxy proxy) {
 		if (!proxy.isLabelProviderReady()) {
 			initProxy(proxy);
 		}
-		return proxy.getImage();
+		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());
+		return imageData;
 	}
 
 	private void initProxy(OperationProxy proxy) {
@@ -241,8 +260,19 @@
 	}
 
 	private void prepareProxy(OperationProxy proxy, AbstractOperation operation) {
-		proxy.setImage(
-			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);
+		proxy.setImage(imageProxy);
 		proxy.setLabel(
 			changePackageVisualizationHelper.getDescription(operation));
 
@@ -341,7 +371,11 @@
 
 		if (element instanceof OperationProxy) {
 			final OperationProxy proxy = (OperationProxy) element;
-			return getImage(proxy);
+			final ImageData imageData = createImageFromProxy(proxy);
+			final Image swtImage = new Image(
+				Display.getDefault(),
+				imageData);
+			return swtImage;
 		} else if (element instanceof ModelElementId) {
 			return adapterFactoryLabelProvider
 				.getImage(changePackageVisualizationHelper
@@ -419,8 +453,17 @@
 		headRevision.dispose();
 		currentRevision.dispose();
 		baseRevision.dispose();
+		disposeAdapterFactories();
+	}
+
+	private void disposeAdapterFactories() {
 		if (adapterFactory != null) {
 			adapterFactory.dispose();
+			adapterFactory = null;
+		}
+		if (adapterFactoryLabelProvider != null) {
+			adapterFactoryLabelProvider.dispose();
+			adapterFactoryLabelProvider = null;
 		}
 	}
 
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 627ffd5..59407e4 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.migration;bundle-version="[1.6.2,2.0.0)"
+ 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)"
 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.6.2",org.ec
- lipse.emf.emfstore.client.callbacks;version="1.6.2",org.eclipse.emf.e
- mfstore.client.changetracking;version="1.6.2",org.eclipse.emf.emfstor
- e.client.exceptions;version="1.6.2",org.eclipse.emf.emfstore.client.h
- andler;version="1.6.2",org.eclipse.emf.emfstore.client.observer;versi
- on="1.6.2",org.eclipse.emf.emfstore.client.provider;version="1.6.2",o
- rg.eclipse.emf.emfstore.client.sessionprovider;version="1.6.2",org.ec
- lipse.emf.emfstore.client.util;version="1.6.2",org.eclipse.emf.emfsto
- re.internal.client.accesscontrol;version="1.6.2";x-friends:="org.ecli
+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
  pse.emf.emfstore.client.ui,org.eclipse.emf.ecp.emfstore.ui",org.eclip
- se.emf.emfstore.internal.client.common;version="1.6.2";x-friends:="or
+ se.emf.emfstore.internal.client.common;version="1.7.0";x-friends:="or
  g.eclipse.emf.emfstore.client.ui",org.eclipse.emf.emfstore.internal.c
- lient.configuration;version="1.6.2"; x-friends:="org.eclipse.emf.emfs
+ lient.configuration;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.client.test,org.eclipse.
+ "1.7.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.6.2";x-frien
+ mf.emfstore.internal.client.importexport.impl;version="1.7.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.6.2";
+ e.ui",org.eclipse.emf.emfstore.internal.client.model;version="1.7.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.6.2";x-internal:=true,o
+ ternal.client.model.changeTracking;version="1.7.0";x-internal:=true,o
  rg.eclipse.emf.emfstore.internal.client.model.changeTracking.commands
- ;version="1.6.2";x-friends:="org.eclipse.emf.emfstore.client.transact
+ ;version="1.7.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.6.2"; x-friends
+ ternal.client.model.changeTracking.merging;version="1.7.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.6.2";x-friends:="org.eclip
+ changeTracking.merging.conflict;version="1.7.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.6.2";x
+ ent.model.changeTracking.merging.conflict.conflicts;version="1.7.0";x
  -friends:="org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfs
  tore.internal.client.model.changeTracking.merging.conflict.options;ve
- rsion="1.6.2";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ecl
+ rsion="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ecl
  ipse.emf.emfstore.internal.client.model.changeTracking.merging.util;v
- ersion="1.6.2";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ec
+ ersion="1.7.0";x-friends:="org.eclipse.emf.emfstore.client.ui",org.ec
  lipse.emf.emfstore.internal.client.model.changeTracking.notification.
- filter;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.inte
- rnal.client.model.changeTracking.notification.recording;version="1.6.
- 2";x-friends:="org.eclipse.emf.emfstore.test.common",org.eclipse.emf.
- emfstore.internal.client.model.connectionmanager;version="1.6.2"; x-f
+ filter;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.inte
+ rnal.client.model.changeTracking.notification.recording;version="1.7.
+ 0";x-friends:="org.eclipse.emf.emfstore.test.common",org.eclipse.emf.
+ emfstore.internal.client.model.connectionmanager;version="1.7.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.6.2";x-friends:="
+ al.client.model.connectionmanager.xmlrpc;version="1.7.0";x-friends:="
  org.eclipse.emf.emfstore.test.common",org.eclipse.emf.emfstore.intern
- al.client.model.controller;version="1.6.2";x-friends:="org.eclipse.em
+ al.client.model.controller;version="1.7.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.6.2"; x-friends:="org.eclipse.emf.emfs
+ nt.model.exceptions;version="1.7.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.
- 6.2";x-friends:="org.eclipse.emf.emfstore.client.test",org.eclipse.em
- f.emfstore.internal.client.model.impl;version="1.6.2"; x-friends:="or
+ 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
  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.6.2"; x-friends:="org.eclipse.emf.emfst
+ ent.model.impl.api;version="1.7.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.6.2"; x-friends:=
+ .emf.emfstore.internal.client.model.util;version="1.7.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.6.2"; x-friends:="org.eclipse.emf.emfstore.clien
+ observers;version="1.7.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.6.2";x-friends:="org.eclip
+ tore.internal.client.properties;version="1.7.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/about.properties b/bundles/org.eclipse.emf.emfstore.client/about.properties
index ff34d5f..e94c392 100644
--- a/bundles/org.eclipse.emf.emfstore.client/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.client/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.client/pom.xml b/bundles/org.eclipse.emf.emfstore.client/pom.xml
index b550353..f90a8d6 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESCompositeOperationHandle.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESCompositeOperationHandle.java
new file mode 100644
index 0000000..649a3f7
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESCompositeOperationHandle.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 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.client;
+
+import org.eclipse.emf.emfstore.client.exceptions.ESInvalidCompositeOperationException;
+import org.eclipse.emf.emfstore.common.model.ESModelElementId;
+
+/**
+ * A CompositeOperationHandle allows to control a composite operation during the recording process.
+ *
+ * @author Johannes Faltermeier
+ * @since 1.7
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ *
+ */
+public interface ESCompositeOperationHandle {
+
+	/**
+	 * Returns whether the handle is still valid.
+	 *
+	 * @return <code>false</code> if the composite operation has {@link #end(String, String, ESModelElementId)
+	 *         completed} or was {@link #abort() aborted}, <code>true</code> otherwise.
+	 */
+	boolean isValid();
+
+	/**
+	 * Aborts the composite operation. The state before starting the composite operation will be recovered.
+	 *
+	 * @throws ESInvalidCompositeOperationException
+	 *             if the handle is {@link #isValid() invalid}
+	 */
+	void abort() throws ESInvalidCompositeOperationException;
+
+	/**
+	 * Completes a composite operation.
+	 *
+	 * @param name
+	 *            the name for the operation
+	 * @param description
+	 *            the description of the operation
+	 * @param modelElementId
+	 *            the {@link ESModelElementId id} of the model element that is most important for the
+	 *            operation
+	 * @throws ESInvalidCompositeOperationException
+	 *             if the handle is {@link #isValid() invalid}
+	 */
+	void end(String name, String description, ESModelElementId modelElementId)
+		throws ESInvalidCompositeOperationException;
+
+}
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESLocalProject.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESLocalProject.java
index 5af0295..00169e2 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESLocalProject.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/ESLocalProject.java
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Otto von Wesendonk, Edgar Mueller, Maximilian Koegel - initial API and implementation
+ * Johannes Faltermeier - ESCompositeOperationHandle support
  ******************************************************************************/
 package org.eclipse.emf.emfstore.client;
 
@@ -34,6 +35,7 @@
  * @author emueller
  * @author wesendon
  * @author mkoegel
+ * @author jfaltermeier
  *
  * @noextend This interface is not intended to be extended by clients.
  * @noimplement This interface is not intended to be implemented by clients.
@@ -304,4 +306,15 @@
 	 * @return the ID of the project
 	 */
 	ESLocalProjectId getLocalProjectId();
+
+	/**
+	 * Call this method to begin a composite operation. A composite operation will group all operations which are
+	 * recorded during the composite operation's lifetime as a logical unit.
+	 *
+	 * @return a {@link ESCompositeOperationHandle handle} to
+	 *         {@link ESCompositeOperationHandle#end(String, String, ESModelElementId) stop} the composite operation or
+	 *         to {@link ESCompositeOperationHandle#abort() abort} it.
+	 * @since 1.7
+	 */
+	ESCompositeOperationHandle beginCompositeOperation();
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/exceptions/ESInvalidCompositeOperationException.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/exceptions/ESInvalidCompositeOperationException.java
new file mode 100644
index 0000000..1ace0e8
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/client/exceptions/ESInvalidCompositeOperationException.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 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.client.exceptions;
+
+/**
+ * Thrown when an operation is executed on a {@link org.eclipse.emf.emfstore.client.ESCompositeOperationHandle
+ * ESCompositeOperationHandle} after recording has ended or was aborted.
+ *
+ * @author Johannes Faltermeier
+ * @since 1.7
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ *
+ */
+public class ESInvalidCompositeOperationException extends Exception {
+
+	private static final long serialVersionUID = -6381478147210693404L;
+
+	/**
+	 * @param message the message describing the error
+	 */
+	public ESInvalidCompositeOperationException(String message) {
+		super(message);
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/configuration/Behavior.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/configuration/Behavior.java
index 317cc5f..1d84561 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/configuration/Behavior.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/configuration/Behavior.java
@@ -110,7 +110,7 @@
 	 * @param enabled whether to enable auto save
 	 */
 	public void setAutoSave(boolean enabled) {
-		isAutoSaveActive = new Boolean(enabled);
+		isAutoSaveActive = Boolean.valueOf(enabled);
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/CompositeOperationHandle.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/CompositeOperationHandle.java
index aa94732..4d12aab 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/CompositeOperationHandle.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/CompositeOperationHandle.java
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * koegel
+ * Johannes Faltermeier - API Delegate
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.model;
 
@@ -15,6 +16,8 @@
 
 import org.eclipse.emf.emfstore.internal.client.model.exceptions.InvalidHandleException;
 import org.eclipse.emf.emfstore.internal.client.model.impl.OperationRecorder;
+import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESCompositeOperationHandleImpl;
+import org.eclipse.emf.emfstore.internal.common.api.APIDelegate;
 import org.eclipse.emf.emfstore.internal.common.model.ModelElementId;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.CompositeOperation;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.SemanticCompositeOperation;
@@ -23,12 +26,14 @@
  * A handle to control a composite operation during recording.
  *
  * @author koegel
+ * @author Johannes Faltermeier
  */
-public class CompositeOperationHandle {
+public class CompositeOperationHandle implements APIDelegate<ESCompositeOperationHandleImpl> {
 
 	private boolean isValid;
 	private CompositeOperation compositeOperation;
 	private OperationRecorder operationRecorder;
+	private ESCompositeOperationHandleImpl handle;
 
 	/**
 	 * Default constructor.
@@ -118,4 +123,25 @@
 		semanticCompositeOperation.getSubOperations().addAll(compositeOperation.getSubOperations());
 		operationRecorder.endCompositeOperation(semanticCompositeOperation);
 	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.internal.common.api.APIDelegate#toAPI()
+	 */
+	public ESCompositeOperationHandleImpl toAPI() {
+		if (handle == null) {
+			handle = createAPI();
+		}
+		return handle;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.internal.common.api.APIDelegate#createAPI()
+	 */
+	public ESCompositeOperationHandleImpl createAPI() {
+		return new ESCompositeOperationHandleImpl(this);
+	}
 }
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 3a1ce1b..2c69a82 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
@@ -61,6 +61,7 @@
 import org.eclipse.emf.emfstore.internal.client.provider.ClientXMIResourceSetProvider;
 import org.eclipse.emf.emfstore.internal.client.startup.ClientHrefMigrator;
 import org.eclipse.emf.emfstore.internal.common.ESDisposable;
+import org.eclipse.emf.emfstore.internal.common.ESRunnableWrapperProvider;
 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;
@@ -80,7 +81,7 @@
  * @author jfaltermeier
  */
 public final class ESWorkspaceProviderImpl implements ESWorkspaceProvider, ESCommitObserver, ESUpdateObserver,
-ESShareObserver, ESCheckoutObserver, ESDisposable {
+	ESShareObserver, ESCheckoutObserver, ESDisposable {
 
 	private static final String WORKSPACE_INIT_EXT_POINT_ID = "org.eclipse.emf.emfstore.client.workspaceInitObserver"; //$NON-NLS-1$
 
@@ -143,12 +144,12 @@
 	 */
 	public static Runnable initRunnable(final Runnable runnable) {
 		final ESWorkspaceProviderImpl ws = WS_THREAD_LOCAL.get();
-		return new Runnable() {
+		return ESRunnableWrapperProvider.getInstance().embedInContext(new Runnable() {
 			public void run() {
 				WS_THREAD_LOCAL.set(ws);
 				runnable.run();
 			}
-		};
+		});
 	}
 
 	/**
@@ -520,8 +521,8 @@
 		for (final ESExtensionElement element : extensionElements) {
 			try {
 				element
-				.getClass("class", ESWorkspaceInitObserver.class) //$NON-NLS-1$
-				.workspaceInitComplete(currentWorkspace.toAPI());
+					.getClass("class", ESWorkspaceInitObserver.class) //$NON-NLS-1$
+					.workspaceInitComplete(currentWorkspace.toAPI());
 			} catch (final ESExtensionPointException e) {
 				WorkspaceUtil.logException(e.getMessage(), e);
 			}
@@ -602,7 +603,7 @@
 		} catch (final IOException e) {
 			WorkspaceUtil.logException(
 				Messages.ESWorkspaceProviderImpl_Create_Workspace_Failed
-				+ Configuration.getFileInfo().getWorkspaceDirectory(),
+					+ Configuration.getFileInfo().getWorkspaceDirectory(),
 				e);
 		}
 		return workspace;
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/SessionManager.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/SessionManager.java
index 494e36e..f247a9d 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/SessionManager.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/connectionmanager/SessionManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+ * Copyright (c) 2008-2015 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
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Otto von Wesendonk - initial API and implementation
+ * Edgar Mueller - Bug 482407
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.model.connectionmanager;
 
@@ -22,6 +23,9 @@
 import org.eclipse.emf.emfstore.internal.client.model.Usersession;
 import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESServerCallImpl;
 import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESUsersessionImpl;
+import org.eclipse.emf.emfstore.internal.client.model.util.WorkspaceUtil;
+import org.eclipse.emf.emfstore.internal.common.ESRunnableWrapperProvider;
+import org.eclipse.emf.emfstore.internal.server.exceptions.AccessControlException;
 import org.eclipse.emf.emfstore.internal.server.exceptions.SessionTimedOutException;
 import org.eclipse.emf.emfstore.internal.server.exceptions.UnknownSessionException;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
@@ -60,9 +64,8 @@
 		final ESUsersessionImpl session = (ESUsersessionImpl) getSessionProvider().provideUsersession(
 			new ESServerCallImpl<T>(serverCall));
 		serverCall.setUsersession(session.toInternalAPI());
-		// TODO OTS
-		final Usersession loginUsersession = loginUsersession(session.toInternalAPI(), false);
-		executeCall(serverCall, loginUsersession, true);
+		final Usersession loggedInSession = loginUsersession(session.toInternalAPI(), false);
+		executeCall(serverCall, loggedInSession, true);
 	}
 
 	/**
@@ -113,6 +116,26 @@
 			return ((ESUsersessionImpl) session).toInternalAPI();
 		}
 
+		// having isLoggedIn return true does not necessarily mean we have a
+		// session representation on the server side, which always must be the case
+		ESRunnableWrapperProvider.getInstance().embedInContext(new Runnable() {
+
+			public void run() {
+				RunESCommand.run(new Callable<Void>() {
+					public Void call() throws Exception {
+						try {
+							usersession.logIn();
+						} catch (final AccessControlException ex) {
+							WorkspaceUtil.logException(ex.getMessage(), ex);
+						} catch (final ESException ex) {
+							WorkspaceUtil.logException(ex.getMessage(), ex);
+						}
+						return null;
+					}
+				});
+			}
+		}).run();
+
 		return usersession;
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/OperationRecorder.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/OperationRecorder.java
index e7285e5..0721b65 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/OperationRecorder.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/OperationRecorder.java
@@ -542,16 +542,16 @@
 		// delete all non containment cross references to other elements
 		for (final EObject modelElement : allEObjects) {
 			for (final EReference reference : modelElement.eClass().getEAllReferences()) {
-				final EClassifier eType = reference.getEType();
 
-				if (!EClass.class.isInstance(eType)) {
+				if (!EClass.class.isInstance(reference.getEType())) {
 					continue;
 				}
+				final EClass eClass = (EClass) reference.getEType();
 
-				if (Map.Entry.class.isAssignableFrom(eType.getInstanceClass()) && reference.isContainment()
+				if (Map.Entry.class.isAssignableFrom(eClass.getInstanceClass()) && reference.isContainment()
 					&& reference.isChangeable()) {
 
-					handleMapEntryDeletion(modelElement, eType, reference, allEObjects);
+					handleMapEntryDeletion(modelElement, eClass, reference, allEObjects);
 					continue;
 				}
 
@@ -616,56 +616,48 @@
 		return referencedElementsCopy;
 	}
 
-	private void handleMapEntryDeletion(EObject modelElement, EClassifier eType, EReference reference,
+	private void handleMapEntryDeletion(EObject modelElement, EClass mapEntryEClass, EReference reference,
 		Set<EObject> allEObjects) {
-		final EClass mapEntryEClass = (EClass) eType;
-		final EReference nonContainmentKeyReference = getNonContainmentKeyReference(mapEntryEClass);
 
+		@SuppressWarnings("unchecked")
+		final List<EObject> mapEntriesEList = (List<EObject>) modelElement.eGet(reference);
+		final Set<EObject> mapEntriesToRemove = new LinkedHashSet<EObject>();
+
+		final EReference nonContainmentKeyReference = getNonContainmentKeyReference(mapEntryEClass);
 		// key references seems to be containment, skip loop
 		if (nonContainmentKeyReference == null) {
 			return;
 		}
 
-		@SuppressWarnings("unchecked")
-		final List<EObject> mapEntriesEList = (List<EObject>) modelElement.eGet(reference);
-		boolean outgoingKeyReferenceFound = false;
+		// find all map entries which reference an object outside of the containment tree
+		// with their non-containment key
+		for (final EObject mapEntry : mapEntriesEList) {
 
-		// check key reference of all map entries if they reference one of the objects in the containment
-		// tree
-		for (final EObject eObject : mapEntriesEList) {
+			final Object targetElement = mapEntry.eGet(nonContainmentKeyReference);
 
-			final Object eGet = eObject.eGet(nonContainmentKeyReference);
-
-			if (!allEObjects.contains(eGet)) {
-				outgoingKeyReferenceFound = true;
-				break;
+			if (!allEObjects.contains(targetElement)) {
+				mapEntriesToRemove.add(mapEntry);
 			}
 		}
 
-		if (!outgoingKeyReferenceFound) {
-			// no bad reference found, skip special treatment
+		if (mapEntriesToRemove.isEmpty()) {
 			return;
 		}
 
-		// copy list before clearing reference
-		// TODO is this really the underlying list
-		final List<EObject> mapEntries = new ArrayList<EObject>(mapEntriesEList);
-
 		// the reference is a containment map feature and its referenced entries do have at least one
-		// non-containment key crossreference that goes to an element outside of
-		// the containment tree, therefore we
-		// delete the map entries
+		// non-containment key cross-reference that goes to an element outside of
+		// the containment tree, therefore we delete respective map entries
 		// instead of waiting for the referenced key element to be cut off from the map entry
 		// in the children recursion
-		// since cutting off a key reference will render the map into an invalid state on deserialization
+		// since cutting off a key reference will render the map into an invalid state on de-serialization
 		// which can
 		// result in unresolved proxies
 		EcoreUtil.resolveAll(modelElement);
-		modelElement.eUnset(reference);
-		for (final EObject mapEntry : mapEntries) {
-			handleElementDelete(mapEntry);
-		}
 
+		for (final EObject mapEntryToRemove : mapEntriesToRemove) {
+			mapEntriesEList.remove(mapEntryToRemove);
+			handleElementDelete(mapEntryToRemove);
+		}
 	}
 
 	private EReference getNonContainmentKeyReference(EClass eClass) {
@@ -683,16 +675,18 @@
 
 	private void handleElementDelete(EObject deletedElement) {
 
-		final Set<EObject> allContainedModelElementsSet = ModelUtil.getAllContainedModelElements(deletedElement, false);
-		allContainedModelElementsSet.add(deletedElement);
-		deleteOutgoingCrossReferencesOfContainmentTree(allContainedModelElementsSet);
+		final Set<EObject> allDeletedModelElements = ModelUtil.getAllContainedModelElements(deletedElement,
+			false /* includeTransientContainments is false */);
+		allDeletedModelElements.add(deletedElement);
+		deleteOutgoingCrossReferencesOfContainmentTree(allDeletedModelElements);
 
 		if (config.isCutOffIncomingCrossReferences()) {
-
-			for (final EObject eObject : allContainedModelElementsSet) {
+			for (final EObject element : allDeletedModelElements) {
 				// delete incoming cross references
-				final Collection<Setting> inverseReferences = projectSpace.findInverseCrossReferences(eObject);
-				ModelUtil.deleteIncomingCrossReferencesFromParent(inverseReferences, eObject);
+				final Collection<Setting> inverseReferences = projectSpace.findInverseCrossReferences(element);
+				ModelUtil.deleteIncomingCrossReferencesToElement(element,
+					inverseReferences,
+					allDeletedModelElements);
 
 			}
 		}
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ProjectSpaceBase.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ProjectSpaceBase.java
index 6743ae1..74d9d65 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ProjectSpaceBase.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ProjectSpaceBase.java
@@ -660,28 +660,12 @@
 		initPropertyMap();
 
 		final URI localChangePackageUri = ESClientURIUtil.createOperationsURI(this);
-		AbstractChangePackage localChangePackage = getLocalChangePackage();
+		final AbstractChangePackage localChangePackage = getLocalChangePackage();
 
 		if (localChangePackage == null) {
-			if (Configuration.getClientBehavior().useInMemoryChangePackage()) {
-				localChangePackage = VersioningFactory.eINSTANCE.createChangePackage();
-				final Resource resource = getResourceSet().createResource(localChangePackageUri);
-				resource.getContents().add(localChangePackage);
-			} else {
-				final URI normalizedUri = getResourceSet().getURIConverter().normalize(localChangePackageUri);
-				final String filePath = normalizedUri.toFileString();
-				localChangePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
-				((FileBasedChangePackage) localChangePackage)
-					.initialize(filePath + FileBasedChangePackageImpl.FILE_OP_INDEX);
-				final Resource resource = getResourceSet().createResource(localChangePackageUri);
-				resource.getContents().add(localChangePackage);
-				try {
-					resource.save(ModelUtil.getResourceSaveOptions());
-				} catch (final IOException ex) {
-					WorkspaceUtil.logException(ex.getMessage(), ex);
-				}
-			}
-			setChangePackage(localChangePackage);
+			setChangePackage(createChangePackage(localChangePackageUri, true));
+		} else if (localChangePackage.eIsProxy()) {
+			setChangePackage(createChangePackage(localChangePackageUri, false));
 		} else {
 			if (!Configuration.getClientBehavior().useInMemoryChangePackage()) {
 				final FileBasedChangePackage changePackage = (FileBasedChangePackage) getLocalChangePackage();
@@ -719,13 +703,48 @@
 		cleanCutElements();
 	}
 
+	private AbstractChangePackage createChangePackage(URI localChangePackageUri, boolean initialize) {
+
+		AbstractChangePackage localChangePackage;
+
+		if (Configuration.getClientBehavior().useInMemoryChangePackage()) {
+			localChangePackage = VersioningFactory.eINSTANCE.createChangePackage();
+			final Resource resource = getResourceSet().createResource(localChangePackageUri);
+			resource.getContents().add(localChangePackage);
+		} else {
+			final URI normalizedUri = getResourceSet().getURIConverter().normalize(localChangePackageUri);
+			final String filePath = normalizedUri.toFileString();
+			localChangePackage = VersioningFactory.eINSTANCE.createFileBasedChangePackage();
+
+			if (initialize) {
+				((FileBasedChangePackage) localChangePackage)
+					.initialize(filePath + FileBasedChangePackageImpl.FILE_OP_INDEX);
+			} else {
+				((FileBasedChangePackage) localChangePackage).setFilePath(
+					filePath + FileBasedChangePackageImpl.FILE_OP_INDEX);
+			}
+
+			final Resource resource = getResourceSet().createResource(localChangePackageUri);
+			resource.getContents().add(localChangePackage);
+			try {
+				resource.save(ModelUtil.getResourceSaveOptions());
+			} catch (final IOException ex) {
+				WorkspaceUtil.logException(ex.getMessage(), ex);
+			}
+		}
+
+		return localChangePackage;
+	}
+
 	private void migrateFileBasedChangePackageIntoDedicatedResource(final URI localChangePackageUri,
 		final FileBasedChangePackage changePackage) {
 
 		final URI normalizedUri = getResourceSet().getURIConverter().normalize(localChangePackageUri);
 		final String filePath = normalizedUri.toFileString();
+
 		final String tempPath = changePackage.getTempFilePath();
 		final String path = changePackage.getFilePath();
+
 		RunESCommand.run(new ESVoidCallable() {
 			@Override
 			public void run() {
@@ -733,19 +752,27 @@
 			}
 		});
 
-		try {
-			FileUtils.moveFile(new File(tempPath), new File(changePackage.getTempFilePath()));
-			FileUtils.moveFile(new File(path), new File(changePackage.getFilePath()));
-		} catch (final IOException ex) {
-			WorkspaceUtil.logException(ex.getMessage(), ex);
+		if (path != null) {
+			// temp file depends on path
+			try {
+				FileUtils.moveFile(new File(tempPath), new File(changePackage.getTempFilePath()));
+				FileUtils.moveFile(new File(path), new File(changePackage.getFilePath()));
+			} catch (final IOException ex) {
+				WorkspaceUtil.logException(ex.getMessage(), ex);
+			}
 		}
 
+		Resource resource = getResourceSet().getResource(localChangePackageUri, true);
+		if (resource == null) {
+			resource = getResourceSet().createResource(localChangePackageUri);
+		}
+
+		final Resource r = resource;
 		// move change package into its own resource
-		final Resource resource = getResourceSet().createResource(localChangePackageUri);
 		RunESCommand.run(new ESVoidCallable() {
 			@Override
 			public void run() {
-				resource.getContents().add(changePackage);
+				r.getContents().add(changePackage);
 				setChangePackage(changePackage);
 			}
 		});
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ResourcePersister.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ResourcePersister.java
index 2f00668..dd2709a 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ResourcePersister.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/ResourcePersister.java
@@ -172,7 +172,7 @@
 			}
 
 			try {
-				if (projectSpace.getLocalChangePackage().eResource() == resource) {
+				if (projectSpace.getLocalChangePackage().eResource().getURI().equals(resource.getURI())) {
 					projectSpace.getLocalChangePackage().save();
 				} else {
 					ModelUtil.saveResource(resource, WorkspaceUtil.getResourceLogger());
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESCompositeOperationHandleImpl.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESCompositeOperationHandleImpl.java
new file mode 100644
index 0000000..e7b6017
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESCompositeOperationHandleImpl.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 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.client.model.impl.api;
+
+import java.util.concurrent.Callable;
+
+import org.eclipse.emf.emfstore.client.ESCompositeOperationHandle;
+import org.eclipse.emf.emfstore.client.exceptions.ESInvalidCompositeOperationException;
+import org.eclipse.emf.emfstore.client.util.RunESCommand;
+import org.eclipse.emf.emfstore.common.model.ESModelElementId;
+import org.eclipse.emf.emfstore.internal.client.model.CompositeOperationHandle;
+import org.eclipse.emf.emfstore.internal.client.model.exceptions.InvalidHandleException;
+import org.eclipse.emf.emfstore.internal.common.api.AbstractAPIImpl;
+import org.eclipse.emf.emfstore.internal.common.model.impl.ESModelElementIdImpl;
+
+/**
+ * Implementation of {@link ESCompositeOperationHandle}.
+ *
+ * @author Johannes Faltermeier
+ *
+ */
+public class ESCompositeOperationHandleImpl extends
+	AbstractAPIImpl<ESCompositeOperationHandleImpl, CompositeOperationHandle> implements ESCompositeOperationHandle {
+
+	/**
+	 * @param internal the non-API instance
+	 */
+	public ESCompositeOperationHandleImpl(CompositeOperationHandle internal) {
+		super(internal);
+	}
+
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.client.ESCompositeOperationHandle#isValid()
+	 */
+	public boolean isValid() {
+		return RunESCommand.runWithResult(new Callable<Boolean>() {
+			public Boolean call() throws Exception {
+				return toInternalAPI().isValid();
+			}
+		});
+	}
+
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.client.ESCompositeOperationHandle#abort()
+	 */
+	public void abort() throws ESInvalidCompositeOperationException {
+		RunESCommand.WithException.run(ESInvalidCompositeOperationException.class, new Callable<Void>() {
+			public Void call() throws ESInvalidCompositeOperationException {
+				try {
+					toInternalAPI().abort();
+					return null;
+				} catch (final InvalidHandleException ex) {
+					throw new ESInvalidCompositeOperationException(ex.getMessage());
+				}
+			}
+		});
+	}
+
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.client.ESCompositeOperationHandle#end(java.lang.String, java.lang.String,
+	 *      org.eclipse.emf.emfstore.common.model.ESModelElementId)
+	 */
+	public void end(final String name, final String description, final ESModelElementId modelElementId)
+		throws ESInvalidCompositeOperationException {
+		RunESCommand.WithException.run(ESInvalidCompositeOperationException.class, new Callable<Void>() {
+			public Void call() throws ESInvalidCompositeOperationException {
+				try {
+					toInternalAPI().end(name, description,
+						ESModelElementIdImpl.class.cast(modelElementId).toInternalAPI());
+					return null;
+				} catch (final InvalidHandleException ex) {
+					throw new ESInvalidCompositeOperationException(ex.getMessage());
+				}
+			}
+		});
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESLocalProjectImpl.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESLocalProjectImpl.java
index ad1962e..f4a5f1e 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESLocalProjectImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESLocalProjectImpl.java
@@ -8,6 +8,7 @@
  *
  * Contributors:
  * Edgar Mueller - initial API and implementation
+ * Johannes Faltermeier - ESCompositeOperationHandle support
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.client.model.impl.api;
 
@@ -22,6 +23,7 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.emfstore.client.ESCompositeOperationHandle;
 import org.eclipse.emf.emfstore.client.ESLocalProject;
 import org.eclipse.emf.emfstore.client.ESRemoteProject;
 import org.eclipse.emf.emfstore.client.ESUsersession;
@@ -75,6 +77,7 @@
  * </p>
  *
  * @author emueller
+ * @author jfaltermeier
  *
  */
 public class ESLocalProjectImpl extends AbstractAPIImpl<ESLocalProjectImpl, ProjectSpace>
@@ -148,8 +151,8 @@
 
 		final ESVersionSpecImpl<?, ? extends VersionSpec> versionSpecImpl = (ESVersionSpecImpl<?, ?>) versionSpec;
 
-		final PrimaryVersionSpec resolvedVersionSpec =
-			RunESCommand.WithException.runWithResult(ESException.class, new Callable<PrimaryVersionSpec>() {
+		final PrimaryVersionSpec resolvedVersionSpec = RunESCommand.WithException.runWithResult(ESException.class,
+			new Callable<PrimaryVersionSpec>() {
 				public PrimaryVersionSpec call() throws Exception {
 					return new ServerCall<PrimaryVersionSpec>(toInternalAPI(), monitor) {
 						@Override
@@ -424,7 +427,7 @@
 	 */
 	public ESPrimaryVersionSpec commitToBranch(final ESBranchVersionSpec branch, final String logMessage,
 		final ESCommitCallback callback, final IProgressMonitor monitor) throws InvalidVersionSpecException,
-		ESUpdateRequiredException, ESException {
+			ESUpdateRequiredException, ESException {
 
 		final PrimaryVersionSpec versionSpec = RunESCommand.WithException.runWithResult(ESException.class,
 			new Callable<PrimaryVersionSpec>() {
@@ -473,7 +476,7 @@
 	 */
 	public ESPrimaryVersionSpec update(ESVersionSpec versionSpec, final ESUpdateCallback callback,
 		final IProgressMonitor monitor)
-		throws ChangeConflictException, ESException {
+			throws ChangeConflictException, ESException {
 
 		final VersionSpec version;
 
@@ -594,7 +597,8 @@
 	 * @see org.eclipse.emf.emfstore.client.ESLocalProject#shareProject(org.eclipse.emf.emfstore.client.ESUsersession,
 	 *      org.eclipse.core.runtime.IProgressMonitor)
 	 */
-	public ESRemoteProject shareProject(final ESUsersession session, final IProgressMonitor monitor) throws ESException {
+	public ESRemoteProject shareProject(final ESUsersession session, final IProgressMonitor monitor)
+		throws ESException {
 
 		final ESUsersessionImpl usersessionImpl = (ESUsersessionImpl) session;
 
@@ -835,4 +839,17 @@
 		});
 	}
 
+	/**
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.client.ESLocalProject#beginCompositeOperation()
+	 */
+	public ESCompositeOperationHandle beginCompositeOperation() {
+		return RunESCommand.runWithResult(new Callable<ESCompositeOperationHandle>() {
+			public ESCompositeOperationHandle call() throws Exception {
+				return toInternalAPI().beginCompositeOperation().toAPI();
+			}
+		});
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESServerFactoryImpl.java b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESServerFactoryImpl.java
index 2ec8422..c2e8cbd 100644
--- a/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESServerFactoryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.client/src/org/eclipse/emf/emfstore/internal/client/model/impl/api/ESServerFactoryImpl.java
@@ -83,9 +83,12 @@
 				throw new ESServerStartFailedException(e);
 			}
 		}
+		final String port = ServerConfiguration.getProperties().getProperty(
+			ServerConfiguration.XML_RPC_PORT,
+			ServerConfiguration.XML_RPC_PORT_DEFAULT);
 		final ESServer server = createServer(LOCAL_SERVER_NAME,
 			LOCALHOST,
-			Integer.parseInt(ServerConfiguration.XML_RPC_PORT_DEFAULT),
+			Integer.parseInt(port),
 			KeyStoreManager.DEFAULT_CERTIFICATE);
 		return server;
 	}
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 1d6c7fc..6a48c92 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.server.model.e
+ r;version="1.7.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.6.2,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.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 04ebbc0..d97f14d 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 1c4c8de..b874b41 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.emf.emfstore.common;bundle-version="[1.7.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.6.2",
- org.eclipse.emf.emfstore.common.model.util;version="1.6.2",org.eclips
- e.emf.emfstore.internal.common.model;version="1.6.2"; x-friends:="org
+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
  .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.6.2"; x-friends:="org.eclipse.emf.em
+ nal.common.model.impl;version="1.7.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.6.2";x-internal:=true,or
- g.eclipse.emf.emfstore.internal.common.model.util;version="1.6.2"; x-
+ 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-
  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
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/pom.xml b/bundles/org.eclipse.emf.emfstore.common.model/pom.xml
index 6a18198..a8b1f3c 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/AssociationClassElement.java b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/AssociationClassElement.java
index e8ccf7e..73d8f45 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/AssociationClassElement.java
+++ b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/AssociationClassElement.java
@@ -18,7 +18,7 @@
 
 /**
  * <!-- begin-user-doc --> A model element which represents an association class. An association class corresponds to a
- * link between to elements which carries additional attributes, such as a label of the link.</b></em>'. <!--
+ * link between to elements which carries additional attributes, such as a label of the link.'. <!--
  * end-user-doc -->
  *
  *
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/IdEObjectCollection.java b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/IdEObjectCollection.java
index 4d3f603..10f28d3 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/IdEObjectCollection.java
+++ b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/IdEObjectCollection.java
@@ -11,7 +11,6 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.common.model;
 
-import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
 
@@ -52,7 +51,7 @@
 	 *
 	 * @param modelElementIds the collection of {@link ModelElementId}s to be removed from the allocated cache
 	 */
-	void clearAllocatedCaches(Collection<ModelElementId> modelElementIds);
+	void clearAllocatedCaches(Set<ModelElementId> modelElementIds);
 
 	/**
 	 * Allocates certain IDs for the given model elements in the mapping.
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/impl/IdEObjectCollectionImpl.java b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/impl/IdEObjectCollectionImpl.java
index ef2fdee..0f77858 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/impl/IdEObjectCollectionImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/impl/IdEObjectCollectionImpl.java
@@ -332,7 +332,7 @@
 		// remove cross references
 		ModelUtil.deleteOutgoingCrossReferences(this, modelElement);
 		final Collection<Setting> crossReferences = UsageCrossReferencer.find(modelElement, this);
-		ModelUtil.deleteIncomingCrossReferencesFromParent(crossReferences, modelElement);
+		ModelUtil.deleteIncomingCrossReferencesToElement(modelElement, crossReferences, new LinkedHashSet<EObject>());
 
 		// remove containment
 		final EObject containerModelElement = ModelUtil.getContainerModelElement(modelElement);
@@ -816,10 +816,10 @@
 	/**
 	 *
 	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.emfstore.internal.common.model.IdEObjectCollection#clearAllocatedCaches(java.util.Collection)
+	 * 
+	 * @see org.eclipse.emf.emfstore.internal.common.model.IdEObjectCollection#clearAllocatedCaches(java.util.Set)
 	 */
-	public void clearAllocatedCaches(Collection<ModelElementId> modelElementIds) {
+	public void clearAllocatedCaches(Set<ModelElementId> modelElementIds) {
 		allocatedIdToEObjectMap.keySet().removeAll(modelElementIds);
 		allocatedEObjectToIdMap.values().removeAll(modelElementIds);
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/EObjectChangeNotifier.java b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/EObjectChangeNotifier.java
index 8d637c3..5078065 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/EObjectChangeNotifier.java
+++ b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/EObjectChangeNotifier.java
@@ -176,6 +176,7 @@
 
 			// Do not create notifications for transient features
 			if (eReference.isTransient()) {
+				currentNotifications.pop();
 				return;
 			}
 
diff --git a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/ModelUtil.java b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/ModelUtil.java
index caa1dc7..22043f4 100644
--- a/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/ModelUtil.java
+++ b/bundles/org.eclipse.emf.emfstore.common.model/src/org/eclipse/emf/emfstore/internal/common/model/util/ModelUtil.java
@@ -1165,33 +1165,43 @@
 
 	/**
 	 * Delete the given incoming cross references to the given model element from any
-	 * other model element in the given project.
+	 * other model element in the given collection except for the set of source elements
+	 * to ignore.
 	 *
 	 * @param inverseReferences a collection of inverse references
-	 * @param modelElement
+	 * @param element
 	 *            the model element
+	 * @param referenceSourceElementsToIgnore
+	 *            the set of all elements referencing the element to be ignored
 	 */
-	public static void deleteIncomingCrossReferencesFromParent(Collection<Setting> inverseReferences,
-		EObject modelElement) {
+	public static void deleteIncomingCrossReferencesToElement(
+		EObject element,
+		Collection<Setting> inverseReferences,
+		Set<EObject> referenceSourceElementsToIgnore) {
+
 		for (final Setting setting : inverseReferences) {
+
 			final EStructuralFeature eStructuralFeature = setting.getEStructuralFeature();
 			final EReference reference = (EReference) eStructuralFeature;
+			final EObject sourceElement = setting.getEObject();
+
+			if (referenceSourceElementsToIgnore.contains(sourceElement)) {
+				continue;
+			}
 
 			if (reference.isContainer() || reference.isContainment() || !reference.isChangeable()) {
 				continue;
 			}
 
-			final EObject opposite = setting.getEObject();
-
 			if (eStructuralFeature.isMany()) {
-				((EList<?>) opposite.eGet(eStructuralFeature)).remove(modelElement);
+				((EList<?>) sourceElement.eGet(eStructuralFeature)).remove(element);
 			} else {
-				if (opposite instanceof Map.Entry<?, ?> && eStructuralFeature.getName().equals("key")) { //$NON-NLS-1$
+				if (sourceElement instanceof Map.Entry<?, ?> && eStructuralFeature.getName().equals("key")) { //$NON-NLS-1$
 					logWarning(MessageFormat.format(
-						Messages.ModelUtil_Incoming_CrossRef_Is_Map_Key, modelElement));
+						Messages.ModelUtil_Incoming_CrossRef_Is_Map_Key, element));
 				}
 
-				opposite.eUnset(eStructuralFeature);
+				sourceElement.eUnset(eStructuralFeature);
 			}
 		}
 	}
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 229627a..551bc87 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2",org.apache.commons.io.comparator;v
+ .apache.commons.io;version="1.7.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.6.2",org.apac
- he.commons.lang;version="1.6.2",org.eclipse.emf.emfstore.common;versi
- on="1.6.2",org.eclipse.emf.emfstore.common.extensionpoint;version="1.
- 6.2",org.eclipse.emf.emfstore.internal.common;version="1.6.2"; x-frie
+ 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
  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.6.2"; x-friends:="org.eclipse.emf.em
+ e.internal.common.api;version="1.7.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.6.2"; x-friends:="org.eclipse.emf.
+ nternal.common.observer;version="1.7.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/about.properties b/bundles/org.eclipse.emf.emfstore.common/about.properties
index e7410d5..bf9b0a3 100644
--- a/bundles/org.eclipse.emf.emfstore.common/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.common/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.common/plugin.xml b/bundles/org.eclipse.emf.emfstore.common/plugin.xml
index 603c251..3b90056 100644
--- a/bundles/org.eclipse.emf.emfstore.common/plugin.xml
+++ b/bundles/org.eclipse.emf.emfstore.common/plugin.xml
@@ -1,6 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.4"?>

-<plugin>

-   <extension-point id="observerBusExtensionPointRegistration" name="Observer Markup Interface" schema="schema/observerBusExtensionPointRegistration.exsd"/>

-   <extension-point id="discardDanglingHREFs" name="Discard Dangling HREFs" schema="schema/discardDanglingHREFs.exsd"/>

-</plugin>

+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension-point id="observerBusExtensionPointRegistration" name="Observer Markup Interface" schema="schema/observerBusExtensionPointRegistration.exsd"/>
+   <extension-point id="discardDanglingHREFs" name="Discard Dangling HREFs" schema="schema/discardDanglingHREFs.exsd"/>
+   <extension-point id="runnableWrapper" name="Runnable Wrapper" schema="schema/runnableWrapper.exsd"/>
+</plugin>
diff --git a/bundles/org.eclipse.emf.emfstore.common/pom.xml b/bundles/org.eclipse.emf.emfstore.common/pom.xml
index 36c90b1..573264b 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.common/schema/runnableWrapper.exsd b/bundles/org.eclipse.emf.emfstore.common/schema/runnableWrapper.exsd
new file mode 100644
index 0000000..ffa1769
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.common/schema/runnableWrapper.exsd
@@ -0,0 +1,115 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.emf.emfstore.common" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.eclipse.emf.emfstore.common" id="runnableWrapper" name="Runnable Wrapper"/>
+      </appinfo>
+      <documentation>
+         Extension point for providing a possibility to wrap runnables. This may be needed in some cases when running on the UI Thread or when running with a Transactional Editing Domain.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="provider"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="provider">
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.emf.emfstore.common.ESRunnableWrapper"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         1.7
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="copyright"/>
+      </appinfo>
+      <documentation>
+         Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.&lt;br/&gt;
+
+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
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/common/ESRunnableWrapper.java b/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/common/ESRunnableWrapper.java
new file mode 100644
index 0000000..425d777
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/common/ESRunnableWrapper.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2015 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.common;
+
+/**
+ * Interface for providing a {@link Runnable} which will get executed on the UI Thread.
+ *
+ * @author emueller
+ * @since 1.7
+ *
+ * @noextend This interface is not intended to be extended by clients.
+ */
+public interface ESRunnableWrapper {
+
+	/**
+	 * The method is used to create a {@link Runnable} which will be executed on the UI thread. The returned
+	 * {@link Runnable} is expected to wrap the given runnable.
+	 *
+	 * @param runnable the {@link Runnable} which will be executed by the runnable
+	 * @return a {@link Runnable} which can be executed on the UI Thread in a safe fashion.
+	 * @noreference This method is not intended to be referenced by clients.
+	 */
+	Runnable createRunnable(Runnable runnable);
+}
diff --git a/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/EMFStoreResource.java b/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/EMFStoreResource.java
index 9a6db69..bdbb31f 100644
--- a/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/EMFStoreResource.java
+++ b/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/EMFStoreResource.java
@@ -11,7 +11,7 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.common;
 
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.eclipse.emf.common.util.URI;
@@ -34,7 +34,7 @@
 	 */
 	public EMFStoreResource(final URI uri) {
 		super(uri);
-		setIntrinsicIDToEObjectMap(new HashMap<String, EObject>());
+		setIntrinsicIDToEObjectMap(new LinkedHashMap<String, EObject>());
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/ESRunnableWrapperProvider.java b/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/ESRunnableWrapperProvider.java
new file mode 100644
index 0000000..a328e90
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.common/src/org/eclipse/emf/emfstore/internal/common/ESRunnableWrapperProvider.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2015 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.internal.common;
+
+import org.eclipse.emf.emfstore.common.ESRunnableWrapper;
+import org.eclipse.emf.emfstore.common.extensionpoint.ESExtensionPoint;
+
+/**
+ * Singleton for obtaining an {@link ESRunnableWrapper} instance.
+ *
+ * @author emueller
+ *
+ */
+public final class ESRunnableWrapperProvider {
+
+	private static ESRunnableWrapperProvider instance;
+	private ESRunnableWrapper runnableContext;
+	private boolean initialized;
+
+	private ESRunnableWrapperProvider() {
+
+	}
+
+	/**
+	 * Returns the {@link ESRunnableWrapperProvider} singleton instance.
+	 *
+	 * @return the {@link ESRunnableWrapperProvider} singleton
+	 */
+	public static ESRunnableWrapperProvider getInstance() {
+		if (instance == null) {
+			instance = new ESRunnableWrapperProvider();
+		}
+		return instance;
+	}
+
+	/**
+	 * Embed the given {@link Runnable} into the context of the currently
+	 * registered {@link ESRunnableWrapper} if any.
+	 *
+	 * @param runnable
+	 *            the {@link Runnable} to be embedded
+	 *
+	 * @return the wrapped {@link Runnable}
+	 */
+	public Runnable embedInContext(Runnable runnable) {
+		final ESRunnableWrapper runnableWrapper = getRunnableWrapper();
+		if (runnableWrapper == null) {
+			return runnable;
+		}
+		return runnableWrapper.createRunnable(runnable);
+	}
+
+	private ESRunnableWrapper getRunnableWrapper() {
+		if (!initialized) {
+			initialized = true;
+			runnableContext = new ESExtensionPoint("org.eclipse.emf.emfstore.common.runnableWrapper").getClass( //$NON-NLS-1$
+				"class", ESRunnableWrapper.class); //$NON-NLS-1$
+		}
+		return runnableContext;
+	}
+}
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 aaafb1a..b4c771e 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.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.emfstore.internal.ecore.Activator
-Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.6.2,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.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.6.2
+Export-Package: org.eclipse.emf.emfstore.internal.ecore;version="1.7.0
  ";x-internal:=true
diff --git a/bundles/org.eclipse.emf.emfstore.ecore/about.properties b/bundles/org.eclipse.emf.emfstore.ecore/about.properties
index 912e381..dce29ec 100644
--- a/bundles/org.eclipse.emf.emfstore.ecore/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.ecore/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.ecore/pom.xml b/bundles/org.eclipse.emf.emfstore.ecore/pom.xml
index 5cc5730..3c53a99 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 edcfe44..f9400f0 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.6.2.qualifier
+Bundle-Version: 1.7.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
- .6.2"
+ .7.0"
diff --git a/bundles/org.eclipse.emf.emfstore.example.helloworld/pom.xml b/bundles/org.eclipse.emf.emfstore.example.helloworld/pom.xml
index 2cc51ba..e33c9a9 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 7f1e5d9..12e5ae6 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.6.2.qualifier
+Bundle-Version: 1.7.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/about.properties b/bundles/org.eclipse.emf.emfstore.example.installer/about.properties
index e5d5d83..8186b68 100644
--- a/bundles/org.eclipse.emf.emfstore.example.installer/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.example.installer/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
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 2a18521..65c85b7 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.6.2.qualifier
-Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.6.2,2.0.0)",
+Bundle-Version: 1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.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.6.2";uses:="org.eclipse.emf.emfstore.client,org.eclipse.equinox.app"
+Export-Package: org.eclipse.emf.emfstore.example.helloworld;version="1.7.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 2cc51ba..e33c9a9 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 7ba952c..e759c98 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.6.2.qualifier
-Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.6.2,2.0.0)",
+Bundle-Version: 1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.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.6.2,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.6.2,2.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)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.6.2";uses:="org.eclipse.emf.emfstore.client,org.eclipse.equinox.app"
+Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.7.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 4c3f7c4..d7dc4e8 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 0ca36bf..261e2c8 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,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Example Merging client
 Bundle-SymbolicName: org.eclipse.emf.emfstore.example.merging;singleton:=true
-Bundle-Version: 1.6.2.qualifier
-Require-Bundle: org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.6.2,2.0.0)",
+Bundle-Version: 1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.client.model.edit;bundle-version="[1.7.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.6.2,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.6.2,2.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)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.6.
- 2"
+Export-Package: org.eclipse.emf.emfstore.example.merging;version="1.7.
+ 0"
diff --git a/bundles/org.eclipse.emf.emfstore.example.merging/pom.xml b/bundles/org.eclipse.emf.emfstore.example.merging/pom.xml
index 97e701b..e49316a 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 b02e6b2..8bba587 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.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-Activator: org.eclipse.emf.emfstore.exampleclient.Activator
-Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.6.2,2.0.0)",
+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)",
  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.6.2";x-internal:=true
+Export-Package: org.eclipse.emf.emfstore.exampleclient;version="1.7.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 9cabab1..83d5c65 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 800c0ca..2b2e5f2 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.6.2.qualifier
+Bundle-Version: 1.7.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.6
- .2"
+Export-Package: org.eclipse.emf.emfstore.bowling.provider;version="1.7
+ .0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.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 b35d35c..8ecd8a7 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 cefd870..ce24177 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.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.bowling;version="1.6.2",org.e
- clipse.emf.emfstore.bowling.impl;version="1.6.2",org.eclipse.emf.emfs
- tore.bowling.util;version="1.6.2"
+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"
 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 cb3b5f5..92dd397 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 ba8eef4..494dcfe 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.6.2-SNAPSHOT</version>
+    <version>1.7.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 09cd3ed..a292ee6 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.6.2-SNAPSHOT</version>
+    <version>1.7.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/pom.xml b/bundles/org.eclipse.emf.emfstore.fuzzy.emf.example/pom.xml
index 5e29e4a..aa61b50 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.6.2-SNAPSHOT</version>
+    <version>1.7.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 d0d2010..03d1ed2 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.6.2-SNAPSHOT</version>
+    <version>1.7.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/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.emfstore.migration/META-INF/MANIFEST.MF
index 2d02c5e..c5f8d30 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,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFStore Migration
 Bundle-SymbolicName: org.eclipse.emf.emfstore.migration;singleton:=true
-Bundle-Version: 1.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.6.2,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.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
- .6.2"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.
+ .7.0"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.
  emfstore.server";uses:="org.eclipse.core.runtime"
diff --git a/bundles/org.eclipse.emf.emfstore.migration/pom.xml b/bundles/org.eclipse.emf.emfstore.migration/pom.xml
index 7c494b0..cbc5e9c 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.emfstore.modelmutator/about.properties b/bundles/org.eclipse.emf.emfstore.modelmutator/about.properties
index fe03fa4..b1dcec1 100644
--- a/bundles/org.eclipse.emf.emfstore.modelmutator/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.modelmutator/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.modelmutator/pom.xml b/bundles/org.eclipse.emf.emfstore.modelmutator/pom.xml
index aa4c462..8c2b84d 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.6.2-SNAPSHOT</version>
+    <version>1.7.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 f15cd55..247074b 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.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.6.2,2.0.0)",
+Require-Bundle: org.eclipse.emf.emfstore.client;bundle-version="[1.7.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.6.2,2.0.0)"
+ org.eclipse.emf.emfstore.mongodb;bundle-version="[1.7.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.6.2
+Export-Package: org.eclipse.emf.emfstore.mongodb.client;version="1.7.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 6382ff7..283830e 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 8d01d2f..d432835 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.6.2,2.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)"
 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.6.2
+Export-Package: org.eclipse.emf.emfstore.mongodb.server;version="1.7.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 3b9477f..ce3879f 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 44f9a70..ecda6b4 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)",
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.server;bundle-version="[1.6.2,2.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)"
 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.6.2";x-fri
+Export-Package: org.eclipse.emf.emfstore.mongodb;version="1.7.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/ecpmongo.target b/bundles/org.eclipse.emf.emfstore.mongodb/ecpmongo.target
index 5b56835..24402e7 100644
--- a/bundles/org.eclipse.emf.emfstore.mongodb/ecpmongo.target
+++ b/bundles/org.eclipse.emf.emfstore.mongodb/ecpmongo.target
@@ -1,44 +1,44 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>

-<?pde version="3.8"?><target name="ECP RCP" sequenceNumber="219">

-<locations>

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

-<unit id="org.h2" version="1.1.117.v201105142352"/>

-<unit id="org.h2.source" version="1.1.117.v201105142352"/>

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

-</location>

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

-<unit id="org.eclipse.graphiti.feature.feature.group" version="0.10.0.v20130612-0936"/>

-<unit id="org.eclipse.jdt.feature.group" version="3.9.0.v20130605-2000"/>

-<unit id="org.eclipse.net4j.sdk.feature.group" version="4.2.0.v20130612-0849"/>

-<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.2.0.v20130613-1556"/>

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

-<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.10.0.v20130612-0936"/>

-<unit id="org.eclipse.emf.sdk.feature.group" version="2.9.0.v20130610-0406"/>

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

-<unit id="org.eclipse.gef.sdk.feature.group" version="3.9.0.201305060205"/>

-<repository location="http://download.eclipse.org/releases/kepler"/>

-</location>

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

-<unit id="org.eclipselabs.mongo.emf.feature.feature.group" version="0.7.1.201211071319"/>

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

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

-</location>

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

-<unit id="org.eclipse.emf.emfstore.modelmutator.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="1.0.0.v20130624-0607"/>

-<repository location="http://download.eclipse.org/emf-store/milestones/100RC5"/>

-</location>

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

-<unit id="org.eclipse.equinox.sdk.feature.group" version="3.8.0.v20121212-203907-7M7fA78g4_y-gDvtH0ZcFvhMPDZJ"/>

-<unit id="org.eclipse.platform.ide" version="4.2.2.M20130204-1200"/>

-<repository location="http://download.eclipse.org/eclipse/updates/4.2"/>

-</location>

-</locations>

-</target>

+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="ECP RCP" sequenceNumber="220">
+<locations>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<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.emf.cdo.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.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"/>
+<repository location="http://download.eclipse.org/releases/kepler"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" 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="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.emfstore.modelmutator.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.ecore.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.transaction.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.ui.historybrowsercomparator.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.common.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.example.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.server.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.emfstore.client.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/emf-store/milestones/100RC5"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" 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.2"/>
+</location>
+<location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.h2" version="0.0.0"/>
+<unit id="org.h2.source" version="0.0.0"/>
+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20151221205849/repository/"/>
+</location>
+</locations>
+</target>
diff --git a/bundles/org.eclipse.emf.emfstore.mongodb/pom.xml b/bundles/org.eclipse.emf.emfstore.mongodb/pom.xml
index 1c2d977..13deb2a 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 56c5bc9..416185c 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2";x-internal:=true,org.eclipse.emf.emfs
- tore.internal.server.model.accesscontrol.roles.provider;version="1.6.
- 2";x-internal:=true,org.eclipse.emf.emfstore.internal.server.model.pr
- ovider;version="1.6.2";x-friends:="org.eclipse.emf.emfstore.client.mo
+ ontrol.provider;version="1.7.0";x-internal:=true,org.eclipse.emf.emfs
+ tore.internal.server.model.accesscontrol.roles.provider;version="1.7.
+ 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
  del.edit,org.eclipse.emf.emfstore.client.test",org.eclipse.emf.emfsto
- re.internal.server.model.url.provider;version="1.6.2";x-internal:=tru
+ re.internal.server.model.url.provider;version="1.7.0";x-internal:=tru
  e,org.eclipse.emf.emfstore.internal.server.model.versioning.events.pr
- ovider;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.inte
- rnal.server.model.versioning.events.server.provider;version="1.6.2";x
+ 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
  -internal:=true,org.eclipse.emf.emfstore.internal.server.model.versio
- ning.operations.provider;version="1.6.2";x-friends:="org.eclipse.emf.
+ ning.operations.provider;version="1.7.0";x-friends:="org.eclipse.emf.
  emfstore.client.ui",org.eclipse.emf.emfstore.internal.server.model.ve
- rsioning.operations.semantic.provider;version="1.6.2";x-internal:=tru
+ rsioning.operations.semantic.provider;version="1.7.0";x-internal:=tru
  e,org.eclipse.emf.emfstore.internal.server.model.versioning.provider;
- version="1.6.2";x-internal:=true
-Require-Bundle: org.eclipse.emf.emfstore.server.model;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.6.2,2.0.0)",
+ 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)",
  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 ba7757d..8aa1f60 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
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 0c1b935..66ac3b6 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.e
+ ="1.7.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.6.
- 2"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.emf.emf
+ clipse.emf.emfstore.internal.server.model.accesscontrol;version="1.7.
+ 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.6.2
+ .emf.emfstore.internal.server.model.accesscontrol.impl;version="1.7.0
  ";x-friends:="org.eclipse.emf.emfstore.server",org.eclipse.emf.emfsto
- re.internal.server.model.accesscontrol.roles;version="1.6.2"; x-frien
+ re.internal.server.model.accesscontrol.roles;version="1.7.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.6.2";x-friends:="org.eclipse.e
+ el.accesscontrol.roles.impl;version="1.7.0";x-friends:="org.eclipse.e
  mf.emfstore.server",org.eclipse.emf.emfstore.internal.server.model.ac
- cesscontrol.roles.util;version="1.6.2";x-friends:="org.eclipse.emf.em
+ cesscontrol.roles.util;version="1.7.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.6.2
+ .emf.emfstore.internal.server.model.accesscontrol.util;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.server,org.ec
+ ao;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.s
+ ver.model.impl;version="1.7.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.6.2"; x-friends:="org.eclipse.emf.emfstore.client,  org.eclipse.
+ n="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.client.ui,org.eclipse.emf
+ 1.7.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.6.2"
+ f.emfstore.internal.server.model.impl.api.versionspec;version="1.7.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.6.2";x-fr
+ g.eclipse.emf.emfstore.internal.server.model.url;version="1.7.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.6.2";x-friends:="org.ecl
+ re.internal.server.model.url.impl;version="1.7.0";x-friends:="org.ecl
  ipse.emf.emfstore.server",org.eclipse.emf.emfstore.internal.server.mo
- del.url.util;version="1.6.2";x-friends:="org.eclipse.emf.emfstore.ser
+ del.url.util;version="1.7.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.6.2";x-friends:="org.eclips
+ ore.internal.server.model.util;version="1.7.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.6.2
+ .eclipse.emf.emfstore.internal.server.model.versioning;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.s
+ sioning.events;version="1.7.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.6.2";x-
+ store.internal.server.model.versioning.events.impl;version="1.7.0";x-
  friends:="org.eclipse.emf.emfstore.server",org.eclipse.emf.emfstore.i
- nternal.server.model.versioning.events.server;version="1.6.2";x-frien
+ nternal.server.model.versioning.events.server;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfst
+ .events.server.impl;version="1.7.0";x-friends:="org.eclipse.emf.emfst
  ore.server",org.eclipse.emf.emfstore.internal.server.model.versioning
- .events.server.util;version="1.6.2";x-friends:="org.eclipse.emf.emfst
+ .events.server.util;version="1.7.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.6.
- 2";x-friends:="org.eclipse.emf.emfstore.server,org.eclipse.emf.emfsto
+ f.emfstore.internal.server.model.versioning.events.util;version="1.7.
+ 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.6.2";x-friends:="org.eclipse.emf.emfstore.
+ versioning.impl;version="1.7.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.6.2";x-friend
+ rnal.server.model.versioning.impl.persistent;version="1.7.0";x-friend
  s:="org.eclipse.emf.emfstore.client",org.eclipse.emf.emfstore.interna
- l.server.model.versioning.operations;version="1.6.2"; x-friends:="org
+ l.server.model.versioning.operations;version="1.7.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,35 +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.6.2";x
+ re.internal.server.model.versioning.operations.impl;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.server,org.eclipse.emf
+ n="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.server",or
+ .impl;version="1.7.0";x-friends:="org.eclipse.emf.emfstore.server",or
  g.eclipse.emf.emfstore.internal.server.model.versioning.operations.se
- mantic.util;version="1.6.2";x-friends:="org.eclipse.emf.emfstore.serv
+ mantic.util;version="1.7.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.6.2"; 
+ re.internal.server.model.versioning.operations.util;version="1.7.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.6.2"; x-friends:="org
+ nternal.server.model.versioning.util;version="1.7.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.6.2",org.ecli
- pse.emf.emfstore.server.model;version="1.6.2",org.eclipse.emf.emfstor
- e.server.model.query;version="1.6.2",org.eclipse.emf.emfstore.server.
- model.versionspec;version="1.6.2"
-Require-Bundle: org.eclipse.emf.emfstore.common.model;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
+ 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,
  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.6.2,2.0.0)"
+ org.eclipse.emf.emfstore.common;bundle-version="[1.7.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.swt.graphics;version="0.0.0"
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/pom.xml b/bundles/org.eclipse.emf.emfstore.server.model/pom.xml
index 36ce059..adafc3a 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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/ClientVersionInfo.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ClientVersionInfo.java
index 092d55b..820b22a 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ClientVersionInfo.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ClientVersionInfo.java
@@ -23,7 +23,8 @@
  *          <p>
  *          The following features are supported:
  *          <ul>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.ClientVersionInfo#getVersion <em>Version</em>}</li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.ClientVersionInfo#getVersion <em>Version</em>}
+ *          </li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.ClientVersionInfo#getName <em>Name</em>}</li>
  *          </ul>
  *          </p>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ModelPackage.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ModelPackage.java
index 55c62e3..22514f7 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ModelPackage.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/ModelPackage.java
@@ -222,7 +222,8 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SESSION_ID_FEATURE_COUNT = org.eclipse.emf.emfstore.internal.common.model.ModelPackage.UNIQUE_IDENTIFIER_FEATURE_COUNT + 0;
+	int SESSION_ID_FEATURE_COUNT = org.eclipse.emf.emfstore.internal.common.model.ModelPackage.UNIQUE_IDENTIFIER_FEATURE_COUNT
+		+ 0;
 
 	/**
 	 * The meta object id for the ' {@link org.eclipse.emf.emfstore.internal.server.model.impl.ServerSpaceImpl
@@ -307,7 +308,8 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PROJECT_ID_FEATURE_COUNT = org.eclipse.emf.emfstore.internal.common.model.ModelPackage.UNIQUE_IDENTIFIER_FEATURE_COUNT + 0;
+	int PROJECT_ID_FEATURE_COUNT = org.eclipse.emf.emfstore.internal.common.model.ModelPackage.UNIQUE_IDENTIFIER_FEATURE_COUNT
+		+ 0;
 
 	/**
 	 * The meta object id for the ' {@link org.eclipse.emf.emfstore.internal.server.model.impl.VersionInfoImpl
@@ -405,7 +407,8 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FILE_IDENTIFIER_FEATURE_COUNT = org.eclipse.emf.emfstore.internal.common.model.ModelPackage.IDENTIFIABLE_ELEMENT_FEATURE_COUNT + 0;
+	int FILE_IDENTIFIER_FEATURE_COUNT = org.eclipse.emf.emfstore.internal.common.model.ModelPackage.IDENTIFIABLE_ELEMENT_FEATURE_COUNT
+		+ 0;
 
 	/**
 	 * The meta object id for the '
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/ACOrgUnit.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/ACOrgUnit.java
index 9bad47f..617ded2 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/ACOrgUnit.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/ACOrgUnit.java
@@ -25,8 +25,10 @@
  *          <p>
  *          The following features are supported:
  *          <ul>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit#getName <em>Name</em>}</li>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit#getRoles <em>Roles</em>}</li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit#getName <em>Name</em>}
+ *          </li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit#getRoles <em>Roles</em>}
+ *          </li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit#getDescription <em>
  *          Description </em>}</li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit#getProperties <em>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/OrgUnitProperty.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/OrgUnitProperty.java
index a886160..c3cdf97 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/OrgUnitProperty.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/OrgUnitProperty.java
@@ -22,7 +22,8 @@
  * <ul>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.OrgUnitProperty#getName <em>Name</em>}</li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.OrgUnitProperty#getValue <em>Value</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.OrgUnitProperty#getProject <em>Project</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.OrgUnitProperty#getProject <em>Project</em>}
+ * </li>
  * </ul>
  * </p>
  *
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACGroupImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACGroupImpl.java
index a47cc12..fec571b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACGroupImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACGroupImpl.java
@@ -33,7 +33,7 @@
  *
  * @generated
  */
-public class ACGroupImpl extends ACOrgUnitImpl<ESGroup> implements ACGroup {
+public class ACGroupImpl extends ACOrgUnitImpl<ESGroup>implements ACGroup {
 
 	/**
 	 * @generated NOT
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACOrgUnitImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACOrgUnitImpl.java
index d13434c..a268fa9 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACOrgUnitImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACOrgUnitImpl.java
@@ -35,8 +35,10 @@
  * <p>
  * The following features are implemented:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.ACOrgUnitImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.ACOrgUnitImpl#getRoles <em>Roles</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.ACOrgUnitImpl#getName <em>Name</em>}
+ * </li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.ACOrgUnitImpl#getRoles <em>Roles</em>}
+ * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.ACOrgUnitImpl#getDescription <em>
  * Description</em>}</li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.impl.ACOrgUnitImpl#getProperties <em>
@@ -150,7 +152,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, AccesscontrolPackage.AC_ORG_UNIT__NAME, oldName, name));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, AccesscontrolPackage.AC_ORG_UNIT__NAME, oldName, name));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACUserImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACUserImpl.java
index f6476fa..52bdb55 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACUserImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/ACUserImpl.java
@@ -44,7 +44,7 @@
  *
  * @generated
  */
-public class ACUserImpl extends ACOrgUnitImpl<ESUser> implements ACUser {
+public class ACUserImpl extends ACOrgUnitImpl<ESUser>implements ACUser {
 
 	/**
 	 * @generated NOT
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/AccesscontrolPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/AccesscontrolPackageImpl.java
index c1af758..d4aa105 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/AccesscontrolPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/AccesscontrolPackageImpl.java
@@ -127,7 +127,7 @@
 		// Obtain or create and register package
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
 			.get(eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
-			: new AccesscontrolPackageImpl());
+				: new AccesscontrolPackageImpl());
 
 		isInited = true;
 
@@ -135,31 +135,32 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theAccesscontrolPackage.createPackageContents();
@@ -447,73 +448,51 @@
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(acUserEClass, ACUser.class, "ACUser", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getACUser_FirstName(),
-			ecorePackage.getEString(),
-			"firstName", null, 0, 1, ACUser.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getACUser_LastName(),
-			ecorePackage.getEString(),
-			"lastName", null, 0, 1, ACUser.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getACUser_EffectiveGroups(),
-			getACGroup(),
-			null,
-			"effectiveGroups", null, 0, -1, ACUser.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getACUser_Password(),
-			ecorePackage.getEString(),
-			"password", null, 0, 1, ACUser.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getACUser_FirstName(), ecorePackage.getEString(), "firstName", null, 0, 1, ACUser.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getACUser_LastName(), ecorePackage.getEString(), "lastName", null, 0, 1, ACUser.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getACUser_EffectiveGroups(), getACGroup(), null, "effectiveGroups", null, 0, -1, ACUser.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getACUser_Password(), ecorePackage.getEString(), "password", null, 0, 1, ACUser.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(acOrgUnitEClass, ACOrgUnit.class,
-			"ACOrgUnit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getACOrgUnit_Name(),
-			ecorePackage.getEString(),
-			"name", null, 1, 1, ACOrgUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getACOrgUnit_Roles(),
-			theRolesPackage.getRole(),
-			null,
-			"roles", null, 0, -1, ACOrgUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getACOrgUnit_Description(),
-			ecorePackage.getEString(),
-			"description", null, 0, 1, ACOrgUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getACOrgUnit_Properties(),
-			getOrgUnitProperty(),
-			null,
-			"properties", null, 0, -1, ACOrgUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(acOrgUnitEClass, ACOrgUnit.class, "ACOrgUnit", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getACOrgUnit_Name(), ecorePackage.getEString(), "name", null, 1, 1, ACOrgUnit.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getACOrgUnit_Roles(), theRolesPackage.getRole(), null, "roles", null, 0, -1, ACOrgUnit.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getACOrgUnit_Description(), ecorePackage.getEString(), "description", null, 0, 1, //$NON-NLS-1$
+			ACOrgUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+			IS_ORDERED);
+		initEReference(getACOrgUnit_Properties(), getOrgUnitProperty(), null, "properties", null, 0, -1, //$NON-NLS-1$
+			ACOrgUnit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		addEOperation(acOrgUnitEClass, getACOrgUnitId(), "getId", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(acGroupEClass, ACGroup.class, "ACGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getACGroup_Members(),
-			getACOrgUnit(),
-			null,
-			"members", null, 0, -1, ACGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getACGroup_Members(), getACOrgUnit(), null, "members", null, 0, -1, ACGroup.class, !IS_TRANSIENT, //$NON-NLS-1$
+			!IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+			IS_ORDERED);
 		getACGroup_Members().getEKeys().add(theModelPackage.getIdentifiableElement_Identifier());
 
-		initEClass(acOrgUnitIdEClass, ACOrgUnitId.class,
-			"ACOrgUnitId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(acOrgUnitIdEClass, ACOrgUnitId.class, "ACOrgUnitId", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(orgUnitPropertyEClass, OrgUnitProperty.class,
-			"OrgUnitProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getOrgUnitProperty_Name(),
-			ecorePackage.getEString(),
-			"name", null, 0, 1, OrgUnitProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getOrgUnitProperty_Value(),
-			ecorePackage.getEString(),
-			"value", null, 0, 1, OrgUnitProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getOrgUnitProperty_Project(),
-			theModelPackage_1.getProjectId(),
-			null,
-			"project", null, 0, 1, OrgUnitProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(orgUnitPropertyEClass, OrgUnitProperty.class, "OrgUnitProperty", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getOrgUnitProperty_Name(), ecorePackage.getEString(), "name", null, 0, 1, OrgUnitProperty.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getOrgUnitProperty_Value(), ecorePackage.getEString(), "value", null, 0, 1, //$NON-NLS-1$
+			OrgUnitProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getOrgUnitProperty_Project(), theModelPackage_1.getProjectId(), null, "project", null, 0, 1, //$NON-NLS-1$
+			OrgUnitProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		getOrgUnitProperty_Project().getEKeys().add(theModelPackage.getUniqueIdentifier_Id());
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/OrgUnitPropertyImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/OrgUnitPropertyImpl.java
index 3889e87..cd4b8ae 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/OrgUnitPropertyImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/impl/OrgUnitPropertyImpl.java
@@ -129,8 +129,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, AccesscontrolPackage.ORG_UNIT_PROPERTY__NAME,
-				oldName, name));
+			eNotify(new ENotificationImpl(this, Notification.SET, AccesscontrolPackage.ORG_UNIT_PROPERTY__NAME, oldName,
+				name));
 		}
 	}
 
@@ -168,11 +168,11 @@
 			project = (ProjectId) eResolveProxy(oldProject);
 			if (project != oldProject) {
 				final InternalEObject newProject = (InternalEObject) project;
-				NotificationChain msgs = oldProject.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, null);
+				NotificationChain msgs = oldProject.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, null);
 				if (newProject.eInternalContainer() == null) {
-					msgs = newProject.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, msgs);
+					msgs = newProject.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -224,12 +224,12 @@
 		if (newProject != project) {
 			NotificationChain msgs = null;
 			if (project != null) {
-				msgs = ((InternalEObject) project).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, msgs);
+				msgs = ((InternalEObject) project).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, msgs);
 			}
 			if (newProject != null) {
-				msgs = ((InternalEObject) newProject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, msgs);
+				msgs = ((InternalEObject) newProject).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - AccesscontrolPackage.ORG_UNIT_PROPERTY__PROJECT, null, msgs);
 			}
 			msgs = basicSetProject(newProject, msgs);
 			if (msgs != null) {
@@ -413,8 +413,7 @@
 	public Boolean getBooleanProperty() {
 		final String value = getValue();
 		if (value != null) {
-			final Boolean b = new Boolean(value);
-			return b;
+			return Boolean.parseBoolean(value);
 		}
 		throw new IllegalStateException("Existing key without value!"); //$NON-NLS-1$
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/roles/impl/RolesPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/roles/impl/RolesPackageImpl.java
index e4128d7..15c3ee3 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/roles/impl/RolesPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/roles/impl/RolesPackageImpl.java
@@ -125,8 +125,9 @@
 		}
 
 		// Obtain or create and register package
-		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.get(eNS_URI) : new RolesPackageImpl());
+		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
+			.get(eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+				: new RolesPackageImpl());
 
 		isInited = true;
 
@@ -134,31 +135,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theRolesPackage.createPackageContents();
@@ -330,15 +333,13 @@
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(roleEClass, Role.class, "Role", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getRole_Projects(),
-			theModelPackage_1.getProjectId(),
-			null,
-			"projects", null, 0, -1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getRole_Projects(), theModelPackage_1.getProjectId(), null, "projects", null, 0, -1, Role.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 		getRole_Projects().getEKeys().add(theModelPackage.getUniqueIdentifier_Id());
 
-		EOperation op = addEOperation(roleEClass, ecorePackage.getEBoolean(),
-			"canAdministrate", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+		EOperation op = addEOperation(roleEClass, ecorePackage.getEBoolean(), "canAdministrate", 0, 1, IS_UNIQUE, //$NON-NLS-1$
+			IS_ORDERED);
 		addEParameter(op, theModelPackage_1.getProjectId(), "projectId", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 
 		op = addEOperation(roleEClass, ecorePackage.getEBoolean(), "canCreate", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
@@ -357,17 +358,17 @@
 		addEParameter(op, theModelPackage_1.getProjectId(), "projectId", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, ecorePackage.getEObject(), "modelElement", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 
-		initEClass(readerRoleEClass, ReaderRole.class,
-			"ReaderRole", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(readerRoleEClass, ReaderRole.class, "ReaderRole", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(writerRoleEClass, WriterRole.class,
-			"WriterRole", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(writerRoleEClass, WriterRole.class, "WriterRole", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(projectAdminRoleEClass, ProjectAdminRole.class,
-			"ProjectAdminRole", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(projectAdminRoleEClass, ProjectAdminRole.class, "ProjectAdminRole", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(serverAdminEClass, ServerAdmin.class,
-			"ServerAdmin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(serverAdminEClass, ServerAdmin.class, "ServerAdmin", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 	}
 
 } // RolesPackageImpl
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolAdapterFactory.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolAdapterFactory.java
index 921700b..5ffea03 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolAdapterFactory.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolAdapterFactory.java
@@ -79,16 +79,14 @@
 	 *
 	 * @generated
 	 */
-	protected AccesscontrolSwitch<Adapter> modelSwitch = new AccesscontrolSwitch<Adapter>()
-		{
+	protected AccesscontrolSwitch<Adapter> modelSwitch = new AccesscontrolSwitch<Adapter>() {
 		@Override
 		public Adapter caseACUser(ACUser object) {
 			return createACUserAdapter();
 		}
 
 		@Override
-		public Adapter caseACOrgUnit(@SuppressWarnings("rawtypes") ACOrgUnit object)
-		{
+		public Adapter caseACOrgUnit(@SuppressWarnings("rawtypes") ACOrgUnit object) {
 			return createACOrgUnitAdapter();
 		}
 
@@ -121,144 +119,144 @@
 		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 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.internal.server.model.accesscontrol.ACUser
-		 * <em>AC User</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.internal.server.model.accesscontrol.ACUser
-		 * @generated
-		 */
-		public Adapter createACUserAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACUser
+	 * <em>AC User</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.internal.server.model.accesscontrol.ACUser
+	 * @generated
+	 */
+	public Adapter createACUserAdapter() {
+		return null;
+	}
 
-		/**
-		 * Creates a new adapter for an object of class '
-		 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit <em>AC Org Unit</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.internal.server.model.accesscontrol.ACOrgUnit
-		 * @generated
-		 */
-		public Adapter createACOrgUnitAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnit <em>AC Org Unit</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.internal.server.model.accesscontrol.ACOrgUnit
+	 * @generated
+	 */
+	public Adapter createACOrgUnitAdapter() {
+		return null;
+	}
 
-		/**
-		 * Creates a new adapter for an object of class '
-		 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACGroup
-		 * <em>AC Group</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.internal.server.model.accesscontrol.ACGroup
-		 * @generated
-		 */
-		public Adapter createACGroupAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACGroup
+	 * <em>AC Group</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.internal.server.model.accesscontrol.ACGroup
+	 * @generated
+	 */
+	public Adapter createACGroupAdapter() {
+		return null;
+	}
 
-		/**
-		 * Creates a new adapter for an object of class '
-		 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId <em>AC Org Unit Id</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.internal.server.model.accesscontrol.ACOrgUnitId
-		 * @generated
-		 */
-		public Adapter createACOrgUnitIdAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACOrgUnitId <em>AC Org Unit Id</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.internal.server.model.accesscontrol.ACOrgUnitId
+	 * @generated
+	 */
+	public Adapter createACOrgUnitIdAdapter() {
+		return null;
+	}
 
-		/**
-		 * Creates a new adapter for an object of class '
-		 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.OrgUnitProperty <em>Org Unit Property</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.internal.server.model.accesscontrol.OrgUnitProperty
-		 * @generated
-		 */
-		public Adapter createOrgUnitPropertyAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.OrgUnitProperty <em>Org Unit Property</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.internal.server.model.accesscontrol.OrgUnitProperty
+	 * @generated
+	 */
+	public Adapter createOrgUnitPropertyAdapter() {
+		return null;
+	}
 
-		/**
-		 * Creates a new adapter for an object of class '
-		 * {@link org.eclipse.emf.emfstore.internal.common.model.IdentifiableElement <em>Identifiable Element</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.internal.common.model.IdentifiableElement
-		 * @generated
-		 */
-		public Adapter createIdentifiableElementAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.common.model.IdentifiableElement <em>Identifiable Element</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.internal.common.model.IdentifiableElement
+	 * @generated
+	 */
+	public Adapter createIdentifiableElementAdapter() {
+		return null;
+	}
 
-		/**
-		 * Creates a new adapter for an object of class '
-		 * {@link org.eclipse.emf.emfstore.internal.common.model.UniqueIdentifier <em>Unique Identifier</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.internal.common.model.UniqueIdentifier
-		 * @generated
-		 */
-		public Adapter createUniqueIdentifierAdapter() {
-			return null;
-		}
+	/**
+	 * Creates a new adapter for an object of class '
+	 * {@link org.eclipse.emf.emfstore.internal.common.model.UniqueIdentifier <em>Unique Identifier</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.internal.common.model.UniqueIdentifier
+	 * @generated
+	 */
+	public Adapter createUniqueIdentifierAdapter() {
+		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;
-		}
+	/**
+	 * 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;
+	}
 
 } // AccesscontrolAdapterFactory
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolSwitch.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolSwitch.java
index b7b34b0..5d70b63 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolSwitch.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/accesscontrol/util/AccesscontrolSwitch.java
@@ -83,9 +83,7 @@
 			return doSwitch(theEClass.getClassifierID(), theEObject);
 		}
 		final List<EClass> eSuperTypes = theEClass.getESuperTypes();
-		return eSuperTypes.isEmpty() ?
-			defaultCase(theEObject) :
-				doSwitch(eSuperTypes.get(0), theEObject);
+		return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/AuthenticationInformationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/AuthenticationInformationImpl.java
index d5633f9..e233c3f 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/AuthenticationInformationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/AuthenticationInformationImpl.java
@@ -95,11 +95,11 @@
 			sessionId = (SessionId) eResolveProxy(oldSessionId);
 			if (sessionId != oldSessionId) {
 				final InternalEObject newSessionId = (InternalEObject) sessionId;
-				NotificationChain msgs = oldSessionId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, null);
+				NotificationChain msgs = oldSessionId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, null);
 				if (newSessionId.eInternalContainer() == null) {
-					msgs = newSessionId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, msgs);
+					msgs = newSessionId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -151,12 +151,12 @@
 		if (newSessionId != sessionId) {
 			NotificationChain msgs = null;
 			if (sessionId != null) {
-				msgs = ((InternalEObject) sessionId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, msgs);
+				msgs = ((InternalEObject) sessionId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, msgs);
 			}
 			if (newSessionId != null) {
-				msgs = ((InternalEObject) newSessionId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, msgs);
+				msgs = ((InternalEObject) newSessionId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__SESSION_ID, null, msgs);
 			}
 			msgs = basicSetSessionId(newSessionId, msgs);
 			if (msgs != null) {
@@ -179,11 +179,11 @@
 			resolvedACUser = (ACUser) eResolveProxy(oldResolvedACUser);
 			if (resolvedACUser != oldResolvedACUser) {
 				final InternalEObject newResolvedACUser = (InternalEObject) resolvedACUser;
-				NotificationChain msgs = oldResolvedACUser.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, null);
+				NotificationChain msgs = oldResolvedACUser.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, null);
 				if (newResolvedACUser.eInternalContainer() == null) {
-					msgs = newResolvedACUser.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, msgs);
+					msgs = newResolvedACUser.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -235,12 +235,12 @@
 		if (newResolvedACUser != resolvedACUser) {
 			NotificationChain msgs = null;
 			if (resolvedACUser != null) {
-				msgs = ((InternalEObject) resolvedACUser).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, msgs);
+				msgs = ((InternalEObject) resolvedACUser).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, msgs);
 			}
 			if (newResolvedACUser != null) {
-				msgs = ((InternalEObject) newResolvedACUser).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, msgs);
+				msgs = ((InternalEObject) newResolvedACUser).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.AUTHENTICATION_INFORMATION__RESOLVED_AC_USER, null, msgs);
 			}
 			msgs = basicSetResolvedACUser(newResolvedACUser, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ClientVersionInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ClientVersionInfoImpl.java
index 7c6f92d..2dfe6fd 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ClientVersionInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ClientVersionInfoImpl.java
@@ -25,7 +25,8 @@
  * <p>
  * The following features are implemented:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ClientVersionInfoImpl#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ClientVersionInfoImpl#getVersion <em>Version</em>}
+ * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ClientVersionInfoImpl#getName <em>Name</em>}</li>
  * </ul>
  * </p>
@@ -116,8 +117,8 @@
 		final String oldVersion = version;
 		version = newVersion;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.CLIENT_VERSION_INFO__VERSION,
-				oldVersion, version));
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.CLIENT_VERSION_INFO__VERSION, oldVersion,
+				version));
 		}
 	}
 
@@ -139,7 +140,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.CLIENT_VERSION_INFO__NAME, oldName, name));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, ModelPackage.CLIENT_VERSION_INFO__NAME, oldName, name));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ModelPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ModelPackageImpl.java
index d0b138b..1fae6b1 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ModelPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ModelPackageImpl.java
@@ -157,8 +157,9 @@
 		}
 
 		// Obtain or create and register package
-		final ModelPackageImpl theModelPackage = (ModelPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.get(eNS_URI) : new ModelPackageImpl());
+		final ModelPackageImpl theModelPackage = (ModelPackageImpl) (EPackage.Registry.INSTANCE
+			.get(eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+				: new ModelPackageImpl());
 
 		isInited = true;
 
@@ -167,29 +168,30 @@
 
 		// Obtain or create and register interdependencies
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theModelPackage.createPackageContents();
@@ -649,8 +651,7 @@
 
 		initEClass(versionInfoEClass, VersionInfo.class, "VersionInfo", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
 			IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getVersionInfo_EmfStoreVersionString(), ecorePackage.getEString(),
-			"emfStoreVersionString", //$NON-NLS-1$
+		initEAttribute(getVersionInfo_EmfStoreVersionString(), ecorePackage.getEString(), "emfStoreVersionString", //$NON-NLS-1$
 			null, 0, 1, VersionInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
 			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectHistoryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectHistoryImpl.java
index 3142cb0..7857107 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectHistoryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectHistoryImpl.java
@@ -179,11 +179,11 @@
 			projectId = (ProjectId) eResolveProxy(oldProjectId);
 			if (projectId != oldProjectId) {
 				final InternalEObject newProjectId = (InternalEObject) projectId;
-				NotificationChain msgs = oldProjectId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, null);
+				NotificationChain msgs = oldProjectId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, null);
 				if (newProjectId.eInternalContainer() == null) {
-					msgs = newProjectId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, msgs);
+					msgs = newProjectId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -235,12 +235,12 @@
 		if (newProjectId != projectId) {
 			NotificationChain msgs = null;
 			if (projectId != null) {
-				msgs = ((InternalEObject) projectId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) projectId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, msgs);
 			}
 			if (newProjectId != null) {
-				msgs = ((InternalEObject) newProjectId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) newProjectId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_HISTORY__PROJECT_ID, null, msgs);
 			}
 			msgs = basicSetProjectId(newProjectId, msgs);
 			if (msgs != null) {
@@ -476,8 +476,8 @@
 		case ModelPackage.PROJECT_HISTORY__PROJECT_NAME:
 			return PROJECT_NAME_EDEFAULT == null ? projectName != null : !PROJECT_NAME_EDEFAULT.equals(projectName);
 		case ModelPackage.PROJECT_HISTORY__PROJECT_DESCRIPTION:
-			return PROJECT_DESCRIPTION_EDEFAULT == null ? projectDescription != null : !PROJECT_DESCRIPTION_EDEFAULT
-				.equals(projectDescription);
+			return PROJECT_DESCRIPTION_EDEFAULT == null ? projectDescription != null
+				: !PROJECT_DESCRIPTION_EDEFAULT.equals(projectDescription);
 		case ModelPackage.PROJECT_HISTORY__SHARED_PROPERTIES:
 			return sharedProperties != null && !sharedProperties.isEmpty();
 		case ModelPackage.PROJECT_HISTORY__BRANCHES:
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectInfoImpl.java
index 144e461..44678d2 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ProjectInfoImpl.java
@@ -28,7 +28,8 @@
  * The following features are implemented:
  * <ul>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ProjectInfoImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ProjectInfoImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ProjectInfoImpl#getDescription <em>Description</em>}
+ * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ProjectInfoImpl#getProjectId <em>Project Id</em>}</li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ProjectInfoImpl#getVersion <em>Version</em>}</li>
  * </ul>
@@ -184,11 +185,11 @@
 			projectId = (ProjectId) eResolveProxy(oldProjectId);
 			if (projectId != oldProjectId) {
 				final InternalEObject newProjectId = (InternalEObject) projectId;
-				NotificationChain msgs = oldProjectId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_INFO__PROJECT_ID, null, null);
+				NotificationChain msgs = oldProjectId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__PROJECT_ID, null, null);
 				if (newProjectId.eInternalContainer() == null) {
-					msgs = newProjectId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- ModelPackage.PROJECT_INFO__PROJECT_ID, null, msgs);
+					msgs = newProjectId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__PROJECT_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -240,12 +241,12 @@
 		if (newProjectId != projectId) {
 			NotificationChain msgs = null;
 			if (projectId != null) {
-				msgs = ((InternalEObject) projectId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_INFO__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) projectId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__PROJECT_ID, null, msgs);
 			}
 			if (newProjectId != null) {
-				msgs = ((InternalEObject) newProjectId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_INFO__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) newProjectId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__PROJECT_ID, null, msgs);
 			}
 			msgs = basicSetProjectId(newProjectId, msgs);
 			if (msgs != null) {
@@ -268,8 +269,8 @@
 			version = (PrimaryVersionSpec) eResolveProxy(oldVersion);
 			if (version != oldVersion) {
 				final InternalEObject newVersion = (InternalEObject) version;
-				NotificationChain msgs = oldVersion.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_INFO__VERSION, null, null);
+				NotificationChain msgs = oldVersion.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__VERSION, null, null);
 				if (newVersion.eInternalContainer() == null) {
 					msgs = newVersion.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__VERSION,
 						null, msgs);
@@ -333,12 +334,12 @@
 		if (newVersion != version) {
 			NotificationChain msgs = null;
 			if (version != null) {
-				msgs = ((InternalEObject) version).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_INFO__VERSION, null, msgs);
+				msgs = ((InternalEObject) version).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__VERSION, null, msgs);
 			}
 			if (newVersion != null) {
-				msgs = ((InternalEObject) newVersion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ModelPackage.PROJECT_INFO__VERSION, null, msgs);
+				msgs = ((InternalEObject) newVersion).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ModelPackage.PROJECT_INFO__VERSION, null, msgs);
 			}
 			msgs = basicSetVersion(newVersion, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ServerSpaceImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ServerSpaceImpl.java
index 5517cfb..be09926 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ServerSpaceImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/ServerSpaceImpl.java
@@ -35,11 +35,12 @@
  *
  *
  * @extends
- *          <!-- end-user-doc -->
+ * 			<!-- end-user-doc -->
  *          <p>
  *          The following features are implemented:
  *          <ul>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ServerSpaceImpl#getGroups <em>Groups</em>}</li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ServerSpaceImpl#getGroups <em>Groups</em>}
+ *          </li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ServerSpaceImpl#getProjects <em>Projects
  *          </em>}</li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.impl.ServerSpaceImpl#getOpenSessions <em>Open
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESAuthenticationInformationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESAuthenticationInformationImpl.java
index 807aa1f..00c4cae 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESAuthenticationInformationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESAuthenticationInformationImpl.java
@@ -24,9 +24,8 @@
  *
  * @author emueller
  */
-public class ESAuthenticationInformationImpl
-extends AbstractAPIImpl<ESAuthenticationInformation, AuthenticationInformation> implements
-ESAuthenticationInformation {
+public class ESAuthenticationInformationImpl extends
+	AbstractAPIImpl<ESAuthenticationInformation, AuthenticationInformation>implements ESAuthenticationInformation {
 
 	/**
 	 * Constructor.
@@ -55,7 +54,6 @@
 	 */
 	public void setUser(ESUser user) {
 		Preconditions.checkNotNull(user);
-		toInternalAPI().setResolvedACUser(
-			(ACUser) ESUserImpl.class.cast(user).toInternalAPI());
+		toInternalAPI().setResolvedACUser((ACUser) ESUserImpl.class.cast(user).toInternalAPI());
 	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESBranchInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESBranchInfoImpl.java
index 48ac76e..0d94dc5 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESBranchInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESBranchInfoImpl.java
@@ -22,7 +22,7 @@
  * @author emueller
  *
  */
-public class ESBranchInfoImpl extends AbstractAPIImpl<ESBranchInfo, BranchInfo> implements ESBranchInfo {
+public class ESBranchInfoImpl extends AbstractAPIImpl<ESBranchInfo, BranchInfo>implements ESBranchInfo {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESChangePackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESChangePackageImpl.java
index 3e3854a..a2a6423 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESChangePackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESChangePackageImpl.java
@@ -31,7 +31,7 @@
  * @author emueller
  *
  */
-public class ESChangePackageImpl extends ESAbstractChangePackageImpl<ChangePackage> implements ESChangePackage {
+public class ESChangePackageImpl extends ESAbstractChangePackageImpl<ChangePackage>implements ESChangePackage {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESClientVersionInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESClientVersionInfoImpl.java
index c489042..a8f491b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESClientVersionInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESClientVersionInfoImpl.java
@@ -19,9 +19,8 @@
  * @author emueller
  *
  */
-public class ESClientVersionInfoImpl
-extends AbstractAPIImpl<ESClientVersionInfo, ClientVersionInfo>
-implements ESClientVersionInfo {
+public class ESClientVersionInfoImpl extends AbstractAPIImpl<ESClientVersionInfo, ClientVersionInfo>
+	implements ESClientVersionInfo {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESFileBasedChangePackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESFileBasedChangePackageImpl.java
index 9b7c5a9..42f3793 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESFileBasedChangePackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESFileBasedChangePackageImpl.java
@@ -33,8 +33,8 @@
  * @since 1.5
  *
  */
-public class ESFileBasedChangePackageImpl extends ESAbstractChangePackageImpl<FileBasedChangePackage> implements
-	ESChangePackage {
+public class ESFileBasedChangePackageImpl extends ESAbstractChangePackageImpl<FileBasedChangePackage>
+	implements ESChangePackage {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGlobalProjectIdImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGlobalProjectIdImpl.java
index b4a3ff3..d1efe90 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGlobalProjectIdImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGlobalProjectIdImpl.java
@@ -21,8 +21,8 @@
  * @author emueller
  *
  */
-public class ESGlobalProjectIdImpl extends AbstractAPIImpl<ESGlobalProjectIdImpl, ProjectId> implements
-	ESGlobalProjectId {
+public class ESGlobalProjectIdImpl extends AbstractAPIImpl<ESGlobalProjectIdImpl, ProjectId>
+	implements ESGlobalProjectId {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGroupImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGroupImpl.java
index 0e87c00..cea1ba2 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGroupImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESGroupImpl.java
@@ -24,7 +24,7 @@
  * @author emueller
  *
  */
-public class ESGroupImpl extends ESOrgUnitImpl<ESGroup> implements ESGroup {
+public class ESGroupImpl extends ESOrgUnitImpl<ESGroup>implements ESGroup {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESHistoryInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESHistoryInfoImpl.java
index 93bccad..28d374a 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESHistoryInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESHistoryInfoImpl.java
@@ -29,7 +29,7 @@
  *
  * @author emueller
  */
-public class ESHistoryInfoImpl extends AbstractAPIImpl<ESHistoryInfo, HistoryInfo> implements ESHistoryInfo {
+public class ESHistoryInfoImpl extends AbstractAPIImpl<ESHistoryInfo, HistoryInfo>implements ESHistoryInfo {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESLogMessageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESLogMessageImpl.java
index bc8946f..12c9a0b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESLogMessageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESLogMessageImpl.java
@@ -23,7 +23,7 @@
  * @author emueller
  *
  */
-public class ESLogMessageImpl extends AbstractAPIImpl<ESLogMessage, LogMessage> implements ESLogMessage {
+public class ESLogMessageImpl extends AbstractAPIImpl<ESLogMessage, LogMessage>implements ESLogMessage {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOperationImpl.java
index e055fd0..f413cce 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOperationImpl.java
@@ -19,7 +19,7 @@
  * Mapping between {@link ESOperation} and {@link AbstractOperation}.
  *
  */
-public class ESOperationImpl extends AbstractAPIImpl<ESOperation, AbstractOperation> implements ESOperation {
+public class ESOperationImpl extends AbstractAPIImpl<ESOperation, AbstractOperation>implements ESOperation {
 
 	/**
 	 * Constructs a new {@link ESOperation} by wrapping an internal operation type.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitIdImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitIdImpl.java
index fd625ea..1a38889 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitIdImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitIdImpl.java
@@ -21,7 +21,7 @@
  * @author emueller
  *
  */
-public class ESOrgUnitIdImpl extends AbstractAPIImpl<ESOrgUnitIdImpl, ACOrgUnitId> implements ESOrgUnitId {
+public class ESOrgUnitIdImpl extends AbstractAPIImpl<ESOrgUnitIdImpl, ACOrgUnitId>implements ESOrgUnitId {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitImpl.java
index 63c5682..ae57643 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESOrgUnitImpl.java
@@ -23,7 +23,7 @@
  * @author emueller
  *
  */
-public class ESOrgUnitImpl<E extends ESOrgUnit> extends AbstractAPIImpl<E, ACOrgUnit<E>> implements ESOrgUnit {
+public class ESOrgUnitImpl<E extends ESOrgUnit> extends AbstractAPIImpl<E, ACOrgUnit<E>>implements ESOrgUnit {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESProjectHistoryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESProjectHistoryImpl.java
index ffe5c49..a699283 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESProjectHistoryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESProjectHistoryImpl.java
@@ -21,7 +21,7 @@
  * @author emueller
  *
  */
-public class ESProjectHistoryImpl extends AbstractAPIImpl<ESProjectHistory, ProjectHistory> implements ESProjectHistory {
+public class ESProjectHistoryImpl extends AbstractAPIImpl<ESProjectHistory, ProjectHistory>implements ESProjectHistory {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESRoleImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESRoleImpl.java
index b446277..1ca92e9 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESRoleImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESRoleImpl.java
@@ -21,7 +21,7 @@
  * @author emueller
  *
  */
-public class ESRoleImpl extends AbstractAPIImpl<ESRole, Role> implements ESRole {
+public class ESRoleImpl extends AbstractAPIImpl<ESRole, Role>implements ESRole {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESSessionIdImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESSessionIdImpl.java
index 460e283..1b8d864 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESSessionIdImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESSessionIdImpl.java
@@ -21,7 +21,7 @@
  * @author emueller
  *
  */
-public class ESSessionIdImpl extends AbstractAPIImpl<ESSessionIdImpl, SessionId> implements ESSessionId {
+public class ESSessionIdImpl extends AbstractAPIImpl<ESSessionIdImpl, SessionId>implements ESSessionId {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESUserImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESUserImpl.java
index 6e58b7a..645af12 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESUserImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/ESUserImpl.java
@@ -20,7 +20,7 @@
  * @author emueller
  *
  */
-public class ESUserImpl extends ESOrgUnitImpl<ESUser> implements ESUser {
+public class ESUserImpl extends ESOrgUnitImpl<ESUser>implements ESUser {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESHistoryQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESHistoryQueryImpl.java
index 7dbd565..092a35a 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESHistoryQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESHistoryQueryImpl.java
@@ -23,8 +23,8 @@
  * @param <U> a subtype of the API implementation class {@link ESHistoryQueryImpl}
  * @param <T> a subtype of the internal type {@link HistoryQuery}
  */
-public abstract class ESHistoryQueryImpl<U extends ESHistoryQuery<?>, T extends HistoryQuery<U>> extends
-	AbstractAPIImpl<U, T> implements ESHistoryQuery<U> {
+public abstract class ESHistoryQueryImpl<U extends ESHistoryQuery<?>, T extends HistoryQuery<U>>
+	extends AbstractAPIImpl<U, T>implements ESHistoryQuery<U> {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESModelElementQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESModelElementQueryImpl.java
index f827be8..aa7729c 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESModelElementQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESModelElementQueryImpl.java
@@ -32,8 +32,8 @@
  * @author emueller
  *
  */
-public class ESModelElementQueryImpl extends ESRangeQueryImpl<ESModelElementQuery, ModelElementQuery> implements
-	ESModelElementQuery {
+public class ESModelElementQueryImpl extends ESRangeQueryImpl<ESModelElementQuery, ModelElementQuery>
+	implements ESModelElementQuery {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESPathQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESPathQueryImpl.java
index 2025e0f..e4163d1 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESPathQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/query/ESPathQueryImpl.java
@@ -29,7 +29,7 @@
  * @author wesendon
  * @author emueller
  */
-public class ESPathQueryImpl extends ESHistoryQueryImpl<ESPathQuery, PathQuery> implements ESPathQuery {
+public class ESPathQueryImpl extends ESHistoryQueryImpl<ESPathQuery, PathQuery>implements ESPathQuery {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESAncestorVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESAncestorVersionSpecImpl.java
index 250e61d..22eac26 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESAncestorVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESAncestorVersionSpecImpl.java
@@ -21,8 +21,8 @@
  * @author emueller
  *
  */
-public class ESAncestorVersionSpecImpl extends ESVersionSpecImpl<ESAncestorVersionSpec, AncestorVersionSpec> implements
-	ESAncestorVersionSpec {
+public class ESAncestorVersionSpecImpl extends ESVersionSpecImpl<ESAncestorVersionSpec, AncestorVersionSpec>
+	implements ESAncestorVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESBranchVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESBranchVersionSpecImpl.java
index 64e688f..0a163ad 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESBranchVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESBranchVersionSpecImpl.java
@@ -20,8 +20,8 @@
  * @author emueller
  *
  */
-public class ESBranchVersionSpecImpl extends ESVersionSpecImpl<ESBranchVersionSpec, BranchVersionSpec> implements
-	ESBranchVersionSpec {
+public class ESBranchVersionSpecImpl extends ESVersionSpecImpl<ESBranchVersionSpec, BranchVersionSpec>
+	implements ESBranchVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESDateVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESDateVersionSpecImpl.java
index 9eadc51..9aeebd9 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESDateVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESDateVersionSpecImpl.java
@@ -22,8 +22,8 @@
  * @author emueller
  *
  */
-public class ESDateVersionSpecImpl extends ESVersionSpecImpl<ESDateVersionSpec, DateVersionSpec> implements
-	ESDateVersionSpec {
+public class ESDateVersionSpecImpl extends ESVersionSpecImpl<ESDateVersionSpec, DateVersionSpec>
+	implements ESDateVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESHeadVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESHeadVersionSpecImpl.java
index 9d9a53b..c57cc5c 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESHeadVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESHeadVersionSpecImpl.java
@@ -20,8 +20,8 @@
  * @author emueller
  *
  */
-public class ESHeadVersionSpecImpl extends ESVersionSpecImpl<ESHeadVersionSpec, HeadVersionSpec> implements
-	ESHeadVersionSpec {
+public class ESHeadVersionSpecImpl extends ESVersionSpecImpl<ESHeadVersionSpec, HeadVersionSpec>
+	implements ESHeadVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESPrimaryVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESPrimaryVersionSpecImpl.java
index e00ea1e..663da5b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESPrimaryVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESPrimaryVersionSpecImpl.java
@@ -20,8 +20,8 @@
  * @author emueller
  *
  */
-public class ESPrimaryVersionSpecImpl extends ESVersionSpecImpl<ESPrimaryVersionSpec, PrimaryVersionSpec> implements
-	ESPrimaryVersionSpec {
+public class ESPrimaryVersionSpecImpl extends ESVersionSpecImpl<ESPrimaryVersionSpec, PrimaryVersionSpec>
+	implements ESPrimaryVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESTagVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESTagVersionSpecImpl.java
index b5882d4..1311af3 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESTagVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESTagVersionSpecImpl.java
@@ -20,8 +20,8 @@
  * @author emueller
  *
  */
-public class ESTagVersionSpecImpl extends ESVersionSpecImpl<ESTagVersionSpec, TagVersionSpec> implements
-	ESTagVersionSpec {
+public class ESTagVersionSpecImpl extends ESVersionSpecImpl<ESTagVersionSpec, TagVersionSpec>
+	implements ESTagVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionSpecImpl.java
index 5fbe8a4..9a88e5f 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionSpecImpl.java
@@ -24,8 +24,8 @@
  * @param <U> a subtype of the API implementation class {@link ESVersionSpecImpl}
  * @param <T> a subtype of the internal type {@link VersionSpec}
  */
-public class ESVersionSpecImpl<U extends ESVersionSpec, T extends VersionSpec & APIDelegate<U>> extends
-	AbstractAPIImpl<U, T> implements ESVersionSpec {
+public class ESVersionSpecImpl<U extends ESVersionSpec, T extends VersionSpec & APIDelegate<U>>
+	extends AbstractAPIImpl<U, T>implements ESVersionSpec {
 
 	/**
 	 * Constructor.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionsFactoryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionsFactoryImpl.java
index 0cb7025..6ae32ef 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionsFactoryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/impl/api/versionspec/ESVersionsFactoryImpl.java
@@ -59,8 +59,8 @@
 	public ESPrimaryVersionSpec createPRIMARY(ESVersionSpec versionSpec, int index) {
 		if (versionSpec instanceof ESVersionSpecImpl<?, ?>) {
 			final ESVersionSpecImpl<?, ? extends VersionSpec> versionSpecImpl = (ESVersionSpecImpl<?, ?>) versionSpec;
-			final PrimaryVersionSpec primaryVersionSpec = Versions
-				.createPRIMARY(versionSpecImpl.toInternalAPI(), index);
+			final PrimaryVersionSpec primaryVersionSpec = Versions.createPRIMARY(versionSpecImpl.toInternalAPI(),
+				index);
 			return primaryVersionSpec.toAPI();
 		}
 		throw new IllegalArgumentException();
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/ProjectUrlFragment.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/ProjectUrlFragment.java
index 04c0b0f..4e38a3f 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/ProjectUrlFragment.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/ProjectUrlFragment.java
@@ -21,7 +21,8 @@
  * The following features are supported:
  * <ul>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.url.ProjectUrlFragment#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.url.ProjectUrlFragment#getProjectId <em>Project Id</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.url.ProjectUrlFragment#getProjectId <em>Project Id</em>}
+ * </li>
  * </ul>
  * </p>
  *
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlFragmentImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlFragmentImpl.java
index bca6f93..b4f70b8 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlFragmentImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlFragmentImpl.java
@@ -120,11 +120,11 @@
 			modelElementId = (ModelElementId) eResolveProxy(oldModelElementId);
 			if (modelElementId != oldModelElementId) {
 				final InternalEObject newModelElementId = (InternalEObject) modelElementId;
-				NotificationChain msgs = oldModelElementId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, null);
+				NotificationChain msgs = oldModelElementId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, null);
 				if (newModelElementId.eInternalContainer() == null) {
-					msgs = newModelElementId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, msgs);
+					msgs = newModelElementId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -176,12 +176,12 @@
 		if (newModelElementId != modelElementId) {
 			NotificationChain msgs = null;
 			if (modelElementId != null) {
-				msgs = ((InternalEObject) modelElementId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, msgs);
+				msgs = ((InternalEObject) modelElementId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, msgs);
 			}
 			if (newModelElementId != null) {
-				msgs = ((InternalEObject) newModelElementId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, msgs);
+				msgs = ((InternalEObject) newModelElementId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL_FRAGMENT__MODEL_ELEMENT_ID, null, msgs);
 			}
 			msgs = basicSetModelElementId(newModelElementId, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlImpl.java
index 4032811..0652b52 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ModelElementUrlImpl.java
@@ -107,11 +107,11 @@
 			serverUrl = (ServerUrl) eResolveProxy(oldServerUrl);
 			if (serverUrl != oldServerUrl) {
 				final InternalEObject newServerUrl = (InternalEObject) serverUrl;
-				NotificationChain msgs = oldServerUrl.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, null);
+				NotificationChain msgs = oldServerUrl.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, null);
 				if (newServerUrl.eInternalContainer() == null) {
-					msgs = newServerUrl.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, msgs);
+					msgs = newServerUrl.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -163,12 +163,12 @@
 		if (newServerUrl != serverUrl) {
 			NotificationChain msgs = null;
 			if (serverUrl != null) {
-				msgs = ((InternalEObject) serverUrl).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, msgs);
+				msgs = ((InternalEObject) serverUrl).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, msgs);
 			}
 			if (newServerUrl != null) {
-				msgs = ((InternalEObject) newServerUrl).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, msgs);
+				msgs = ((InternalEObject) newServerUrl).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__SERVER_URL, null, msgs);
 			}
 			msgs = basicSetServerUrl(newServerUrl, msgs);
 			if (msgs != null) {
@@ -191,11 +191,11 @@
 			projectUrlFragment = (ProjectUrlFragment) eResolveProxy(oldProjectUrlFragment);
 			if (projectUrlFragment != oldProjectUrlFragment) {
 				final InternalEObject newProjectUrlFragment = (InternalEObject) projectUrlFragment;
-				NotificationChain msgs = oldProjectUrlFragment.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, null);
+				NotificationChain msgs = oldProjectUrlFragment.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, null);
 				if (newProjectUrlFragment.eInternalContainer() == null) {
-					msgs = newProjectUrlFragment.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, msgs);
+					msgs = newProjectUrlFragment.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -223,7 +223,8 @@
 	 *
 	 * @generated
 	 */
-	public NotificationChain basicSetProjectUrlFragment(ProjectUrlFragment newProjectUrlFragment, NotificationChain msgs) {
+	public NotificationChain basicSetProjectUrlFragment(ProjectUrlFragment newProjectUrlFragment,
+		NotificationChain msgs) {
 		final ProjectUrlFragment oldProjectUrlFragment = projectUrlFragment;
 		projectUrlFragment = newProjectUrlFragment;
 		if (eNotificationRequired()) {
@@ -247,12 +248,12 @@
 		if (newProjectUrlFragment != projectUrlFragment) {
 			NotificationChain msgs = null;
 			if (projectUrlFragment != null) {
-				msgs = ((InternalEObject) projectUrlFragment).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, msgs);
+				msgs = ((InternalEObject) projectUrlFragment).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, msgs);
 			}
 			if (newProjectUrlFragment != null) {
-				msgs = ((InternalEObject) newProjectUrlFragment).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, msgs);
+				msgs = ((InternalEObject) newProjectUrlFragment).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__PROJECT_URL_FRAGMENT, null, msgs);
 			}
 			msgs = basicSetProjectUrlFragment(newProjectUrlFragment, msgs);
 			if (msgs != null) {
@@ -275,11 +276,11 @@
 			modelElementUrlFragment = (ModelElementUrlFragment) eResolveProxy(oldModelElementUrlFragment);
 			if (modelElementUrlFragment != oldModelElementUrlFragment) {
 				final InternalEObject newModelElementUrlFragment = (InternalEObject) modelElementUrlFragment;
-				NotificationChain msgs = oldModelElementUrlFragment.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, null);
+				NotificationChain msgs = oldModelElementUrlFragment.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, null);
 				if (newModelElementUrlFragment.eInternalContainer() == null) {
-					msgs = newModelElementUrlFragment.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, msgs);
+					msgs = newModelElementUrlFragment.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -334,21 +335,21 @@
 		if (newModelElementUrlFragment != modelElementUrlFragment) {
 			NotificationChain msgs = null;
 			if (modelElementUrlFragment != null) {
-				msgs = ((InternalEObject) modelElementUrlFragment).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, msgs);
+				msgs = ((InternalEObject) modelElementUrlFragment).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, msgs);
 			}
 			if (newModelElementUrlFragment != null) {
-				msgs = ((InternalEObject) newModelElementUrlFragment).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, msgs);
+				msgs = ((InternalEObject) newModelElementUrlFragment).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, null, msgs);
 			}
 			msgs = basicSetModelElementUrlFragment(newModelElementUrlFragment, msgs);
 			if (msgs != null) {
 				msgs.dispatch();
 			}
 		} else if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET,
-				UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT, newModelElementUrlFragment,
-				newModelElementUrlFragment));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, UrlPackage.MODEL_ELEMENT_URL__MODEL_ELEMENT_URL_FRAGMENT,
+					newModelElementUrlFragment, newModelElementUrlFragment));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ProjectUrlFragmentImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ProjectUrlFragmentImpl.java
index 6ec7824..a124651 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ProjectUrlFragmentImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ProjectUrlFragmentImpl.java
@@ -102,7 +102,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, UrlPackage.PROJECT_URL_FRAGMENT__NAME, oldName, name));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, UrlPackage.PROJECT_URL_FRAGMENT__NAME, oldName, name));
 		}
 	}
 
@@ -117,11 +118,11 @@
 			projectId = (ProjectId) eResolveProxy(oldProjectId);
 			if (projectId != oldProjectId) {
 				final InternalEObject newProjectId = (InternalEObject) projectId;
-				NotificationChain msgs = oldProjectId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, null);
+				NotificationChain msgs = oldProjectId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, null);
 				if (newProjectId.eInternalContainer() == null) {
-					msgs = newProjectId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, msgs);
+					msgs = newProjectId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -173,12 +174,12 @@
 		if (newProjectId != projectId) {
 			NotificationChain msgs = null;
 			if (projectId != null) {
-				msgs = ((InternalEObject) projectId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) projectId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, msgs);
 			}
 			if (newProjectId != null) {
-				msgs = ((InternalEObject) newProjectId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) newProjectId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - UrlPackage.PROJECT_URL_FRAGMENT__PROJECT_ID, null, msgs);
 			}
 			msgs = basicSetProjectId(newProjectId, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ServerUrlImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ServerUrlImpl.java
index b131cb3..7c5380d 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ServerUrlImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/ServerUrlImpl.java
@@ -107,8 +107,8 @@
 		final String oldHostName = hostName;
 		hostName = newHostName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, UrlPackage.SERVER_URL__HOST_NAME, oldHostName,
-				hostName));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, UrlPackage.SERVER_URL__HOST_NAME, oldHostName, hostName));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/UrlPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/UrlPackageImpl.java
index 2c08fbe..58c683b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/UrlPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/url/impl/UrlPackageImpl.java
@@ -117,8 +117,8 @@
 		}
 
 		// Obtain or create and register package
-		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.get(eNS_URI) : new UrlPackageImpl());
+		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
+			.get(eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UrlPackageImpl());
 
 		isInited = true;
 
@@ -126,31 +126,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theUrlPackage.createPackageContents();
@@ -417,8 +419,8 @@
 		initEReference(getModelElementUrl_ServerUrl(), getServerUrl(), null, "serverUrl", null, 0, 1, //$NON-NLS-1$
 			ModelElementUrl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
 			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getModelElementUrl_ProjectUrlFragment(), getProjectUrlFragment(), null,
-			"projectUrlFragment", null, 0, 1, ModelElementUrl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
+		initEReference(getModelElementUrl_ProjectUrlFragment(), getProjectUrlFragment(), null, "projectUrlFragment", //$NON-NLS-1$
+			null, 0, 1, ModelElementUrl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
 			IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getModelElementUrl_ModelElementUrlFragment(), getModelElementUrlFragment(), null,
 			"modelElementUrlFragment", null, 0, 1, ModelElementUrl.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/BranchInfo.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/BranchInfo.java
index aeb52e7..caa88ea 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/BranchInfo.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/BranchInfo.java
@@ -25,7 +25,8 @@
  *          <ul>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.BranchInfo#getName <em>Name</em>}</li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.BranchInfo#getHead <em>Head</em>}</li>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.BranchInfo#getSource <em>Source</em>}</li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.BranchInfo#getSource <em>Source</em>}
+ *          </li>
  *          </ul>
  *          </p>
  *
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/FileBasedChangePackage.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/FileBasedChangePackage.java
index 97e7bba..a154797 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/FileBasedChangePackage.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/FileBasedChangePackage.java
@@ -10,6 +10,8 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.model.versioning;
 
+import java.io.IOException;
+
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.emfstore.internal.common.api.APIDelegate;
 import org.eclipse.emf.emfstore.server.model.ESChangePackage;
@@ -120,4 +122,15 @@
 	 */
 	String getTempFilePath();
 
+	/**
+	 * Moves this change package.
+	 *
+	 * @param newFilePath
+	 *            the file path where the change package should be moved to
+	 * @throws IOException in case of an error during move
+	 *
+	 * @generated NOT
+	 */
+	void move(String newFilePath) throws IOException;
+
 } // FileBasedChangePackage
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
new file mode 100644
index 0000000..2f3fff6
--- /dev/null
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/ImageProxy.java
@@ -0,0 +1,201 @@
+/*******************************************************************************
+ * Copyright (c) 2015 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.internal.server.model.versioning;
+
+/**
+ * Proxy for an ImageData object in order to avoid depdendency to SWT.
+ *
+ * @author emueller
+ *
+ */
+public final class ImageProxy {
+
+	private int width;
+	private int height;
+	private int depth;
+	private int scanlinePad;
+	private byte[] data;
+	private int redMask;
+	private int greenMask;
+	private int blueMask;
+
+	private ImageProxy() {
+
+	}
+
+	/**
+	 * Creates an image proxy.
+	 *
+	 * @return the created image proxy
+	 */
+	public static ImageProxy create() {
+		return new ImageProxy();
+	}
+
+	/**
+	 * Sets the width of an image.
+	 *
+	 * @param width the width
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setWitdh(int width) {
+		this.width = width;
+		return this;
+	}
+
+	/**
+	 * Sets the height of an image.
+	 *
+	 * @param height the height
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setHeight(int height) {
+		this.height = height;
+		return this;
+	}
+
+	/**
+	 * Sets the color depth.
+	 *
+	 * @param depth the color depth
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setDepth(int depth) {
+		this.depth = depth;
+		return this;
+	}
+
+	/**
+	 * Sets the scanline pad.
+	 *
+	 * @param scanlinePad the scanline pad
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setScanlinePad(int scanlinePad) {
+		this.scanlinePad = scanlinePad;
+		return this;
+	}
+
+	/**
+	 * Sets the actual image data.
+	 *
+	 * @param data the image data as a byte array
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setData(byte[] data) {
+		this.data = data;
+		return this;
+	}
+
+	/**
+	 * @return the width
+	 */
+	public int getWidth() {
+		return width;
+	}
+
+	/**
+	 * @param width the width to set
+	 */
+	public void setWidth(int width) {
+		this.width = width;
+	}
+
+	/**
+	 * @return the height
+	 */
+	public int getHeight() {
+		return height;
+	}
+
+	/**
+	 * @return the data
+	 */
+	public byte[] getData() {
+		return data;
+	}
+
+	/**
+	 * @return the depth
+	 */
+	public int getDepth() {
+		return depth;
+	}
+
+	/**
+	 * @return the scanlinePad
+	 */
+	public int getScanlinePad() {
+		return scanlinePad;
+	}
+
+	/**
+	 * Returns the red mask for a {@code Palette}.
+	 *
+	 * @return the red mask
+	 */
+	public int getRedMask() {
+		return redMask;
+	}
+
+	/**
+	 * Returns the green mask for a {@code Palette}.
+	 *
+	 * @return the green mask
+	 */
+	public int getGreenMask() {
+		return greenMask;
+	}
+
+	/**
+	 * Returns the blue mask for a {@code Palette}.
+	 *
+	 * @return the blue mask
+	 */
+	public int getBlueMask() {
+		return blueMask;
+	}
+
+	/**
+	 * Sets the red mask for a {@code Palette}.
+	 *
+	 * @param mask the red mask
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setRedMask(int mask) {
+		redMask = mask;
+		return this;
+	}
+
+	/**
+	 * Sets the green mask for a {@code Palette}.
+	 *
+	 * @param mask the green mask
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setGreenMask(int mask) {
+		greenMask = mask;
+		return this;
+	}
+
+	/**
+	 * Sets the blue mask for a {@code Palette}.
+	 *
+	 * @param mask the blue mask
+	 * @return this {@link ImageProxy}
+	 */
+	public ImageProxy setBlueMask(int mask) {
+		blueMask = mask;
+		return this;
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/LogMessage.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/LogMessage.java
index f0e2624..1915ad5 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/LogMessage.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/LogMessage.java
@@ -25,7 +25,8 @@
  *          <p>
  *          The following features are supported:
  *          <ul>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.LogMessage#getAuthor <em>Author</em>}</li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.LogMessage#getAuthor <em>Author</em>}
+ *          </li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.LogMessage#getMessage <em>Message</em>}
  *          </li>
  *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.LogMessage#getDate <em>Date</em>}</li>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/OperationProxy.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/OperationProxy.java
index 76317c1..fbd5b62 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/OperationProxy.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/OperationProxy.java
@@ -12,7 +12,6 @@
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.swt.graphics.Image;
 
 /**
  * <!-- begin-user-doc -->
@@ -58,13 +57,14 @@
 	void setLabel(String label);
 
 	/**
-	 * Sets the image to be used by the label provider.
+	 * Sets the image proxy that is used by the label provider to
+	 * create the appropriate image.
 	 *
-	 * @param image the image to be set
+	 * @param imageProxy the image proxy
 	 *
 	 * @generated NOT
 	 */
-	void setImage(Image image);
+	void setImage(ImageProxy imageProxy);
 
 	/**
 	 * Returns the image to be used by the label provider.
@@ -73,7 +73,7 @@
 	 *
 	 * @generated NOT
 	 */
-	Image getImage();
+	ImageProxy getImage();
 
 	/**
 	 * Returns the label to be used by the label provider.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PathQuery.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PathQuery.java
index c168a4a..329f78f 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PathQuery.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PathQuery.java
@@ -21,7 +21,8 @@
  *          <p>
  *          The following features are supported:
  *          <ul>
- *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.PathQuery#getTarget <em>Target</em>}</li>
+ *          <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.PathQuery#getTarget <em>Target</em>}
+ *          </li>
  *          </ul>
  *          </p>
  *
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PrimaryVersionSpec.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PrimaryVersionSpec.java
index d404e3c..22754ba 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PrimaryVersionSpec.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/PrimaryVersionSpec.java
@@ -35,8 +35,8 @@
  * @model
  * @generated
  */
-public interface PrimaryVersionSpec extends VersionSpec, Comparable<PrimaryVersionSpec>,
-	APIDelegate<ESPrimaryVersionSpec> {
+public interface PrimaryVersionSpec
+	extends VersionSpec, Comparable<PrimaryVersionSpec>, APIDelegate<ESPrimaryVersionSpec> {
 
 	/**
 	 * Returns the value of the '<em><b>Identifier</b></em>' attribute. <!--
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/Version.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/Version.java
index 4ac92ae..8bf1baf 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/Version.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/Version.java
@@ -21,9 +21,11 @@
  * <p>
  * The following features are supported:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getPrimarySpec <em>Primary Spec</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getPrimarySpec <em>Primary Spec</em>}
+ * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getTagSpecs <em>Tag Specs</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getNextVersion <em>Next Version</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getNextVersion <em>Next Version</em>}
+ * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getPreviousVersion <em>Previous Version
  * </em>}</li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.Version#getLogMessage <em>Log Message</em>}</li>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/Event.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/Event.java
index a64c70d..9a0fef0 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/Event.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/Event.java
@@ -20,7 +20,8 @@
  * <p>
  * The following features are supported:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.events.Event#getTimestamp <em>Timestamp</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.events.Event#getTimestamp <em>Timestamp</em>}
+ * </li>
  * </ul>
  * </p>
  *
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventImpl.java
index 4e610ac..cc282a2 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventImpl.java
@@ -89,8 +89,8 @@
 		final Date oldTimestamp = timestamp;
 		timestamp = newTimestamp;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT__TIMESTAMP, oldTimestamp,
-				timestamp));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT__TIMESTAMP, oldTimestamp, timestamp));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventsPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventsPackageImpl.java
index 6a14f03..5931a06 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventsPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/impl/EventsPackageImpl.java
@@ -92,8 +92,9 @@
 		}
 
 		// Obtain or create and register package
-		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.get(eNS_URI) : new EventsPackageImpl());
+		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
+			.get(eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+				: new EventsPackageImpl());
 
 		isInited = true;
 
@@ -101,31 +102,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theEventsPackage.createPackageContents();
@@ -250,10 +253,8 @@
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(eventEClass, Event.class, "Event", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getEvent_Timestamp(),
-			ecorePackage.getEDate(),
-			"timestamp", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getEvent_Timestamp(), ecorePackage.getEDate(), "timestamp", null, 0, 1, Event.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 	}
 
 } // EventsPackageImpl
\ 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/events/server/impl/ProjectUpdatedEventImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ProjectUpdatedEventImpl.java
index eb16261..d82ec6c 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ProjectUpdatedEventImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ProjectUpdatedEventImpl.java
@@ -74,11 +74,11 @@
 			newVersion = (PrimaryVersionSpec) eResolveProxy(oldNewVersion);
 			if (newVersion != oldNewVersion) {
 				final InternalEObject newNewVersion = (InternalEObject) newVersion;
-				NotificationChain msgs = oldNewVersion.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, null);
+				NotificationChain msgs = oldNewVersion.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, null);
 				if (newNewVersion.eInternalContainer() == null) {
-					msgs = newNewVersion.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, msgs);
+					msgs = newNewVersion.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -130,12 +130,12 @@
 		if (newNewVersion != newVersion) {
 			NotificationChain msgs = null;
 			if (newVersion != null) {
-				msgs = ((InternalEObject) newVersion).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, msgs);
+				msgs = ((InternalEObject) newVersion).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, msgs);
 			}
 			if (newNewVersion != null) {
-				msgs = ((InternalEObject) newNewVersion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, msgs);
+				msgs = ((InternalEObject) newNewVersion).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ServerPackage.PROJECT_UPDATED_EVENT__NEW_VERSION, null, msgs);
 			}
 			msgs = basicSetNewVersion(newNewVersion, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerPackageImpl.java
index 45c07d5..69bfa84 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerPackageImpl.java
@@ -108,8 +108,9 @@
 		}
 
 		// Obtain or create and register package
-		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.get(eNS_URI) : new ServerPackageImpl());
+		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
+			.get(eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+				: new ServerPackageImpl());
 
 		isInited = true;
 
@@ -117,31 +118,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theServerPackage.createPackageContents();
@@ -301,24 +304,20 @@
 		projectUpdatedEventEClass.getESuperTypes().add(getServerProjectEvent());
 
 		// Initialize classes and features; add operations and parameters
-		initEClass(serverEventEClass, ServerEvent.class,
-			"ServerEvent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(serverEventEClass, ServerEvent.class, "ServerEvent", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(serverProjectEventEClass, ServerProjectEvent.class,
-			"ServerProjectEvent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getServerProjectEvent_ProjectId(),
-			theModelPackage_1.getProjectId(),
-			null,
-			"projectId", null, 0, 1, ServerProjectEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(serverProjectEventEClass, ServerProjectEvent.class, "ServerProjectEvent", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getServerProjectEvent_ProjectId(), theModelPackage_1.getProjectId(), null, "projectId", null, 0, //$NON-NLS-1$
+			1, ServerProjectEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(projectUpdatedEventEClass, ProjectUpdatedEvent.class,
-			"ProjectUpdatedEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getProjectUpdatedEvent_NewVersion(),
-			theVersioningPackage.getPrimaryVersionSpec(),
-			null,
-			"newVersion", null, 0, 1, ProjectUpdatedEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(projectUpdatedEventEClass, ProjectUpdatedEvent.class, "ProjectUpdatedEvent", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getProjectUpdatedEvent_NewVersion(), theVersioningPackage.getPrimaryVersionSpec(), null,
+			"newVersion", null, 0, 1, ProjectUpdatedEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
+			IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 	}
 
 } // ServerPackageImpl
\ 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/events/server/impl/ServerProjectEventImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerProjectEventImpl.java
index 60675f2..d610d36 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerProjectEventImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/events/server/impl/ServerProjectEventImpl.java
@@ -73,11 +73,11 @@
 			projectId = (ProjectId) eResolveProxy(oldProjectId);
 			if (projectId != oldProjectId) {
 				final InternalEObject newProjectId = (InternalEObject) projectId;
-				NotificationChain msgs = oldProjectId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, null);
+				NotificationChain msgs = oldProjectId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, null);
 				if (newProjectId.eInternalContainer() == null) {
-					msgs = newProjectId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, msgs);
+					msgs = newProjectId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -129,12 +129,12 @@
 		if (newProjectId != projectId) {
 			NotificationChain msgs = null;
 			if (projectId != null) {
-				msgs = ((InternalEObject) projectId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) projectId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, msgs);
 			}
 			if (newProjectId != null) {
-				msgs = ((InternalEObject) newProjectId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, msgs);
+				msgs = ((InternalEObject) newProjectId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - ServerPackage.SERVER_PROJECT_EVENT__PROJECT_ID, null, msgs);
 			}
 			msgs = basicSetProjectId(newProjectId, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/AncestorVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/AncestorVersionSpecImpl.java
index dc7176b..629fdbc 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/AncestorVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/AncestorVersionSpecImpl.java
@@ -87,11 +87,11 @@
 			target = (PrimaryVersionSpec) eResolveProxy(oldTarget);
 			if (target != oldTarget) {
 				final InternalEObject newTarget = (InternalEObject) target;
-				NotificationChain msgs = oldTarget.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, null);
+				NotificationChain msgs = oldTarget.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, null);
 				if (newTarget.eInternalContainer() == null) {
-					msgs = newTarget.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, msgs);
+					msgs = newTarget.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -143,12 +143,12 @@
 		if (newTarget != target) {
 			NotificationChain msgs = null;
 			if (target != null) {
-				msgs = ((InternalEObject) target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, msgs);
+				msgs = ((InternalEObject) target).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, msgs);
 			}
 			if (newTarget != null) {
-				msgs = ((InternalEObject) newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, msgs);
+				msgs = ((InternalEObject) newTarget).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__TARGET, null, msgs);
 			}
 			msgs = basicSetTarget(newTarget, msgs);
 			if (msgs != null) {
@@ -171,11 +171,11 @@
 			source = (PrimaryVersionSpec) eResolveProxy(oldSource);
 			if (source != oldSource) {
 				final InternalEObject newSource = (InternalEObject) source;
-				NotificationChain msgs = oldSource.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, null);
+				NotificationChain msgs = oldSource.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, null);
 				if (newSource.eInternalContainer() == null) {
-					msgs = newSource.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, msgs);
+					msgs = newSource.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -227,12 +227,12 @@
 		if (newSource != source) {
 			NotificationChain msgs = null;
 			if (source != null) {
-				msgs = ((InternalEObject) source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, msgs);
+				msgs = ((InternalEObject) source).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, msgs);
 			}
 			if (newSource != null) {
-				msgs = ((InternalEObject) newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, msgs);
+				msgs = ((InternalEObject) newSource).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.ANCESTOR_VERSION_SPEC__SOURCE, null, msgs);
 			}
 			msgs = basicSetSource(newSource, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/BranchInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/BranchInfoImpl.java
index 19bada9..1b1f670 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/BranchInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/BranchInfoImpl.java
@@ -28,7 +28,8 @@
  * <ul>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.BranchInfoImpl#getName <em>Name</em>}</li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.BranchInfoImpl#getHead <em>Head</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.BranchInfoImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.BranchInfoImpl#getSource <em>Source</em>}
+ * </li>
  * </ul>
  * </p>
  *
@@ -133,11 +134,11 @@
 			head = (PrimaryVersionSpec) eResolveProxy(oldHead);
 			if (head != oldHead) {
 				final InternalEObject newHead = (InternalEObject) head;
-				NotificationChain msgs = oldHead.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.BRANCH_INFO__HEAD, null, null);
+				NotificationChain msgs = oldHead.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__HEAD, null, null);
 				if (newHead.eInternalContainer() == null) {
-					msgs = newHead.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__HEAD,
-						null, msgs);
+					msgs = newHead.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__HEAD, null,
+						msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -189,19 +190,20 @@
 		if (newHead != head) {
 			NotificationChain msgs = null;
 			if (head != null) {
-				msgs = ((InternalEObject) head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.BRANCH_INFO__HEAD, null, msgs);
+				msgs = ((InternalEObject) head).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__HEAD, null, msgs);
 			}
 			if (newHead != null) {
-				msgs = ((InternalEObject) newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.BRANCH_INFO__HEAD, null, msgs);
+				msgs = ((InternalEObject) newHead).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__HEAD, null, msgs);
 			}
 			msgs = basicSetHead(newHead, msgs);
 			if (msgs != null) {
 				msgs.dispatch();
 			}
 		} else if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.BRANCH_INFO__HEAD, newHead, newHead));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, VersioningPackage.BRANCH_INFO__HEAD, newHead, newHead));
 		}
 	}
 
@@ -216,8 +218,8 @@
 			source = (PrimaryVersionSpec) eResolveProxy(oldSource);
 			if (source != oldSource) {
 				final InternalEObject newSource = (InternalEObject) source;
-				NotificationChain msgs = oldSource.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.BRANCH_INFO__SOURCE, null, null);
+				NotificationChain msgs = oldSource.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__SOURCE, null, null);
 				if (newSource.eInternalContainer() == null) {
 					msgs = newSource.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__SOURCE,
 						null, msgs);
@@ -272,12 +274,12 @@
 		if (newSource != source) {
 			NotificationChain msgs = null;
 			if (source != null) {
-				msgs = ((InternalEObject) source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.BRANCH_INFO__SOURCE, null, msgs);
+				msgs = ((InternalEObject) source).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__SOURCE, null, msgs);
 			}
 			if (newSource != null) {
-				msgs = ((InternalEObject) newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.BRANCH_INFO__SOURCE, null, msgs);
+				msgs = ((InternalEObject) newSource).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.BRANCH_INFO__SOURCE, null, msgs);
 			}
 			msgs = basicSetSource(newSource, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageImpl.java
index aa4149e..396c660 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageImpl.java
@@ -186,11 +186,11 @@
 			logMessage = (LogMessage) eResolveProxy(oldLogMessage);
 			if (logMessage != oldLogMessage) {
 				final InternalEObject newLogMessage = (InternalEObject) logMessage;
-				NotificationChain msgs = oldLogMessage.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, null);
+				NotificationChain msgs = oldLogMessage.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, null);
 				if (newLogMessage.eInternalContainer() == null) {
-					msgs = newLogMessage.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, msgs);
+					msgs = newLogMessage.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -242,12 +242,12 @@
 		if (newLogMessage != logMessage) {
 			NotificationChain msgs = null;
 			if (logMessage != null) {
-				msgs = ((InternalEObject) logMessage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) logMessage).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, msgs);
 			}
 			if (newLogMessage != null) {
-				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE__LOG_MESSAGE, null, msgs);
 			}
 			msgs = basicSetLogMessage(newLogMessage, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageProxyImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageProxyImpl.java
index aebbfeb..b8c38bc 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageProxyImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ChangePackageProxyImpl.java
@@ -40,7 +40,8 @@
  * <ul>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageProxyImpl#getLogMessage <em>
  * Log Message</em>}</li>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageProxyImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.ChangePackageProxyImpl#getId <em>Id</em>}
+ * </li>
  * </ul>
  * </p>
  *
@@ -113,11 +114,11 @@
 			logMessage = (LogMessage) eResolveProxy(oldLogMessage);
 			if (logMessage != oldLogMessage) {
 				final InternalEObject newLogMessage = (InternalEObject) logMessage;
-				NotificationChain msgs = oldLogMessage.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, null);
+				NotificationChain msgs = oldLogMessage.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, null);
 				if (newLogMessage.eInternalContainer() == null) {
-					msgs = newLogMessage.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, msgs);
+					msgs = newLogMessage.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -172,12 +173,12 @@
 		if (newLogMessage != logMessage) {
 			NotificationChain msgs = null;
 			if (logMessage != null) {
-				msgs = ((InternalEObject) logMessage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) logMessage).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, msgs);
 			}
 			if (newLogMessage != null) {
-				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.CHANGE_PACKAGE_PROXY__LOG_MESSAGE, null, msgs);
 			}
 			msgs = basicSetLogMessage(newLogMessage, msgs);
 			if (msgs != null) {
@@ -209,7 +210,8 @@
 		final String oldId = id;
 		id = newId;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.CHANGE_PACKAGE_PROXY__ID, oldId, id));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, VersioningPackage.CHANGE_PACKAGE_PROXY__ID, oldId, id));
 		}
 	}
 
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 460ec88..05fdee3 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
@@ -55,7 +55,6 @@
 import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.Direction;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.FileBasedOperationIterable;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.OperationEmitter;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.ReadLineCapable;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent.XmlTags;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
 import org.eclipse.emf.emfstore.server.ESCloseableIterable;
@@ -63,6 +62,7 @@
 
 import com.google.common.base.Optional;
 import com.google.common.collect.Iterables;
+import com.google.common.io.Closeables;
 
 /**
  * <!-- begin-user-doc -->
@@ -93,7 +93,7 @@
 	/**
 	 * @generated NOT
 	 */
-	private static final String EMPTY_CHANGE_PACKAGE = XmlTags.XML_HEADER + XmlTags.CHANGE_PACKAGE_START
+	private static final String EMPTY_CHANGE_PACKAGE = XmlTags.XML_HEADER + XmlTags.CHANGE_PACKAGE_START_WITH_NEWLINE
 		+ XmlTags.CHANGE_PACKAGE_END;
 
 	/**
@@ -301,6 +301,10 @@
 	 * @generated NOT
 	 */
 	public String getTempFilePath() {
+		return getTempFilePath(filePath);
+	}
+
+	private String getTempFilePath(String filePath) {
 		return filePath + TEMP_SUFFIX;
 	}
 
@@ -683,16 +687,15 @@
 	 */
 	public List<AbstractOperation> removeAtEnd(int n) {
 		final List<AbstractOperation> ops = new ArrayList<AbstractOperation>();
-		final OperationEmitter operationEmitter = new OperationEmitter(Direction.Backward);
-		Optional<ReversedLinesFileReader> maybeReversedReader = Optional.absent();
-		int counter = n;
+		final Optional<ReversedLinesFileReader> maybeReversedReader = Optional.absent();
+		RandomAccessFile raf = null;
+		OperationEmitter operationEmitter = null;
 
 		try {
-			final ReversedLinesFileReader reversedReader = new ReversedLinesFileReader(new File(getTempFilePath()));
-			maybeReversedReader = Optional.of(reversedReader);
+			operationEmitter = new OperationEmitter(Direction.Backward, new File(getTempFilePath()));
+			int counter = n;
 			AbstractOperation operation;
-			final ReadLineCapable reader = ReadLineCapable.INSTANCE.create(reversedReader);
-			final Optional<AbstractOperation> maybeOperation = operationEmitter.tryEmit(reader);
+			final Optional<AbstractOperation> maybeOperation = operationEmitter.tryEmit();
 
 			int removedOps = 0;
 			int removedLeafOps = 0;
@@ -706,16 +709,12 @@
 
 			updateCaches(-removedOps, -removedLeafOps);
 
-			// FIXME: reuse ReadLineCapable?
-			final long offset = operationEmitter.getOffset();
-
-			final RandomAccessFile raf = new RandomAccessFile(getTempFilePath(), "rw"); //$NON-NLS-1$
-			final long skip = raf.length() + 1 - offset;
+			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.close();
+			raf.setLength(skip + bytes.length);			
 
 			return ops;
 
@@ -723,12 +722,14 @@
 			// ESException not available
 			throw new IllegalStateException(ex);
 		} finally {
-			if (maybeReversedReader.isPresent()) {
-				try {
-					maybeReversedReader.get().close();
-				} catch (final IOException ex) {
-					ModelUtil.logException(ex);
+			try {
+				Closeables.close(raf, true);
+				Closeables.close(operationEmitter, true);
+				if (maybeReversedReader.isPresent()) {
+					Closeables.close(maybeReversedReader.get(), true);
 				}
+			} catch (final IOException ex) {
+				ModelUtil.logException(ex);
 			}
 		}
 	}
@@ -982,4 +983,38 @@
 		FileUtil.copyFile(tempFile, filePath);
 	}
 
+	/**
+	 *
+	 * {@inheritDoc}
+	 *
+	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.FileBasedChangePackage#move(java.lang.String)
+	 * @generated NOT
+	 */
+	public void move(String newFilePath) throws IOException {
+		if (newFilePath == null) {
+			throw new IOException();
+		}
+		if (newFilePath.equals(getFilePath())) {
+			return;
+		}
+
+		final File currentTempFile = new File(getTempFilePath());
+		final File currentFilePath = new File(getFilePath());
+		final File targetTempFile = new File(getTempFilePath(newFilePath));
+		final File targetFilePath = new File(newFilePath);
+
+		FileUtil.moveAndOverwrite(currentTempFile, targetTempFile);
+		try {
+			FileUtil.moveAndOverwrite(currentFilePath, targetFilePath);
+		} catch (final IOException ex) {
+			// if the temp-file could be moved, but the actual file fails,
+			// we will try to recover by moving the temp file back
+			FileUtil.moveAndOverwrite(targetTempFile, currentTempFile);
+			throw ex;
+		}
+
+		// all is fine, set the new file path
+		setFilePath(newFilePath);
+	}
+
 } // FileBasedChangePackageImpl
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryInfoImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryInfoImpl.java
index dba04f3..a44e809 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryInfoImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryInfoImpl.java
@@ -190,11 +190,11 @@
 			primarySpec = (PrimaryVersionSpec) eResolveProxy(oldPrimarySpec);
 			if (primarySpec != oldPrimarySpec) {
 				final InternalEObject newPrimarySpec = (InternalEObject) primarySpec;
-				NotificationChain msgs = oldPrimarySpec.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, null);
+				NotificationChain msgs = oldPrimarySpec.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, null);
 				if (newPrimarySpec.eInternalContainer() == null) {
-					msgs = newPrimarySpec.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, msgs);
+					msgs = newPrimarySpec.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -249,12 +249,12 @@
 		if (newPrimarySpec != primarySpec) {
 			NotificationChain msgs = null;
 			if (primarySpec != null) {
-				msgs = ((InternalEObject) primarySpec).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, msgs);
+				msgs = ((InternalEObject) primarySpec).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, msgs);
 			}
 			if (newPrimarySpec != null) {
-				msgs = ((InternalEObject) newPrimarySpec).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, msgs);
+				msgs = ((InternalEObject) newPrimarySpec).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PRIMARY_SPEC, null, msgs);
 			}
 			msgs = basicSetPrimarySpec(newPrimarySpec, msgs);
 			if (msgs != null) {
@@ -290,11 +290,11 @@
 			previousSpec = (PrimaryVersionSpec) eResolveProxy(oldPreviousSpec);
 			if (previousSpec != oldPreviousSpec) {
 				final InternalEObject newPreviousSpec = (InternalEObject) previousSpec;
-				NotificationChain msgs = oldPreviousSpec.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, null);
+				NotificationChain msgs = oldPreviousSpec.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, null);
 				if (newPreviousSpec.eInternalContainer() == null) {
-					msgs = newPreviousSpec.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, msgs);
+					msgs = newPreviousSpec.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -346,12 +346,12 @@
 		if (newPreviousSpec != previousSpec) {
 			NotificationChain msgs = null;
 			if (previousSpec != null) {
-				msgs = ((InternalEObject) previousSpec).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, msgs);
+				msgs = ((InternalEObject) previousSpec).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, msgs);
 			}
 			if (newPreviousSpec != null) {
-				msgs = ((InternalEObject) newPreviousSpec).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, msgs);
+				msgs = ((InternalEObject) newPreviousSpec).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__PREVIOUS_SPEC, null, msgs);
 			}
 			msgs = basicSetPreviousSpec(newPreviousSpec, msgs);
 			if (msgs != null) {
@@ -400,11 +400,11 @@
 			logMessage = (LogMessage) eResolveProxy(oldLogMessage);
 			if (logMessage != oldLogMessage) {
 				final InternalEObject newLogMessage = (InternalEObject) logMessage;
-				NotificationChain msgs = oldLogMessage.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, null);
+				NotificationChain msgs = oldLogMessage.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, null);
 				if (newLogMessage.eInternalContainer() == null) {
-					msgs = newLogMessage.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, msgs);
+					msgs = newLogMessage.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -456,12 +456,12 @@
 		if (newLogMessage != logMessage) {
 			NotificationChain msgs = null;
 			if (logMessage != null) {
-				msgs = ((InternalEObject) logMessage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) logMessage).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, msgs);
 			}
 			if (newLogMessage != null) {
-				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__LOG_MESSAGE, null, msgs);
 			}
 			msgs = basicSetLogMessage(newLogMessage, msgs);
 			if (msgs != null) {
@@ -510,11 +510,11 @@
 			changePackage = (AbstractChangePackage) eResolveProxy(oldChangePackage);
 			if (changePackage != oldChangePackage) {
 				final InternalEObject newChangePackage = (InternalEObject) changePackage;
-				NotificationChain msgs = oldChangePackage.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, null);
+				NotificationChain msgs = oldChangePackage.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, null);
 				if (newChangePackage.eInternalContainer() == null) {
-					msgs = newChangePackage.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, msgs);
+					msgs = newChangePackage.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -566,12 +566,12 @@
 		if (newChangePackage != changePackage) {
 			NotificationChain msgs = null;
 			if (changePackage != null) {
-				msgs = ((InternalEObject) changePackage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, msgs);
+				msgs = ((InternalEObject) changePackage).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, msgs);
 			}
 			if (newChangePackage != null) {
-				msgs = ((InternalEObject) newChangePackage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, msgs);
+				msgs = ((InternalEObject) newChangePackage).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_INFO__CHANGE_PACKAGE, null, msgs);
 			}
 			msgs = basicSetChangePackage(newChangePackage, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryQueryImpl.java
index cf5ba87..c860cb8 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/HistoryQueryImpl.java
@@ -124,11 +124,11 @@
 			source = (PrimaryVersionSpec) eResolveProxy(oldSource);
 			if (source != oldSource) {
 				final InternalEObject newSource = (InternalEObject) source;
-				NotificationChain msgs = oldSource.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_QUERY__SOURCE, null, null);
+				NotificationChain msgs = oldSource.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_QUERY__SOURCE, null, null);
 				if (newSource.eInternalContainer() == null) {
-					msgs = newSource.eInverseAdd(this,
-						EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_QUERY__SOURCE, null, msgs);
+					msgs = newSource.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_QUERY__SOURCE,
+						null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -180,12 +180,12 @@
 		if (newSource != source) {
 			NotificationChain msgs = null;
 			if (source != null) {
-				msgs = ((InternalEObject) source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_QUERY__SOURCE, null, msgs);
+				msgs = ((InternalEObject) source).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_QUERY__SOURCE, null, msgs);
 			}
 			if (newSource != null) {
-				msgs = ((InternalEObject) newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.HISTORY_QUERY__SOURCE, null, msgs);
+				msgs = ((InternalEObject) newSource).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.HISTORY_QUERY__SOURCE, null, msgs);
 			}
 			msgs = basicSetSource(newSource, msgs);
 			if (msgs != null) {
@@ -215,9 +215,9 @@
 		final boolean oldIncludeChangePackages = includeChangePackages;
 		includeChangePackages = newIncludeChangePackages;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET,
-				VersioningPackage.HISTORY_QUERY__INCLUDE_CHANGE_PACKAGES, oldIncludeChangePackages,
-				includeChangePackages));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, VersioningPackage.HISTORY_QUERY__INCLUDE_CHANGE_PACKAGES,
+					oldIncludeChangePackages, includeChangePackages));
 		}
 	}
 
@@ -239,8 +239,8 @@
 		final boolean oldIncludeAllVersions = includeAllVersions;
 		includeAllVersions = newIncludeAllVersions;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET,
-				VersioningPackage.HISTORY_QUERY__INCLUDE_ALL_VERSIONS, oldIncludeAllVersions, includeAllVersions));
+			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.HISTORY_QUERY__INCLUDE_ALL_VERSIONS,
+				oldIncludeAllVersions, includeAllVersions));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/LogMessageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/LogMessageImpl.java
index a52c177..727498c 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/LogMessageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/LogMessageImpl.java
@@ -26,7 +26,8 @@
  * <p>
  * The following features are implemented:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.LogMessageImpl#getAuthor <em>Author</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.LogMessageImpl#getAuthor <em>Author</em>}
+ * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.LogMessageImpl#getMessage <em>Message</em>}
  * </li>
  * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.LogMessageImpl#getDate <em>Date</em>}</li>
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ModelElementQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ModelElementQueryImpl.java
index 4e5c0dc..e410446 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ModelElementQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/ModelElementQueryImpl.java
@@ -37,7 +37,7 @@
  *
  * @generated NOT
  */
-public class ModelElementQueryImpl extends RangeQueryImpl<ESModelElementQuery> implements ModelElementQuery {
+public class ModelElementQueryImpl extends RangeQueryImpl<ESModelElementQuery>implements ModelElementQuery {
 
 	/**
 	 * The cached value of the '{@link #getModelElements() <em>Model Elements</em>}' containment reference list.
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/OperationProxyImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/OperationProxyImpl.java
index ae21830..d3ef1ba 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/OperationProxyImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/OperationProxyImpl.java
@@ -20,9 +20,9 @@
 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.emfstore.internal.server.model.versioning.ImageProxy;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.OperationProxy;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.VersioningPackage;
-import org.eclipse.swt.graphics.Image;
 
 /**
  * <!-- begin-user-doc -->
@@ -49,7 +49,8 @@
 	 * @ordered
 	 */
 	protected EList<OperationProxy> proxies;
-	private Image image;
+
+	private ImageProxy imageProxy;
 	private String label = ""; //$NON-NLS-1$
 	private int index = -1;
 
@@ -177,21 +178,23 @@
 	}
 
 	/**
-	 * {@inheritDoc}
 	 *
-	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.OperationProxy#setImage(org.eclipse.swt.graphics.Image)
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.OperationProxy#setImage(org.eclipse.emf.emfstore.internal.server.model.versioning.ImageProxy)
 	 */
-	public void setImage(Image image) {
-		this.image = image;
+	public void setImage(ImageProxy imageProxy) {
+		this.imageProxy = imageProxy;
 	}
 
 	/**
+	 *
 	 * {@inheritDoc}
 	 *
 	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.OperationProxy#getImage()
 	 */
-	public Image getImage() {
-		return image;
+	public ImageProxy getImage() {
+		return imageProxy;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PagedUpdateVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PagedUpdateVersionSpecImpl.java
index ec4fe81..71676ae 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PagedUpdateVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PagedUpdateVersionSpecImpl.java
@@ -134,11 +134,13 @@
 			baseVersionSpec = (PrimaryVersionSpec) eResolveProxy(oldBaseVersionSpec);
 			if (baseVersionSpec != oldBaseVersionSpec) {
 				final InternalEObject newBaseVersionSpec = (InternalEObject) baseVersionSpec;
-				NotificationChain msgs = oldBaseVersionSpec.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null, null);
+				NotificationChain msgs = oldBaseVersionSpec.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null,
+					null);
 				if (newBaseVersionSpec.eInternalContainer() == null) {
-					msgs = newBaseVersionSpec.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null, msgs);
+					msgs = newBaseVersionSpec.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null,
+						msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -194,12 +196,14 @@
 		if (newBaseVersionSpec != baseVersionSpec) {
 			NotificationChain msgs = null;
 			if (baseVersionSpec != null) {
-				msgs = ((InternalEObject) baseVersionSpec).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null, msgs);
+				msgs = ((InternalEObject) baseVersionSpec).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null,
+					msgs);
 			}
 			if (newBaseVersionSpec != null) {
-				msgs = ((InternalEObject) newBaseVersionSpec).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null, msgs);
+				msgs = ((InternalEObject) newBaseVersionSpec).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, null,
+					msgs);
 			}
 			msgs = basicSetBaseVersionSpec(newBaseVersionSpec, msgs);
 			if (msgs != null) {
@@ -207,7 +211,8 @@
 			}
 		} else if (eNotificationRequired()) {
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, newBaseVersionSpec, newBaseVersionSpec));
+				VersioningPackage.PAGED_UPDATE_VERSION_SPEC__BASE_VERSION_SPEC, newBaseVersionSpec,
+				newBaseVersionSpec));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PathQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PathQueryImpl.java
index 659bb02..b6f51b0 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PathQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/PathQueryImpl.java
@@ -27,13 +27,14 @@
  * <p>
  * The following features are implemented:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.PathQueryImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.PathQueryImpl#getTarget <em>Target</em>}
+ * </li>
  * </ul>
  * </p>
  *
  * @generated NOT
  */
-public class PathQueryImpl extends HistoryQueryImpl<ESPathQuery> implements PathQuery {
+public class PathQueryImpl extends HistoryQueryImpl<ESPathQuery>implements PathQuery {
 
 	/**
 	 * @generated NOT
@@ -80,8 +81,8 @@
 			target = (PrimaryVersionSpec) eResolveProxy(oldTarget);
 			if (target != oldTarget) {
 				final InternalEObject newTarget = (InternalEObject) target;
-				NotificationChain msgs = oldTarget.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.PATH_QUERY__TARGET, null, null);
+				NotificationChain msgs = oldTarget.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.PATH_QUERY__TARGET, null, null);
 				if (newTarget.eInternalContainer() == null) {
 					msgs = newTarget.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VersioningPackage.PATH_QUERY__TARGET,
 						null, msgs);
@@ -136,12 +137,12 @@
 		if (newTarget != target) {
 			NotificationChain msgs = null;
 			if (target != null) {
-				msgs = ((InternalEObject) target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.PATH_QUERY__TARGET, null, msgs);
+				msgs = ((InternalEObject) target).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.PATH_QUERY__TARGET, null, msgs);
 			}
 			if (newTarget != null) {
-				msgs = ((InternalEObject) newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.PATH_QUERY__TARGET, null, msgs);
+				msgs = ((InternalEObject) newTarget).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.PATH_QUERY__TARGET, null, msgs);
 			}
 			msgs = basicSetTarget(newTarget, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/RangeQueryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/RangeQueryImpl.java
index f4681fe..6f1aa4b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/RangeQueryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/RangeQueryImpl.java
@@ -38,7 +38,7 @@
  *
  * @param <T> a API range query subtype
  */
-public class RangeQueryImpl<T extends ESRangeQuery<?>> extends HistoryQueryImpl<T> implements RangeQuery<T> {
+public class RangeQueryImpl<T extends ESRangeQuery<?>> extends HistoryQueryImpl<T>implements RangeQuery<T> {
 
 	/**
 	 * @generated NOT
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/TagVersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/TagVersionSpecImpl.java
index 0dbd3a5..2cbad8e 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/TagVersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/TagVersionSpecImpl.java
@@ -95,8 +95,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.TAG_VERSION_SPEC__NAME, oldName,
-				name));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, VersioningPackage.TAG_VERSION_SPEC__NAME, oldName, name));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionImpl.java
index 06e6c93..13b26a6 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionImpl.java
@@ -240,11 +240,11 @@
 			primarySpec = (PrimaryVersionSpec) eResolveProxy(oldPrimarySpec);
 			if (primarySpec != oldPrimarySpec) {
 				final InternalEObject newPrimarySpec = (InternalEObject) primarySpec;
-				NotificationChain msgs = oldPrimarySpec.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.VERSION__PRIMARY_SPEC, null, null);
+				NotificationChain msgs = oldPrimarySpec.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__PRIMARY_SPEC, null, null);
 				if (newPrimarySpec.eInternalContainer() == null) {
-					msgs = newPrimarySpec.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.VERSION__PRIMARY_SPEC, null, msgs);
+					msgs = newPrimarySpec.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__PRIMARY_SPEC, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -296,12 +296,12 @@
 		if (newPrimarySpec != primarySpec) {
 			NotificationChain msgs = null;
 			if (primarySpec != null) {
-				msgs = ((InternalEObject) primarySpec).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.VERSION__PRIMARY_SPEC, null, msgs);
+				msgs = ((InternalEObject) primarySpec).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__PRIMARY_SPEC, null, msgs);
 			}
 			if (newPrimarySpec != null) {
-				msgs = ((InternalEObject) newPrimarySpec).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.VERSION__PRIMARY_SPEC, null, msgs);
+				msgs = ((InternalEObject) newPrimarySpec).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__PRIMARY_SPEC, null, msgs);
 			}
 			msgs = basicSetPrimarySpec(newPrimarySpec, msgs);
 			if (msgs != null) {
@@ -383,12 +383,12 @@
 		if (newNextVersion != nextVersion) {
 			NotificationChain msgs = null;
 			if (nextVersion != null) {
-				msgs = ((InternalEObject) nextVersion).eInverseRemove(this,
-					VersioningPackage.VERSION__PREVIOUS_VERSION, Version.class, msgs);
+				msgs = ((InternalEObject) nextVersion).eInverseRemove(this, VersioningPackage.VERSION__PREVIOUS_VERSION,
+					Version.class, msgs);
 			}
 			if (newNextVersion != null) {
-				msgs = ((InternalEObject) newNextVersion).eInverseAdd(this,
-					VersioningPackage.VERSION__PREVIOUS_VERSION, Version.class, msgs);
+				msgs = ((InternalEObject) newNextVersion).eInverseAdd(this, VersioningPackage.VERSION__PREVIOUS_VERSION,
+					Version.class, msgs);
 			}
 			msgs = basicSetNextVersion(newNextVersion, msgs);
 			if (msgs != null) {
@@ -457,12 +457,12 @@
 		if (newPreviousVersion != previousVersion) {
 			NotificationChain msgs = null;
 			if (previousVersion != null) {
-				msgs = ((InternalEObject) previousVersion).eInverseRemove(this,
-					VersioningPackage.VERSION__NEXT_VERSION, Version.class, msgs);
+				msgs = ((InternalEObject) previousVersion).eInverseRemove(this, VersioningPackage.VERSION__NEXT_VERSION,
+					Version.class, msgs);
 			}
 			if (newPreviousVersion != null) {
-				msgs = ((InternalEObject) newPreviousVersion).eInverseAdd(this,
-					VersioningPackage.VERSION__NEXT_VERSION, Version.class, msgs);
+				msgs = ((InternalEObject) newPreviousVersion).eInverseAdd(this, VersioningPackage.VERSION__NEXT_VERSION,
+					Version.class, msgs);
 			}
 			msgs = basicSetPreviousVersion(newPreviousVersion, msgs);
 			if (msgs != null) {
@@ -518,11 +518,11 @@
 			logMessage = (LogMessage) eResolveProxy(oldLogMessage);
 			if (logMessage != oldLogMessage) {
 				final InternalEObject newLogMessage = (InternalEObject) logMessage;
-				NotificationChain msgs = oldLogMessage.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.VERSION__LOG_MESSAGE, null, null);
+				NotificationChain msgs = oldLogMessage.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__LOG_MESSAGE, null, null);
 				if (newLogMessage.eInternalContainer() == null) {
-					msgs = newLogMessage.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- VersioningPackage.VERSION__LOG_MESSAGE, null, msgs);
+					msgs = newLogMessage.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__LOG_MESSAGE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -574,20 +574,20 @@
 		if (newLogMessage != logMessage) {
 			NotificationChain msgs = null;
 			if (logMessage != null) {
-				msgs = ((InternalEObject) logMessage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.VERSION__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) logMessage).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__LOG_MESSAGE, null, msgs);
 			}
 			if (newLogMessage != null) {
-				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- VersioningPackage.VERSION__LOG_MESSAGE, null, msgs);
+				msgs = ((InternalEObject) newLogMessage).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - VersioningPackage.VERSION__LOG_MESSAGE, null, msgs);
 			}
 			msgs = basicSetLogMessage(newLogMessage, msgs);
 			if (msgs != null) {
 				msgs.dispatch();
 			}
 		} else if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.VERSION__LOG_MESSAGE,
-				newLogMessage, newLogMessage));
+			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.VERSION__LOG_MESSAGE, newLogMessage,
+				newLogMessage));
 		}
 	}
 
@@ -715,14 +715,14 @@
 		switch (featureID) {
 		case VersioningPackage.VERSION__NEXT_VERSION:
 			if (nextVersion != null) {
-				msgs = ((InternalEObject) nextVersion).eInverseRemove(this,
-					VersioningPackage.VERSION__PREVIOUS_VERSION, Version.class, msgs);
+				msgs = ((InternalEObject) nextVersion).eInverseRemove(this, VersioningPackage.VERSION__PREVIOUS_VERSION,
+					Version.class, msgs);
 			}
 			return basicSetNextVersion((Version) otherEnd, msgs);
 		case VersioningPackage.VERSION__PREVIOUS_VERSION:
 			if (previousVersion != null) {
-				msgs = ((InternalEObject) previousVersion).eInverseRemove(this,
-					VersioningPackage.VERSION__NEXT_VERSION, Version.class, msgs);
+				msgs = ((InternalEObject) previousVersion).eInverseRemove(this, VersioningPackage.VERSION__NEXT_VERSION,
+					Version.class, msgs);
 			}
 			return basicSetPreviousVersion((Version) otherEnd, msgs);
 		case VersioningPackage.VERSION__ANCESTOR_VERSION:
@@ -736,8 +736,8 @@
 		case VersioningPackage.VERSION__MERGED_TO_VERSION:
 			return ((InternalEList<InternalEObject>) (InternalEList<?>) getMergedToVersion()).basicAdd(otherEnd, msgs);
 		case VersioningPackage.VERSION__MERGED_FROM_VERSION:
-			return ((InternalEList<InternalEObject>) (InternalEList<?>) getMergedFromVersion())
-				.basicAdd(otherEnd, msgs);
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getMergedFromVersion()).basicAdd(otherEnd,
+				msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
 	}
@@ -1084,8 +1084,9 @@
 	 * @return the uri for the project state resource
 	 */
 	private URI getProjectURI() {
-		return getBaseURI() == null ? null : getBaseURI().appendSegment(PROJECTSTATES_SEGMENT).appendSegment(
-			Integer.toString(getPrimarySpec().getIdentifier()));
+		return getBaseURI() == null ? null
+			: getBaseURI().appendSegment(PROJECTSTATES_SEGMENT)
+				.appendSegment(Integer.toString(getPrimarySpec().getIdentifier()));
 	}
 
 	/**
@@ -1094,8 +1095,9 @@
 	 * @return the uri for the ChangePackage resource
 	 */
 	private URI getChangePackageURI() {
-		return getBaseURI() == null ? null : getBaseURI().appendSegment(CHANGEPACKAGES_SEGMENT).appendSegment(
-			Integer.toString(getPrimarySpec().getIdentifier()));
+		return getBaseURI() == null ? null
+			: getBaseURI().appendSegment(CHANGEPACKAGES_SEGMENT)
+				.appendSegment(Integer.toString(getPrimarySpec().getIdentifier()));
 	}
 
 	/**
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionPropertyImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionPropertyImpl.java
index e491302..ec58058 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionPropertyImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionPropertyImpl.java
@@ -112,8 +112,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, VersioningPackage.VERSION_PROPERTY__NAME, oldName,
-				name));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, VersioningPackage.VERSION_PROPERTY__NAME, oldName, name));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionSpecImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionSpecImpl.java
index 08c651d..6f01098 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionSpecImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/VersionSpecImpl.java
@@ -22,7 +22,8 @@
  * <p>
  * The following features are implemented:
  * <ul>
- * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.VersionSpecImpl#getBranch <em>Branch</em>}</li>
+ * <li>{@link org.eclipse.emf.emfstore.internal.server.model.versioning.impl.VersionSpecImpl#getBranch <em>Branch</em>}
+ * </li>
  * </ul>
  * </p>
  *
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 0ceef84..0c7c293 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
@@ -277,7 +277,7 @@
 		// Obtain or create and register package
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
 			.get(eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
-			: new VersioningPackageImpl());
+				: new VersioningPackageImpl());
 
 		isInited = true;
 
@@ -285,31 +285,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theVersioningPackage.createPackageContents();
@@ -1261,330 +1263,230 @@
 		changePackageProxyEClass.getESuperTypes().add(getAbstractChangePackage());
 
 		// Initialize classes and features; add operations and parameters
-		initEClass(tagVersionSpecEClass, TagVersionSpec.class,
-			"TagVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getTagVersionSpec_Name(),
-			ecorePackage.getEString(),
-			"name", null, 1, 1, TagVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(tagVersionSpecEClass, TagVersionSpec.class, "TagVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getTagVersionSpec_Name(), ecorePackage.getEString(), "name", null, 1, 1, TagVersionSpec.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(dateVersionSpecEClass, DateVersionSpec.class,
-			"DateVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getDateVersionSpec_Date(),
-			ecorePackage.getEDate(),
-			"date", null, 1, 1, DateVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(dateVersionSpecEClass, DateVersionSpec.class, "DateVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDateVersionSpec_Date(), ecorePackage.getEDate(), "date", null, 1, 1, DateVersionSpec.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(primaryVersionSpecEClass, PrimaryVersionSpec.class,
-			"PrimaryVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getPrimaryVersionSpec_Identifier(),
-			ecorePackage.getEInt(),
-			"identifier", null, 1, 1, PrimaryVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getPrimaryVersionSpec_ProjectStateChecksum(),
-			ecorePackage.getELong(),
-			"projectStateChecksum", null, 0, 1, PrimaryVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(primaryVersionSpecEClass, PrimaryVersionSpec.class, "PrimaryVersionSpec", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPrimaryVersionSpec_Identifier(), ecorePackage.getEInt(), "identifier", null, 1, 1, //$NON-NLS-1$
+			PrimaryVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getPrimaryVersionSpec_ProjectStateChecksum(), ecorePackage.getELong(), "projectStateChecksum", //$NON-NLS-1$
+			null, 0, 1, PrimaryVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(versionSpecEClass, VersionSpec.class,
-			"VersionSpec", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getVersionSpec_Branch(),
-			ecorePackage.getEString(),
-			"branch", "trunk", 0, 1, VersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEClass(versionSpecEClass, VersionSpec.class, "VersionSpec", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getVersionSpec_Branch(), ecorePackage.getEString(), "branch", "trunk", 0, 1, VersionSpec.class, //$NON-NLS-1$ //$NON-NLS-2$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(logMessageEClass, LogMessage.class,
-			"LogMessage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getLogMessage_Author(),
-			ecorePackage.getEString(),
-			"author", null, 1, 1, LogMessage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getLogMessage_Message(),
-			ecorePackage.getEString(),
-			"message", null, 1, 1, LogMessage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getLogMessage_Date(),
-			ecorePackage.getEDate(),
-			"date", null, 1, 1, LogMessage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getLogMessage_ClientDate(),
-			ecorePackage.getEDate(),
-			"clientDate", null, 0, 1, LogMessage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(logMessageEClass, LogMessage.class, "LogMessage", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getLogMessage_Author(), ecorePackage.getEString(), "author", null, 1, 1, LogMessage.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLogMessage_Message(), ecorePackage.getEString(), "message", null, 1, 1, LogMessage.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLogMessage_Date(), ecorePackage.getEDate(), "date", null, 1, 1, LogMessage.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getLogMessage_ClientDate(), ecorePackage.getEDate(), "clientDate", null, 0, 1, LogMessage.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(changePackageEClass, ChangePackage.class,
-			"ChangePackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getChangePackage_Operations(),
-			theOperationsPackage.getAbstractOperation(),
-			null,
-			"operations", null, 0, -1, ChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getChangePackage_Events(),
-			theEventsPackage.getEvent(),
-			null,
-			"events", null, 0, -1, ChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getChangePackage_VersionProperties(),
-			getVersionProperty(),
-			null,
-			"versionProperties", null, 0, -1, ChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(changePackageEClass, ChangePackage.class, "ChangePackage", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getChangePackage_Operations(), theOperationsPackage.getAbstractOperation(), null, "operations", //$NON-NLS-1$
+			null, 0, -1, ChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getChangePackage_Events(), theEventsPackage.getEvent(), null, "events", null, 0, -1, //$NON-NLS-1$
+			ChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getChangePackage_VersionProperties(), getVersionProperty(), null, "versionProperties", null, 0, //$NON-NLS-1$
+			-1, ChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(historyInfoEClass, HistoryInfo.class,
-			"HistoryInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_PrimarySpec(),
-			getPrimaryVersionSpec(),
-			null,
-			"primarySpec", null, 1, 1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_NextSpec(),
-			getPrimaryVersionSpec(),
-			null,
-			"nextSpec", null, 1, -1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_PreviousSpec(),
-			getPrimaryVersionSpec(),
-			null,
-			"previousSpec", null, 1, 1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_MergedFrom(),
-			getPrimaryVersionSpec(),
-			null,
-			"mergedFrom", null, 1, -1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_MergedTo(),
-			getPrimaryVersionSpec(),
-			null,
-			"mergedTo", null, 1, -1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_LogMessage(),
-			getLogMessage(),
-			null,
-			"logMessage", null, 1, 1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_TagSpecs(),
-			getTagVersionSpec(),
-			null,
-			"tagSpecs", null, 0, -1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_VersionProperties(),
-			getVersionProperty(),
-			null,
-			"versionProperties", null, 0, -1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getHistoryInfo_ChangePackage(),
-			getAbstractChangePackage(),
-			null,
-			"changePackage", null, 0, 1, HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(historyInfoEClass, HistoryInfo.class, "HistoryInfo", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHistoryInfo_PrimarySpec(), getPrimaryVersionSpec(), null, "primarySpec", null, 1, 1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_NextSpec(), getPrimaryVersionSpec(), null, "nextSpec", null, 1, -1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_PreviousSpec(), getPrimaryVersionSpec(), null, "previousSpec", null, 1, 1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_MergedFrom(), getPrimaryVersionSpec(), null, "mergedFrom", null, 1, -1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_MergedTo(), getPrimaryVersionSpec(), null, "mergedTo", null, 1, -1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_LogMessage(), getLogMessage(), null, "logMessage", null, 1, 1, HistoryInfo.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_TagSpecs(), getTagVersionSpec(), null, "tagSpecs", null, 0, -1, HistoryInfo.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_VersionProperties(), getVersionProperty(), null, "versionProperties", null, 0, -1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getHistoryInfo_ChangePackage(), getAbstractChangePackage(), null, "changePackage", null, 0, 1, //$NON-NLS-1$
+			HistoryInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(historyQueryEClass, HistoryQuery.class,
-			"HistoryQuery", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getHistoryQuery_Source(),
-			getPrimaryVersionSpec(),
-			null,
-			"source", null, 0, 1, HistoryQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getHistoryQuery_IncludeChangePackages(),
-			ecorePackage.getEBoolean(),
-			"includeChangePackages", null, 0, 1, HistoryQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getHistoryQuery_IncludeAllVersions(),
-			ecorePackage.getEBoolean(),
-			"includeAllVersions", null, 0, 1, HistoryQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(historyQueryEClass, HistoryQuery.class, "HistoryQuery", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHistoryQuery_Source(), getPrimaryVersionSpec(), null, "source", null, 0, 1, //$NON-NLS-1$
+			HistoryQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHistoryQuery_IncludeChangePackages(), ecorePackage.getEBoolean(), "includeChangePackages", //$NON-NLS-1$
+			null, 0, 1, HistoryQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getHistoryQuery_IncludeAllVersions(), ecorePackage.getEBoolean(), "includeAllVersions", null, 0, //$NON-NLS-1$
+			1, HistoryQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(rangeQueryEClass, RangeQuery.class,
-			"RangeQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getRangeQuery_UpperLimit(),
-			ecorePackage.getEInt(),
-			"upperLimit", null, 0, 1, RangeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getRangeQuery_LowerLimit(),
-			ecorePackage.getEInt(),
-			"lowerLimit", null, 0, 1, RangeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getRangeQuery_IncludeIncoming(),
-			ecorePackage.getEBoolean(),
-			"includeIncoming", null, 0, 1, RangeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getRangeQuery_IncludeOutgoing(),
-			ecorePackage.getEBoolean(),
-			"includeOutgoing", null, 0, 1, RangeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(rangeQueryEClass, RangeQuery.class, "RangeQuery", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getRangeQuery_UpperLimit(), ecorePackage.getEInt(), "upperLimit", null, 0, 1, RangeQuery.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRangeQuery_LowerLimit(), ecorePackage.getEInt(), "lowerLimit", null, 0, 1, RangeQuery.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRangeQuery_IncludeIncoming(), ecorePackage.getEBoolean(), "includeIncoming", null, 0, 1, //$NON-NLS-1$
+			RangeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getRangeQuery_IncludeOutgoing(), ecorePackage.getEBoolean(), "includeOutgoing", null, 0, 1, //$NON-NLS-1$
+			RangeQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(pathQueryEClass, PathQuery.class,
-			"PathQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getPathQuery_Target(),
-			getPrimaryVersionSpec(),
-			null,
-			"target", null, 0, 1, PathQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(pathQueryEClass, PathQuery.class, "PathQuery", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPathQuery_Target(), getPrimaryVersionSpec(), null, "target", null, 0, 1, PathQuery.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(modelElementQueryEClass, ModelElementQuery.class,
-			"ModelElementQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getModelElementQuery_ModelElements(),
-			theModelPackage.getModelElementId(),
-			null,
-			"modelElements", null, 0, -1, ModelElementQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(modelElementQueryEClass, ModelElementQuery.class, "ModelElementQuery", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getModelElementQuery_ModelElements(), theModelPackage.getModelElementId(), null, "modelElements", //$NON-NLS-1$
+			null, 0, -1, ModelElementQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(versionEClass, Version.class, "Version", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getVersion_PrimarySpec(),
-			getPrimaryVersionSpec(),
-			null,
-			"primarySpec", null, 1, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_TagSpecs(),
-			getTagVersionSpec(),
-			null,
-			"tagSpecs", null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_NextVersion(),
-			getVersion(),
-			getVersion_PreviousVersion(),
-			"nextVersion", null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_PreviousVersion(),
-			getVersion(),
-			getVersion_NextVersion(),
-			"previousVersion", null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_LogMessage(),
-			getLogMessage(),
-			null,
-			"logMessage", null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_AncestorVersion(),
-			getVersion(),
-			getVersion_BranchedVersions(),
-			"ancestorVersion", null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_BranchedVersions(),
-			getVersion(),
-			getVersion_AncestorVersion(),
-			"branchedVersions", null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_MergedToVersion(),
-			getVersion(),
-			getVersion_MergedFromVersion(),
-			"mergedToVersion", null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getVersion_MergedFromVersion(),
-			getVersion(),
-			getVersion_MergedToVersion(),
-			"mergedFromVersion", null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getVersion_PrimarySpec(), getPrimaryVersionSpec(), null, "primarySpec", null, 1, 1, //$NON-NLS-1$
+			Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_TagSpecs(), getTagVersionSpec(), null, "tagSpecs", null, 0, -1, Version.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_NextVersion(), getVersion(), getVersion_PreviousVersion(), "nextVersion", null, 0, 1, //$NON-NLS-1$
+			Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_PreviousVersion(), getVersion(), getVersion_NextVersion(), "previousVersion", null, 0, //$NON-NLS-1$
+			1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_LogMessage(), getLogMessage(), null, "logMessage", null, 0, 1, Version.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_AncestorVersion(), getVersion(), getVersion_BranchedVersions(), "ancestorVersion", //$NON-NLS-1$
+			null, 0, 1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_BranchedVersions(), getVersion(), getVersion_AncestorVersion(), "branchedVersions", //$NON-NLS-1$
+			null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_MergedToVersion(), getVersion(), getVersion_MergedFromVersion(), "mergedToVersion", //$NON-NLS-1$
+			null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getVersion_MergedFromVersion(), getVersion(), getVersion_MergedToVersion(), "mergedFromVersion", //$NON-NLS-1$
+			null, 0, -1, Version.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(headVersionSpecEClass, HeadVersionSpec.class,
-			"HeadVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(headVersionSpecEClass, HeadVersionSpec.class, "HeadVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(versionPropertyEClass, VersionProperty.class,
-			"VersionProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getVersionProperty_Name(),
-			ecorePackage.getEString(),
-			"name", null, 0, 1, VersionProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getVersionProperty_Value(),
-			ecorePackage.getEString(),
-			"value", null, 0, 1, VersionProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(versionPropertyEClass, VersionProperty.class, "VersionProperty", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getVersionProperty_Name(), ecorePackage.getEString(), "name", null, 0, 1, VersionProperty.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getVersionProperty_Value(), ecorePackage.getEString(), "value", null, 0, 1, //$NON-NLS-1$
+			VersionProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(branchVersionSpecEClass, BranchVersionSpec.class,
-			"BranchVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(branchVersionSpecEClass, BranchVersionSpec.class, "BranchVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(branchInfoEClass, BranchInfo.class,
-			"BranchInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getBranchInfo_Name(),
-			ecorePackage.getEString(),
-			"name", null, 0, 1, BranchInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getBranchInfo_Head(),
-			getPrimaryVersionSpec(),
-			null,
-			"head", null, 0, 1, BranchInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getBranchInfo_Source(),
-			getPrimaryVersionSpec(),
-			null,
-			"source", null, 0, 1, BranchInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(branchInfoEClass, BranchInfo.class, "BranchInfo", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getBranchInfo_Name(), ecorePackage.getEString(), "name", null, 0, 1, BranchInfo.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getBranchInfo_Head(), getPrimaryVersionSpec(), null, "head", null, 0, 1, BranchInfo.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getBranchInfo_Source(), getPrimaryVersionSpec(), null, "source", null, 0, 1, BranchInfo.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(ancestorVersionSpecEClass, AncestorVersionSpec.class,
-			"AncestorVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getAncestorVersionSpec_Target(),
-			getPrimaryVersionSpec(),
-			null,
-			"target", null, 0, 1, AncestorVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getAncestorVersionSpec_Source(),
-			getPrimaryVersionSpec(),
-			null,
-			"source", null, 0, 1, AncestorVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(ancestorVersionSpecEClass, AncestorVersionSpec.class, "AncestorVersionSpec", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAncestorVersionSpec_Target(), getPrimaryVersionSpec(), null, "target", null, 0, 1, //$NON-NLS-1$
+			AncestorVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAncestorVersionSpec_Source(), getPrimaryVersionSpec(), null, "source", null, 0, 1, //$NON-NLS-1$
+			AncestorVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(pagedUpdateVersionSpecEClass, PagedUpdateVersionSpec.class,
-			"PagedUpdateVersionSpec", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getPagedUpdateVersionSpec_MaxChanges(),
-			ecorePackage.getEInt(),
-			"maxChanges", null, 0, 1, PagedUpdateVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getPagedUpdateVersionSpec_BaseVersionSpec(),
-			getPrimaryVersionSpec(),
-			null,
-			"baseVersionSpec", null, 0, 1, PagedUpdateVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(pagedUpdateVersionSpecEClass, PagedUpdateVersionSpec.class, "PagedUpdateVersionSpec", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getPagedUpdateVersionSpec_MaxChanges(), ecorePackage.getEInt(), "maxChanges", null, 0, 1, //$NON-NLS-1$
+			PagedUpdateVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getPagedUpdateVersionSpec_BaseVersionSpec(), getPrimaryVersionSpec(), null, "baseVersionSpec", //$NON-NLS-1$
+			null, 0, 1, PagedUpdateVersionSpec.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(abstractChangePackageEClass, AbstractChangePackage.class,
-			"AbstractChangePackage", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getAbstractChangePackage_LogMessage(),
-			getLogMessage(),
-			null,
-			"logMessage", null, 0, 1, AbstractChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(abstractChangePackageEClass, AbstractChangePackage.class, "AbstractChangePackage", IS_ABSTRACT, //$NON-NLS-1$
+			IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAbstractChangePackage_LogMessage(), getLogMessage(), null, "logMessage", null, 0, 1, //$NON-NLS-1$
+			AbstractChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(fileBasedChangePackageEClass, FileBasedChangePackage.class,
-			"FileBasedChangePackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getFileBasedChangePackage_FilePath(),
-			ecorePackage.getEString(),
-			"filePath", null, 0, 1, FileBasedChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getFileBasedChangePackage_OperationProxies(),
-			getOperationProxy(),
-			null,
-			"operationProxies", null, 0, -1, FileBasedChangePackage.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(fileBasedChangePackageEClass, FileBasedChangePackage.class, "FileBasedChangePackage", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getFileBasedChangePackage_FilePath(), ecorePackage.getEString(), "filePath", null, 0, 1, //$NON-NLS-1$
+			FileBasedChangePackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getFileBasedChangePackage_OperationProxies(), getOperationProxy(), null, "operationProxies", //$NON-NLS-1$
+			null, 0, -1, FileBasedChangePackage.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(operationProxyEClass, OperationProxy.class,
-			"OperationProxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getOperationProxy_Proxies(),
-			getOperationProxy(),
-			null,
-			"proxies", null, 0, -1, OperationProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(operationProxyEClass, OperationProxy.class, "OperationProxy", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getOperationProxy_Proxies(), getOperationProxy(), null, "proxies", null, 0, -1, //$NON-NLS-1$
+			OperationProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(changePackageEnvelopeEClass, ChangePackageEnvelope.class,
-			"ChangePackageEnvelope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getChangePackageEnvelope_FragmentIndex(),
-			ecorePackage.getEInt(),
-			"fragmentIndex", null, 1, 1, ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getChangePackageEnvelope_FragmentCount(),
-			ecorePackage.getEInt(),
-			"fragmentCount", null, 1, 1, ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getChangePackageEnvelope_Fragment(),
-			theOperationsPackage.getAbstractOperation(),
-			null,
-			"fragment", null, 0, -1, ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(changePackageEnvelopeEClass, ChangePackageEnvelope.class, "ChangePackageEnvelope", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getChangePackageEnvelope_FragmentIndex(), ecorePackage.getEInt(), "fragmentIndex", null, 1, 1, //$NON-NLS-1$
+			ChangePackageEnvelope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		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);
 
-		initEClass(changePackageProxyEClass, ChangePackageProxy.class,
-			"ChangePackageProxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getChangePackageProxy_Id(),
-			ecorePackage.getEString(),
-			"id", null, 0, 1, ChangePackageProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(changePackageProxyEClass, ChangePackageProxy.class, "ChangePackageProxy", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getChangePackageProxy_Id(), ecorePackage.getEString(), "id", null, 0, 1, //$NON-NLS-1$
+			ChangePackageProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 	}
 
 } // VersioningPackageImpl
\ 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/Direction.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/Direction.java
index 8d17a37..efe6736 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/Direction.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/Direction.java
@@ -1,5 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2015 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.internal.server.model.versioning.impl.persistent;
 
+/**
+ * Specifies in which direction a file based change package implementation should be traversed.
+ *
+ * @author emueller
+ *
+ */
 public enum Direction {
-	Forward, Backward
+	/**
+	 * For iterating operations from the beginning.
+	 */
+	Forward, 
+	/**
+	 * For iterating operations from the back.
+	 */
+	Backward
 }
\ 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 f056d89..6a38064 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,23 +11,36 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
+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.Collections;
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+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;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
 import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
-import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.CreateDeleteOperation;
 
 import com.google.common.base.Optional;
+import com.google.common.collect.Maps;
 
 /**
  * Type for emitting {@link AbstractOperation}s when given an {@link ReadLineCapable} type.
@@ -35,23 +48,91 @@
  * @author emueller
  *
  */
-public class OperationEmitter {
+public class OperationEmitter implements Closeable {
 
-	private static final long NEWLINE_LENGTH = System.getProperty("line.separator").getBytes().length; //$NON-NLS-1$
-
-	private boolean withinOperationsElement;
 	private final Direction direction;
-	private long offset;
+
+	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 OperationEmitter(Direction direction) {
+	public OperationEmitter(Direction direction, File file) {
 		this.direction = direction;
-		offset = 0;
+		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);
+		}
 	}
 
 	/**
@@ -60,45 +141,149 @@
 	 * @return the current offset
 	 */
 	public long getOffset() {
-		return offset;
+		if (currentOpIndex < 0) {
+			return startOffset;
+		}
+		return backwardsOffsets.get(currentOpIndex);
 	}
 
 	/**
-	 * Given a reader, tries to parse an operation and emit it is,
+	 * 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);
+			}
+		}
+	}
+
+	/**
+	 * Tries to parse an operation in the reading directions and emits it,
 	 * if parsing has been successful.
 	 *
-	 * @param reader
-	 *            the reader that is used to de-serialize operations
 	 * @return the successfully parsed operation
 	 * @throws IOException
 	 *             in case reading from the {@link ReadLineCapable} fails
 	 */
-	public Optional<AbstractOperation> tryEmit(ReadLineCapable reader) throws IOException {
-		final List<String> readLines = new ArrayList<String>();
-		withinOperationsElement = false;
-		String line;
-		final boolean isForwardDir = direction == Direction.Forward;
-		while ((line = reader.readLine()) != null && !line.contains(getClosingTag(isForwardDir))) {
-			if (line.contains(getOpeningTag(isForwardDir))) {
-				withinOperationsElement = true;
-			} else if (withinOperationsElement) {
-				readLines.add(line);
+	public Optional<AbstractOperation> tryEmit() throws IOException {
+		final PipedOutputStream pos = new PipedOutputStream();
+		final PipedInputStream pis = new PipedInputStream(pos);
+
+		new Thread(new Runnable() {
+			public void run() {
+				if (direction == Direction.Forward) {
+					readForward(pos);
+				} else {
+					readBackward(pos);
+				}
 			}
-			offset += line.getBytes().length;
-			offset += NEWLINE_LENGTH;
-		}
-		if (line != null) {
-			withinOperationsElement = false;
-			offset += line.getBytes().length;
-		}
-		if (!withinOperationsElement && !readLines.isEmpty()) {
-			if (direction == Direction.Backward) {
-				Collections.reverse(readLines);
+		}).start();
+
+		try {
+			final EObject deserializedObject = deserialize(pis);
+			if (AbstractOperation.class.isInstance(deserializedObject)) {
+				return Optional.of(AbstractOperation.class.cast(deserializedObject));
 			}
-			return Optional.of(deserialize(StringUtils.join(readLines, StringUtils.EMPTY)));
+			return Optional.absent();
+		} catch (final IOException e) {
+			throw e;
+		} finally {
+			pis.close();
 		}
 
-		return Optional.absent();
 	}
 
 	private String getClosingTag(boolean isForward) {
@@ -109,18 +294,23 @@
 		return isForward ? XmlTags.OPERATIONS_START_TAG : XmlTags.OPERATIONS_END_TAG;
 	}
 
-	private AbstractOperation deserialize(final String string) throws IOException {
+	private EObject deserialize(final PipedInputStream pis) throws IOException {
 		final ResourceSet resourceSet = new ResourceSetImpl();
 		final Resource resource = resourceSet.createResource(URI.createURI("virtualResource.xmi")); //$NON-NLS-1$
-		final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-		outputStream.write(string.getBytes());
-		final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
-		resource.load(inputStream, ModelUtil.getResourceLoadOptions());
-		final AbstractOperation operation = (AbstractOperation) resource.getContents().get(0);
-		if (operation instanceof CreateDeleteOperation) {
-			((CreateDeleteOperation) operation).getSubOperations();
-		}
-		return operation;
-
+		((XMLResourceImpl) resource).setIntrinsicIDToEObjectMap(Maps.<String, EObject> newLinkedHashMap());
+		final XMLLoadImpl xmlLoadImpl = new XMLLoadImpl(new XMLHelperImpl());
+		xmlLoadImpl.load((XMLResource) resource, pis, ModelUtil.getResourceLoadOptions());
+		return resource.getContents().get(0);
 	}
-}
\ No newline at end of file
+
+	/**
+	 * 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/OperationIterator.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationIterator.java
index 2a995a9..f3c3448 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationIterator.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/OperationIterator.java
@@ -11,13 +11,10 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.model.versioning.impl.persistent;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.util.Iterator;
 
-import org.apache.commons.io.input.ReversedLinesFileReader;
 import org.apache.commons.lang.NotImplementedException;
 import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation;
 
@@ -34,7 +31,7 @@
 
 	private Optional<AbstractOperation> operation;
 	private OperationEmitter operationEmitter;
-	private ReadLineCapable reader;
+	// private ReadLineCapable reader;
 	private boolean isInitialized;
 	private final String operationsFilePath;
 	private final Direction direction;
@@ -54,17 +51,7 @@
 	}
 
 	private void init() {
-		operationEmitter = new OperationEmitter(direction);
-		try {
-			if (direction == Direction.Forward) {
-				reader = ReadLineCapable.INSTANCE.create(new BufferedReader(
-					new FileReader(new File(operationsFilePath))));
-			} else {
-				reader = ReadLineCapable.INSTANCE.create(new ReversedLinesFileReader(new File(operationsFilePath)));
-			}
-		} catch (final IOException ex1) {
-			ex1.printStackTrace();
-		}
+		operationEmitter = new OperationEmitter(direction, new File(operationsFilePath));
 		isInitialized = true;
 	}
 
@@ -79,13 +66,14 @@
 			init();
 		}
 		try {
-			operation = operationEmitter.tryEmit(reader);
+			operation = operationEmitter.tryEmit();
 			final boolean hasNext = operation.isPresent();
 			if (!hasNext) {
 				close();
 			}
 			return hasNext;
 		} catch (final IOException ex) {
+			// TODO
 			// replace operations file
 			ex.printStackTrace();
 		}
@@ -120,13 +108,6 @@
 	 * Closes the underlying operations file.
 	 */
 	public void close() {
-		try {
-			if (reader != null) {
-				reader.close();
-			}
-		} catch (final IOException ex) {
-			// TODO
-			ex.printStackTrace();
-		}
+		operationEmitter.close();
 	}
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/XmlTags.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/XmlTags.java
index ee74dfd..628ca0b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/XmlTags.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/impl/persistent/XmlTags.java
@@ -36,8 +36,12 @@
 	 * Change package opening tag.
 	 */
 	public static final String CHANGE_PACKAGE_START = "<org.eclipse.emf.emfstore.internal.server.model.versioning:ChangePackage " //$NON-NLS-1$
-		+ "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\">" //$NON-NLS-1$
-		+ NEWLINE;
+		+ "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\">"; //$NON-NLS-1$
+
+	/**
+	 * Change package opening tag with newline.
+	 */
+	public static final String CHANGE_PACKAGE_START_WITH_NEWLINE = CHANGE_PACKAGE_START + NEWLINE;
 
 	/**
 	 * Change package closing tag.
@@ -58,4 +62,7 @@
 	 * Sub operations closing tag (<&#47;subOperations>).
 	 */
 	public static final String SUB_OPERATIONS_END_TAG = "</subOperations>"; //$NON-NLS-1$
+
+	public static final String XML_RESOURCE_WITH_EOBJECT = "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n" //$NON-NLS-1$
+		+ "<ecore:EObject xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\"/>"; //$NON-NLS-1$
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/AbstractOperation.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/AbstractOperation.java
index 2021917..4a072fa 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/AbstractOperation.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/AbstractOperation.java
@@ -45,8 +45,8 @@
  * @model abstract="true"
  * @generated
  */
-public interface AbstractOperation extends IdentifiableElement,
-	APIDelegate<org.eclipse.emf.emfstore.server.model.ESOperation> {
+public interface AbstractOperation
+	extends IdentifiableElement, APIDelegate<org.eclipse.emf.emfstore.server.model.ESOperation> {
 	/**
 	 * Returns the value of the '<em><b>Model Element Id</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/OperationsPackage.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/OperationsPackage.java
index b351647..6c34f6e 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/OperationsPackage.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/OperationsPackage.java
@@ -2715,7 +2715,8 @@
 		 * <!-- begin-user-doc
 		 * --> <!-- end-user-doc -->
 		 *
-		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.MultiAttributeMoveOperationImpl
+		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.
+		 *      MultiAttributeMoveOperationImpl
 		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.OperationsPackageImpl#getMultiAttributeMoveOperation()
 		 * @generated
 		 */
@@ -2862,7 +2863,8 @@
 		 * <!-- begin-user-doc
 		 * --> <!-- end-user-doc -->
 		 *
-		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.MultiReferenceMoveOperationImpl
+		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.
+		 *      MultiReferenceMoveOperationImpl
 		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.impl.OperationsPackageImpl#getMultiReferenceMoveOperation()
 		 * @generated
 		 */
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/AbstractOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/AbstractOperationImpl.java
index ccb9dd7..f19020b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/AbstractOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/AbstractOperationImpl.java
@@ -162,11 +162,11 @@
 			modelElementId = (ModelElementId) eResolveProxy(oldModelElementId);
 			if (modelElementId != oldModelElementId) {
 				final InternalEObject newModelElementId = (InternalEObject) modelElementId;
-				NotificationChain msgs = oldModelElementId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, null);
+				NotificationChain msgs = oldModelElementId.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, null);
 				if (newModelElementId.eInternalContainer() == null) {
-					msgs = newModelElementId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, msgs);
+					msgs = newModelElementId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -218,12 +218,12 @@
 		if (newModelElementId != modelElementId) {
 			NotificationChain msgs = null;
 			if (modelElementId != null) {
-				msgs = ((InternalEObject) modelElementId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, msgs);
+				msgs = ((InternalEObject) modelElementId).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, msgs);
 			}
 			if (newModelElementId != null) {
-				msgs = ((InternalEObject) newModelElementId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, msgs);
+				msgs = ((InternalEObject) newModelElementId).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.ABSTRACT_OPERATION__MODEL_ELEMENT_ID, null, msgs);
 			}
 			msgs = basicSetModelElementId(newModelElementId, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CompositeOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CompositeOperationImpl.java
index c4aa729..c04ac48 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CompositeOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CompositeOperationImpl.java
@@ -241,8 +241,8 @@
 		final AbstractOperation oldMainOperation = mainOperation;
 		mainOperation = newMainOperation;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET,
-				OperationsPackage.COMPOSITE_OPERATION__MAIN_OPERATION, oldMainOperation, mainOperation));
+			eNotify(new ENotificationImpl(this, Notification.SET, OperationsPackage.COMPOSITE_OPERATION__MAIN_OPERATION,
+				oldMainOperation, mainOperation));
 		}
 	}
 
@@ -264,8 +264,8 @@
 		final String oldCompositeName = compositeName;
 		compositeName = newCompositeName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET,
-				OperationsPackage.COMPOSITE_OPERATION__COMPOSITE_NAME, oldCompositeName, compositeName));
+			eNotify(new ENotificationImpl(this, Notification.SET, OperationsPackage.COMPOSITE_OPERATION__COMPOSITE_NAME,
+				oldCompositeName, compositeName));
 		}
 	}
 
@@ -437,8 +437,8 @@
 		case OperationsPackage.COMPOSITE_OPERATION__MAIN_OPERATION:
 			return mainOperation != null;
 		case OperationsPackage.COMPOSITE_OPERATION__COMPOSITE_NAME:
-			return COMPOSITE_NAME_EDEFAULT == null ? compositeName != null : !COMPOSITE_NAME_EDEFAULT
-				.equals(compositeName);
+			return COMPOSITE_NAME_EDEFAULT == null ? compositeName != null
+				: !COMPOSITE_NAME_EDEFAULT.equals(compositeName);
 		case OperationsPackage.COMPOSITE_OPERATION__COMPOSITE_DESCRIPTION:
 			return COMPOSITE_DESCRIPTION_EDEFAULT == null ? compositeDescription != null
 				: !COMPOSITE_DESCRIPTION_EDEFAULT.equals(compositeDescription);
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CreateDeleteOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CreateDeleteOperationImpl.java
index 9d25405..12afec5 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CreateDeleteOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/CreateDeleteOperationImpl.java
@@ -91,7 +91,7 @@
 				}
 			}
 
-			collection.clearAllocatedCaches(eObjectToIdMap.values());
+			collection.clearAllocatedCaches(new LinkedHashSet<ModelElementId>(getEObjectToIdMap().values()));
 		} else {
 			if (collection.contains(getModelElementId())) {
 				// silently fail
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/EObjectToModelElementIdMapImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/EObjectToModelElementIdMapImpl.java
index 3df39e1..cd84a33 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/EObjectToModelElementIdMapImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/EObjectToModelElementIdMapImpl.java
@@ -132,11 +132,11 @@
 			value = (ModelElementId) eResolveProxy(oldValue);
 			if (value != oldValue) {
 				final InternalEObject newValue = (InternalEObject) value;
-				NotificationChain msgs = oldValue.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, null);
+				NotificationChain msgs = oldValue.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, null);
 				if (newValue.eInternalContainer() == null) {
-					msgs = newValue.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, msgs);
+					msgs = newValue.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -188,12 +188,12 @@
 		if (newValue != value) {
 			NotificationChain msgs = null;
 			if (value != null) {
-				msgs = ((InternalEObject) value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, msgs);
+				msgs = ((InternalEObject) value).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, msgs);
 			}
 			if (newValue != null) {
-				msgs = ((InternalEObject) newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, msgs);
+				msgs = ((InternalEObject) newValue).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.EOBJECT_TO_MODEL_ELEMENT_ID_MAP__VALUE, null, msgs);
 			}
 			msgs = basicSetTypedValue(newValue, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiAttributeMoveOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiAttributeMoveOperationImpl.java
index acbbbe1..50e2934 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiAttributeMoveOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiAttributeMoveOperationImpl.java
@@ -190,7 +190,8 @@
 		referencedValue = newReferencedValue;
 		if (eNotificationRequired()) {
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__REFERENCED_VALUE, oldReferencedValue, referencedValue));
+				OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__REFERENCED_VALUE, oldReferencedValue,
+				referencedValue));
 		}
 	}
 
@@ -267,8 +268,8 @@
 		case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__NEW_INDEX:
 			return newIndex != NEW_INDEX_EDEFAULT;
 		case OperationsPackage.MULTI_ATTRIBUTE_MOVE_OPERATION__REFERENCED_VALUE:
-			return REFERENCED_VALUE_EDEFAULT == null ? referencedValue != null : !REFERENCED_VALUE_EDEFAULT
-				.equals(referencedValue);
+			return REFERENCED_VALUE_EDEFAULT == null ? referencedValue != null
+				: !REFERENCED_VALUE_EDEFAULT.equals(referencedValue);
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceMoveOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceMoveOperationImpl.java
index 5639b4a..fb784d0 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceMoveOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceMoveOperationImpl.java
@@ -178,11 +178,16 @@
 			referencedModelElementId = (ModelElementId) eResolveProxy(oldReferencedModelElementId);
 			if (referencedModelElementId != oldReferencedModelElementId) {
 				final InternalEObject newReferencedModelElementId = (InternalEObject) referencedModelElementId;
-				NotificationChain msgs = oldReferencedModelElementId.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID, null, null);
+				NotificationChain msgs = oldReferencedModelElementId
+					.eInverseRemove(this,
+						EOPPOSITE_FEATURE_BASE
+							- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID,
+						null, null);
 				if (newReferencedModelElementId.eInternalContainer() == null) {
-					msgs = newReferencedModelElementId.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID, null, msgs);
+					msgs = newReferencedModelElementId.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE
+							- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID,
+						null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -237,12 +242,18 @@
 		if (newReferencedModelElementId != referencedModelElementId) {
 			NotificationChain msgs = null;
 			if (referencedModelElementId != null) {
-				msgs = ((InternalEObject) referencedModelElementId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID, null, msgs);
+				msgs = ((InternalEObject) referencedModelElementId)
+					.eInverseRemove(this,
+						EOPPOSITE_FEATURE_BASE
+							- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID,
+						null, msgs);
 			}
 			if (newReferencedModelElementId != null) {
-				msgs = ((InternalEObject) newReferencedModelElementId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID, null, msgs);
+				msgs = ((InternalEObject) newReferencedModelElementId)
+					.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE
+							- OperationsPackage.MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID,
+						null, msgs);
 			}
 			msgs = basicSetReferencedModelElementId(newReferencedModelElementId, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceSetOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceSetOperationImpl.java
index c5804ce..517d87b 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceSetOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/MultiReferenceSetOperationImpl.java
@@ -144,11 +144,12 @@
 			oldValue = (ModelElementId) eResolveProxy(oldOldValue);
 			if (oldValue != oldOldValue) {
 				final InternalEObject newOldValue = (InternalEObject) oldValue;
-				NotificationChain msgs = oldOldValue.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, null);
+				NotificationChain msgs = oldOldValue.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, null);
 				if (newOldValue.eInternalContainer() == null) {
-					msgs = newOldValue.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, msgs);
+					msgs = newOldValue.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null,
+						msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -200,12 +201,12 @@
 		if (newOldValue != oldValue) {
 			NotificationChain msgs = null;
 			if (oldValue != null) {
-				msgs = ((InternalEObject) oldValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, msgs);
+				msgs = ((InternalEObject) oldValue).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, msgs);
 			}
 			if (newOldValue != null) {
-				msgs = ((InternalEObject) newOldValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, msgs);
+				msgs = ((InternalEObject) newOldValue).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__OLD_VALUE, null, msgs);
 			}
 			msgs = basicSetOldValue(newOldValue, msgs);
 			if (msgs != null) {
@@ -228,11 +229,12 @@
 			newValue = (ModelElementId) eResolveProxy(oldNewValue);
 			if (newValue != oldNewValue) {
 				final InternalEObject newNewValue = (InternalEObject) newValue;
-				NotificationChain msgs = oldNewValue.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, null);
+				NotificationChain msgs = oldNewValue.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, null);
 				if (newNewValue.eInternalContainer() == null) {
-					msgs = newNewValue.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, msgs);
+					msgs = newNewValue.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null,
+						msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -284,12 +286,12 @@
 		if (newNewValue != newValue) {
 			NotificationChain msgs = null;
 			if (newValue != null) {
-				msgs = ((InternalEObject) newValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, msgs);
+				msgs = ((InternalEObject) newValue).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, msgs);
 			}
 			if (newNewValue != null) {
-				msgs = ((InternalEObject) newNewValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, msgs);
+				msgs = ((InternalEObject) newNewValue).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.MULTI_REFERENCE_SET_OPERATION__NEW_VALUE, null, msgs);
 			}
 			msgs = basicSetNewValue(newNewValue, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationGroupImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationGroupImpl.java
index 8b113a0..2910a9e 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationGroupImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationGroupImpl.java
@@ -107,8 +107,8 @@
 		final String oldName = name;
 		name = newName;
 		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, OperationsPackage.OPERATION_GROUP__NAME, oldName,
-				name));
+			eNotify(
+				new ENotificationImpl(this, Notification.SET, OperationsPackage.OPERATION_GROUP__NAME, oldName, name));
 		}
 	}
 
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationsPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationsPackageImpl.java
index c9303b9..e3ddd6c 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationsPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/OperationsPackageImpl.java
@@ -242,7 +242,7 @@
 		// Obtain or create and register package
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
 			.get(eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
-			: new OperationsPackageImpl());
+				: new OperationsPackageImpl());
 
 		isInited = true;
 
@@ -250,31 +250,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
+			.getEPackage(SemanticPackage.eNS_URI) instanceof SemanticPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI) : SemanticPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theOperationsPackage.createPackageContents();
@@ -973,7 +975,8 @@
 		multiReferenceMoveOperationEClass = createEClass(MULTI_REFERENCE_MOVE_OPERATION);
 		createEAttribute(multiReferenceMoveOperationEClass, MULTI_REFERENCE_MOVE_OPERATION__OLD_INDEX);
 		createEAttribute(multiReferenceMoveOperationEClass, MULTI_REFERENCE_MOVE_OPERATION__NEW_INDEX);
-		createEReference(multiReferenceMoveOperationEClass, MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID);
+		createEReference(multiReferenceMoveOperationEClass,
+			MULTI_REFERENCE_MOVE_OPERATION__REFERENCED_MODEL_ELEMENT_ID);
 
 		referenceOperationEClass = createEClass(REFERENCE_OPERATION);
 		createEAttribute(referenceOperationEClass, REFERENCE_OPERATION__BIDIRECTIONAL);
@@ -1054,252 +1057,190 @@
 		operationIdEClass.getESuperTypes().add(theModelPackage.getUniqueIdentifier());
 
 		// Initialize classes and features; add operations and parameters
-		initEClass(abstractOperationEClass, AbstractOperation.class,
-			"AbstractOperation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getAbstractOperation_ModelElementId(),
-			theModelPackage.getModelElementId(),
-			null,
-			"modelElementId", null, 0, 1, AbstractOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getAbstractOperation_Accepted(),
-			ecorePackage.getEBoolean(),
-			"accepted", null, 0, 1, AbstractOperation.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getAbstractOperation_ClientDate(),
-			ecorePackage.getEDate(),
-			"clientDate", null, 0, 1, AbstractOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(abstractOperationEClass, AbstractOperation.class, "AbstractOperation", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAbstractOperation_ModelElementId(), theModelPackage.getModelElementId(), null,
+			"modelElementId", null, 0, 1, AbstractOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
+			IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getAbstractOperation_Accepted(), ecorePackage.getEBoolean(), "accepted", null, 0, 1, //$NON-NLS-1$
+			AbstractOperation.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getAbstractOperation_ClientDate(), ecorePackage.getEDate(), "clientDate", null, 0, 1, //$NON-NLS-1$
+			AbstractOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(compositeOperationEClass, CompositeOperation.class,
-			"CompositeOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getCompositeOperation_SubOperations(),
-			getAbstractOperation(),
-			null,
-			"subOperations", null, 0, -1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getCompositeOperation_MainOperation(),
-			getAbstractOperation(),
-			null,
-			"mainOperation", null, 0, 1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getCompositeOperation_CompositeName(),
-			ecorePackage.getEString(),
-			"compositeName", null, 0, 1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getCompositeOperation_CompositeDescription(),
-			ecorePackage.getEString(),
-			"compositeDescription", null, 0, 1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getCompositeOperation_Reversed(),
-			ecorePackage.getEBoolean(),
-			"reversed", null, 0, 1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(compositeOperationEClass, CompositeOperation.class, "CompositeOperation", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getCompositeOperation_SubOperations(), getAbstractOperation(), null, "subOperations", null, 0, //$NON-NLS-1$
+			-1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getCompositeOperation_MainOperation(), getAbstractOperation(), null, "mainOperation", null, 0, 1, //$NON-NLS-1$
+			CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getCompositeOperation_CompositeName(), ecorePackage.getEString(), "compositeName", null, 0, 1, //$NON-NLS-1$
+			CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getCompositeOperation_CompositeDescription(), ecorePackage.getEString(), "compositeDescription", //$NON-NLS-1$
+			null, 0, 1, CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getCompositeOperation_Reversed(), ecorePackage.getEBoolean(), "reversed", null, 0, 1, //$NON-NLS-1$
+			CompositeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(featureOperationEClass, FeatureOperation.class,
-			"FeatureOperation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getFeatureOperation_FeatureName(),
-			ecorePackage.getEString(),
-			"featureName", "", 0, 1, FeatureOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(
-			getFeatureOperation_Unset(),
-			getUnsetType(),
-			"unset", null, 0, 1, FeatureOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(featureOperationEClass, FeatureOperation.class, "FeatureOperation", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getFeatureOperation_FeatureName(), ecorePackage.getEString(), "featureName", "", 0, 1, //$NON-NLS-1$ //$NON-NLS-2$
+			FeatureOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getFeatureOperation_Unset(), getUnsetType(), "unset", null, 0, 1, FeatureOperation.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(createDeleteOperationEClass, CreateDeleteOperation.class,
-			"CreateDeleteOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getCreateDeleteOperation_Delete(),
-			ecorePackage.getEBoolean(),
-			"delete", null, 0, 1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getCreateDeleteOperation_ModelElement(),
-			ecorePackage.getEObject(),
-			null,
-			"modelElement", null, 0, 1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getCreateDeleteOperation_SubOperations(),
-			getReferenceOperation(),
-			null,
-			"subOperations", null, 0, -1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getCreateDeleteOperation_EObjectToIdMap(),
-			getEObjectToModelElementIdMap(),
-			null,
-			"eObjectToIdMap", null, 0, -1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(createDeleteOperationEClass, CreateDeleteOperation.class, "CreateDeleteOperation", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getCreateDeleteOperation_Delete(), ecorePackage.getEBoolean(), "delete", null, 0, 1, //$NON-NLS-1$
+			CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getCreateDeleteOperation_ModelElement(), ecorePackage.getEObject(), null, "modelElement", null, //$NON-NLS-1$
+			0, 1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getCreateDeleteOperation_SubOperations(), getReferenceOperation(), null, "subOperations", null, //$NON-NLS-1$
+			0, -1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getCreateDeleteOperation_EObjectToIdMap(), getEObjectToModelElementIdMap(), null,
+			"eObjectToIdMap", null, 0, -1, CreateDeleteOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
+			IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(attributeOperationEClass, AttributeOperation.class,
-			"AttributeOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getAttributeOperation_OldValue(),
-			ecorePackage.getEJavaObject(),
-			"oldValue", null, 0, 1, AttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getAttributeOperation_NewValue(),
-			ecorePackage.getEJavaObject(),
-			"newValue", null, 0, 1, AttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(attributeOperationEClass, AttributeOperation.class, "AttributeOperation", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAttributeOperation_OldValue(), ecorePackage.getEJavaObject(), "oldValue", null, 0, 1, //$NON-NLS-1$
+			AttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getAttributeOperation_NewValue(), ecorePackage.getEJavaObject(), "newValue", null, 0, 1, //$NON-NLS-1$
+			AttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(multiAttributeOperationEClass, MultiAttributeOperation.class,
-			"MultiAttributeOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeOperation_Add(),
-			ecorePackage.getEBoolean(),
-			"add", null, 0, 1, MultiAttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeOperation_Indexes(),
-			ecorePackage.getEInt(),
-			"indexes", null, 0, -1, MultiAttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeOperation_ReferencedValues(),
-			ecorePackage.getEJavaObject(),
-			"referencedValues", null, 0, -1, MultiAttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(multiAttributeOperationEClass, MultiAttributeOperation.class, "MultiAttributeOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMultiAttributeOperation_Add(), ecorePackage.getEBoolean(), "add", null, 0, 1, //$NON-NLS-1$
+			MultiAttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiAttributeOperation_Indexes(), ecorePackage.getEInt(), "indexes", null, 0, -1, //$NON-NLS-1$
+			MultiAttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiAttributeOperation_ReferencedValues(), ecorePackage.getEJavaObject(), "referencedValues", //$NON-NLS-1$
+			null, 0, -1, MultiAttributeOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+			!IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(multiAttributeSetOperationEClass, MultiAttributeSetOperation.class,
-			"MultiAttributeSetOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeSetOperation_Index(),
-			ecorePackage.getEInt(),
-			"index", null, 0, 1, MultiAttributeSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeSetOperation_OldValue(),
-			ecorePackage.getEJavaObject(),
-			"oldValue", null, 0, 1, MultiAttributeSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeSetOperation_NewValue(),
-			ecorePackage.getEJavaObject(),
-			"newValue", null, 0, 1, MultiAttributeSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(multiAttributeSetOperationEClass, MultiAttributeSetOperation.class, "MultiAttributeSetOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMultiAttributeSetOperation_Index(), ecorePackage.getEInt(), "index", null, 0, 1, //$NON-NLS-1$
+			MultiAttributeSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiAttributeSetOperation_OldValue(), ecorePackage.getEJavaObject(), "oldValue", null, 0, 1, //$NON-NLS-1$
+			MultiAttributeSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiAttributeSetOperation_NewValue(), ecorePackage.getEJavaObject(), "newValue", null, 0, 1, //$NON-NLS-1$
+			MultiAttributeSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(multiAttributeMoveOperationEClass, MultiAttributeMoveOperation.class,
-			"MultiAttributeMoveOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeMoveOperation_OldIndex(),
-			ecorePackage.getEInt(),
-			"oldIndex", null, 0, 1, MultiAttributeMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeMoveOperation_NewIndex(),
-			ecorePackage.getEInt(),
-			"newIndex", null, 0, 1, MultiAttributeMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiAttributeMoveOperation_ReferencedValue(),
-			ecorePackage.getEJavaObject(),
-			"referencedValue", null, 0, 1, MultiAttributeMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(multiAttributeMoveOperationEClass, MultiAttributeMoveOperation.class, "MultiAttributeMoveOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMultiAttributeMoveOperation_OldIndex(), ecorePackage.getEInt(), "oldIndex", null, 0, 1, //$NON-NLS-1$
+			MultiAttributeMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiAttributeMoveOperation_NewIndex(), ecorePackage.getEInt(), "newIndex", null, 0, 1, //$NON-NLS-1$
+			MultiAttributeMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiAttributeMoveOperation_ReferencedValue(), ecorePackage.getEJavaObject(),
+			"referencedValue", null, 0, 1, MultiAttributeMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, //$NON-NLS-1$
+			IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(singleReferenceOperationEClass, SingleReferenceOperation.class,
-			"SingleReferenceOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getSingleReferenceOperation_OldValue(),
-			theModelPackage.getModelElementId(),
-			null,
-			"oldValue", null, 0, 1, SingleReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getSingleReferenceOperation_NewValue(),
-			theModelPackage.getModelElementId(),
-			null,
-			"newValue", null, 0, 1, SingleReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(singleReferenceOperationEClass, SingleReferenceOperation.class, "SingleReferenceOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getSingleReferenceOperation_OldValue(), theModelPackage.getModelElementId(), null, "oldValue", //$NON-NLS-1$
+			null, 0, 1, SingleReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getSingleReferenceOperation_NewValue(), theModelPackage.getModelElementId(), null, "newValue", //$NON-NLS-1$
+			null, 0, 1, SingleReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(multiReferenceSetOperationEClass, MultiReferenceSetOperation.class,
-			"MultiReferenceSetOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getMultiReferenceSetOperation_Index(),
-			ecorePackage.getEInt(),
-			"index", null, 0, 1, MultiReferenceSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getMultiReferenceSetOperation_OldValue(),
-			theModelPackage.getModelElementId(),
-			null,
-			"oldValue", null, 0, 1, MultiReferenceSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getMultiReferenceSetOperation_NewValue(),
-			theModelPackage.getModelElementId(),
-			null,
-			"newValue", null, 0, 1, MultiReferenceSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(multiReferenceSetOperationEClass, MultiReferenceSetOperation.class, "MultiReferenceSetOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMultiReferenceSetOperation_Index(), ecorePackage.getEInt(), "index", null, 0, 1, //$NON-NLS-1$
+			MultiReferenceSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMultiReferenceSetOperation_OldValue(), theModelPackage.getModelElementId(), null, "oldValue", //$NON-NLS-1$
+			null, 0, 1, MultiReferenceSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMultiReferenceSetOperation_NewValue(), theModelPackage.getModelElementId(), null, "newValue", //$NON-NLS-1$
+			null, 0, 1, MultiReferenceSetOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(multiReferenceOperationEClass, MultiReferenceOperation.class,
-			"MultiReferenceOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getMultiReferenceOperation_Add(),
-			ecorePackage.getEBoolean(),
-			"add", null, 0, 1, MultiReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiReferenceOperation_Index(),
-			ecorePackage.getEInt(),
-			"index", null, 0, 1, MultiReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getMultiReferenceOperation_ReferencedModelElements(),
-			theModelPackage.getModelElementId(),
-			null,
-			"referencedModelElements", null, 0, -1, MultiReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(multiReferenceOperationEClass, MultiReferenceOperation.class, "MultiReferenceOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMultiReferenceOperation_Add(), ecorePackage.getEBoolean(), "add", null, 0, 1, //$NON-NLS-1$
+			MultiReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiReferenceOperation_Index(), ecorePackage.getEInt(), "index", null, 0, 1, //$NON-NLS-1$
+			MultiReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMultiReferenceOperation_ReferencedModelElements(), theModelPackage.getModelElementId(), null,
+			"referencedModelElements", null, 0, -1, MultiReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, //$NON-NLS-1$
+			IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(multiReferenceMoveOperationEClass, MultiReferenceMoveOperation.class,
-			"MultiReferenceMoveOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getMultiReferenceMoveOperation_OldIndex(),
-			ecorePackage.getEInt(),
-			"oldIndex", null, 0, 1, MultiReferenceMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getMultiReferenceMoveOperation_NewIndex(),
-			ecorePackage.getEInt(),
-			"newIndex", null, 0, 1, MultiReferenceMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getMultiReferenceMoveOperation_ReferencedModelElementId(),
-			theModelPackage.getModelElementId(),
-			null,
-			"referencedModelElementId", null, 0, 1, MultiReferenceMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(multiReferenceMoveOperationEClass, MultiReferenceMoveOperation.class, "MultiReferenceMoveOperation", //$NON-NLS-1$
+			!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMultiReferenceMoveOperation_OldIndex(), ecorePackage.getEInt(), "oldIndex", null, 0, 1, //$NON-NLS-1$
+			MultiReferenceMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMultiReferenceMoveOperation_NewIndex(), ecorePackage.getEInt(), "newIndex", null, 0, 1, //$NON-NLS-1$
+			MultiReferenceMoveOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getMultiReferenceMoveOperation_ReferencedModelElementId(), theModelPackage.getModelElementId(),
+			null, "referencedModelElementId", null, 0, 1, MultiReferenceMoveOperation.class, !IS_TRANSIENT, //$NON-NLS-1$
+			!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+			IS_ORDERED);
 
-		initEClass(referenceOperationEClass, ReferenceOperation.class,
-			"ReferenceOperation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getReferenceOperation_Bidirectional(),
-			ecorePackage.getEBoolean(),
-			"bidirectional", null, 0, 1, ReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getReferenceOperation_OppositeFeatureName(),
-			ecorePackage.getEString(),
-			"oppositeFeatureName", null, 0, 1, ReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(
-			getReferenceOperation_ContainmentType(),
-			getContainmentType(),
-			"containmentType", null, 0, 1, ReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(referenceOperationEClass, ReferenceOperation.class, "ReferenceOperation", IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getReferenceOperation_Bidirectional(), ecorePackage.getEBoolean(), "bidirectional", null, 0, 1, //$NON-NLS-1$
+			ReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getReferenceOperation_OppositeFeatureName(), ecorePackage.getEString(), "oppositeFeatureName", //$NON-NLS-1$
+			null, 0, 1, ReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+			IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getReferenceOperation_ContainmentType(), getContainmentType(), "containmentType", null, 0, 1, //$NON-NLS-1$
+			ReferenceOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
 
-		initEClass(operationIdEClass, OperationId.class,
-			"OperationId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(operationIdEClass, OperationId.class, "OperationId", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
 
-		initEClass(operationGroupEClass, OperationGroup.class,
-			"OperationGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getOperationGroup_Name(),
-			ecorePackage.getEString(),
-			"name", null, 0, 1, OperationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getOperationGroup_Operations(),
-			getAbstractOperation(),
-			null,
-			"operations", null, 0, -1, OperationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(operationGroupEClass, OperationGroup.class, "OperationGroup", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getOperationGroup_Name(), ecorePackage.getEString(), "name", null, 0, 1, OperationGroup.class, //$NON-NLS-1$
+			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getOperationGroup_Operations(), getAbstractOperation(), null, "operations", null, 0, -1, //$NON-NLS-1$
+			OperationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(modelElementGroupEClass, ModelElementGroup.class,
-			"ModelElementGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(
-			getModelElementGroup_Name(),
-			ecorePackage.getEString(),
-			"name", null, 0, 1, ModelElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getModelElementGroup_ModelElements(),
-			theModelPackage.getModelElementId(),
-			null,
-			"modelElements", null, 0, -1, ModelElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(modelElementGroupEClass, ModelElementGroup.class, "ModelElementGroup", !IS_ABSTRACT, !IS_INTERFACE, //$NON-NLS-1$
+			IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getModelElementGroup_Name(), ecorePackage.getEString(), "name", null, 0, 1, //$NON-NLS-1$
+			ModelElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+			!IS_DERIVED, IS_ORDERED);
+		initEReference(getModelElementGroup_ModelElements(), theModelPackage.getModelElementId(), null, "modelElements", //$NON-NLS-1$
+			null, 0, -1, ModelElementGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+			IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(eObjectToModelElementIdMapEClass, Map.Entry.class,
-			"EObjectToModelElementIdMap", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(
-			getEObjectToModelElementIdMap_Key(),
-			ecorePackage.getEObject(),
-			null,
-			"key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEReference(
-			getEObjectToModelElementIdMap_Value(),
-			theModelPackage.getModelElementId(),
-			null,
-			"value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(eObjectToModelElementIdMapEClass, Map.Entry.class, "EObjectToModelElementIdMap", !IS_ABSTRACT, //$NON-NLS-1$
+			!IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getEObjectToModelElementIdMap_Key(), ecorePackage.getEObject(), null, "key", null, 0, 1, //$NON-NLS-1$
+			Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getEObjectToModelElementIdMap_Value(), theModelPackage.getModelElementId(), null, "value", null, //$NON-NLS-1$
+			0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES,
+			!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		// Initialize enums and add enum literals
 		initEEnum(containmentTypeEEnum, ContainmentType.class, "ContainmentType"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/SingleReferenceOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/SingleReferenceOperationImpl.java
index a5ddcc7..55bd719 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/SingleReferenceOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/impl/SingleReferenceOperationImpl.java
@@ -101,11 +101,11 @@
 			oldValue = (ModelElementId) eResolveProxy(oldOldValue);
 			if (oldValue != oldOldValue) {
 				final InternalEObject newOldValue = (InternalEObject) oldValue;
-				NotificationChain msgs = oldOldValue.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, null);
+				NotificationChain msgs = oldOldValue.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, null);
 				if (newOldValue.eInternalContainer() == null) {
-					msgs = newOldValue.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, msgs);
+					msgs = newOldValue.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -157,12 +157,12 @@
 		if (newOldValue != oldValue) {
 			NotificationChain msgs = null;
 			if (oldValue != null) {
-				msgs = ((InternalEObject) oldValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, msgs);
+				msgs = ((InternalEObject) oldValue).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, msgs);
 			}
 			if (newOldValue != null) {
-				msgs = ((InternalEObject) newOldValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, msgs);
+				msgs = ((InternalEObject) newOldValue).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__OLD_VALUE, null, msgs);
 			}
 			msgs = basicSetOldValue(newOldValue, msgs);
 			if (msgs != null) {
@@ -185,11 +185,11 @@
 			newValue = (ModelElementId) eResolveProxy(oldNewValue);
 			if (newValue != oldNewValue) {
 				final InternalEObject newNewValue = (InternalEObject) newValue;
-				NotificationChain msgs = oldNewValue.eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, null);
+				NotificationChain msgs = oldNewValue.eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, null);
 				if (newNewValue.eInternalContainer() == null) {
-					msgs = newNewValue.eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-						- OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, msgs);
+					msgs = newNewValue.eInverseAdd(this,
+						EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, msgs);
 				}
 				if (msgs != null) {
 					msgs.dispatch();
@@ -241,12 +241,12 @@
 		if (newNewValue != newValue) {
 			NotificationChain msgs = null;
 			if (newValue != null) {
-				msgs = ((InternalEObject) newValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, msgs);
+				msgs = ((InternalEObject) newValue).eInverseRemove(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, msgs);
 			}
 			if (newNewValue != null) {
-				msgs = ((InternalEObject) newNewValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
-					- OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, msgs);
+				msgs = ((InternalEObject) newNewValue).eInverseAdd(this,
+					EOPPOSITE_FEATURE_BASE - OperationsPackage.SINGLE_REFERENCE_OPERATION__NEW_VALUE, null, msgs);
 			}
 			msgs = basicSetNewValue(newNewValue, msgs);
 			if (msgs != null) {
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/SemanticPackage.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/SemanticPackage.java
index b46415c..1d729c9 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/SemanticPackage.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/SemanticPackage.java
@@ -71,7 +71,8 @@
 	 * <!-- begin-user-doc --> <!--
 	 * end-user-doc -->
 	 *
-	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl.SemanticCompositeOperationImpl
+	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl.
+	 *      SemanticCompositeOperationImpl
 	 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl.SemanticPackageImpl#getSemanticCompositeOperation()
 	 * @generated
 	 */
@@ -209,7 +210,8 @@
 		 * <!-- begin-user-doc --> <!--
 		 * end-user-doc -->
 		 *
-		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl.SemanticCompositeOperationImpl
+		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl.
+		 *      SemanticCompositeOperationImpl
 		 * @see org.eclipse.emf.emfstore.internal.server.model.versioning.operations.semantic.impl.SemanticPackageImpl#getSemanticCompositeOperation()
 		 * @generated
 		 */
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticCompositeOperationImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticCompositeOperationImpl.java
index 0def72c..4a990f4 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticCompositeOperationImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticCompositeOperationImpl.java
@@ -23,8 +23,8 @@
  *
  * @generated
  */
-public abstract class SemanticCompositeOperationImpl extends CompositeOperationImpl implements
-	SemanticCompositeOperation {
+public abstract class SemanticCompositeOperationImpl extends CompositeOperationImpl
+	implements SemanticCompositeOperation {
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 *
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticPackageImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticPackageImpl.java
index 1ddbd3a..a6eefda 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticPackageImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/semantic/impl/SemanticPackageImpl.java
@@ -91,8 +91,9 @@
 		}
 
 		// Obtain or create and register package
-		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE
-			.get(eNS_URI) : new SemanticPackageImpl());
+		final SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl) (EPackage.Registry.INSTANCE
+			.get(eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+				: new SemanticPackageImpl());
 
 		isInited = true;
 
@@ -100,31 +101,33 @@
 		ModelPackage.eINSTANCE.eClass();
 
 		// Obtain or create and register interdependencies
-		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
-			: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
+		final ModelPackageImpl theModelPackage_1 = (ModelPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(
+			org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI) instanceof ModelPackageImpl
+				? EPackage.Registry.INSTANCE
+					.getEPackage(org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eNS_URI)
+				: org.eclipse.emf.emfstore.internal.server.model.ModelPackage.eINSTANCE);
 		final VersioningPackageImpl theVersioningPackage = (VersioningPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
+			.getEPackage(VersioningPackage.eNS_URI) instanceof VersioningPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(VersioningPackage.eNS_URI) : VersioningPackage.eINSTANCE);
 		final OperationsPackageImpl theOperationsPackage = (OperationsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
+			.getEPackage(OperationsPackage.eNS_URI) instanceof OperationsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(OperationsPackage.eNS_URI) : OperationsPackage.eINSTANCE);
 		final EventsPackageImpl theEventsPackage = (EventsPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+			.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
 		final ServerPackageImpl theServerPackage = (ServerPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
+			.getEPackage(ServerPackage.eNS_URI) instanceof ServerPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(ServerPackage.eNS_URI) : ServerPackage.eINSTANCE);
 		final AccesscontrolPackageImpl theAccesscontrolPackage = (AccesscontrolPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(AccesscontrolPackage.eNS_URI) : AccesscontrolPackage.eINSTANCE);
+			.getEPackage(AccesscontrolPackage.eNS_URI) instanceof AccesscontrolPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(AccesscontrolPackage.eNS_URI)
+				: AccesscontrolPackage.eINSTANCE);
 		final RolesPackageImpl theRolesPackage = (RolesPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
+			.getEPackage(RolesPackage.eNS_URI) instanceof RolesPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(RolesPackage.eNS_URI) : RolesPackage.eINSTANCE);
 		final UrlPackageImpl theUrlPackage = (UrlPackageImpl) (EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl ? EPackage.Registry.INSTANCE
-			.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
+			.getEPackage(UrlPackage.eNS_URI) instanceof UrlPackageImpl
+				? EPackage.Registry.INSTANCE.getEPackage(UrlPackage.eNS_URI) : UrlPackage.eINSTANCE);
 
 		// Create package meta-data objects
 		theSemanticPackage.createPackageContents();
@@ -236,8 +239,8 @@
 		semanticCompositeOperationEClass.getESuperTypes().add(theOperationsPackage.getCompositeOperation());
 
 		// Initialize classes and features; add operations and parameters
-		initEClass(semanticCompositeOperationEClass, SemanticCompositeOperation.class,
-			"SemanticCompositeOperation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(semanticCompositeOperationEClass, SemanticCompositeOperation.class, "SemanticCompositeOperation", //$NON-NLS-1$
+			IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 	}
 
 } // SemanticPackageImpl
\ 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/operations/util/OperationsCanonizer.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/OperationsCanonizer.java
index e016be1..af9a94d 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/OperationsCanonizer.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/operations/util/OperationsCanonizer.java
@@ -293,8 +293,8 @@
 
 			}
 			// if the remaining leftOp is a noop, remove it altogether
-			if (attOpLeft.getNewValue() == null && attOpLeft.getOldValue() == null || attOpLeft.getNewValue() != null
-				&& attOpLeft.getNewValue().equals(attOpLeft.getOldValue())) {
+			if (attOpLeft.getNewValue() == null && attOpLeft.getOldValue() == null
+				|| attOpLeft.getNewValue() != null && attOpLeft.getNewValue().equals(attOpLeft.getOldValue())) {
 				operations.remove(i);
 				i--; // reexamine the index after removal
 			}
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/util/HistoryQueryFactoryImpl.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/util/HistoryQueryFactoryImpl.java
index 6b62a20..481b97d 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/util/HistoryQueryFactoryImpl.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/internal/server/model/versioning/util/HistoryQueryFactoryImpl.java
@@ -109,8 +109,8 @@
 	 * @see org.eclipse.emf.emfstore.server.model.query.ESHistoryQueryFactory#modelElementQuery(org.eclipse.emf.emfstore.server.model.versionspec.ESPrimaryVersionSpec,
 	 *      org.eclipse.emf.emfstore.common.model.ESModelElementId, int, int, boolean, boolean)
 	 */
-	public ESModelElementQuery modelElementQuery(ESPrimaryVersionSpec source, ESModelElementId id, int upper,
-		int lower, boolean allVersions, boolean includeCp) {
+	public ESModelElementQuery modelElementQuery(ESPrimaryVersionSpec source, ESModelElementId id, int upper, int lower,
+		boolean allVersions, boolean includeCp) {
 		final ModelElementQuery modelelementQuery = HistoryQueryBuilder.modelelementQuery(
 			((ESPrimaryVersionSpecImpl) source).toInternalAPI(), ((ESModelElementIdImpl) id).toInternalAPI(), upper,
 			lower, allVersions, includeCp);
diff --git a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/server/model/query/ESHistoryQueryFactory.java b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/server/model/query/ESHistoryQueryFactory.java
index 365f226..650de22 100644
--- a/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/server/model/query/ESHistoryQueryFactory.java
+++ b/bundles/org.eclipse.emf.emfstore.server.model/src/org/eclipse/emf/emfstore/server/model/query/ESHistoryQueryFactory.java
@@ -48,8 +48,8 @@
 	 *            whether to include change packages
 	 * @return query the constructed range query
 	 */
-	ESRangeQuery<?> rangeQuery(ESPrimaryVersionSpec source, int upper, int lower, boolean allVersions,
-		boolean incoming, boolean outgoing, boolean includeChangePackages);
+	ESRangeQuery<?> rangeQuery(ESPrimaryVersionSpec source, int upper, int lower, boolean allVersions, boolean incoming,
+		boolean outgoing, boolean includeChangePackages);
 
 	/**
 	 * Factory method for creating a {@link ESPathQuery}, which fetches
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 0749ec7..a5ba403 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.migration;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.common;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
+ 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.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.emfstore.common.model;bundle-version="[1.6.2,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.common.model;bundle-version="[1.7.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.6.2"; x-friends:="org.eclipse.e
+ f.emfstore.internal.server;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.test.comm
+ ontrol;version="1.7.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.6.2";x-friends:=
+ ernal.server.accesscontrol.authentication;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstor
+ ication.verifiers;version="1.7.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.6.2"; x-friends:
+ mfstore.internal.server.conflictDetection;version="1.7.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.6.2";x
+ org.eclipse.emf.emfstore.internal.server.connection;version="1.7.0";x
  -friends:="org.eclipse.emf.emfstore.server.test",org.eclipse.emf.emfs
- tore.internal.server.connection.xmlrpc;version="1.6.2";x-friends:="or
+ tore.internal.server.connection.xmlrpc;version="1.7.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.6.2";x-friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf
+ n="1.7.0";x-friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf
  .emfstore.test.common",org.eclipse.emf.emfstore.internal.server.core;
- version="1.6.2";x-friends:="org.eclipse.emf.emfstore.test.common",org
- .eclipse.emf.emfstore.internal.server.core.helper;version="1.6.2";x-i
+ 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
  nternal:=true,org.eclipse.emf.emfstore.internal.server.core.subinterf
- aces;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.intern
- al.server.exceptions;version="1.6.2"; x-friends:="org.eclipse.emf.emf
+ 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
  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.6.2";x-frien
+ pse.emf.emfstore.internal.server.filetransfer;version="1.7.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.6.
- 2";x-friends:="org.eclipse.emf.emfstore.client,org.eclipse.emf.emfsto
+ mmon",org.eclipse.emf.emfstore.internal.server.impl.api;version="1.7.
+ 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.6.2";x-friends:="org.eclipse.emf.emfstore.client",org.eclipse.em
- f.emfstore.internal.server.storage;version="1.6.2";x-internal:=true,o
- rg.eclipse.emf.emfstore.server;version="1.6.2",org.eclipse.emf.emfsto
- re.server.auth;version="1.6.2",org.eclipse.emf.emfstore.server.except
- ions;version="1.6.2",org.eclipse.emf.emfstore.server.observer;version
- ="1.6.2"
+ 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"
 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/about.properties b/bundles/org.eclipse.emf.emfstore.server/about.properties
index 8804736..2053ce4 100644
--- a/bundles/org.eclipse.emf.emfstore.server/about.properties
+++ b/bundles/org.eclipse.emf.emfstore.server/about.properties
@@ -4,7 +4,7 @@
 Version: {featureVersion}\n\
 Build id: {0}\n\
 \n\
-(c) Copyright 2011-2013 EclipseSource Munich GmbH and others, \n\
+(c) Copyright 2011-2016 EclipseSource Munich GmbH and others, \n\
 and\n\
 (c) Copyright 2008-2011 Lehrstuhl für angewandte Softwaretechnik, \n\
 Technische Universitaet Muenchen. All rights reserved.
diff --git a/bundles/org.eclipse.emf.emfstore.server/pom.xml b/bundles/org.eclipse.emf.emfstore.server/pom.xml
index 84ada01..39f0552 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 5bfdc81..7dc1de0 100644
--- a/bundles/org.eclipse.emf.emfstore.server/schema/resourceOptions.exsd
+++ b/bundles/org.eclipse.emf.emfstore.server/schema/resourceOptions.exsd
@@ -63,6 +63,13 @@
                </documentation>
             </annotation>
          </attribute>
+         <attribute name="useFileBasedChangePackage" type="boolean">
+            <annotation>
+               <documentation>
+                  Whether the server should use file based change packages (true) or in-memory changepackages.
+               </documentation>
+            </annotation>
+         </attribute>
       </complexType>
    </element>
 
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 cb84df1..048f45b 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
@@ -48,6 +48,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 CHECKSUM_KEY = "org.eclipse.emf.emfstore.server.computeChecksum"; //$NON-NLS-1$
 
@@ -377,6 +378,7 @@
 	private static ESLocationProvider locationProvider;
 	private static Boolean isChecksumComputationOnCommitActive;
 	private static Optional<Integer> changePackageFragmentSize;
+	private static Boolean useFileBasedChangePackageOnServer;
 
 	/**
 	 * Return the server home directory location.
@@ -650,6 +652,25 @@
 	}
 
 	/**
+	 * @return <code>true</code> if change-packages may be persisted in a fragmented file-based format,
+	 *         <code>false</code> otherwise
+	 */
+	public static boolean useFileBasedChangePackageOnServer() {
+		if (useFileBasedChangePackageOnServer == null) {
+			try {
+				useFileBasedChangePackageOnServer = new ESExtensionPoint(RESOURCE_OPTIONS_EXTENSION_POINT, true)
+					.getBoolean(SERVER_USE_FILEBASED_CHANGEPACKAGE, false);
+			} catch (final ESExtensionPointException e) {
+				// if no resource option for the filebased changepackge could be found at the extension point
+				// check for the "emfstore.server.fileBasedChangePackage" system property
+				// if the property is absent as well, use false as the default
+				useFileBasedChangePackageOnServer = Boolean.getBoolean("emfstore.server.fileBasedChangePackage"); //$NON-NLS-1$
+			}
+		}
+		return useFileBasedChangePackageOnServer;
+	}
+
+	/**
 	 * Returns the list of all {@link StartupListener}s.
 	 *
 	 * @return the List of all registered {@link StartupListener}.
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/DefaultESAuthorizationService.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/DefaultESAuthorizationService.java
index 1116318..dd122df 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/DefaultESAuthorizationService.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/DefaultESAuthorizationService.java
@@ -147,8 +147,7 @@
 		checkSession(sessionId);
 
 		final ACUser user = (ACUser) getOrgUnit(sessions.resolveToOrgUnitId(sessionId));
-		final List<Role> internalRoles = APIUtil.toInternal(orgUnitResolver.getRolesFromGroups(user.toAPI()));
-		final Iterable<Role> roles = Iterables.concat(user.getRoles(), internalRoles);
+		final Iterable<Role> roles = getAllRoles(user.getId().toAPI());
 
 		if (Iterables.any(roles, isServerAdminPredicate)) {
 			return true;
@@ -242,7 +241,8 @@
 		cleanupPARole(orgUnitId);
 		final ACUser user = (ACUser) getOrgUnit(sessions.resolveToOrgUnitId(sessionId));
 
-		if (Iterables.any(user.getRoles(), isServerAdminPredicate)) {
+		final List<Role> allRoles = getAllRoles(user.getId().toAPI());
+		if (Iterables.any(allRoles, isServerAdminPredicate)) {
 			return true;
 		}
 
@@ -289,8 +289,7 @@
 
 		checkSession(sessionId);
 		final ACUser user = (ACUser) getOrgUnit(sessions.resolveToOrgUnitId(sessionId));
-		final List<Role> internalRoles = APIUtil.toInternal(orgUnitResolver.getRolesFromGroups(user.toAPI()));
-		final Iterable<Role> roles = Iterables.concat(user.getRoles(), internalRoles);
+		final Iterable<Role> roles = getAllRoles(user.getId().toAPI());
 
 		if (Iterables.any(roles, isServerAdminPredicate)) {
 			return true;
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/HasRolePredicate.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/HasRolePredicate.java
index d16be5c..5b22de9 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/HasRolePredicate.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/HasRolePredicate.java
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- * Edgar - initial API and implementation
+ * Edgar Mueller - initial API and implementation
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.accesscontrol;
 
@@ -16,17 +16,29 @@
 import com.google.common.base.Predicate;
 
 /**
- * @author Edgar
+ * Predicate that checks {@link Role} matches an expected one.
+ *
+ * @author emueller
  *
  */
 public class HasRolePredicate implements Predicate<Role> {
 
 	private final Class<? extends Role> expectedRole;
 
+	/**
+	 * Constructor.
+	 *
+	 * @param expectedRole the expected {@link Role} to be matched
+	 */
 	public HasRolePredicate(Class<? extends Role> expectedRole) {
 		this.expectedRole = expectedRole;
 	}
 
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see com.google.common.base.Predicate#apply(java.lang.Object)
+	 */
 	public boolean apply(final Role role) {
 		return expectedRole.isInstance(role);
 	}
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/LoginService.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/LoginService.java
index 5eaa2b2..4e1f30f 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/LoginService.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/LoginService.java
@@ -27,8 +27,8 @@
 import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESUserImpl;
 import org.eclipse.emf.emfstore.server.auth.ESAuthenticationControlType;
 import org.eclipse.emf.emfstore.server.auth.ESOrgUnitResolver;
-import org.eclipse.emf.emfstore.server.auth.ESUserVerifier;
 import org.eclipse.emf.emfstore.server.auth.ESSessions;
+import org.eclipse.emf.emfstore.server.auth.ESUserVerifier;
 import org.eclipse.emf.emfstore.server.model.ESAuthenticationInformation;
 import org.eclipse.emf.emfstore.server.model.ESClientVersionInfo;
 import org.eclipse.emf.emfstore.server.model.ESOrgUnitProvider;
@@ -77,7 +77,6 @@
 		this.orgUnitResolver = orgUnitResolver;
 	}
 
-	// TODO: init called every time
 	private ESUserVerifier initUserVerifierService() {
 
 		try {
@@ -141,9 +140,6 @@
 		}
 	}
 
-	/**
-	 * @return
-	 */
 	private ESUserVerifier getUserVerifierService() {
 		if (userVerifier == null) {
 			userVerifier = initUserVerifierService();
@@ -166,4 +162,30 @@
 			sessions.remove(sessionId);
 		}
 	}
+
+	/**
+	 * Checks whether the given credentials are valid without logging the client in.
+	 *
+	 * @param username
+	 *            the user name
+	 * @param password
+	 *            the encrypted password of the user
+	 * @param clientVersionInfo
+	 *            the client's version
+	 * @return {@code true}, if the user's credentials are valid, {@code false} otherwise
+	 */
+	public boolean verifyUser(String username, String password, ESClientVersionInfo clientVersionInfo) {
+		try {
+			getUserVerifierService().verifyUser(
+				username,
+				password,
+				clientVersionInfo);
+			return true;
+		} catch (final AccessControlException e) {
+			// ignore
+		}
+
+		return false;
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/connection/xmlrpc/util/EObjectSerializer.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/connection/xmlrpc/util/EObjectSerializer.java
index 93e17b7..fba7827 100644
--- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/connection/xmlrpc/util/EObjectSerializer.java
+++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/connection/xmlrpc/util/EObjectSerializer.java
@@ -15,7 +15,6 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
-import java.io.StringWriter;
 import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.Set;
@@ -52,14 +51,12 @@
 public class EObjectSerializer extends TypeSerializerImpl {
 
 	private static final String SELF_CONTAINMENT_CHECK_OPTION = "SelfContainmentCheck"; //$NON-NLS-1$
-	private static final String HREF_CHECK_OPTION = "HrefCheck"; //$NON-NLS-1$
 	private static final String SERIALIZATION_OPTIONS_EXT = "org.eclipse.emf.emfstore.common.model.serializationOptions"; //$NON-NLS-1$
 	/**
 	 * EObject Tag for parsing.
 	 */
 	public static final String EOBJECT_TAG = "EObject"; //$NON-NLS-1$
 	private static final String EX_EOBJECT_TAG = "ex:" + EOBJECT_TAG; //$NON-NLS-1$
-	private static boolean hrefCheckEnabled;
 	private static boolean containmentCheckEnabled;
 	private static boolean serializationOptionsInitialized;
 
@@ -110,14 +107,8 @@
 					}
 
 					resource.getContents().add(copy);
-					final StringWriter writer = new StringWriter();
-					uws = new URIConverter.WriteableOutputStream(writer, CommonUtil.getEncoding());
-					// save string into Stringwriter
 					checkResource(resource);
-					resource.save(uws, ModelUtil.getResourceSaveOptions());
-					final String string = writer.toString();
-					hrefCheck(string);
-					bos.write(string.getBytes(CommonUtil.getEncoding()));
+					resource.save(bos, ModelUtil.getResourceSaveOptions());
 				}
 			} catch (final SerializationException e) {
 				throw new SAXException(e);
@@ -196,27 +187,6 @@
 		}
 	}
 
-	private static void hrefCheck(String result) throws SerializationException {
-		if (!hrefCheckEnabled) {
-			return;
-		}
-		final char[] needle = "href".toCharArray(); //$NON-NLS-1$
-		int pointer = 0;
-		boolean insideQuotes = false;
-		for (final char character : result.toCharArray()) {
-			if (character == '"') {
-				insideQuotes = !insideQuotes;
-			}
-			if (!insideQuotes && character == needle[pointer]) {
-				if (++pointer == needle.length) {
-					throw new SerializationException(Messages.EObjectSerializer_HrefDetectionFailed);
-				}
-			} else {
-				pointer = 0;
-			}
-		}
-	}
-
 	/**
 	 * Initializes the serialization options.
 	 */
@@ -229,10 +199,10 @@
 			SERIALIZATION_OPTIONS_EXT).getFirst();
 
 		if (element != null) {
-			hrefCheckEnabled = element.getBoolean(HREF_CHECK_OPTION);
 			containmentCheckEnabled = element.getBoolean(SELF_CONTAINMENT_CHECK_OPTION);
 		}
 
 		serializationOptionsInitialized = true;
 	}
 }
+
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 84c42aa..2828119 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
@@ -46,6 +46,7 @@
 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.ChangePackageProxy;
+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.server.auth.ESMethod;
 import org.eclipse.emf.emfstore.server.auth.ESMethod.MethodId;
@@ -304,7 +305,7 @@
 		return UUID.randomUUID().toString();
 	}
 
-	private ChangePackage resolveChangePackageProxy(
+	private AbstractChangePackage resolveChangePackageProxy(
 		final Optional<SessionId> maybeSession,
 		final ChangePackageProxy changePackageProxy) throws ESException {
 
@@ -327,19 +328,36 @@
 
 		final ChangePackageFragmentUploadAdapter adapter = maybeAdapter.get();
 
-		final Optional<ChangePackage> maybeCompletedChangePackage = adapter
-			.getCompletedChangePackage(changePackageProxy.getId());
+		/*
+		 * Based on server configuration, convert the filebased changepackage to in memory or return the temporary file
+		 * based change package
+		 */
+		AbstractChangePackage changePackage;
+		if (ServerConfiguration.useFileBasedChangePackageOnServer()) {
+			final Optional<FileBasedChangePackage> fileBasedChangePackage = adapter
+				.getFileBasedChangePackage(changePackageProxy.getId());
+			if (!fileBasedChangePackage.isPresent()) {
+				throw new ESException(
+					Messages.EMFStoreImpl_NoCompletedChangePackageFound);
+			}
+			changePackage = fileBasedChangePackage.get();
+		} else {
+			final Optional<ChangePackage> maybeCompletedChangePackage = adapter
+				.convertFileBasedToInMemoryChangePackage(changePackageProxy.getId());
 
-		if (!maybeCompletedChangePackage.isPresent()) {
-			throw new ESException(
-				Messages.EMFStoreImpl_NoCompletedChangePackageFound);
+			if (!maybeCompletedChangePackage.isPresent()) {
+				throw new ESException(
+					Messages.EMFStoreImpl_NoCompletedChangePackageFound);
+			}
+
+			changePackage = maybeCompletedChangePackage.get();
 		}
 
-		final ChangePackage changePackage = maybeCompletedChangePackage.get();
 		adapter.clearCompleted(changePackageProxy.getId());
 		changePackage.setLogMessage(
 			ModelUtil.clone(changePackageProxy.getLogMessage()));
 		return changePackage;
+
 	}
 
 	/**
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 b43bf8a..daf223e 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
@@ -100,7 +100,7 @@
 	 *            will be created
 	 * @return the aggregated {@link ChangePackage} as an {@link Optional}
 	 */
-	public Optional<ChangePackage> getCompletedChangePackage(String proxyId) {
+	public Optional<ChangePackage> convertFileBasedToInMemoryChangePackage(String proxyId) {
 		final FileBasedChangePackage fileBasedChangePackage = proxyIdToCompletedChangePackages.get(proxyId);
 		if (fileBasedChangePackage == null) {
 			return Optional.absent();
@@ -119,6 +119,21 @@
 	}
 
 	/**
+	 * Returns the temporary file based changepackage for the given proxy id, if present. The change package is backed
+	 * by temporary files on server side, so {@link FileBasedChangePackage#move(String)} might be needed.
+	 *
+	 * @param proxyId the ID that identifies the {@link FileBasedChangePackage}
+	 * @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) {
+			return Optional.absent();
+		}
+		return Optional.of(fileBasedChangePackage);
+	}
+
+	/**
 	 * Removes the completed change package matching the given ID.
 	 *
 	 * @param proxyId
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 60192e8..9dc2396 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
@@ -42,11 +42,13 @@
 	public static String ProjectSubInterfaceImpl_ProjectDoesNotExist;
 	public static String ProjectSubInterfaceImpl_ProjectResources_Not_Deleted;
 	public static String ProjectSubInterfaceImpl_ProjectState_Not_Found;
+	public static String VersionSubInterfaceImpl_0;
 	public static String VersionSubInterfaceImpl_BranchName_Reserved_1;
 	public static String VersionSubInterfaceImpl_BranchName_Reserved_2;
 	public static String VersionSubInterfaceImpl_ChangePackageFragmentProviderAdapterMissing;
 	public static String VersionSubInterfaceImpl_ChecksumComputationFailed;
 	public static String VersionSubInterfaceImpl_EmptyBranch_Not_Allowed;
+	public static String VersionSubInterfaceImpl_FileBasedChangePackageExpected;
 	public static String VersionSubInterfaceImpl_FileBasedChangePackageNotAllowed;
 	public static String VersionSubInterfaceImpl_HeadVersionNotFound;
 	public static String VersionSubInterfaceImpl_Invalid_Source_Or_Target;
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 4b07dcc..d0d90c0 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
@@ -11,6 +11,7 @@
  ******************************************************************************/
 package org.eclipse.emf.emfstore.internal.server.core.subinterfaces;
 
+import java.io.IOException;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -19,6 +20,7 @@
 import java.util.UUID;
 
 import org.apache.commons.lang.StringUtils;
+import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.emfstore.internal.common.APIUtil;
 import org.eclipse.emf.emfstore.internal.common.ESCollections;
 import org.eclipse.emf.emfstore.internal.common.model.Project;
@@ -269,6 +271,13 @@
 		final String proxyId = generateProxyId(projectId.getId());
 
 		final ESSessionId resolvedSession = getAccessControl().getSessions().resolveSessionById(sessionId.getId());
+
+		if (resolvedSession == null) {
+			throw new ESException(
+				MessageFormat.format(
+					Messages.VersionSubInterfaceImpl_0, sessionId.getId()));
+		}
+
 		final SessionId session = APIUtil.toInternal(SessionId.class, resolvedSession);
 		final Optional<ChangePackageFragmentUploadAdapter> maybeAdapter = ESCollections.find(session.eAdapters(),
 			ChangePackageFragmentUploadAdapter.class);
@@ -367,9 +376,14 @@
 		final ACUser user = (ACUser) ESUserImpl.class.cast(copyAndResolveUser).toInternalAPI();
 		sanityCheckObjects(sessionId, projectId, baseVersionSpec, changePackage, logMessage);
 
-		// File-based change package should never arrive here in production mode
-		if (FileBasedChangePackage.class.isInstance(changePackage)) {
+		if (FileBasedChangePackage.class.isInstance(changePackage)
+			&& !ServerConfiguration.useFileBasedChangePackageOnServer()) {
+			// File-based change package should never arrive here in production mode
 			throw new ESException(Messages.VersionSubInterfaceImpl_FileBasedChangePackageNotAllowed);
+		} else if (ChangePackage.class.isInstance(changePackage)
+			&& ServerConfiguration.useFileBasedChangePackageOnServer()) {
+			// Regular change package should never arrive here in production mode
+			throw new ESException(Messages.VersionSubInterfaceImpl_FileBasedChangePackageExpected);
 		}
 
 		return internalCreateVersion(projectId, baseVersionSpec, changePackage, targetBranch, sourceVersion,
@@ -538,6 +552,19 @@
 			newVersion.getPrimarySpec(), projectHistory.getProjectId());
 		getResourceHelper().createResourceForChangePackage(changePackage, newVersion.getPrimarySpec(),
 			projectId);
+		if (FileBasedChangePackage.class.isInstance(changePackage)) {
+			try {
+				/* move the temporary file to the project folder */
+				final URI uri = changePackage.eResource().getURI();
+				final URI normalizedUri = changePackage.eResource().getResourceSet().getURIConverter().normalize(uri);
+				final String filePath = normalizedUri.toFileString() + ".1"; //$NON-NLS-1$
+				FileBasedChangePackage.class.cast(changePackage).move(filePath);
+				ModelUtil.saveResource(changePackage.eResource(), ModelUtil.getResourceLogger());
+			} catch (final IOException ex) {
+				throw new FatalESException(StorageException.NOSAVE, ex);
+			}
+		}
+
 		getResourceHelper().createResourceForVersion(newVersion, projectHistory.getProjectId());
 
 		newVersion.setProjectStateResource(newProjectState.eResource());
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 da57e5b..b37b381 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
@@ -19,11 +19,13 @@
 ProjectSubInterfaceImpl_ProjectDoesNotExist=Project with the id: {0} doesn't exist.
 ProjectSubInterfaceImpl_ProjectResources_Not_Deleted=Project resource files couldn't be deleted.
 ProjectSubInterfaceImpl_ProjectState_Not_Found=Couldn't find project state.
+VersionSubInterfaceImpl_0=null session for session with ID {0} encountered
 VersionSubInterfaceImpl_BranchName_Reserved_1=Reserved branch name '
 VersionSubInterfaceImpl_BranchName_Reserved_2=' must not be used.
 VersionSubInterfaceImpl_ChangePackageFragmentProviderAdapterMissing=Change package fragment provider adapter missing for given ID 
 VersionSubInterfaceImpl_ChecksumComputationFailed=Could not compute checksum of project {0}.
 VersionSubInterfaceImpl_EmptyBranch_Not_Allowed=Empty branch name is not permitted.
+VersionSubInterfaceImpl_FileBasedChangePackageExpected=The server is configured to receive FileBasedChangePackages only.
 VersionSubInterfaceImpl_FileBasedChangePackageNotAllowed=FileBasedChangePackage must not be received by the server.
 VersionSubInterfaceImpl_HeadVersionNotFound=Head version could not be resolved.
 VersionSubInterfaceImpl_Invalid_Source_Or_Target=Specified source and/or target version invalid.
diff --git a/features/org.eclipse.emf.emfstore.client.feature/feature.xml b/features/org.eclipse.emf.emfstore.client.feature/feature.xml
index 1c311f2..f47486f 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 efdb8a4..5627b29 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 3b97260..95c082f 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 a1a9f18..2cd7ad0 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 1362dcd..74dbfca 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 d27c2a9..e084185 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 c753ae1..f1a0e02 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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.6.2" match="compatible"/>
-      <import plugin="org.eclipse.emf.emfstore.client.ui" version="1.6.2" 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.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 3766b68..c358ecd 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 428624f..712c37f 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 cbc4d7a..fb8ced3 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 c0fd136..2a1e8fa 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 976403d..11f364f 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 f0aa844..f158b15 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 2966e0f..cca0f71 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 d1b1190..1404166 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 7085043..79266ff 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 3243fe4..d220d53 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 96120bf..d150fd3 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 e412184..86990ce 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.6.2.qualifier"
+      version="1.7.0.qualifier"
       provider-name="Eclipse Modeling Project"
       license-feature="org.eclipse.emf.emfstore.license.feature"
-      license-feature-version="1.6.2.qualifier">
+      license-feature-version="1.7.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 1c14657..aded925 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 e9359fc..b15a39a 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.6.2.qualifier"
+      version="1.7.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 ee89cfe..0152966 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.emf.emfstore.modelmutator.feature/feature.xml b/features/org.eclipse.emf.emfstore.modelmutator.feature/feature.xml
index b856388..ab743a6 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.6.2.qualifier">
+      license-feature-version="1.7.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 c94415f..aa1b8a4 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.6.2-SNAPSHOT</version>
+    <version>1.7.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 9c442a9..215b3d9 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 305eadc..c7374e0 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 2df95de..10a2f62 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 9f5eca8..11dff03 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 41b1056..eb927a9 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.0.qualifier">
 
    <description url="http://emfstore.org">
       This feature contains all core plugins including sources to use the EMFStore.
@@ -131,12 +131,19 @@
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-         
+
    <plugin
          id="org.eclipse.emf.emfstore.ecore.source"
          download-size="0"
          install-size="0"
          version="0.0.0"
-         unpack="false"/>  
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.client.ui.rcp.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
 </feature>
diff --git a/features/org.eclipse.emf.emfstore.sdk.feature/pom.xml b/features/org.eclipse.emf.emfstore.sdk.feature/pom.xml
index 86220e7..c86df92 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 0ed9461..9ffa685 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 0daf0bd..783eb44 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.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 baa4dd3..e51dae1 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.6.2.qualifier"
+      version="1.7.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.6.2.qualifier">
+      license-feature-version="1.7.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 a04da25..f2d87eb 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/releng/_marketplace/_mpparent/pom.xml b/releng/_marketplace/_mpparent/pom.xml
index c2a6ca9..92a9026 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_16/160</url>
+                    <url>http://download.eclipse.org/ecp/releases/releases_17/171</url>
                     <layout>p2</layout>
                 </repository>
                 <repository>
-                    <url>http://download.eclipse.org/emfstore/releases_15/151</url>
+                    <url>http://download.eclipse.org/emfstore/releases_16/162</url>
                     <layout>p2</layout>
                 </repository>
               </source>
diff --git a/releng/_target/emfstore-rap.target b/releng/_target/emfstore-rap.target
index 6f9e664..a344003 100644
--- a/releng/_target/emfstore-rap.target
+++ b/releng/_target/emfstore-rap.target
@@ -1,90 +1,90 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="EMFStore RAP Target" sequenceNumber="223">
+<?pde version="3.8"?><target name="EMFStore RAP Target" sequenceNumber="224">
 <locations>
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="com.google.guava.source" version="10.0.1.v201203051515"/>
-<unit id="com.google.guava" version="10.0.1.v201203051515"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20120526062928/repository/"/>
+<unit id="com.google.guava.source" version="0.0.0"/>
+<unit id="com.google.guava" 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.jetty.sdk.feature.group" version="8.1.3.201206060641"/>
-<unit id="org.eclipse.emf.compare.sdk.feature.group" version="1.3.3.v20130213-0806"/>
+<unit id="org.eclipse.jetty.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.compare.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.eclipselabs.mongo.emf.feature.feature.group" version="0.7.1.201211071319"/>
-<unit id="org.eclipselabs.mongo.emf.feature.source.feature.group" version="0.7.1.201211071319"/>
+<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.apache.log4j.source" version="1.2.15.v201012070815"/>
-<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
-<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
-<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
-<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
-<unit id="org.eclipse.swtbot.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
-<unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
+<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.eclipse.platform.ide" version="4.2.2.M20130204-1200"/>
-<unit id="org.eclipse.equinox.sdk.feature.group" version="3.8.0.v20121212-203907-7M7fA78g4_y-gDvtH0ZcFvhMPDZJ"/>
+<unit id="org.eclipse.platform.ide" version="0.0.0"/>
+<unit id="org.eclipse.equinox.sdk.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.eclipse.emf.ecp.view.categorization.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.treemasterdetail.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.label.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.sdk.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.model.controls.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.custom.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.emfstore.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.demo.e3.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.e4.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.viewmodel.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.e3.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.cdo.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.rule.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.template.helper.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.workspace.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.table.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.model.editor.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.unset.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.validation.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.groupedgrid.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.ecore.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.separator.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.vertical.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.group.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.horizontal.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.template.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.demo.e4.feature.feature.group" version="1.2.1.20140311-1143"/>
+<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.jdt.feature.group" version="3.10.0.v20140606-1536"/>
-<unit id="org.eclipse.net4j.sdk.feature.group" version="4.3.0.v20140308-0604"/>
-<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.3.0.v20140606-1557"/>
-<unit id="org.eclipse.rap.sdk.feature.feature.group" version="2.3.0.20140610-0925"/>
-<unit id="org.eclipse.gef.sdk.feature.group" version="3.9.100.201405261516"/>
-<unit id="org.eclipse.graphiti.export.feature.feature.group" version="0.11.0.v20140528-0646"/>
-<unit id="org.eclipse.graphiti.feature.feature.group" version="0.11.1.v20140903-1228"/>
-<unit id="org.eclipse.rap.feature.feature.group" version="2.3.1.20140909-1638"/>
-<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="2.3.0.20140608-1653"/>
-<unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.8.0.201405281429"/>
-<unit id="org.eclipse.emf.sdk.feature.group" version="2.10.1.v20140901-1055"/>
-<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.8.0.201405281451"/>
+<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.emf.cdo.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.rap.sdk.feature.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.rap.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.validation.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"/>
 <repository location="http://download.eclipse.org/releases/luna/"/>
 </location>
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.rap.fileupload.feature.feature.group" version="2.3.0.20140611-1558"/>
+<unit id="org.eclipse.rap.fileupload.feature.feature.group" version="0.0.0"/>
 <repository location="http://download.eclipse.org/rt/rap/incubator/2.3/fileupload/"/>
 </location>
 </locations>
diff --git a/releng/_target/emfstore.target b/releng/_target/emfstore.target
index 16910a1..2f18c5c 100644
--- a/releng/_target/emfstore.target
+++ b/releng/_target/emfstore.target
@@ -1,78 +1,71 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="EMFStore" sequenceNumber="225">
+<?pde version="3.8"?><target name="EMFStore" sequenceNumber="226">
 <locations>
 <location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.emf.ecp.view.categorization.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.treemasterdetail.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.label.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.sdk.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.model.controls.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.custom.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.emfstore.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.demo.e3.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.e4.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.viewmodel.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.e3.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.cdo.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.rule.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.template.helper.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.workspace.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.table.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.model.editor.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.unset.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.validation.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.emfforms.runtime.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.groupedgrid.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.ecore.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.separator.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.vertical.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.group.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.horizontal.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.view.template.feature.feature.group" version="1.2.1.20140311-1143"/>
-<unit id="org.eclipse.emf.ecp.demo.e4.feature.feature.group" version="1.2.1.20140311-1143"/>
+<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="com.google.guava" version="15.0.0.v201403281430"/>
-<unit id="javax.annotation" version="1.2.0.v201401042248"/>
-<unit id="javax.annotation.source" version="1.2.0.v201401042248"/>
-<unit id="com.google.guava.source" version="15.0.0.v201403281430"/>
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
-</location>
-<location includeAllPlatforms="true" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.platform.ide" version="4.2.2.M20130204-1200"/>
-<unit id="org.eclipse.equinox.sdk.feature.group" version="3.8.0.v20121212-203907-7M7fA78g4_y-gDvtH0ZcFvhMPDZJ"/>
+<unit id="org.eclipse.platform.ide" version="0.0.0"/>
+<unit id="org.eclipse.equinox.sdk.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="1.2.15.v201012070815"/>
-<unit id="org.eclipse.swtbot.eclipse.test.junit.feature.group" version="2.3.0.201506081302"/>
-<unit id="org.hamcrest.core" version="1.3.0.v201303031735"/>
-<unit id="org.eclipse.swtbot.forms.feature.group" version="2.3.0.201506081302"/>
-<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
-<unit id="org.eclipse.swtbot.eclipse.gef.feature.group" version="2.3.0.201506081302"/>
-<unit id="org.hamcrest.library.source" version="1.3.0.v201305281000"/>
-<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
-<unit id="org.eclipse.swtbot.feature.group" version="2.3.0.201506081302"/>
-<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.3.0.201506081302"/>
-<unit id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
+<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.7.1.201211071319"/>
-<unit id="org.eclipselabs.mongo.emf.feature.source.feature.group" version="0.7.1.201211071319"/>
+<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="3.0.1.201408191310"/>
-<unit id="org.eclipse.emf.compare.source.feature.group" version="3.0.1.201408191310"/>
-<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.0.1.201408191310"/>
+<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="8.1.3.201206060641"/>
+<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">
@@ -85,9 +78,16 @@
 <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="3.0.2.201501201328"/>
-<unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.0.2.201501201328"/>
+<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/releases/luna/"/>
 </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>
 </locations>
 </target>
diff --git a/releng/_target/pom.xml b/releng/_target/pom.xml
index 9cb0656..762ab9e 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/emfstore-parent/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>emfstore</artifactId>
-  <version>1.6.2-SNAPSHOT</version>
+  <version>1.7.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 5e42e44..0322be1 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.6.2-SNAPSHOT</version>
+	<version>1.7.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.6.2 API</javadoc-title>
-		<emfstore-version>1.6.2-SNAPSHOT</emfstore-version>
+		<javadoc-title>EMFStore 1.7.0 API</javadoc-title>
+		<emfstore-version>1.7.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/pom.xml b/releng/org.eclipse.emf.emfstore.p2repository/pom.xml
index 9583500..5709568 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.6.2-SNAPSHOT</version>
+        <version>1.7.0-SNAPSHOT</version>
         <relativePath>../emfstore-parent/</relativePath>
     </parent>
     <groupId>org.eclipse.emf.emfstore</groupId>
     <artifactId>org.eclipse.emf.emfstore.p2repository</artifactId>
-    <version>1.6.2-SNAPSHOT</version>
+    <version>1.7.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 ae46b50..d995743 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../emfstore-parent/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.products</artifactId>
-  <version>1.6.2-SNAPSHOT</version>
+  <version>1.7.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 6666ad2..a56f753 100644
--- a/releng/org.eclipse.emf.emfstore.releng.bundles/pom.xml
+++ b/releng/org.eclipse.emf.emfstore.releng.bundles/pom.xml
@@ -6,12 +6,12 @@
 	<parent>
 		<groupId>org.eclipse.emf.emfstore</groupId>
 		<artifactId>emfstore-parent</artifactId>
-		<version>1.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../emfstore-parent/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-bundles-parent</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
diff --git a/releng/org.eclipse.emf.emfstore.releng.features/pom.xml b/releng/org.eclipse.emf.emfstore.releng.features/pom.xml
index edaaac5..19d053b 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../emfstore-parent/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-features-parent</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
diff --git a/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml b/releng/org.eclipse.emf.emfstore.releng.tests/pom.xml
index 6bdb617..49d5932 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../emfstore-parent/</relativePath>
 	</parent>
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>emfstore-tests-parent</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<modules>
diff --git a/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests Transactional.launch b/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests Transactional.launch
new file mode 100644
index 0000000..1d23971
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests Transactional.launch
@@ -0,0 +1,44 @@
+<?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="true"/>
+<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/pde-junit"/>
+<booleanAttribute key="default" value="false"/>
+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.emf.emfstore.branding,org.eclipse.emf.emfstore.client.example.test,org.eclipse.emf.emfstore.client.test.alltests,org.eclipse.emf.emfstore.client.test.ui,org.eclipse.emf.emfstore.client.ui,org.eclipse.emf.emfstore.client.ui.historybrowsercomparator,org.eclipse.emf.emfstore.client.ui.rap,org.eclipse.emf.emfstore.client.ui.rcp,org.eclipse.emf.emfstore.client.ui.test,org.eclipse.emf.emfstore.ecore,org.eclipse.emf.emfstore.example.helloworld,org.eclipse.emf.emfstore.example.installer,org.eclipse.emf.emfstore.example.merging,org.eclipse.emf.emfstore.example.sessionprovider,org.eclipse.emf.emfstore.examplemodel.edit,org.eclipse.emf.emfstore.fuzzy.emf.edit,org.eclipse.emf.emfstore.fuzzy.emf.editor,org.eclipse.emf.emfstore.fuzzy.emf.example,org.eclipse.emf.emfstore.mongodb,org.eclipse.emf.emfstore.mongodb.client,org.eclipse.emf.emfstore.mongodb.server"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.emfstore.client.api.test/src/org/eclipse/emf/emfstore/client/api/test/AllAPITests.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.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.emfstore.client.api.test.AllAPITests"/>
+<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.client.api.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="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation*1.0.0.v20101115-0725@default:default,javax.annotation*1.2.0.v201401042248@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.ant@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*1.3.0.v201101211617@default:default,org.apache.commons.codec*1.6.0.v201305230611@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.log4j@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@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.filebuffers@default:default,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@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,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.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@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.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.ecf.identity@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common.ui@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.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.updatesite@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.extensionbundle@default:false,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,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.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi*3.8.2.v20130124-134944@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.ant.junit@default:false,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.hamcrest.core@default:default,org.hamcrest.library@default:default,org.junit@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default,org.slf4j.log4j@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="com.eclipsesource.makeithappen.model.edit@default:default,com.eclipsesource.makeithappen.model@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.emfstore.client.api.test@default:false,org.eclipse.emf.emfstore.client.changetracking.test@default:false,org.eclipse.emf.emfstore.client.conflictdetection.test@default:false,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.recording.test@default:false,org.eclipse.emf.emfstore.client.test@default:default,org.eclipse.emf.emfstore.client.transaction@default:default,org.eclipse.emf.emfstore.client.ui.transaction@default:default,org.eclipse.emf.emfstore.client.ws.test@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.examplemodel@default:default,org.eclipse.emf.emfstore.fuzzy.emf.diff.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator.test@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.performance.test@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:false,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="false"/>
+<booleanAttribute key="useProduct" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests.launch b/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests.launch
index b41e7e8..615de5b 100644
--- a/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests.launch
+++ b/tests/org.eclipse.emf.emfstore.client.api.test/AllAPITests.launch
@@ -33,8 +33,8 @@
 <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.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*1.3.0.v201101211617@default:default,org.apache.commons.codec*1.6.0.v201305230611@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.eclipse.ant.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.win32.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.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@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.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.ui@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.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.edit.ui@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.event@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.extensionbundle@default:false,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.text@default:default,org.eclipse.jface@default:default,org.eclipse.osgi*3.8.2.v20130124-134944@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,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.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="com.eclipsesource.makeithappen.model.edit@default:default,com.eclipsesource.makeithappen.model@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.emfstore.client.api.test@default:false,org.eclipse.emf.emfstore.client.changetracking.test@default:false,org.eclipse.emf.emfstore.client.conflictdetection.test@default:false,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.recording.test@default:false,org.eclipse.emf.emfstore.client.test@default:default,org.eclipse.emf.emfstore.client.ws.test@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.examplemodel@default:default,org.eclipse.emf.emfstore.fuzzy.emf.diff.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator.test@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.performance.test@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:false,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"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation*1.0.0.v20101115-0725@default:default,javax.annotation*1.2.0.v201401042248@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*1.3.0.v201101211617@default:default,org.apache.commons.codec*1.6.0.v201305230611@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.eclipse.ant.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.win32.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.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@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.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.ui@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.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.edit.ui@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.event@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.extensionbundle@default:false,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.text@default:default,org.eclipse.jface@default:default,org.eclipse.osgi*3.8.2.v20130124-134944@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,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.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="com.eclipsesource.makeithappen.model.edit@default:default,com.eclipsesource.makeithappen.model@default:default,org.eclipse.b3.aggregator.edit@default:default,org.eclipse.b3.aggregator.editor@default:default,org.eclipse.b3.aggregator.engine.maven@default:default,org.eclipse.b3.aggregator.engine@default:default,org.eclipse.b3.aggregator.legacy.ui@default:default,org.eclipse.b3.aggregator.legacy@default:default,org.eclipse.b3.aggregator@default:default,org.eclipse.b3.backend@default:default,org.eclipse.b3.beelang.generator@default:default,org.eclipse.b3.beelang.junit@default:default,org.eclipse.b3.beelang.tests@default:default,org.eclipse.b3.beelang.ui.experiments@default:default,org.eclipse.b3.beelang.ui@default:default,org.eclipse.b3.beelang@default:default,org.eclipse.b3.build.ui.idefragment@default:false,org.eclipse.b3.build.ui@default:default,org.eclipse.b3.build@default:default,org.eclipse.b3.cli@default:default,org.eclipse.b3.core@default:default,org.eclipse.b3.p2.edit@default:default,org.eclipse.b3.p2.maven.indexer@default:default,org.eclipse.b3.p2.maven@default:default,org.eclipse.b3.p2.tests@default:default,org.eclipse.b3.p2@default:default,org.eclipse.b3.util@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.emfstore.client.api.test@default:false,org.eclipse.emf.emfstore.client.changetracking.test@default:false,org.eclipse.emf.emfstore.client.conflictdetection.test@default:false,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.recording.test@default:false,org.eclipse.emf.emfstore.client.test@default:default,org.eclipse.emf.emfstore.client.ui.test@default:false,org.eclipse.emf.emfstore.client.ui.transaction@default:default,org.eclipse.emf.emfstore.client.ws.test@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.examplemodel@default:default,org.eclipse.emf.emfstore.fuzzy.emf.diff.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator.test@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.performance.test@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:false,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"/>
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 f96ad30..93b7af2 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,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Client API Tests
 Bundle-SymbolicName: org.eclipse.emf.emfstore.client.api.test
-Bundle-Version: 1.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.client.api.test;version="1.6.
- 2";x-internal:=true
+Export-Package: org.eclipse.emf.emfstore.client.api.test;version="1.7.
+ 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)",
  org.hamcrest.library;bundle-version="[1.3.0,2.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 9021cdf..2683c9d 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.api.test</artifactId>
-  <version>1.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
     <build>
@@ -215,6 +215,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
@@ -399,6 +404,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
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 1cb38a4..847e446 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.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.6.2";x-internal:=true,org.eclipse.emf.emfstore.client.change
- tracking.test.canonization;version="1.6.2";x-internal:=true,org.eclip
- se.emf.emfstore.client.changetracking.test.command;version="1.6.2";x-
+ 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-
  internal:=true,org.eclipse.emf.emfstore.client.changetracking.test.no
- tification;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.
- client.changetracking.test.toplogy;version="1.6.2";x-internal:=true
+ tification;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.
+ client.changetracking.test.toplogy;version="1.7.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 140e64e..50b4fdb 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
@@ -217,6 +217,11 @@
 									<version>0.0.0</version>
 								</dependency>
 								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
                                     <version>0.0.0</version>
@@ -400,6 +405,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
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 040ffa3..a7503f0 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.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.6.2";x-internal:=true,org.eclipse.emf.emfstore.client.con
- flictdetection.test.merging;version="1.6.2";x-internal:=true; uses:="
+ ;version="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.client.con
+ flictdetection.test.merging;version="1.7.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 d93befe..d1dec39 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.client.conflictdetection.test</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
@@ -219,6 +219,11 @@
 								</dependency>
 								<dependency>
 									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
 									<artifactId>org.eclipse.emf.emfstore.client.conflictdetection.test</artifactId>
 									<version>0.0.0</version>
 								</dependency>
@@ -402,6 +407,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
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 294cca4..c5f0d35 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.6.2.qualifier
+Bundle-Version: 1.7.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.emf.emfstore.example.merging;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.example.helloworld;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="[1.6.2,2.0.0)",
+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)",
  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.6.2";x-internal:=true
+ 1.7.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 6c69883..eee8017 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.example.test</artifactId>
-  <version>1.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
 <build>
@@ -224,6 +224,11 @@
 							</dependency>
 							<dependency>
 								<type>eclipse-plugin</type>
+								<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+								<version>0.0.0</version>
+							</dependency>
+							<dependency>
+								<type>eclipse-plugin</type>
 								<artifactId>org.eclipse.emf.emfstore.client.recording.test</artifactId>
 								<version>0.0.0</version>
 							</dependency>
@@ -407,6 +412,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
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 05576ee..82b9d97 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.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.6.2";x-internal:=true
+ ="1.7.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 c446a29..c274331 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.recording.test</artifactId>
-  <version>1.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
 <build>
@@ -224,6 +224,11 @@
 							</dependency>
 							<dependency>
 								<type>eclipse-plugin</type>
+								<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+								<version>0.0.0</version>
+							</dependency>
+							<dependency>
+								<type>eclipse-plugin</type>
 								<artifactId>org.eclipse.emf.emfstore.client.recording.test</artifactId>
 								<version>0.0.0</version>
 							</dependency>
@@ -407,6 +412,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
diff --git a/tests/org.eclipse.emf.emfstore.client.recording.test/src/org/eclipse/emf/emfstore/client/recording/test/CompositeOperationTest.java b/tests/org.eclipse.emf.emfstore.client.recording.test/src/org/eclipse/emf/emfstore/client/recording/test/CompositeOperationTest.java
index 88ce1b5..560ff3b 100644
--- a/tests/org.eclipse.emf.emfstore.client.recording.test/src/org/eclipse/emf/emfstore/client/recording/test/CompositeOperationTest.java
+++ b/tests/org.eclipse.emf.emfstore.client.recording.test/src/org/eclipse/emf/emfstore/client/recording/test/CompositeOperationTest.java
@@ -20,18 +20,19 @@
 import java.util.List;
 import java.util.concurrent.Callable;
 
+import org.eclipse.emf.emfstore.client.ESCompositeOperationHandle;
+import org.eclipse.emf.emfstore.client.exceptions.ESInvalidCompositeOperationException;
 import org.eclipse.emf.emfstore.client.handler.ESOperationModifier;
 import org.eclipse.emf.emfstore.client.test.common.cases.ESTest;
 import org.eclipse.emf.emfstore.client.test.common.dsl.Create;
 import org.eclipse.emf.emfstore.client.util.RunESCommand;
+import org.eclipse.emf.emfstore.common.model.ESModelElementId;
 import org.eclipse.emf.emfstore.internal.client.configuration.Behavior;
-import org.eclipse.emf.emfstore.internal.client.model.CompositeOperationHandle;
 import org.eclipse.emf.emfstore.internal.client.model.exceptions.InvalidHandleException;
 import org.eclipse.emf.emfstore.internal.client.model.impl.AutoOperationWrapper;
 import org.eclipse.emf.emfstore.internal.client.model.util.EMFStoreCommand;
 import org.eclipse.emf.emfstore.internal.client.model.util.EMFStoreCommandWithResult;
 import org.eclipse.emf.emfstore.internal.common.ExtensionRegistry;
-import org.eclipse.emf.emfstore.internal.common.model.ModelElementId;
 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.model.versioning.operations.AbstractOperation;
@@ -92,7 +93,7 @@
 
 			@Override
 			protected void doRun() {
-				final CompositeOperationHandle handle = getProjectSpace().beginCompositeOperation();
+				final ESCompositeOperationHandle handle = getLocalProject().beginCompositeOperation();
 				section.setName(NEW_NAME);
 				section.setDescription(NEW_DESCRIPTION);
 				section.getContainedElements().add(useCase);
@@ -103,11 +104,11 @@
 				assertEquals(NEW_NAME, section.getName());
 				assertEquals(NEW_DESCRIPTION, section.getDescription());
 
-				final ModelElementId sectionId = ModelUtil.getProject(section).getModelElementId(section);
+				final ESModelElementId sectionId = ModelUtil.getProject(section).getModelElementId(section).toAPI();
 
 				try {
 					handle.end(SECTION_CREATION, DESCRIPTION3, sectionId);
-				} catch (final InvalidHandleException e) {
+				} catch (final ESInvalidCompositeOperationException e) {
 					fail();
 				}
 			}
@@ -139,10 +140,10 @@
 		final TestElement section = addSection();
 		final TestElement useCase = Create.testElement();
 
-		final CompositeOperationHandle handle = new EMFStoreCommandWithResult<CompositeOperationHandle>() {
+		final ESCompositeOperationHandle handle = new EMFStoreCommandWithResult<ESCompositeOperationHandle>() {
 			@Override
-			protected CompositeOperationHandle doRun() {
-				final CompositeOperationHandle handle = getProjectSpace().beginCompositeOperation();
+			protected ESCompositeOperationHandle doRun() {
+				final ESCompositeOperationHandle handle = getLocalProject().beginCompositeOperation();
 				section.setName(NEW_NAME);
 				section.setDescription(NEW_DESCRIPTION);
 				section.getContainedElements().add(useCase);
@@ -157,7 +158,7 @@
 			}
 		}.run(false);
 
-		final ModelElementId sectionId = ModelUtil.getProject(section).getModelElementId(section);
+		final ESModelElementId sectionId = ModelUtil.getProject(section).getModelElementId(section).toAPI();
 		assertEquals(0, forceGetOperations().size());
 
 		new EMFStoreCommand() {
@@ -166,7 +167,7 @@
 			protected void doRun() {
 				try {
 					handle.end(SECTION_CREATION, DESCRIPTION3, sectionId);
-				} catch (final InvalidHandleException e) {
+				} catch (final ESInvalidCompositeOperationException e) {
 					fail();
 				}
 			}
@@ -210,10 +211,10 @@
 		final TestElement section = addSection();
 		final TestElement useCase = Create.testElement();
 
-		final CompositeOperationHandle handle = new EMFStoreCommandWithResult<CompositeOperationHandle>() {
+		final ESCompositeOperationHandle handle = new EMFStoreCommandWithResult<ESCompositeOperationHandle>() {
 			@Override
-			protected CompositeOperationHandle doRun() {
-				final CompositeOperationHandle handle = getProjectSpace().beginCompositeOperation();
+			protected ESCompositeOperationHandle doRun() {
+				final ESCompositeOperationHandle handle = getLocalProject().beginCompositeOperation();
 				section.setName(NEW_NAME);
 				section.setDescription(NEW_DESCRIPTION);
 				section.getContainedElements().add(useCase);
@@ -228,7 +229,7 @@
 			}
 		}.run(false);
 
-		final ModelElementId sectionId = ModelUtil.getProject(section).getModelElementId(section);
+		final ESModelElementId sectionId = ModelUtil.getProject(section).getModelElementId(section).toAPI();
 		assertEquals(0, forceGetOperations().size());
 
 		new EMFStoreCommand() {
@@ -237,7 +238,7 @@
 			protected void doRun() {
 				try {
 					handle.end(SECTION_CREATION, DESCRIPTION3, sectionId);
-				} catch (final InvalidHandleException e) {
+				} catch (final ESInvalidCompositeOperationException e) {
 					fail();
 				}
 			}
@@ -278,7 +279,7 @@
 
 			@Override
 			protected void doRun() {
-				final CompositeOperationHandle handle = getProjectSpace().beginCompositeOperation();
+				final ESCompositeOperationHandle handle = getLocalProject().beginCompositeOperation();
 				section.setName(NEW_NAME);
 				section.setDescription(NEW_DESCRIPTION);
 				section.getContainedElements().add(useCase);
@@ -291,7 +292,7 @@
 
 				try {
 					handle.abort();
-				} catch (final InvalidHandleException e) {
+				} catch (final ESInvalidCompositeOperationException e) {
 					fail();
 				}
 			}
@@ -335,10 +336,10 @@
 				getProject().addModelElement(workPackage);
 				getProject().addModelElement(actionItem);
 				actionItem.setContainer(workPackage);
-				final CompositeOperationHandle compositeOperationHandle = getProjectSpace().beginCompositeOperation();
+				final ESCompositeOperationHandle compositeOperationHandle = getLocalProject().beginCompositeOperation();
 				try {
 					compositeOperationHandle.abort();
-				} catch (final InvalidHandleException e) {
+				} catch (final ESInvalidCompositeOperationException e) {
 					throw new IllegalStateException(e);
 				}
 
@@ -357,14 +358,14 @@
 
 			@Override
 			protected void doRun() {
-				CompositeOperationHandle compositeOperationHandle = getProjectSpace().beginCompositeOperation();
+				ESCompositeOperationHandle compositeOperationHandle = getLocalProject().beginCompositeOperation();
 				try {
 					compositeOperationHandle.abort();
-					compositeOperationHandle = getProjectSpace().beginCompositeOperation();
+					compositeOperationHandle = getLocalProject().beginCompositeOperation();
 					compositeOperationHandle.abort();
-					compositeOperationHandle = getProjectSpace().beginCompositeOperation();
+					compositeOperationHandle = getLocalProject().beginCompositeOperation();
 					compositeOperationHandle.abort();
-				} catch (final InvalidHandleException e) {
+				} catch (final ESInvalidCompositeOperationException e) {
 					fail();
 				}
 			}
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 a0e5371..80bbf33 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.6.2,2.0.0)",
- org.eclipse.emf.emfstore.client;bundle-version="1.6.2",
+ 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.junit;bundle-version="4.0.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/tests/org.eclipse.emf.emfstore.client.test.alltests/pom.xml b/tests/org.eclipse.emf.emfstore.client.test.alltests/pom.xml
index a66cc78..cc7bf53 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.alltests/pom.xml
+++ b/tests/org.eclipse.emf.emfstore.client.test.alltests/pom.xml
@@ -211,6 +211,11 @@
 								</dependency>
 								<dependency>
 									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
 									<artifactId>org.eclipse.emf.emfstore.client</artifactId>
 									<version>0.0.0</version>
 								</dependency>
@@ -391,6 +396,11 @@
 								</dependency>
 								<dependency>
 									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
 									<artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
 									<version>0.0.0</version>
 								</dependency>
diff --git a/tests/org.eclipse.emf.emfstore.client.test.ui/AllUITests.launch b/tests/org.eclipse.emf.emfstore.client.test.ui/AllUITests.launch
index 06735b4..236938c 100644
--- a/tests/org.eclipse.emf.emfstore.client.test.ui/AllUITests.launch
+++ b/tests/org.eclipse.emf.emfstore.client.test.ui/AllUITests.launch
@@ -32,7 +32,7 @@
 <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.client.test.ui"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Demfstore.inMemoryChangePackage=true"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Demfstore.inMemoryChangePackage=true -Demfstore.server.fileBasedChangePackage=true"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@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*1.3.0.v201101211617@default:default,org.apache.commons.codec*1.6.0.v201305230611@default:default,org.apache.commons.logging*1.1.1.v201101211721@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.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@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.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@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.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.ui@default:default,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.edit.ui@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.event@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.extensionbundle@default:false,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.jdt.junit.runtime@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.osgi*3.8.2.v20130124-134944@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.swtbot.eclipse.core@default:default,org.eclipse.swtbot.eclipse.finder@default:default,org.eclipse.swtbot.forms.finder@default:default,org.eclipse.swtbot.junit4_x@default:default,org.eclipse.swtbot.swt.finder@default:default,org.eclipse.team.core@default:default,org.eclipse.text@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@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.slf4j.api@default:default,org.slf4j.log4j@default:default,org.w3c.css.sac@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default"/>
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 59082fb..33c47f2 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.6.2.qualifier
+Bundle-Version: 1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="[1.7.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.6.2,2.0.0)",
+ org.eclipse.emf.emfstore.client;bundle-version="[1.7.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.6.2
+Export-Package: org.eclipse.emf.emfstore.client.test.ui;version="1.7.0
  ";x-internal:=true,org.eclipse.emf.emfstore.client.test.ui.conflictde
- tection;version="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.cli
- ent.test.ui.controllers;version="1.6.2";x-internal:=true,org.eclipse.
- emf.emfstore.client.test.ui.testers;version="1.6.2"
+ 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"
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 3434ac4..65ec3c8 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.client.test.ui</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
@@ -225,6 +225,11 @@
 								</dependency>
 								<dependency>
 									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
 									<artifactId>org.eclipse.emf.emfstore.client</artifactId>
 									<version>0.0.0</version>
 								</dependency>
@@ -307,6 +312,11 @@
 									<autoStart>false</autoStart>
 								</bundle>
 								<bundle>
+									<id>org.eclipse.emf.emfstore.client.ui.transaction</id>
+									<level>4</level>
+									<autoStart>false</autoStart>
+								</bundle>
+								<bundle>
 									<id>org.eclipse.emf.emfstore.client</id>
 									<level>4</level>
 									<autoStart>false</autoStart>
@@ -392,7 +402,7 @@
                             <testClass>org.eclipse.emf.emfstore.client.test.ui.AllUITestsWithMock</testClass>
                             <useUIHarness>true</useUIHarness>
                             <useUIThread>false</useUIThread>
-                            <argLine>${tycho.testArgLine} -Dorg.eclipse.swtbot.search.timeout=30000 -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -Demfstore.inMemryChangePackage=true</argLine>
+                            <argLine>${tycho.testArgLine} -Dorg.eclipse.swtbot.search.timeout=30000 -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -Demfstore.inMemoryChangePackage=true </argLine>
                             <testFailureIgnore>true</testFailureIgnore>
 
                             <dependencies>
@@ -764,6 +774,199 @@
                             </bundleStartLevel>
                         </configuration>
                     </execution>
+					<execution>
+                        <id>ServerFileBasedChangePackage</id>
+                        <phase>integration-test</phase>
+                        <goals>
+                            <goal>test</goal>
+                        </goals>
+                        <configuration>
+                            <reportsDirectory>${project.build.directory}/surefire-reports/ServerFileBasedChangePackage</reportsDirectory>
+                            <testSuite>org.eclipse.emf.emfstore.client.test.ui</testSuite>
+                            <testClass>org.eclipse.emf.emfstore.client.test.ui.AllUITests</testClass>  
+                            <useUIHarness>true</useUIHarness>
+                            <useUIThread>false</useUIThread>
+                            <argLine>${tycho.testArgLine} -Dorg.eclipse.swtbot.search.timeout=30000 -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -Demfstore.server.fileBasedChangePackage=true</argLine>
+                            <testFailureIgnore>true</testFailureIgnore>
+
+                            <dependencies>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.test</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.test.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.test.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.ui</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.ui.rcp</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.modelmutator</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.examplemodel.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.examplemodel</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.migration</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.server.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.server.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>p
+                                    <artifactId>org.eclipse.emf.emfstore.server</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                            </dependencies>
+
+                            <bundleStartLevel>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.test</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.ui</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.ui.rcp</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.changetracking.test</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common.model</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.modelmutator</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.examplemodel.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.examplemodel</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.migration</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server.model</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                            </bundleStartLevel>
+                        </configuration>
+                    </execution>
+                    
 				</executions>
 			</plugin>
 		</plugins>
diff --git a/tests/org.eclipse.emf.emfstore.client.test/.settings/.api_filters b/tests/org.eclipse.emf.emfstore.client.test/.settings/.api_filters
index 6e0d4ed..de4d3e2 100644
--- a/tests/org.eclipse.emf.emfstore.client.test/.settings/.api_filters
+++ b/tests/org.eclipse.emf.emfstore.client.test/.settings/.api_filters
@@ -7,5 +7,11 @@
                 <message_argument value="1.4.0"/>
             </message_arguments>
         </filter>
+        <filter comment="Test Bundle - not part of SDK" id="929038356">
+            <message_arguments>
+                <message_argument value="2.0.0"/>
+                <message_argument value="org.eclipse.emf.emfstore.client.model.edit"/>
+            </message_arguments>
+        </filter>
     </resource>
 </component>
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 d66a478..5c2dd71 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.6.2,2.0.0)";visibility:=reexport,
- org.eclipse.emf.emfstore.common.model.edit;bundle-version="[1.6.2,2.0.0)",
- org.eclipse.emf.emfstore.server.model.edit;bundle-version="[1.6.2,2.0.0)",
+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)",
  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 4d23b51..8ee0b95 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
@@ -215,6 +215,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
@@ -399,6 +404,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
@@ -540,6 +550,196 @@
                             </bundleStartLevel>
                         </configuration>
                     </execution>
+                    
+                    <execution>
+                        <id>ServerFileBasedChangePackage</id>
+                        <phase>integration-test</phase>
+                        <goals>
+                            <goal>test</goal>
+                        </goals>
+                        <configuration>
+                            <reportsDirectory>${project.build.directory}/surefire-reports/ServerFileBasedChangePackage</reportsDirectory>
+                            <testSuite>org.eclipse.emf.emfstore.client.test</testSuite>
+                            <testClass>org.eclipse.emf.emfstore.client.test.AllTests</testClass>
+                            <useUIHarness>true</useUIHarness>
+                            <useUIThread>false</useUIThread>
+                            <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Demfstore.server.fileBasedChangePackage=true -Xms40m -Xmx512m
+                            </argLine>
+                            <testFailureIgnore>true</testFailureIgnore>
+
+                            <dependencies>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.test</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.test.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.test.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.modelmutator</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.examplemodel.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.examplemodel</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.migration</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.server.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.server.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>p
+                                    <artifactId>org.eclipse.emf.emfstore.server</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                            </dependencies>
+
+                            <bundleStartLevel>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.test</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.transaction</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.changetracking.test</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common.model</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.modelmutator</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.examplemodel.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.examplemodel</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.migration</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server.model</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                            </bundleStartLevel>
+                        </configuration>
+                    </execution>
+                    
                 </executions>
             </plugin>
         </plugins>
diff --git a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/AllTests.java b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/AllTests.java
index 8545e15..0157640 100644
--- a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/AllTests.java
+++ b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/AllTests.java
@@ -1,32 +1,35 @@
-/*******************************************************************************

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

- * 

- * Contributors:

- * koegel

- ******************************************************************************/

-package org.eclipse.emf.emfstore.internal.client.test;

-

-import org.eclipse.emf.emfstore.internal.client.test.caching.AllCachingTests;

-import org.eclipse.emf.emfstore.internal.client.test.common.AllCommonTests;

-import org.eclipse.emf.emfstore.internal.client.test.persistence.AllPersistenceTests;

-import org.junit.runner.RunWith;

-import org.junit.runners.Suite;

-

-/**

- * Runs all tests.

- * 

- * @author koegel

- */

-@RunWith(Suite.class)

-@Suite.SuiteClasses({

-	AllCachingTests.class,

-	AllCommonTests.class,

-	AllPersistenceTests.class })

-public class AllTests {

-

-}

+/*******************************************************************************
+ * 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
+ *
+ * Contributors:
+ * koegel
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.internal.client.test;
+
+import org.eclipse.emf.emfstore.internal.client.test.caching.AllCachingTests;
+import org.eclipse.emf.emfstore.internal.client.test.common.AllCommonTests;
+import org.eclipse.emf.emfstore.internal.client.test.persistence.AllPersistenceTests;
+import org.eclipse.emf.emfstore.internal.client.test.workspace.AllWorkspaceTests;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+/**
+ * Runs all tests.
+ *
+ * @author koegel
+ */
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+	AllCachingTests.class,
+	AllCommonTests.class,
+	AllPersistenceTests.class,
+	AllWorkspaceTests.class
+})
+public class AllTests {
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/TestProjectEnum.java b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/TestProjectEnum.java
deleted file mode 100644
index fe3543f..0000000
--- a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/TestProjectEnum.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************

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

- * 

- * Contributors:

- * hodaie

- ******************************************************************************/

-package org.eclipse.emf.emfstore.internal.client.test;

-

-/**

- * This is a list of template projects used for testing. RANDOM_nnK means a random generated project with nn thousand

- * model elements. Template test projects are located at a /TestProjects folder.

- * 

- * @author hodaie

- */

-public enum TestProjectEnum {

-

-	/**

-	 * a random generated project (with about 6000 elements) with these parameter(7, 1, 4, 3, 5, 20).

-	 */

-	RANDOM_3K("TestProjects/randomProject3.ucp"),

-

-	/**

-	 * a random generated project (with about 6000 elements) with these parameter(10, 12345, 5, 3, 15, 20).

-	 */

-	// RANDOM_6K("TestProjects/randomProject6.ucp"),

-

-	/**

-	 * a random generated project (with about 8000 elements) with these parameter(15, 12345, 5, 3, 15, 20).

-	 */

-	// RANDOM_8K("TestProjects/randomProject8.ucp"),

-

-	/**

-	 * a random generated project (with about 12000 elements) with these parameter(20, 12345, 5, 5, 10, 20).

-	 */

-	// RANDOM_12K("TestProjects/randomProject12.ucp"),

-

-	/**

-	 * a random generated project (with about 14000 elements) with these parameter(30, 123, 5, 5, 10, 20).

-	 */

-	// RANDOM_14K("TestProjects/randomProject14.ucp"),

-

-	/**

-	 * use a random generated project (with about 25000 elements) with these parameter(70, 123, 5, 5, 10, 20).

-	 */

-	// RANDOM_25K("TestProjects/randomProject25.ucp"),

-

-	/**

-	 * use the SuperMarketProject.

-	 */

-	SUPERMARKET("TestProjects/SupermarketExampleProject.ucp"),

-

-	/**

-	 * file api.

-	 */

-	FILEAPI("TestProjects/FileAPI.ucp");

-

-	private String path;

-

-	private TestProjectEnum(String path) {

-		this.path = path;

-	}

-

-	/**

-	 * @return test project path

-	 */

-	public String getPath() {

-		return path;

-	}

-

-}

diff --git a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/workspace/AllWorkspaceTests.java b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/workspace/AllWorkspaceTests.java
new file mode 100644
index 0000000..14901c3
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/workspace/AllWorkspaceTests.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 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.internal.client.test.workspace;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+	WorkspaceTest.class,
+	ThreadLocalWorkSpaceTest.class
+})
+public class AllWorkspaceTests {
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/workspace/WorkspaceTest.java b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/workspace/WorkspaceTest.java
new file mode 100644
index 0000000..2afa6c7
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.client.test/src/org/eclipse/emf/emfstore/internal/client/test/workspace/WorkspaceTest.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2015 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.internal.client.test.workspace;
+
+import static org.eclipse.emf.emfstore.client.test.common.util.ProjectUtil.share;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.IsEqual.equalTo;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.emfstore.client.ESLocalProject;
+import org.eclipse.emf.emfstore.client.test.common.cases.ESTestWithLoggedInUser;
+import org.eclipse.emf.emfstore.client.test.common.dsl.Add;
+import org.eclipse.emf.emfstore.client.test.common.dsl.Create;
+import org.eclipse.emf.emfstore.client.util.ESVoidCallable;
+import org.eclipse.emf.emfstore.client.util.RunESCommand;
+import org.eclipse.emf.emfstore.common.model.ESModelElementId;
+import org.eclipse.emf.emfstore.internal.client.model.Configuration;
+import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
+import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;
+import org.eclipse.emf.emfstore.server.exceptions.ESException;
+import org.eclipse.emf.emfstore.test.model.TestElement;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.google.common.base.Optional;
+
+public class WorkspaceTest extends ESTestWithLoggedInUser {
+
+	@BeforeClass
+	public static void beforeClass() {
+		startEMFStore();
+	}
+
+	@AfterClass
+	public static void afterClass() {
+		stopEMFStore();
+	}
+
+	private Optional<Integer> changePackageFragmentSize;
+
+	@Override
+	@Before
+	public void before() {
+		changePackageFragmentSize = Configuration.getClientBehavior().getChangePackageFragmentSize();
+		super.before();
+	}
+
+	@Override
+	@After
+	public void after() {
+		super.after();
+		Configuration.getClientBehavior().setChangePackageFragmentSize(changePackageFragmentSize);
+	}
+
+	@Test
+	public void restartServerAndUpdateOutdatedClient() throws ESException {
+		Configuration.getClientBehavior().setChangePackageFragmentSize(Optional.of(1));
+		final TestElement testElement = Create.testElement("foo"); //$NON-NLS-1$
+		Add.toProject(getLocalProject(), testElement);
+		final ESModelElementId testElementId = getLocalProject().getModelElementId(testElement);
+		share(getUsersession(), getLocalProject());
+
+		final ESLocalProject clonedProject = getLocalProject()
+			.getRemoteProject()
+			.checkout("clonedProject", new NullProgressMonitor());
+
+		// perform some changes to enfore splittign
+		RunESCommand.run(new ESVoidCallable() {
+			@Override
+			public void run() {
+				testElement.setName("bar");
+				testElement.getContainedElements().add(Create.testElement());
+				testElement.getContainedElements().add(Create.testElement());
+				testElement.getContainedElements().add(Create.testElement());
+			}
+		});
+		getLocalProject().commit(new NullProgressMonitor());
+
+		restartEMFStore();
+
+		clonedProject.update(new NullProgressMonitor());
+		final TestElement copiedTestElement = (TestElement) clonedProject.getModelElement(testElementId);
+
+		assertThat(copiedTestElement.getName(), equalTo("bar"));
+	}
+
+	@Test
+	public void restartClientAndCheckBaseVersion() throws ESException {
+		final TestElement testElement = Create.testElement("foo"); //$NON-NLS-1$
+		Add.toProject(getLocalProject(), testElement);
+		share(getUsersession(), getLocalProject());
+
+		final ESLocalProject clonedProject = getLocalProject()
+			.getRemoteProject()
+			.checkout("clonedProject", new NullProgressMonitor());
+
+		RunESCommand.run(new ESVoidCallable() {
+			@Override
+			public void run() {
+				testElement.setName("bar");
+			}
+		});
+		getLocalProject().commit(new NullProgressMonitor());
+
+		clonedProject.update(new NullProgressMonitor());
+
+		final ProjectSpace cloned = ESLocalProjectImpl.class.cast(clonedProject).toInternalAPI();
+		final URI uri = cloned.eResource().getURI();
+		final URI normalizedUri = cloned.getResourceSet().getURIConverter().normalize(uri);
+		final ResourceSetImpl resourceSetImpl = new ResourceSetImpl();
+		final Resource resource = resourceSetImpl.getResource(normalizedUri, true);
+		final ProjectSpace loadedProjectSpace = (ProjectSpace) resource.getContents().get(0);
+
+		assertThat(loadedProjectSpace.getBaseVersion().getIdentifier(), equalTo(1));
+	}
+}
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 0642a38..0d594b2 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="[1.6.2,2.0.0)"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client.ui;bundle-version="[1.7.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.emf.emfstore.client.ui.test;version="1.6.2
+Export-Package: org.eclipse.emf.emfstore.client.ui.test;version="1.7.0
  ";x-internal:=true,org.eclipse.emf.emfstore.internal.client.ui.common
- ;version="1.6.2";x-internal:=true
+ ;version="1.7.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 f59ac3d..20b356e 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
   <groupId>org.eclipse.emf.emfstore</groupId>
   <artifactId>org.eclipse.emf.emfstore.client.ui.test</artifactId>
-  <version>1.6.2-SNAPSHOT</version>
+  <version>1.7.0-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
     <build>
@@ -225,6 +225,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
@@ -419,6 +424,11 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
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 ab14e4b..9e9ef8d 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.6.2-SNAPSHOT</version>
+    <version>1.7.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 85963fc..f2a8ce8 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.6.2-SNAPSHOT</version>
+    <version>1.7.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.performance.test/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.emfstore.performance.test/META-INF/MANIFEST.MF
index 517349e..0d2b4b5 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.6.2.qualifier
+Bundle-Version: 1.7.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 68c1a29..a118e47 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.performance.test</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
@@ -217,6 +217,11 @@
 								</dependency>
 								<dependency>
 									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
 									<artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
 									<version>0.0.0</version>
 								</dependency>
diff --git a/tests/org.eclipse.emf.emfstore.server.test/AllServerTests.launch b/tests/org.eclipse.emf.emfstore.server.test/AllServerTests.launch
index f87dd53..646d6ff 100644
--- a/tests/org.eclipse.emf.emfstore.server.test/AllServerTests.launch
+++ b/tests/org.eclipse.emf.emfstore.server.test/AllServerTests.launch
@@ -12,7 +12,7 @@
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
 <booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.emf.emfstore.branding,org.eclipse.emf.emfstore.client.example.test,org.eclipse.emf.emfstore.client.test.alltests,org.eclipse.emf.emfstore.client.test.ui,org.eclipse.emf.emfstore.client.transaction,org.eclipse.emf.emfstore.ecore,org.eclipse.emf.emfstore.example.helloworld,org.eclipse.emf.emfstore.example.installer,org.eclipse.emf.emfstore.example.merging,org.eclipse.emf.emfstore.example.sessionprovider,org.eclipse.emf.emfstore.examplemodel.edit,org.eclipse.emf.emfstore.fuzzy.emf.edit,org.eclipse.emf.emfstore.fuzzy.emf.editor,org.eclipse.emf.emfstore.fuzzy.emf.example,org.eclipse.emf.emfstore.mongodb,org.eclipse.emf.emfstore.mongodb.client,org.eclipse.emf.emfstore.mongodb.server"/>
+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.emf.emfstore.branding,org.eclipse.emf.emfstore.client.example.test,org.eclipse.emf.emfstore.client.test.alltests,org.eclipse.emf.emfstore.client.test.ui,org.eclipse.emf.emfstore.client.transaction,org.eclipse.emf.emfstore.client.ui.transaction,org.eclipse.emf.emfstore.ecore,org.eclipse.emf.emfstore.example.helloworld,org.eclipse.emf.emfstore.example.installer,org.eclipse.emf.emfstore.example.merging,org.eclipse.emf.emfstore.example.sessionprovider,org.eclipse.emf.emfstore.examplemodel.edit,org.eclipse.emf.emfstore.fuzzy.emf.edit,org.eclipse.emf.emfstore.fuzzy.emf.editor,org.eclipse.emf.emfstore.fuzzy.emf.example,org.eclipse.emf.emfstore.mongodb,org.eclipse.emf.emfstore.mongodb.client,org.eclipse.emf.emfstore.mongodb.server"/>
 <booleanAttribute key="includeOptional" value="true"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -34,8 +34,8 @@
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
-<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.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*1.6.0.v201305230611@default:default,org.apache.commons.logging*1.0.4.v201101211617@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@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.filebuffers@default:default,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@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.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@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.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.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare.diff.edit@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.emf.compare.ui@default:default,org.eclipse.emf.compare@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.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.edit.ui@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.event@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.extensionbundle@default:false,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.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi*3.8.0.v20120529-1548@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@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.smil@default:default,org.w3c.dom.svg@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="com.eclipsesource.makeithappen.model.edit@default:default,com.eclipsesource.makeithappen.model@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.emfstore.client.api.test@default:false,org.eclipse.emf.emfstore.client.changetracking.test@default:false,org.eclipse.emf.emfstore.client.conflictdetection.test@default:false,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.recording.test@default:false,org.eclipse.emf.emfstore.client.test@default:default,org.eclipse.emf.emfstore.client.ui.historybrowsercomparator@default:default,org.eclipse.emf.emfstore.client.ui.rap@default:false,org.eclipse.emf.emfstore.client.ui.rcp@default:false,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client.ws.test@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.examplemodel@default:default,org.eclipse.emf.emfstore.fuzzy.emf.diff.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator.test@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.performance.test@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:false,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"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.ibm.icu@default:default,javax.annotation*1.0.0.v20101115-0725@default:default,javax.annotation*1.2.0.v201401042248@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*1.6.0.v201305230611@default:default,org.apache.commons.logging*1.0.4.v201101211617@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@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.filebuffers@default:default,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@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.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@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.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.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare*3.1.1.201408191310@default:default,org.eclipse.emf.compare*3.1.2.201501201328@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.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.ecp.edit@default:default,org.eclipse.emf.ecp.ui.view@default:default,org.eclipse.emf.ecp.view.context@default:default,org.eclipse.emf.ecp.view.model.provider.xmi@default:default,org.eclipse.emf.ecp.view.model@default:default,org.eclipse.emf.edit.ui@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.event@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.extensionbundle@default:false,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.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi*3.8.0.v20120529-1548@-1:true,org.eclipse.osgi.services@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@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.smil@default:default,org.w3c.dom.svg@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="com.eclipsesource.makeithappen.model.edit@default:default,com.eclipsesource.makeithappen.model@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.emfstore.client.api.test@default:false,org.eclipse.emf.emfstore.client.changetracking.test@default:false,org.eclipse.emf.emfstore.client.conflictdetection.test@default:false,org.eclipse.emf.emfstore.client.model.edit@default:default,org.eclipse.emf.emfstore.client.recording.test@default:false,org.eclipse.emf.emfstore.client.test@default:default,org.eclipse.emf.emfstore.client.ui.historybrowsercomparator@default:default,org.eclipse.emf.emfstore.client.ui.rap@default:false,org.eclipse.emf.emfstore.client.ui.rcp@default:false,org.eclipse.emf.emfstore.client.ui.test@default:false,org.eclipse.emf.emfstore.client.ui@default:default,org.eclipse.emf.emfstore.client.ws.test@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.examplemodel@default:default,org.eclipse.emf.emfstore.fuzzy.emf.diff.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf.test@default:default,org.eclipse.emf.emfstore.fuzzy.emf@default:default,org.eclipse.emf.emfstore.migration@default:default,org.eclipse.emf.emfstore.modelmutator.test@default:default,org.eclipse.emf.emfstore.modelmutator@default:default,org.eclipse.emf.emfstore.performance.test@default:default,org.eclipse.emf.emfstore.server.model.edit@default:default,org.eclipse.emf.emfstore.server.model@default:default,org.eclipse.emf.emfstore.server.test@default:false,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"/>
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 ef583dd..02e9a1c 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.6.2.qualifier
-Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.6.2"
+Bundle-Version: 1.7.0.qualifier
+Fragment-Host: org.eclipse.emf.emfstore.client;bundle-version="1.7.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.6.2,2.0.0)"
+ org.eclipse.emf.emfstore.server;bundle-version="[1.7.0,2.0.0)"
 Export-Package: org.eclipse.emf.emfstore.server.accesscontrol.test;ver
- sion="1.6.2";x-internal:=true,org.eclipse.emf.emfstore.server.test;ve
- rsion="1.6.2";x-internal:=true
+ sion="1.7.0";x-internal:=true,org.eclipse.emf.emfstore.server.test;ve
+ rsion="1.7.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 95ccd8f..5157d88 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.6.2-SNAPSHOT</version>
+		<version>1.7.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
 	</parent>
 
 	<groupId>org.eclipse.emf.emfstore</groupId>
 	<artifactId>org.eclipse.emf.emfstore.server.test</artifactId>
-	<version>1.6.2-SNAPSHOT</version>
+	<version>1.7.0-SNAPSHOT</version>
 	<packaging>eclipse-test-plugin</packaging>
 
 	<build>
@@ -218,6 +218,11 @@
 								</dependency>
 								<dependency>
 									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
 									<artifactId>org.eclipse.emf.emfstore.client.conflictdetection.test</artifactId>
 									<version>0.0.0</version>
 								</dependency>
@@ -401,6 +406,200 @@
                                     <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
                                     <version>0.0.0</version>
                                 </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.common</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.modelmutator</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.examplemodel.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.examplemodel</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.migration</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.server.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.server.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>p
+                                    <artifactId>org.eclipse.emf.emfstore.server</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                            </dependencies>
+
+                            <bundleStartLevel>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.test</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.transaction</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.client.changetracking.test</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common.model</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.common</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.modelmutator</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.examplemodel.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.examplemodel</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.migration</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server.model.edit</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server.model</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                                <bundle>
+                                    <id>org.eclipse.emf.emfstore.server</id>
+                                    <level>4</level>
+                                    <autoStart>false</autoStart>
+                                </bundle>
+                            </bundleStartLevel>
+                        </configuration>
+                    </execution>
+					
+					<execution>
+                        <id>ServerFileBasedChangePackage</id>
+                        <phase>integration-test</phase>
+                        <goals>
+                            <goal>test</goal>
+                        </goals>
+                        <configuration>
+                            <reportsDirectory>${project.build.directory}/surefire-reports/ServerFileBasedChangePackage</reportsDirectory>
+                            <testSuite>org.eclipse.emf.emfstore.client.api.test</testSuite>
+                            <testClass>org.eclipse.emf.emfstore.client.api.test.AllAPITests</testClass>
+                            <useUIHarness>true</useUIHarness>
+                            <useUIThread>false</useUIThread>
+                            <argLine>${tycho.testArgLine} -Dosgi.requiredJavaVersion=1.5 -Demfstore.server.fileBasedChangePackage=true -Xms40m -Xmx512m
+                            </argLine>
+                            <testFailureIgnore>true</testFailureIgnore>
+
+                            <dependencies>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.test</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.test.model</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.test.model.edit</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+                                <dependency>
+                                    <type>eclipse-plugin</type>
+                                    <artifactId>org.eclipse.emf.emfstore.client.transaction</artifactId>
+                                    <version>0.0.0</version>
+                                </dependency>
+								<dependency>
+									<type>eclipse-plugin</type>
+									<artifactId>org.eclipse.emf.emfstore.client.ui.transaction</artifactId>
+									<version>0.0.0</version>
+								</dependency>
                                 <dependency>
                                     <type>eclipse-plugin</type>
                                     <artifactId>org.eclipse.emf.emfstore.client.changetracking.test</artifactId>
diff --git a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AssignRoleToOrgUnitTests.java b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AssignRoleToOrgUnitTests.java
index a3beda7..6cc4283 100644
--- a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AssignRoleToOrgUnitTests.java
+++ b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/AssignRoleToOrgUnitTests.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 - initial API and implementation
  ******************************************************************************/
@@ -16,11 +16,13 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import org.eclipse.emf.emfstore.client.test.common.dsl.Roles;
 import org.eclipse.emf.emfstore.client.test.common.util.ProjectUtil;
 import org.eclipse.emf.emfstore.client.test.common.util.ServerUtil;
 import org.eclipse.emf.emfstore.internal.client.model.ProjectSpace;
+import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESUsersessionImpl;
 import org.eclipse.emf.emfstore.internal.server.exceptions.AccessControlException;
 import org.eclipse.emf.emfstore.internal.server.model.ProjectId;
 import org.eclipse.emf.emfstore.internal.server.model.accesscontrol.ACGroup;
@@ -31,6 +33,7 @@
 import org.eclipse.emf.emfstore.internal.server.model.impl.api.ESGlobalProjectIdImpl;
 import org.eclipse.emf.emfstore.server.auth.ESProjectAdminPrivileges;
 import org.eclipse.emf.emfstore.server.exceptions.ESException;
+import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -38,9 +41,9 @@
 /**
  * Test the {@link ESProjectAdminPrivileges#AssignRoleToOrgUnit} privilege of a
  * {@link org.eclipse.emf.emfstore.internal.server.model.accesscontrol.roles.ProjectAdminRole ProjectAdminRole}.
- * 
+ *
  * @author emueller
- * 
+ *
  */
 public class AssignRoleToOrgUnitTests extends ProjectAdminTest {
 
@@ -56,6 +59,17 @@
 		stopEMFStore();
 	}
 
+	@After
+	@Override
+	public void after() {
+		try {
+			ServerUtil.deleteGroup(getSuperUsersession(), getNewGroupName());
+		} catch (final ESException ex) {
+			fail(ex.getMessage());
+		}
+		super.after();
+	}
+
 	@Test
 	public void assignReaderRolePA() throws ESException {
 		final ACOrgUnitId newUser = ServerUtil.createUser(getSuperUsersession(), getNewUsername());
@@ -220,6 +234,19 @@
 	}
 
 	@Test
+	public void changeRoleToSAViaGroupAsSA() throws ESException {
+		final ACOrgUnitId newGroup = ServerUtil.createGroup(getSuperUsersession(), getNewGroupName());
+		makeUserPA();
+		ProjectUtil.share(getSuperUsersession(), getLocalProject());
+		final ACOrgUnitId id = ((ESUsersessionImpl) getUsersession()).toInternalAPI().getACUser().getId();
+		getSuperAdminBroker().addMember(newGroup, id);
+		getSuperAdminBroker().changeRole(getProjectSpace().getProjectId(), newGroup, Roles.serverAdmin());
+
+		final ACOrgUnitId createUser2 = getAdminBroker().createUser("foo"); //$NON-NLS-1$
+		getAdminBroker().changeRole(getProjectSpace().getProjectId(), createUser2, Roles.writer());
+	}
+
+	@Test
 	public void changeRoleToWriterOnDifferentProjectsAsPA() throws ESException {
 		final ACOrgUnitId newUser = ServerUtil.createUser(getSuperUsersession(), getNewUsername());
 		makeUserPA();
@@ -227,8 +254,7 @@
 
 		final ProjectSpace clonedProjectSpace = cloneProjectSpace(getProjectSpace());
 		final ProjectId projectId = ESGlobalProjectIdImpl.class.cast(
-			share(getUsersession(), clonedProjectSpace.toAPI())
-			).toInternalAPI();
+			share(getUsersession(), clonedProjectSpace.toAPI())).toInternalAPI();
 
 		getAdminBroker().changeRole(getProjectSpace().getProjectId(), newUser, Roles.writer());
 		getAdminBroker().changeRole(
diff --git a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/AllServerTests.java b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/AllServerTests.java
index e53c6e6..11169a7 100644
--- a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/AllServerTests.java
+++ b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/AllServerTests.java
@@ -23,11 +23,12 @@
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
 	IntegrationTest.class,
-    AdminBrokerTests.class,
+	AdminBrokerTests.class,
 	AllAccessControlTests.class,
 	BranchTests.class,
 	ServerInterfaceTest.class,
 	HistoryAPITests.class,
+	LoginServiceTest.class,
 	ChangeCertificationTest.class,
 	ChecksumTest.class,
 	FileManagerTest.class,
diff --git a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/LoginServiceTest.java b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/LoginServiceTest.java
new file mode 100644
index 0000000..65cf789
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/test/LoginServiceTest.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2015 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.server.test;
+
+import static org.junit.Assert.assertTrue;
+
+import org.eclipse.emf.emfstore.client.test.common.cases.ESTestWithLoggedInUserMock;
+import org.eclipse.emf.emfstore.client.test.common.mocks.ConnectionMock;
+import org.eclipse.emf.emfstore.internal.client.configuration.VersioningInfo;
+import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+import org.eclipse.emf.emfstore.internal.client.model.connectionmanager.KeyStoreManager;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author emueller
+ *
+ */
+public class LoginServiceTest extends ESTestWithLoggedInUserMock {
+
+	@BeforeClass
+	public static void beforeClass() {
+		startEMFStore();
+	}
+
+	@AfterClass
+	public static void afterClass() {
+		stopEMFStore();
+	}
+
+	@Test
+	public void verifyUser() {
+		final ConnectionMock mock = (ConnectionMock) ESWorkspaceProviderImpl.getInstance().getConnectionManager();
+		final String password = KeyStoreManager.getInstance().encrypt("super", getServerInfo()); //$NON-NLS-1$
+		final boolean isValid = mock.getAccessControl().getLoginService().verifyUser("super", password, //$NON-NLS-1$
+			new VersioningInfo().getClientVersion().toAPI());
+		assertTrue(isValid);
+	}
+}
diff --git a/tests/org.eclipse.emf.emfstore.test.common/.settings/.api_filters b/tests/org.eclipse.emf.emfstore.test.common/.settings/.api_filters
new file mode 100644
index 0000000..16d47e2
--- /dev/null
+++ b/tests/org.eclipse.emf.emfstore.test.common/.settings/.api_filters
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.emf.emfstore.test.common" version="2">
+    <resource path="META-INF/MANIFEST.MF">
+        <filter comment="Test Bundle, not part of SDK" id="929038356">
+            <message_arguments>
+                <message_argument value="2.0.0"/>
+                <message_argument value="org.eclipse.emf.emfstore.examplemodel"/>
+            </message_arguments>
+        </filter>
+    </resource>
+</component>
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 ac40247..36d3563 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.6.2,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.client;bundle-version="[1.7.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.6.2,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.7.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 c9ce770..e88b746 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>
 
diff --git a/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/cases/ESTestWithServer.java b/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/cases/ESTestWithServer.java
index dac996c..2847047 100644
--- a/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/cases/ESTestWithServer.java
+++ b/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/cases/ESTestWithServer.java
@@ -1,93 +1,98 @@
-/*******************************************************************************

- * Copyright (c) 2012-2013 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:

- ******************************************************************************/

-package org.eclipse.emf.emfstore.client.test.common.cases;

-

-import static org.junit.Assert.fail;

-

-import java.io.IOException;

-import java.util.Collections;

-import java.util.Map;

-

-import org.eclipse.core.runtime.NullProgressMonitor;

-import org.eclipse.emf.emfstore.client.ESLocalProject;

-import org.eclipse.emf.emfstore.client.ESRemoteProject;

-import org.eclipse.emf.emfstore.client.ESWorkspaceProvider;

-import org.eclipse.emf.emfstore.client.exceptions.ESServerStartFailedException;

-import org.eclipse.emf.emfstore.client.test.common.util.ServerUtil;

-import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;

-import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;

-import org.eclipse.emf.emfstore.internal.server.EMFStore;

-import org.eclipse.emf.emfstore.internal.server.EMFStoreController;

-import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;

-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.ProjectId;

-import org.eclipse.emf.emfstore.server.exceptions.ESException;

-

-/**

- * Common base class for all tests which need an actual EMFStore server started.

- * 

- * @author emueller

- * 

- */

-public abstract class ESTestWithServer extends ESTest {

-

-	protected static void startEMFStore() {

-		startEMFStore(Collections.<String, String> emptyMap());

-	}

-

-	/**

-	 * Start an EMFStore server instance.

-	 */

-	public static void startEMFStore(Map<String, String> properties) {

-		ServerConfiguration.setProperties(ServerUtil.initProperties(properties));

-		ServerConfiguration.setTesting(true);

-

-		try {

-			ServerUtil.startServer();

-		} catch (final ESServerStartFailedException ex) {

-			fail(ex.getMessage());

-		}

-	}

-

-	public EMFStore getEMFStore() {

-		return ESWorkspaceProviderImpl.getInstance().getConnectionManager();

-	}

-

-	public ProjectHistory getHistory(ESLocalProject localProject) {

-		final ESLocalProjectImpl projectImpl = ESLocalProjectImpl.class.cast(localProject);

-		final ProjectId id = projectImpl.toInternalAPI().getProjectId();

-		for (final ProjectHistory history : EMFStoreController.getInstance().getServerSpace().getProjects()) {

-			if (history.getProjectId().equals(id)) {

-				return history;

-			}

-		}

-		throw new RuntimeException("Project History not found"); //$NON-NLS-1$

-	}

-

-	public static void stopEMFStore() {

-		ServerUtil.stopServer();

-		// give the server some time to unbind from it's ips. Not the nicest solution ...

-		try {

-			Thread.sleep(10000);

-		} catch (final InterruptedException ex) {

-			fail(ex.getMessage());

-		}

-	}

-

-	protected static void deleteRemoteProjects() throws IOException, FatalESException, ESException {

-		for (final ESRemoteProject project : ESWorkspaceProvider.INSTANCE.getWorkspace().getServers().get(0)

-			.getRemoteProjects()) {

-			project.delete(new NullProgressMonitor());

-		}

-	}

-

-}

+/*******************************************************************************
+ * Copyright (c) 2012-2013 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:
+ ******************************************************************************/
+package org.eclipse.emf.emfstore.client.test.common.cases;
+
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.emfstore.client.ESLocalProject;
+import org.eclipse.emf.emfstore.client.ESRemoteProject;
+import org.eclipse.emf.emfstore.client.ESWorkspaceProvider;
+import org.eclipse.emf.emfstore.client.exceptions.ESServerStartFailedException;
+import org.eclipse.emf.emfstore.client.test.common.util.ServerUtil;
+import org.eclipse.emf.emfstore.internal.client.model.ESWorkspaceProviderImpl;
+import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;
+import org.eclipse.emf.emfstore.internal.server.EMFStore;
+import org.eclipse.emf.emfstore.internal.server.EMFStoreController;
+import org.eclipse.emf.emfstore.internal.server.ServerConfiguration;
+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.ProjectId;
+import org.eclipse.emf.emfstore.server.exceptions.ESException;
+
+/**
+ * Common base class for all tests which need an actual EMFStore server started.
+ *
+ * @author emueller
+ *
+ */
+public abstract class ESTestWithServer extends ESTest {
+
+	protected static void startEMFStore() {
+		startEMFStore(Collections.<String, String> emptyMap());
+	}
+
+	/**
+	 * Start an EMFStore server instance.
+	 */
+	public static void startEMFStore(Map<String, String> properties) {
+		ServerConfiguration.setProperties(ServerUtil.initProperties(properties));
+		ServerConfiguration.setTesting(true);
+
+		try {
+			ServerUtil.startServer();
+		} catch (final ESServerStartFailedException ex) {
+			fail(ex.getMessage());
+		}
+	}
+
+	public EMFStore getEMFStore() {
+		return ESWorkspaceProviderImpl.getInstance().getConnectionManager();
+	}
+
+	public ProjectHistory getHistory(ESLocalProject localProject) {
+		final ESLocalProjectImpl projectImpl = ESLocalProjectImpl.class.cast(localProject);
+		final ProjectId id = projectImpl.toInternalAPI().getProjectId();
+		for (final ProjectHistory history : EMFStoreController.getInstance().getServerSpace().getProjects()) {
+			if (history.getProjectId().equals(id)) {
+				return history;
+			}
+		}
+		throw new RuntimeException("Project History not found"); //$NON-NLS-1$
+	}
+
+	public static void stopEMFStore() {
+		ServerUtil.stopServer();
+		// give the server some time to unbind from it's ips. Not the nicest solution ...
+		try {
+			Thread.sleep(5000);
+		} catch (final InterruptedException ex) {
+			fail(ex.getMessage());
+		}
+	}
+
+	public static void restartEMFStore() {
+		stopEMFStore();
+		startEMFStore(Collections.<String, String> emptyMap());
+	}
+
+	protected static void deleteRemoteProjects() throws IOException, FatalESException, ESException {
+		for (final ESRemoteProject project : ESWorkspaceProvider.INSTANCE.getWorkspace().getServers().get(0)
+			.getRemoteProjects()) {
+			project.delete(new NullProgressMonitor());
+		}
+	}
+
+}
diff --git a/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/mocks/ConnectionMock.java b/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/mocks/ConnectionMock.java
index ac42394..1e83511 100644
--- a/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/mocks/ConnectionMock.java
+++ b/tests/org.eclipse.emf.emfstore.test.common/src/org/eclipse/emf/emfstore/client/test/common/mocks/ConnectionMock.java
@@ -69,6 +69,15 @@
 		sessions = new LinkedHashSet<SessionId>();
 	}
 
+	/**
+	 * Returns the {@link AccessControl}.
+	 *
+	 * @return the access control
+	 */
+	public AccessControl getAccessControl() {
+		return accessControl;
+	}
+
 	public AuthenticationInformation logIn(final String username, final String password, final ServerInfo severInfo,
 		final ClientVersionInfo clientVersionInfo) throws ESException {
 		final ESAuthenticationInformation logIn = accessControl.getLoginService()
@@ -105,7 +114,7 @@
 		final PrimaryVersionSpec baseVersionSpec, final AbstractChangePackage changePackage,
 		final BranchVersionSpec targetBranch,
 		final PrimaryVersionSpec sourceVersion, final LogMessage logMessage)
-		throws ESException, InvalidVersionSpecException {
+			throws ESException, InvalidVersionSpecException {
 
 		AbstractChangePackage cp = changePackage;
 		final SessionId clonedSessionId = checkSessionId(sessionId);
@@ -121,7 +130,7 @@
 
 	public PrimaryVersionSpec resolveVersionSpec(final SessionId sessionId, final ProjectId projectId,
 		final VersionSpec versionSpec)
-		throws ESException {
+			throws ESException {
 
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		return ModelUtil.clone(
@@ -149,7 +158,7 @@
 
 	public List<HistoryInfo> getHistoryInfo(final SessionId sessionId, final ProjectId projectId,
 		final HistoryQuery<?> historyQuery)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		return ModelUtil.clone(
 			emfStore.getHistoryInfo(
@@ -160,7 +169,7 @@
 
 	public void addTag(final SessionId sessionId, final ProjectId projectId, final PrimaryVersionSpec versionSpec,
 		final TagVersionSpec tag)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		emfStore.addTag(
 			clonedSessionId,
@@ -171,7 +180,7 @@
 
 	public void removeTag(final SessionId sessionId, final ProjectId projectId, final PrimaryVersionSpec versionSpec,
 		final TagVersionSpec tag)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		emfStore.removeTag(
 			clonedSessionId,
@@ -182,7 +191,7 @@
 
 	public ProjectInfo createEmptyProject(final SessionId sessionId, final String name, final String description,
 		final LogMessage logMessage)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		final ProjectInfo projectInfo = emfStore.createEmptyProject(clonedSessionId, name, description,
 			ModelUtil.clone(logMessage));
@@ -242,7 +251,7 @@
 
 	public FileTransferInformation uploadFileChunk(final SessionId sessionId, final ProjectId projectId,
 		final FileChunk fileChunk)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		return emfStore.uploadFileChunk(clonedSessionId, ModelUtil.clone(projectId), fileChunk);
 	}
@@ -255,7 +264,7 @@
 
 	public void transmitProperty(final SessionId sessionId, final OrgUnitProperty changedProperty, final ACUser user,
 		final ProjectId projectId)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		emfStore.transmitProperty(
 			clonedSessionId,
@@ -317,7 +326,7 @@
 	 */
 	public String uploadChangePackageFragment(final SessionId sessionId, final ProjectId projectId,
 		final ChangePackageEnvelope envelope)
-		throws ESException {
+			throws ESException {
 
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 
@@ -335,7 +344,7 @@
 	 */
 	public ChangePackageEnvelope downloadChangePackageFragment(final SessionId sessionId, final String proxyId,
 		final int fragmentIndex)
-		throws ESException {
+			throws ESException {
 		final SessionId clonedSessionId = checkSessionId(sessionId);
 		return ModelUtil.clone(
 			emfStore.downloadChangePackageFragment(
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 c9b7661..fde8de0 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.6.2-SNAPSHOT</version>
+    <version>1.7.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 f368a89..15e8d25 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.6.2-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.emfstore.releng.tests</relativePath>
   </parent>