diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore
index f1fc4c4..3ee9581 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/EnvExample1.ecore
@@ -2,7 +2,7 @@
 <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="lookup" nsURI="http://cs2as/tests/example1/env/1.0" nsPrefix="lookup">
   <eAnnotations source="http://www.eclipse.org/OCL/Import">
-    <details key="target" value="TargetMM1.ecore#/"/>
+    <details key="target" value="platform:/resource/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/TargetMM1.ecore#/"/>
   </eAnnotations>
   <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
     <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java
index 2e5077f..2b7ed90 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/TargetTables.java
@@ -1,14 +1,4 @@
 /*******************************************************************************
- * Copyright (c) 2016 Willink Transformations 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:
- *     E.D.Willink - initial API and implementation
- *******************************************************************************/
-/*******************************************************************************
  *************************************************************************
  * This code is 100% auto-generated
  * from:
@@ -235,6 +225,10 @@
 
 	/**
 	 *	The parameter lists shared by operations.
+	 *
+	 * @noextend This class is not intended to be subclassed by clients.
+	 * @noinstantiate This class is not intended to be instantiated by clients.
+	 * @noreference This class is not intended to be referenced by clients.
 	 */
 	public static class Parameters {
 		static {
@@ -255,6 +249,10 @@
 
 	/**
 	 *	The operation descriptors for each operation of each type.
+	 *
+	 * @noextend This class is not intended to be subclassed by clients.
+	 * @noinstantiate This class is not intended to be instantiated by clients.
+	 * @noreference This class is not intended to be referenced by clients.
 	 */
 	public static class Operations {
 		static {
@@ -274,6 +272,10 @@
 
 	/**
 	 *	The property descriptors for each property of each type.
+	 *
+	 * @noextend This class is not intended to be subclassed by clients.
+	 * @noinstantiate This class is not intended to be instantiated by clients.
+	 * @noreference This class is not intended to be referenced by clients.
 	 */
 	public static class Properties {
 		static {
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentPackage.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentPackage.java
index 4030452..fef864a 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentPackage.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentPackage.java
@@ -31,7 +31,7 @@
  * <!-- end-user-doc -->
  * @see example1.target.lookup.EnvironmentFactory
  * @model kind="package"
- *        annotation="http://www.eclipse.org/OCL/Import target='TargetMM1.ecore#/'"
+ *        annotation="http://www.eclipse.org/OCL/Import target='platform:/resource/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/TargetMM1.ecore#/'"
  * @generated
  */
 public interface EnvironmentPackage extends EPackage {
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentTables.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentTables.java
index 59592ed..ff74617 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentTables.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/EnvironmentTables.java
@@ -1,14 +1,4 @@
 /*******************************************************************************
- * Copyright (c) 2016 Willink Transformations 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:
- *     E.D.Willink - initial API and implementation
- *******************************************************************************/
-/*******************************************************************************
  *************************************************************************
  * This code is 100% auto-generated
  * from:
@@ -167,6 +157,10 @@
 
 	/**
 	 *	The parameter lists shared by operations.
+	 *
+	 * @noextend This class is not intended to be subclassed by clients.
+	 * @noinstantiate This class is not intended to be instantiated by clients.
+	 * @noreference This class is not intended to be referenced by clients.
 	 */
 	public static class Parameters {
 		static {
@@ -189,6 +183,10 @@
 
 	/**
 	 *	The operation descriptors for each operation of each type.
+	 *
+	 * @noextend This class is not intended to be subclassed by clients.
+	 * @noinstantiate This class is not intended to be instantiated by clients.
+	 * @noreference This class is not intended to be referenced by clients.
 	 */
 	public static class Operations {
 		static {
@@ -218,6 +216,10 @@
 
 	/**
 	 *	The property descriptors for each property of each type.
+	 *
+	 * @noextend This class is not intended to be subclassed by clients.
+	 * @noinstantiate This class is not intended to be instantiated by clients.
+	 * @noreference This class is not intended to be referenced by clients.
 	 */
 	public static class Properties {
 		static {
diff --git a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/impl/EnvironmentPackageImpl.java b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/impl/EnvironmentPackageImpl.java
index db27d86..1c874be 100644
--- a/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/impl/EnvironmentPackageImpl.java
+++ b/tests/org.eclipse.qvtd.cs2as.compiler.tests/tests-gen/example1/target/lookup/impl/EnvironmentPackageImpl.java
@@ -337,7 +337,7 @@
 		  (this, 
 		   source, 
 		   new String[] {
-			 "target", "TargetMM1.ecore#/"
+			 "target", "platform:/resource/org.eclipse.qvtd.cs2as.compiler.tests/src/org/eclipse/qvtd/cs2as/compiler/tests/models/example1/TargetMM1.ecore#/"
 		   });
 	}
 
