[470034] WIP moving to Java 8
diff --git a/examples/org.eclipse.ocl.examples.autogen/.classpath b/examples/org.eclipse.ocl.examples.autogen/.classpath
index 9fe0b9f..e2cbb51 100644
--- a/examples/org.eclipse.ocl.examples.autogen/.classpath
+++ b/examples/org.eclipse.ocl.examples.autogen/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src"/>
diff --git a/examples/org.eclipse.ocl.examples.autogen/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.autogen/META-INF/MANIFEST.MF
index 861a0e8..d4b6c88 100644
--- a/examples/org.eclipse.ocl.examples.autogen/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.autogen/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.ocl.examples.codegen;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.ocl.examples.autogen/build.properties b/examples/org.eclipse.ocl.examples.autogen/build.properties
index 715c1e0..b2f74ff 100644
--- a/examples/org.eclipse.ocl.examples.autogen/build.properties
+++ b/examples/org.eclipse.ocl.examples.autogen/build.properties
@@ -33,4 +33,3 @@
 		   src/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/java/AutoCodeGenerator.java b/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/java/AutoCodeGenerator.java
index 01b0a7d..b36ec68 100644
--- a/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/java/AutoCodeGenerator.java
+++ b/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/java/AutoCodeGenerator.java
@@ -64,8 +64,8 @@
 //	private static final Logger logger = Logger.getLogger(AutoCodeGenerator.class);
 	
 	protected final @NonNull AutoAnalyzer cgAnalyzer;
-	protected final @NonNull org.eclipse.ocl.pivot.Package asPackage;
-	protected final @Nullable org.eclipse.ocl.pivot.Package asSuperPackage;
+	protected final org.eclipse.ocl.pivot.@NonNull Package asPackage;
+	protected final org.eclipse.ocl.pivot.@Nullable Package asSuperPackage;
 	protected final @NonNull GenModel genModel;
 	protected final @NonNull GenPackage genPackage;
 	//protected final @Nullable GenPackage superGenPackage;
@@ -83,8 +83,8 @@
 	
 
 	public AutoCodeGenerator(@NonNull EnvironmentFactoryInternal environmentFactory,
-			@NonNull org.eclipse.ocl.pivot.Package asPackage,
-			@Nullable org.eclipse.ocl.pivot.Package asSuperPackage,
+			org.eclipse.ocl.pivot.@NonNull Package asPackage,
+			org.eclipse.ocl.pivot.@Nullable Package asSuperPackage,
 			@NonNull GenPackage genPackage, // @Nullable GenPackage superGenPackage,
 			@NonNull String projectPrefix,	// FIXME Since visitors/visitable package/name are really configured in the MWE file
 			@NonNull String projectName,    // there is no point of providing a different to compute it here. To improve the framework, make use of the
@@ -216,7 +216,7 @@
 		return cgClass;
 	}
 	
-	protected @Nullable CGClass getExternalClass(@NonNull org.eclipse.ocl.pivot.Class aClass) {
+	protected @Nullable CGClass getExternalClass(org.eclipse.ocl.pivot.@NonNull Class aClass) {
 		return getExternalClass(genModelHelper.getEcoreInterfaceClass(aClass));
 	}
 
@@ -254,7 +254,7 @@
 		}
 	}
 	
-	protected @NonNull org.eclipse.ocl.pivot.Class getVisitablePivotClass() {
+	protected org.eclipse.ocl.pivot.@NonNull Class getVisitablePivotClass() {
 		
 //		return ClassUtil.nonNullState(metamodelManager.getASClass(visitableClass)); 
 		for (GenPackage genPackage : genModel.getAllGenAndUsedGenPackagesWithClassifiers()) {
diff --git a/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupClassContext.java b/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupClassContext.java
index a53483f..9c6215e 100644
--- a/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupClassContext.java
+++ b/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupClassContext.java
@@ -34,7 +34,7 @@
 	public static final @NonNull String PARENT_NAME = "parent";
 	public static final @NonNull String PARENT_ENV_NAME = "parentEnv";
 	
-	public LookupClassContext(@NonNull LookupCodeGenerator codeGenerator, @NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public LookupClassContext(@NonNull LookupCodeGenerator codeGenerator, org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		super(codeGenerator);
 	}
 	
diff --git a/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupCodeGenerator.java b/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupCodeGenerator.java
index 89f1c44..3781f77 100644
--- a/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupCodeGenerator.java
+++ b/examples/org.eclipse.ocl.examples.autogen/src/org/eclipse/ocl/examples/autogen/lookup/LookupCodeGenerator.java
@@ -125,7 +125,7 @@
 		for (EObject root : resource.getContents()) {
 			if (root instanceof Model) {
 				org.eclipse.ocl.pivot.Package asPackage = ClassUtil.nonNullState(getPackage(genPackage, projectPrefix, environmentFactory));
-				for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package oclDocPackage : ((Model)root).getOwnedPackages()) {
+				for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package oclDocPackage : ((Model)root).getOwnedPackages()) {
 					if (samePrimaryPackage(oclDocPackage, asPackage, environmentFactory)) { 
 						org.eclipse.ocl.pivot.Package asSuperPackage = null;
 						if (superProjectPrefix != null) {
@@ -165,7 +165,7 @@
 		return null;
 	}
 	
-	private static boolean samePrimaryPackage(@NonNull org.eclipse.ocl.pivot.Package p1, @NonNull org.eclipse.ocl.pivot.Package p2, @NonNull EnvironmentFactory envFactory) {
+	private static boolean samePrimaryPackage(org.eclipse.ocl.pivot.@NonNull Package p1, org.eclipse.ocl.pivot.@NonNull Package p2, @NonNull EnvironmentFactory envFactory) {
 		MetamodelManager mm = envFactory.getMetamodelManager();
 		return mm.getPrimaryPackage(p1).equals(mm.getPrimaryPackage(p2));
 	}
@@ -184,12 +184,12 @@
 	protected final @NonNull Operation asEnvironmentAddElementsOfElementsOperation;
 	protected final @NonNull Operation asElementEnvOperation;
 	
-	protected final @NonNull org.eclipse.ocl.pivot.Class asEnvironmentType;
+	protected final org.eclipse.ocl.pivot.@NonNull Class asEnvironmentType;
 	
 	//
 	//	New AS elements
 	//
-	protected final @NonNull org.eclipse.ocl.pivot.Class asVisitorClass;
+	protected final org.eclipse.ocl.pivot.@NonNull Class asVisitorClass;
 	protected final @NonNull Variable asThisVariable;
 	protected final @NonNull Variable asContextVariable;
 	protected final @NonNull Property asChildProperty;
@@ -207,8 +207,8 @@
 	private @Nullable CGProperty cgIdResolverVariable = null;
 	private @Nullable CGProperty cgChildVariable = null;
 
-	protected LookupCodeGenerator(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.ocl.pivot.Package asPackage,
-			@Nullable org.eclipse.ocl.pivot.Package asSuperPackage, @NonNull org.eclipse.ocl.pivot.Package asBasePackage, @NonNull GenPackage genPackage,
+	protected LookupCodeGenerator(@NonNull EnvironmentFactoryInternal environmentFactory, org.eclipse.ocl.pivot.@NonNull Package asPackage,
+			org.eclipse.ocl.pivot.@Nullable Package asSuperPackage, org.eclipse.ocl.pivot.@NonNull Package asBasePackage, @NonNull GenPackage genPackage,
 			@NonNull String projectPrefix, @NonNull String projectName, @NonNull String visitorPackage, @NonNull String visitorClass, @NonNull String visitableClass,
 			@Nullable String superProjectPrefix, @Nullable String superManualVisitorPackage, @Nullable String superVisitorClass,
 			@Nullable String baseVisitorPrefix, @Nullable String baseVisitorPackage) {
@@ -347,7 +347,7 @@
 		}
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Class createASVisitorClass(@NonNull String packageName, @NonNull String className) {
+	protected org.eclipse.ocl.pivot.@NonNull Class createASVisitorClass(@NonNull String packageName, @NonNull String className) {
 		org.eclipse.ocl.pivot.Class asVisitorClass = PivotUtil.createClass(className);
 		String nsURI = "java://"+packageName;		// java: has no significance other than diagnostic readability
 		org.eclipse.ocl.pivot.Package asVisitorPackage = PivotUtil.createPackage(packageName, "viz", nsURI, IdManager.getRootPackageId(nsURI));
@@ -435,7 +435,7 @@
 
 	protected @NonNull Map<Operation, Operation> createVisitOperationDeclarations(@NonNull Map<Element, Element> reDefinitions) throws ParserException {
 		Map<Operation,Operation> envOperation2asOperation = new HashMap<Operation,Operation>();
-		for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class asType : asPackage.getOwnedClasses()) {
+		for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class asType : asPackage.getOwnedClasses()) {
 			for (Operation envOperation : asType.getOwnedOperations()) {
 				if (LookupClassContext.ENV_NAME.equals(envOperation.getName())) {
 					List<Parameter> asParameters = envOperation.getOwnedParameters();
diff --git a/examples/org.eclipse.ocl.examples.build/.classpath b/examples/org.eclipse.ocl.examples.build/.classpath
index 8e96f8b..1f7326b 100644
--- a/examples/org.eclipse.ocl.examples.build/.classpath
+++ b/examples/org.eclipse.ocl.examples.build/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry excluding="**/*.launch" kind="src" path="src"/>
 	<classpathentry kind="src" path="jet-gen"/>
diff --git a/examples/org.eclipse.ocl.examples.build/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.build/META-INF/MANIFEST.MF
index c1dd0cf..119fb05 100644
--- a/examples/org.eclipse.ocl.examples.build/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.build/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
 Bundle-SymbolicName: org.eclipse.ocl.examples.build;singleton:=true
 Bundle-Version: 2.0.100.qualifier
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.resources,
  org.eclipse.core.runtime,
  org.eclipse.jdt.core,
diff --git a/examples/org.eclipse.ocl.examples.build/build.properties b/examples/org.eclipse.ocl.examples.build/build.properties
index 190f33b..52bc01f 100644
--- a/examples/org.eclipse.ocl.examples.build/build.properties
+++ b/examples/org.eclipse.ocl.examples.build/build.properties
@@ -17,6 +17,4 @@
                about.html,\
                plugin.properties,\
                templates/,\
-               build.properties,\
                plugin.xml
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForASModel.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForASModel.java
index 437f7b5..3858424 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForASModel.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForASModel.java
@@ -31,7 +31,7 @@
 
 public abstract class GenerateLaTeXForASModel extends GenerateLaTeXUtils
 {
-	protected abstract @NonNull String generateLaTeX(@NonNull org.eclipse.ocl.pivot.Package asPackage);
+	protected abstract @NonNull String generateLaTeX(org.eclipse.ocl.pivot.@NonNull Package asPackage);
 
 	@Override
 	protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor, Issues issues) {
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForCSModel.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForCSModel.java
index f1ca3c1..4362dc4 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForCSModel.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXForCSModel.java
@@ -42,9 +42,9 @@
 	protected String cs2asFile;
 	protected String cs2csFile;
 
-	protected abstract @NonNull String generateLaTeX(@NonNull org.eclipse.ocl.pivot.Package asPackage,
-			@NonNull Grammar grammar, @Nullable org.eclipse.ocl.pivot.Package cs2asPackage,
-			@Nullable org.eclipse.ocl.pivot.Package cs2csPackage);
+	protected abstract @NonNull String generateLaTeX(org.eclipse.ocl.pivot.@NonNull Package asPackage,
+			@NonNull Grammar grammar, org.eclipse.ocl.pivot.@Nullable Package cs2asPackage,
+			org.eclipse.ocl.pivot.@Nullable Package cs2csPackage);
 
 	@Override
 	protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor, Issues issues) {
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXUtils.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXUtils.java
index 12ef704..91b87a6 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXUtils.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/latex/GenerateLaTeXUtils.java
@@ -359,7 +359,7 @@
 		return s.toString();
 	}
 
-	protected String emitClassDef(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected String emitClassDef(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		String className = asClass.getName();
 		String packageName = asClass.getOwningPackage().getName();
 		if (className == null) className = "<<anon>>";
@@ -367,7 +367,7 @@
 		return  "#\\hypertarget#{" + encodeLabelText(packageName) + ":" + encodeLabelText(className) + "#}#{" /*+ encodeLabelText(className)*/ + "#}";
 	}
 
-	protected String emitClassRef(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected String emitClassRef(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		String className = asClass.getName();
 		String packageName = asClass.getOwningPackage().getName();
 		if (className == null) className = "<<anon>>";
@@ -595,7 +595,7 @@
 		return precedences;
 	}
 	
-	protected @Nullable org.eclipse.ocl.pivot.Package getPrimaryPackage(@NonNull PivotMetamodelManager metamodelManager, @Nullable Resource oclResource) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getPrimaryPackage(@NonNull PivotMetamodelManager metamodelManager, @Nullable Resource oclResource) {
 		if (oclResource != null) {
 			for (EObject eContent : oclResource.getContents()) {
 				if (eContent instanceof RootCS) {
@@ -611,7 +611,7 @@
 		return null;
 	}
 	
-	protected @Nullable org.eclipse.ocl.pivot.Package getSecondaryPackage(@NonNull MetamodelManager metamodelManager, @Nullable Resource oclResource) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getSecondaryPackage(@NonNull MetamodelManager metamodelManager, @Nullable Resource oclResource) {
 		if (oclResource != null) {
 			for (EObject eContent : oclResource.getContents()) {
 				if (eContent instanceof RootCS) {
@@ -627,7 +627,7 @@
 		return null;
 	}
 
-	protected @NonNull List<Property> getSortedAssociations(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Property> getSortedAssociations(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Property> allElements = new HashSet<Property>();
 		for (Property asProperty : asClass.getOwnedProperties()) {
 //			[let pAssociations : Sequence(Property) = pClass.ownedAttribute->select(e | not e.type.oclIsKindOf(DataType) and e.type.owningTemplateParameter->isEmpty())->asSequence()]
@@ -640,7 +640,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<Property> getSortedAttributes(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Property> getSortedAttributes(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Property> allElements = new HashSet<Property>();
 		for (Property asProperty : asClass.getOwnedProperties()) {
 			if (asProperty.getType() instanceof DataType) {
@@ -652,7 +652,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<org.eclipse.ocl.pivot.Class> getSortedClasses(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	protected @NonNull List<org.eclipse.ocl.pivot.Class> getSortedClasses(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		Set<org.eclipse.ocl.pivot.Class> allElements = new HashSet<org.eclipse.ocl.pivot.Class>();
 		allElements.addAll(asPackage.getOwnedClasses());
 		List<org.eclipse.ocl.pivot.Class> sortedElements = new ArrayList<org.eclipse.ocl.pivot.Class>(allElements);
@@ -684,7 +684,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<Iteration> getSortedIterations(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Iteration> getSortedIterations(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Iteration> allElements = new HashSet<Iteration>();
 		for (Operation asOperation : asClass.getOwnedOperations()) {
 			if (asOperation instanceof Iteration) {
@@ -708,7 +708,7 @@
 		return sortedMetamodels;
 	}
 
-	protected @NonNull List<Operation> getSortedOperations(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Operation> getSortedOperations(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Operation> allElements = new HashSet<Operation>();
 		for (Operation asOperation : asClass.getOwnedOperations()) {
 			if (!(asOperation instanceof Iteration)) {
@@ -731,7 +731,7 @@
 		return sortedRules;
 	}
 
-	protected @NonNull List<ParserRule> getSortedParserRules(@NonNull org.eclipse.ocl.pivot.Class asClass, @NonNull Grammar grammar) {
+	protected @NonNull List<ParserRule> getSortedParserRules(org.eclipse.ocl.pivot.@NonNull Class asClass, @NonNull Grammar grammar) {
 		EClassifier eClassifier = (EClassifier) ((PivotObjectImpl)asClass).getESObject();
 		List<ParserRule> sortedRules = new ArrayList<ParserRule>();
 		for (AbstractRule rule : grammar.getRules()) {
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/textile/GenerateTextileForLibraryUtils.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/textile/GenerateTextileForLibraryUtils.java
index ff0f058..dd99b55 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/textile/GenerateTextileForLibraryUtils.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/textile/GenerateTextileForLibraryUtils.java
@@ -211,7 +211,7 @@
 		return markup;
 	}
 
-	protected @NonNull List<Property> getSortedAssociations(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Property> getSortedAssociations(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Property> allElements = new HashSet<Property>();
 		for (Property asProperty : asClass.getOwnedProperties()) {
 //			[let pAssociations : Sequence(Property) = pClass.ownedAttribute->select(e | not e.type.oclIsKindOf(DataType) and e.type.owningTemplateParameter->isEmpty())->asSequence()]
@@ -224,7 +224,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<Property> getSortedAttributes(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Property> getSortedAttributes(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Property> allElements = new HashSet<Property>();
 		for (Property asProperty : asClass.getOwnedProperties()) {
 			if (asProperty.getType() instanceof DataType) {
@@ -260,7 +260,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<Iteration> getSortedIterations(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Iteration> getSortedIterations(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Iteration> allElements = new HashSet<Iteration>();
 		for (Operation asOperation : asClass.getOwnedOperations()) {
 			if (asOperation instanceof Iteration) {
@@ -272,7 +272,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<Operation> getSortedOperations(@NonNull org.eclipse.ocl.pivot.Class asClass) {
+	protected @NonNull List<Operation> getSortedOperations(org.eclipse.ocl.pivot.@NonNull Class asClass) {
 		Set<Operation> allElements = new HashSet<Operation>();
 		for (Operation asOperation : asClass.getOwnedOperations()) {
 			if (!(asOperation instanceof Iteration)) {
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/utilities/ConstraintMerger.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/utilities/ConstraintMerger.java
index cc1e33b..b2cf223 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/utilities/ConstraintMerger.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/utilities/ConstraintMerger.java
@@ -178,7 +178,7 @@
 		}
 	}
 
-	protected void mergeType(@NonNull MetamodelManager metamodelManager, @NonNull org.eclipse.ocl.pivot.Class primaryType, @NonNull org.eclipse.ocl.pivot.Class mergeType) {
+	protected void mergeType(@NonNull MetamodelManager metamodelManager, org.eclipse.ocl.pivot.@NonNull Class primaryType, org.eclipse.ocl.pivot.@NonNull Class mergeType) {
 		List<Constraint> mergeInvariants = mergeType.getOwnedInvariants();
 		List<Constraint> primaryInvariants = primaryType.getOwnedInvariants();
 		for (Constraint mergeInvariant : new ArrayList<Constraint>(mergeInvariants)) {
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLCommon.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLCommon.java
index 001c35b..1a2c0a6 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLCommon.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLCommon.java
@@ -583,11 +583,11 @@
 		return '"' + property.getName() + '"';
 	}
 
-	protected @Nullable org.eclipse.ocl.pivot.Package getOrphanPackage(@NonNull org.eclipse.ocl.pivot.Package elem) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getOrphanPackage(org.eclipse.ocl.pivot.@NonNull Package elem) {
 		return getOrphanPackage(getRootPackage(elem));
 	}
 
-	protected @Nullable org.eclipse.ocl.pivot.Package getOrphanPackage(@NonNull Model elem) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getOrphanPackage(@NonNull Model elem) {
 		for (org.eclipse.ocl.pivot.Package pkg : getAllPackages(elem)) {
 			if (PivotConstants.ORPHANAGE_NAME.equals(pkg.getName())) {
 				return pkg;
@@ -628,7 +628,7 @@
 		return resourceSet;
 	}
 
-	protected @NonNull Model getRootPackage(@Nullable org.eclipse.ocl.pivot.Package elem) {
+	protected @NonNull Model getRootPackage(org.eclipse.ocl.pivot.@Nullable Package elem) {
 		EObject eObject = elem;
 		while (eObject != null) {
 			if (eObject instanceof Model) {
@@ -894,7 +894,7 @@
 		return pkge2iterations;
 	}
 
-/*	protected @NonNull List<Iteration> getSortedIterations(@NonNull org.eclipse.ocl.pivot.Class type, @NonNull List<Iteration> allIterations) {
+/*	protected @NonNull List<Iteration> getSortedIterations(org.eclipse.ocl.pivot.@NonNull Class type, @NonNull List<Iteration> allIterations) {
 		Set<Iteration> allElements = new HashSet<Iteration>();
 		for (Operation operation : type.getOwnedOperations()) {
 			if (allIterations.contains(operation)) {
@@ -1011,7 +1011,7 @@
 		return pkge2operations;
 	}
 
-/*	protected @NonNull List<Operation> getSortedOperations(@NonNull org.eclipse.ocl.pivot.Class type, @NonNull List<Operation> allOperations) {
+/*	protected @NonNull List<Operation> getSortedOperations(org.eclipse.ocl.pivot.@NonNull Class type, @NonNull List<Operation> allOperations) {
 		Set<Operation> allElements = new HashSet<Operation>();
 		for (Operation operation : type.getOwnedOperations()) {
 			if (allOperations.contains(operation)) {
@@ -1087,7 +1087,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<org.eclipse.ocl.pivot.Package> getSortedPackages(@NonNull org.eclipse.ocl.pivot.Package pkg) {
+	protected @NonNull List<org.eclipse.ocl.pivot.Package> getSortedPackages(org.eclipse.ocl.pivot.@NonNull Package pkg) {
 		List<org.eclipse.ocl.pivot.Package> sortedElements = new ArrayList<org.eclipse.ocl.pivot.Package>(pkg.getOwnedPackages());
 		Collections.sort(sortedElements, nameableComparator);
 		return sortedElements;
@@ -1162,13 +1162,13 @@
 		return pkge2properties;
 	}
 
-	protected @NonNull List<Property> getSortedProperties(@NonNull org.eclipse.ocl.pivot.Class type) {
+	protected @NonNull List<Property> getSortedProperties(org.eclipse.ocl.pivot.@NonNull Class type) {
 		List<Property> sortedElements = new ArrayList<Property>(type.getOwnedProperties());
 		Collections.sort(sortedElements, OCLinEcoreTablesUtils.propertyComparator);
 		return sortedElements;
 	}
 
-/*	protected @NonNull List<Property> getSortedProperties(@NonNull org.eclipse.ocl.pivot.Class type, @NonNull List<Property> allProperties) {
+/*	protected @NonNull List<Property> getSortedProperties(org.eclipse.ocl.pivot.@NonNull Class type, @NonNull List<Property> allProperties) {
 		Set<Property> allElements = new HashSet<Property>();
 		for (Property property : type.getOwnedProperties()) {
 			if (allProperties.contains(property)) {
@@ -1248,7 +1248,7 @@
 		return sortedElements;
 	}
 
-	protected @NonNull List<org.eclipse.ocl.pivot.Class> getSuperclassesInPackage(@NonNull org.eclipse.ocl.pivot.Class type) {
+	protected @NonNull List<org.eclipse.ocl.pivot.Class> getSuperclassesInPackage(org.eclipse.ocl.pivot.@NonNull Class type) {
 		List<org.eclipse.ocl.pivot.Class> allElements = new ArrayList<org.eclipse.ocl.pivot.Class>();
 		for (org.eclipse.ocl.pivot.Class superclass : type.getSuperClasses()) {
 			if (getRootPackage(superclass.getOwningPackage()) == getRootPackage(type.getOwningPackage())) {
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLmetamodel.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLmetamodel.java
index 893e36a..7999870 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLmetamodel.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/GenerateOCLmetamodel.java
@@ -140,7 +140,7 @@
 
 	protected abstract String generateMetamodel(@NonNull Model pivotModel);
 	
-	protected String getEcoreLiteral(@NonNull org.eclipse.ocl.pivot.Class elem) {
+	protected String getEcoreLiteral(org.eclipse.ocl.pivot.@NonNull Class elem) {
 		return nameQueries.getEcoreLiteral(elem);
 	}
 
diff --git a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/NameQueries.java b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/NameQueries.java
index ca37a7a..b68dbf5 100644
--- a/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/NameQueries.java
+++ b/examples/org.eclipse.ocl.examples.build/src/org/eclipse/ocl/examples/build/xtend/NameQueries.java
@@ -96,7 +96,7 @@
 		return "\"" + property.getName() + "\"";
 	}
 	
-	public @NonNull String getEcoreLiteral(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull String getEcoreLiteral(org.eclipse.ocl.pivot.@NonNull Class type) {
 		String nsURI = ClassUtil.nonNullModel(type.getOwningPackage().getURI());
 		GenPackage genPackage = ClassUtil.nonNullState(metamodelManager).getGenPackage(nsURI);
 		if (genPackage != null) {
@@ -105,7 +105,7 @@
 		return "\"" + type.getName() + "\"";
 	}
 	
-	public @Nullable String getEcoreQualifiedPackageInterfaceName(@NonNull org.eclipse.ocl.pivot.Package pkge) {
+	public @Nullable String getEcoreQualifiedPackageInterfaceName(org.eclipse.ocl.pivot.@NonNull Package pkge) {
 		String nsURI = ClassUtil.nonNullModel(pkge.getURI());
 		GenPackage genPackage = ClassUtil.nonNullState(metamodelManager).getGenPackage(nsURI);
 		if (genPackage == null) {
diff --git a/examples/org.eclipse.ocl.examples.codegen.asm3/.classpath b/examples/org.eclipse.ocl.examples.codegen.asm3/.classpath
index ebfac7b..1bdd253 100644
--- a/examples/org.eclipse.ocl.examples.codegen.asm3/.classpath
+++ b/examples/org.eclipse.ocl.examples.codegen.asm3/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry exported="true" kind="lib" path="lib/org.objectweb.asm_3.3.1.v201105211655.jar"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.codegen.asm3/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.codegen.asm3/META-INF/MANIFEST.MF
index 0e8f18f..2197908 100644
--- a/examples/org.eclipse.ocl.examples.codegen.asm3/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.codegen.asm3/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.examples.codegen.asm3;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
 Export-Package: org.eclipse.ocl.examples.codegen.asm3
 Bundle-ClassPath: lib/org.objectweb.asm_3.3.1.v201105211655.jar,
diff --git a/examples/org.eclipse.ocl.examples.codegen.asm3/build.properties b/examples/org.eclipse.ocl.examples.codegen.asm3/build.properties
index 2ee3f9a..bd07989 100644
--- a/examples/org.eclipse.ocl.examples.codegen.asm3/build.properties
+++ b/examples/org.eclipse.ocl.examples.codegen.asm3/build.properties
@@ -12,10 +12,8 @@
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
-               build.properties,\
                plugin.properties,\
                about.html,\
                lib/org.objectweb.asm_3.3.1.v201105211655.jar
 additional.bundles = org.eclipse.jdt.annotation
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.codegen.asm5/.classpath b/examples/org.eclipse.ocl.examples.codegen.asm5/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.codegen.asm5/.classpath
+++ b/examples/org.eclipse.ocl.examples.codegen.asm5/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.codegen.asm5/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.codegen.asm5/META-INF/MANIFEST.MF
index 64ae045..fc3901b 100644
--- a/examples/org.eclipse.ocl.examples.codegen.asm5/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.codegen.asm5/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.examples.codegen.asm5;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.objectweb.asm;bundle-version="[4.0.0,6.0.0)";resolution:=optional
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
 Export-Package: org.eclipse.ocl.examples.codegen.asm5
diff --git a/examples/org.eclipse.ocl.examples.codegen.asm5/build.properties b/examples/org.eclipse.ocl.examples.codegen.asm5/build.properties
index 93e4eaa..4f856d4 100644
--- a/examples/org.eclipse.ocl.examples.codegen.asm5/build.properties
+++ b/examples/org.eclipse.ocl.examples.codegen.asm5/build.properties
@@ -12,8 +12,6 @@
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
-               build.properties,\
                plugin.properties,\
                about.html
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.codegen/.classpath b/examples/org.eclipse.ocl.examples.codegen/.classpath
index 9fe0b9f..e2cbb51 100644
--- a/examples/org.eclipse.ocl.examples.codegen/.classpath
+++ b/examples/org.eclipse.ocl.examples.codegen/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src"/>
diff --git a/examples/org.eclipse.ocl.examples.codegen/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.codegen/META-INF/MANIFEST.MF
index ecae38b..508b364 100644
--- a/examples/org.eclipse.ocl.examples.codegen/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.codegen/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
 Bundle-SymbolicName: org.eclipse.ocl.examples.codegen;singleton:=true
 Bundle-Version: 2.0.100.qualifier
 Bundle-ClassPath: .
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.codegen.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
diff --git a/examples/org.eclipse.ocl.examples.codegen/build.properties b/examples/org.eclipse.ocl.examples.codegen/build.properties
index c5a8f81..a5fc17e 100644
--- a/examples/org.eclipse.ocl.examples.codegen/build.properties
+++ b/examples/org.eclipse.ocl.examples.codegen/build.properties
@@ -20,4 +20,3 @@
                model/,\
                build.properties
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/analyzer/AS2CGVisitor.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/analyzer/AS2CGVisitor.java
index f49d62e..de004db 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/analyzer/AS2CGVisitor.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/analyzer/AS2CGVisitor.java
@@ -1098,7 +1098,7 @@
 	 * @since 1.3
 	 */
 	@Override
-	public @Nullable CGClass visitClass(@NonNull org.eclipse.ocl.pivot.Class element) {
+	public @Nullable CGClass visitClass(org.eclipse.ocl.pivot.@NonNull Class element) {
 		CGClass cgClass = CGModelFactory.eINSTANCE.createCGClass();
 		pushCurrentClass(cgClass);
 		setAst(cgClass, element);
@@ -1382,7 +1382,7 @@
 	}
 
 	@Override
-	public @Nullable CGPackage visitPackage(@NonNull org.eclipse.ocl.pivot.Package element) {
+	public @Nullable CGPackage visitPackage(org.eclipse.ocl.pivot.@NonNull Package element) {
 		CGPackage cgPackage = CGModelFactory.eINSTANCE.createCGPackage();
 		setAst(cgPackage, element);
 		for (org.eclipse.ocl.pivot.Class asType : element.getOwnedClasses()) {
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/CodeGenHelper.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/CodeGenHelper.java
index 7b2c4cf..a373361 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/CodeGenHelper.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/CodeGenHelper.java
@@ -34,5 +34,5 @@
 	/**
 	 * Return the GenPackage for a type.
 	 */
-	@NonNull GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Class type);
+	@NonNull GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Class type);
 }
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/PivotQueries.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/PivotQueries.java
index 18a266a..b04256f 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/PivotQueries.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/common/PivotQueries.java
@@ -22,7 +22,7 @@
 
 public class PivotQueries
 {
-	public static @NonNull LinkedHashSet<Operation> getOperations(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public static @NonNull LinkedHashSet<Operation> getOperations(org.eclipse.ocl.pivot.@NonNull Class type) {
 		EnvironmentFactory environmentFactory = ClassUtil.nonNullState(PivotUtilInternal.findEnvironmentFactory(type));
 		PivotMetamodelManager metamodelManager = (PivotMetamodelManager) environmentFactory.getMetamodelManager();
 		LinkedHashSet<Operation> operations = new LinkedHashSet<Operation>();
@@ -35,7 +35,7 @@
 		return operations;
 	}
 	
-	public static @NonNull LinkedHashSet<Property> getProperties(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public static @NonNull LinkedHashSet<Property> getProperties(org.eclipse.ocl.pivot.@NonNull Class type) {
 		EnvironmentFactory environmentFactory = ClassUtil.nonNullState(PivotUtilInternal.findEnvironmentFactory(type));
 		PivotMetamodelManager metamodelManager = (PivotMetamodelManager) environmentFactory.getMetamodelManager();
 		LinkedHashSet<Property> properties = new LinkedHashSet<Property>();
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/dynamic/JavaGenModelCodeGenHelper.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/dynamic/JavaGenModelCodeGenHelper.java
index d8218cf..76080ce 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/dynamic/JavaGenModelCodeGenHelper.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/dynamic/JavaGenModelCodeGenHelper.java
@@ -91,7 +91,7 @@
 	}
 
 	@Override
-	public @NonNull GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Class type) {
 		org.eclipse.ocl.pivot.Package pPackage = type.getOwningPackage();
 		String nsURI = pPackage.getURI();
 		GenPackage genPackage = uriMap.get(nsURI);
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractCodeGenerator.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractCodeGenerator.java
index c1d0630..276b27a 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractCodeGenerator.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractCodeGenerator.java
@@ -103,7 +103,7 @@
 	}
 
 	@Override
-	public @Nullable Operation isFinal(@NonNull Operation anOperation, @NonNull org.eclipse.ocl.pivot.Class staticType) {
+	public @Nullable Operation isFinal(@NonNull Operation anOperation, org.eclipse.ocl.pivot.@NonNull Class staticType) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		FinalAnalysis finalAnalysis = metamodelManager.getFinalAnalysis();
 		return finalAnalysis.isFinal(anOperation, metamodelManager.getCompleteClass(staticType));
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractGenModelHelper.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractGenModelHelper.java
index 01955d4..88a7606 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractGenModelHelper.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/AbstractGenModelHelper.java
@@ -165,7 +165,7 @@
 	}
 
 	@Override
-	public @NonNull Class<?> getEcoreInterfaceClass(@NonNull org.eclipse.ocl.pivot.Class type) throws GenModelException {
+	public @NonNull Class<?> getEcoreInterfaceClass(org.eclipse.ocl.pivot.@NonNull Class type) throws GenModelException {
 		GenClassifier genClassifier = getGenClassifier(type);
 		String qualifiedInterfaceName;
 		if (genClassifier instanceof GenDataType) {
@@ -257,7 +257,7 @@
 	}
 	
 	@Override
-	public @Nullable String getEcoreInterfaceName(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @Nullable String getEcoreInterfaceName(org.eclipse.ocl.pivot.@NonNull Class type) {
 		try {
 			GenClassifier genClassifier = getGenClassifier(type);
 			return genClassifier instanceof GenDataType  
@@ -269,7 +269,7 @@
 	}
 	
 	@Override
-	public @Nullable String getEcoreClassName(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @Nullable String getEcoreClassName(org.eclipse.ocl.pivot.@NonNull Class type) {
 		try {
 			GenClassifier genClassifier = getGenClassifier(type);
 			return genClassifier instanceof GenDataType  
@@ -285,7 +285,7 @@
 		return metamodelManager.getEnvironmentFactory();
 	}
 	
-	protected @NonNull GenClass getGenClass(@NonNull org.eclipse.ocl.pivot.Class type) throws GenModelException {
+	protected @NonNull GenClass getGenClass(org.eclipse.ocl.pivot.@NonNull Class type) throws GenModelException {
 		GenPackage genPackage = getGenPackage(type);
 		if (genPackage != null) {
 			String name = type.getName();
@@ -339,7 +339,7 @@
 	} */
 	
 	@Override
-	public @NonNull GenClassifier getGenClassifier(@NonNull org.eclipse.ocl.pivot.Class type) throws GenModelException {
+	public @NonNull GenClassifier getGenClassifier(org.eclipse.ocl.pivot.@NonNull Class type) throws GenModelException {
 		GenPackage genPackage = getGenPackage(type);
 		if (genPackage != null) {
 			String name = type.getName();
@@ -350,7 +350,7 @@
 				}
 			}
 		}
-		for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class partialType : metamodelManager.getPartialClasses(type)) {
+		for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class partialType : metamodelManager.getPartialClasses(type)) {
 			genPackage = getGenPackage(partialType);
 			if (genPackage != null) {
 				String name = partialType.getName();
@@ -442,7 +442,7 @@
 	}
 
 	@Override
-	public @Nullable GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public @Nullable GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		EObject eContainer = asPackage.eContainer();
 		if (eContainer instanceof Model) {
 			String nsURI = ((Model)eContainer).getExternalURI();
@@ -461,7 +461,7 @@
 	}
 
 	@Override
-	public @Nullable GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @Nullable GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Class type) {
 		org.eclipse.ocl.pivot.Package asPackage = type.getOwningPackage();
 		if (asPackage == null) {
 			return null;
@@ -607,7 +607,7 @@
 	}
 	
 	@Override
-	public @Nullable String getQualifiedFactoryInterfaceName(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @Nullable String getQualifiedFactoryInterfaceName(org.eclipse.ocl.pivot.@NonNull Class type) {
 		GenPackage genPackage = getGenPackage(type);
 		if (genPackage == null) {
 			return null;
@@ -625,7 +625,7 @@
 	}
 	
 	@Override
-	public @Nullable String getQualifiedFactoryInstanceAccessor(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @Nullable String getQualifiedFactoryInstanceAccessor(org.eclipse.ocl.pivot.@NonNull Class type) {
 		GenPackage genPackage = getGenPackage(type);
 		if (genPackage == null) {
 			return null;
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/CodeGenerator.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/CodeGenerator.java
index ccd1d8e..e6b82c1 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/CodeGenerator.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/CodeGenerator.java
@@ -53,7 +53,7 @@
 	@NonNull ReferencesVisitor createReferencesVisitor();
 	@NonNull TypeDescriptor getTypeDescriptor(@NonNull CGValuedElement cgElement);
 	@NonNull UnboxedDescriptor getUnboxedDescriptor(@NonNull ElementId elementId);
-	@Nullable Operation isFinal(@NonNull Operation anOperation, @NonNull org.eclipse.ocl.pivot.Class staticType);
+	@Nullable Operation isFinal(@NonNull Operation anOperation, org.eclipse.ocl.pivot.@NonNull Class staticType);
 
 	/**
 	 * Return true if asOperationCallExp may return a nonNull value,
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/GenModelHelper.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/GenModelHelper.java
index 866741c..bb20573 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/GenModelHelper.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/generator/GenModelHelper.java
@@ -33,18 +33,18 @@
 {
 	@NonNull Class<?> getAbstractOperationClass(@NonNull List<?> parameters);
 	@Nullable Class<?> getEcoreFactoryClass(@NonNull EPackage ePackage);
-	@NonNull Class<?> getEcoreInterfaceClass(@NonNull org.eclipse.ocl.pivot.Class owningType) throws GenModelException;
+	@NonNull Class<?> getEcoreInterfaceClass(org.eclipse.ocl.pivot.@NonNull Class owningType) throws GenModelException;
 	@Nullable String getEcoreInterfaceClassName(@NonNull EClass eClass);
 	@NonNull Class<?> getEcoreInterfaceClassifier(@NonNull EClassifier eClassifier) throws GenModelException;
 	@Nullable String getEcoreInterfaceClassifierName(@NonNull EClassifier eClassifier);
-	@Nullable String getEcoreInterfaceName(@NonNull org.eclipse.ocl.pivot.Class type);
-	@Nullable String getEcoreClassName(@NonNull org.eclipse.ocl.pivot.Class type);
+	@Nullable String getEcoreInterfaceName(org.eclipse.ocl.pivot.@NonNull Class type);
+	@Nullable String getEcoreClassName(org.eclipse.ocl.pivot.@NonNull Class type);
 	@NonNull EnvironmentFactory getEnvironmentFactory();
-//	@Nullable GenClass getGenClass(@NonNull org.eclipse.ocl.pivot.Class type);
-	@Nullable GenClassifier getGenClassifier(@NonNull org.eclipse.ocl.pivot.Class type);
+//	@Nullable GenClass getGenClass(org.eclipse.ocl.pivot.@NonNull Class type);
+	@Nullable GenClassifier getGenClassifier(org.eclipse.ocl.pivot.@NonNull Class type);
 	@Nullable GenOperation getGenOperation(@NonNull Operation operation);
-	@Nullable GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Package asPackage);
-	@Nullable GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Class type);
+	@Nullable GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Package asPackage);
+	@Nullable GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Class type);
 	@Nullable GenParameter getGenParameter(@NonNull Parameter parameter);
 	@NonNull String getGetAccessor(@NonNull Property aProperty) throws GenModelException;
 	@NonNull String getGetAccessor(@NonNull EStructuralFeature eStructuralFeature) throws GenModelException;
@@ -56,9 +56,9 @@
 	@NonNull String getOperationReturnType(@NonNull Operation operation) throws GenModelException;
 	@NonNull String getPropertyResultType(@NonNull Property property) throws GenModelException;
 	@Nullable String getQualifiedFactoryInterfaceName(@NonNull EPackage ePackage);
-	@Nullable String getQualifiedFactoryInterfaceName(@NonNull org.eclipse.ocl.pivot.Class type);
+	@Nullable String getQualifiedFactoryInterfaceName(org.eclipse.ocl.pivot.@NonNull Class type);
 	@Nullable String getQualifiedFactoryInstanceAccessor(@NonNull EPackage ePackage);
-	@Nullable String getQualifiedFactoryInstanceAccessor(@NonNull org.eclipse.ocl.pivot.Class type);
+	@Nullable String getQualifiedFactoryInstanceAccessor(org.eclipse.ocl.pivot.@NonNull Class type);
 	@Nullable String getQualifiedPackageInterfaceName(@NonNull EPackage ePackage);
 //	@Nullable String getQualifiedLiteraleName(@NonNull EPackage ePackage);
 //	@Nullable String getQualifiedOperationImplementationName(@NonNull CodeGenSnippet snippet, @NonNull Operation anOperation, @NonNull String stereotype);
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/types/Id2BoxedDescriptorVisitor.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/types/Id2BoxedDescriptorVisitor.java
index c872f23..4f60941 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/types/Id2BoxedDescriptorVisitor.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/java/types/Id2BoxedDescriptorVisitor.java
@@ -80,7 +80,7 @@
 	}
 
 	protected EClassifier getEClassifier(@NonNull Type type) {
-		for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class dType : metamodelManager.getPartialClasses(type)) {
+		for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class dType : metamodelManager.getPartialClasses(type)) {
 			EClassifier eClass = (EClassifier) dType.getESObject();
 			if (eClass != null) {
 				return eClass;
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreCG2JavaVisitor.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreCG2JavaVisitor.java
index 42f170c..ed89c19 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreCG2JavaVisitor.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreCG2JavaVisitor.java
@@ -128,7 +128,7 @@
 		return toString();
 	}
 
-	protected @NonNull String generateValidatorBody(@NonNull CGValuedElement cgBody, @NonNull Constraint asConstraint, @NonNull org.eclipse.ocl.pivot.Class asType) {
+	protected @NonNull String generateValidatorBody(@NonNull CGValuedElement cgBody, @NonNull Constraint asConstraint, org.eclipse.ocl.pivot.@NonNull Class asType) {
 		js.resetStream();
 		String ecoreConstraintName = asConstraint.getName();
 		String constraintName = ecoreConstraintName;
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTables.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTables.java
index 822f371..244a53d 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTables.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTables.java
@@ -392,7 +392,7 @@
 			s.append("	public static class " + pagedName);
 			s.append(" {\n");
 			appendInitializationStart(pagedName);	
-			for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class pClass : fragmentProperties.keySet()) {
+			for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class pClass : fragmentProperties.keySet()) {
 				List<Property> sortedProperties = fragmentProperties.get(pClass);
 				s.append("\n");
 				s.append("		private static final " + atNonNull() + " ");
@@ -682,7 +682,7 @@
 		s.append("	}\n");
 	}
 
-	protected void declareType(@NonNull org.eclipse.ocl.pivot.Class pClass) {
+	protected void declareType(org.eclipse.ocl.pivot.@NonNull Class pClass) {
 		Class<?> typeClass =
 				pClass instanceof Enumeration ? EcoreExecutorEnumeration.class :
 				pClass instanceof InvalidType ? EcoreExecutorInvalidType.class :
@@ -1098,7 +1098,7 @@
 		s1.append(" *************************************************************************\n");
 		s1.append(" * This code is 100% auto-generated\n");
 		s1.append(" * from:\n");
-		for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package dPackage : metamodelManager.getPartialPackages(pPackage, false)) {
+		for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package dPackage : metamodelManager.getPartialPackages(pPackage, false)) {
 			EObject eRoot = ((EObject)dPackage).eContainer();
 			if (eRoot instanceof Model) {
 				s1.append(" *   " + deresolveFileName(((Model)eRoot).getExternalURI()) + "\n");
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTablesUtils.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTablesUtils.java
index 8e96423..acb2c4b 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTablesUtils.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/oclinecore/OCLinEcoreTablesUtils.java
@@ -340,7 +340,7 @@
 		}
 
 		@Override
-		public @Nullable Object visitClass(@NonNull org.eclipse.ocl.pivot.Class type) {
+		public @Nullable Object visitClass(org.eclipse.ocl.pivot.@NonNull Class type) {
 //			TemplateParameter owningTemplateParameter = type.isTemplateParameter();
 //			if (owningTemplateParameter == null) {
 				type.accept(emitQualifiedLiteralVisitor);
@@ -494,7 +494,7 @@
 		}
 
 		@Override
-		public @Nullable Object visitClass(@NonNull org.eclipse.ocl.pivot.Class type) {
+		public @Nullable Object visitClass(org.eclipse.ocl.pivot.@NonNull Class type) {
 			s.append("Types.");
 			s.appendScopedTypeName(type);
 			return null;
@@ -547,7 +547,7 @@
 		}
 
 		@Override
-		public @Nullable Object visitPackage(@NonNull org.eclipse.ocl.pivot.Package pkge) {
+		public @Nullable Object visitPackage(org.eclipse.ocl.pivot.@NonNull Package pkge) {
 			s.append("_");
 			s.appendName(pkge);
 			return null;
@@ -587,7 +587,7 @@
 		}
 
 		@Override
-		public @Nullable Object visitClass(@NonNull org.eclipse.ocl.pivot.Class type) {
+		public @Nullable Object visitClass(org.eclipse.ocl.pivot.@NonNull Class type) {
 			s.appendClassReference(getQualifiedTablesClassName(type));
 			s.append(".Types.");
 			s.appendScopedTypeName(type);
@@ -654,7 +654,7 @@
 	protected final @NonNull PivotMetamodelManager metamodelManager;
 	protected final @NonNull EnvironmentFactoryInternal environmentFactory;
 	protected final @NonNull StandardLibraryInternal standardLibrary;
-	protected final @NonNull org.eclipse.ocl.pivot.Package pPackage;
+	protected final org.eclipse.ocl.pivot.@NonNull Package pPackage;
 	protected final @NonNull DeclareParameterTypeVisitor declareParameterTypeVisitor = new DeclareParameterTypeVisitor(s);
 	protected final @NonNull EmitLiteralVisitor emitLiteralVisitor = new EmitLiteralVisitor(s);
 	protected final @NonNull EmitQualifiedLiteralVisitor emitQualifiedLiteralVisitor = new EmitQualifiedLiteralVisitor(s);
@@ -675,13 +675,13 @@
 		activeClassesSortedByName = getActiveClassesSortedByName(pPackage);
 	}
 
-	protected @NonNull Iterable<org.eclipse.ocl.pivot.Class> getActiveClassesSortedByName(@NonNull org.eclipse.ocl.pivot.Package pPackage) {
+	protected @NonNull Iterable<org.eclipse.ocl.pivot.Class> getActiveClassesSortedByName(org.eclipse.ocl.pivot.@NonNull Package pPackage) {
 		List<org.eclipse.ocl.pivot.Class> sortedClasses = new ArrayList<org.eclipse.ocl.pivot.Class>(getActiveTypes(pPackage));
 		Collections.sort(sortedClasses, nameComparator);
 		return sortedClasses;
 	}
 	
-	protected @NonNull Set<? extends org.eclipse.ocl.pivot.Class> getActiveTypes(@NonNull org.eclipse.ocl.pivot.Package pPackage) {
+	protected @NonNull Set<? extends org.eclipse.ocl.pivot.Class> getActiveTypes(org.eclipse.ocl.pivot.@NonNull Package pPackage) {
 		Package oclstdlibPackage = standardLibrary.getBooleanType().getOwningPackage();
 		org.eclipse.ocl.pivot.Package pivotMetamodel = metamodelManager.getASmetamodel();
 		Type elementType = metamodelManager.getASClass("Element");
@@ -732,7 +732,7 @@
 		}
 	}
 
-	protected @NonNull Iterable<org.eclipse.ocl.pivot.Class> getAllProperSupertypesSortedByName(@NonNull org.eclipse.ocl.pivot.Class pClass) {
+	protected @NonNull Iterable<org.eclipse.ocl.pivot.Class> getAllProperSupertypesSortedByName(org.eclipse.ocl.pivot.@NonNull Class pClass) {
 		org.eclipse.ocl.pivot.Class theClass = metamodelManager.getPrimaryClass(pClass);
 		Map<org.eclipse.ocl.pivot.Class, Integer> results = new HashMap<org.eclipse.ocl.pivot.Class, Integer>();
 		getAllSuperClasses(results, theClass);
@@ -742,7 +742,7 @@
 		return sortedClasses;
 	}
 
-	protected @NonNull List<org.eclipse.ocl.pivot.Class> getAllSupertypesSortedByName(@NonNull org.eclipse.ocl.pivot.Class pClass) {
+	protected @NonNull List<org.eclipse.ocl.pivot.Class> getAllSupertypesSortedByName(org.eclipse.ocl.pivot.@NonNull Class pClass) {
 		Map<org.eclipse.ocl.pivot.Class, Integer> results = new HashMap<org.eclipse.ocl.pivot.Class, Integer>();
 		getAllSuperClasses(results, pClass);
 		List<org.eclipse.ocl.pivot.Class> sortedClasses = new ArrayList<org.eclipse.ocl.pivot.Class>(results.keySet());
@@ -751,7 +751,7 @@
 	}
 	
 	@SuppressWarnings("null")
-	protected int getAllSuperClasses(@NonNull Map<org.eclipse.ocl.pivot.Class, Integer> results, @NonNull org.eclipse.ocl.pivot.Class aClass) {
+	protected int getAllSuperClasses(@NonNull Map<org.eclipse.ocl.pivot.Class, Integer> results, org.eclipse.ocl.pivot.@NonNull Class aClass) {
 		org.eclipse.ocl.pivot.Class theClass = metamodelManager.getPrimaryClass(aClass);
 		Integer depth = results.get(theClass);
 		if (depth != null) {
@@ -772,7 +772,7 @@
 		return myDepth;
 	}
 	
-	protected @Nullable org.eclipse.ocl.pivot.Package getExtendedPackage(@NonNull org.eclipse.ocl.pivot.Package pPackage) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getExtendedPackage(org.eclipse.ocl.pivot.@NonNull Package pPackage) {
 		Package oclstdlibPackage = standardLibrary.getBooleanType().getOwningPackage();
 		org.eclipse.ocl.pivot.Package pivotMetamodel = metamodelManager.getASmetamodel();
 		if (oclstdlibPackage == pPackage) {
@@ -790,7 +790,7 @@
 		return genPackage;
 	}
 	
-	protected @Nullable GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Class type) {
+	protected @Nullable GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Class type) {
 		org.eclipse.ocl.pivot.Package pPackage = type.getOwningPackage();
 		assert pPackage != null;
 		Package oclstdlibPackage = standardLibrary.getBooleanType().getOwningPackage();
@@ -824,7 +824,7 @@
 		return getGenPackage(pPackage);
 	}
 	
-	protected @Nullable GenPackage getGenPackage(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	protected @Nullable GenPackage getGenPackage(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		EPackage firstEPackage = genPackage.getEcorePackage();
 		if (firstEPackage.getName().equals(asPackage.getName())) {
 			return genPackage;
@@ -890,14 +890,14 @@
 		}
 	}
 
-	protected @NonNull Iterable<Operation> getLocalOperationsSortedBySignature(@NonNull org.eclipse.ocl.pivot.Class pClass) {
+	protected @NonNull Iterable<Operation> getLocalOperationsSortedBySignature(org.eclipse.ocl.pivot.@NonNull Class pClass) {
 		// cls.getOperations()->sortedBy(op2 : Operation | op2.getSignature())
 		List<Operation> sortedOperations = new ArrayList<Operation>(getOperations(pClass));
 		Collections.sort(sortedOperations, signatureComparator);
 		return sortedOperations;
 	}
 
-	protected @NonNull List<Property> getLocalPropertiesSortedByName(@NonNull org.eclipse.ocl.pivot.Class pClass) {
+	protected @NonNull List<Property> getLocalPropertiesSortedByName(org.eclipse.ocl.pivot.@NonNull Class pClass) {
 		List<Property> sortedProperties = new ArrayList<Property>();
 		for (/*@NonNull*/ Property property : getProperties(pClass)) {
 			assert property != null;
@@ -909,7 +909,7 @@
 		return sortedProperties;
 	}
 	
-	protected @NonNull LinkedHashSet<Operation> getOperations(@NonNull org.eclipse.ocl.pivot.Class type) {
+	protected @NonNull LinkedHashSet<Operation> getOperations(org.eclipse.ocl.pivot.@NonNull Class type) {
 		LinkedHashSet<Operation> operations = new LinkedHashSet<Operation>();
 		for (Operation operation : metamodelManager.getMemberOperations(type, false)) {
 			operations.add(operation);
@@ -920,7 +920,7 @@
 		return operations;
 	}
 
-	protected @NonNull Operation getOverloadOp(@NonNull org.eclipse.ocl.pivot.Class pClass, @NonNull Operation baseOp) {
+	protected @NonNull Operation getOverloadOp(org.eclipse.ocl.pivot.@NonNull Class pClass, @NonNull Operation baseOp) {
 		String baseSignature = getSignature(baseOp);
 		Map<org.eclipse.ocl.pivot.Class, Integer> results = new HashMap<org.eclipse.ocl.pivot.Class, Integer>();
 		getAllSuperClasses(results, pClass);
@@ -956,7 +956,7 @@
 		return asPackage;
 	}
 	
-	protected @NonNull LinkedHashSet<Property> getProperties(@NonNull org.eclipse.ocl.pivot.Class type) {
+	protected @NonNull LinkedHashSet<Property> getProperties(org.eclipse.ocl.pivot.@NonNull Class type) {
 		Set<String> names = new HashSet<String>();
 		LinkedHashSet<Property> properties = new LinkedHashSet<Property>();
 		for (@SuppressWarnings("null")@NonNull Property property : metamodelManager.getMemberProperties(type, true)) {
@@ -971,7 +971,7 @@
 		return properties;
 	}
 	
-	protected @NonNull String getQualifiedTablesClassName(@NonNull org.eclipse.ocl.pivot.Class type) {
+	protected @NonNull String getQualifiedTablesClassName(org.eclipse.ocl.pivot.@NonNull Class type) {
 		GenPackage genPackage = getGenPackage(type);
 		if (genPackage != null) {
 			return genPackage.getReflectionPackageName() + "." + getTablesClassName(genPackage);
@@ -981,7 +981,7 @@
 		}
 	}
 	
-	protected @NonNull String getQualifiedTablesClassName(@NonNull org.eclipse.ocl.pivot.Package pPackage) {
+	protected @NonNull String getQualifiedTablesClassName(org.eclipse.ocl.pivot.@NonNull Package pPackage) {
 		GenPackage genPackage = getGenPackage(pPackage);
 		if (genPackage != null) {
 			return genPackage.getReflectionPackageName() + "." + getTablesClassName(genPackage);
@@ -1178,7 +1178,7 @@
 		return false;
 	}
 	
-	protected void mergeLibrary(@NonNull org.eclipse.ocl.pivot.Package primaryPackage) {
+	protected void mergeLibrary(org.eclipse.ocl.pivot.@NonNull Package primaryPackage) {
 //		primaryPackage.setName("ocl");
 		List<org.eclipse.ocl.pivot.Class> primaryTypes = primaryPackage.getOwnedClasses();
 		for (Library library : metamodelManager.getLibraries()) {
diff --git a/examples/org.eclipse.ocl.examples.common/.classpath b/examples/org.eclipse.ocl.examples.common/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.common/.classpath
+++ b/examples/org.eclipse.ocl.examples.common/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.common/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.common/META-INF/MANIFEST.MF
index 462efe3..4593600 100644
--- a/examples/org.eclipse.ocl.examples.common/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.common/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)"
diff --git a/examples/org.eclipse.ocl.examples.common/build.properties b/examples/org.eclipse.ocl.examples.common/build.properties
index 9140297..f866186 100644
--- a/examples/org.eclipse.ocl.examples.common/build.properties
+++ b/examples/org.eclipse.ocl.examples.common/build.properties
@@ -11,11 +11,9 @@
 
 bin.includes = .,\
                META-INF/,\
-               build.properties,\
                plugin.properties,\
                about.html
 jars.compile.order = .
 source.. = src/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.debug.ui/.classpath b/examples/org.eclipse.ocl.examples.debug.ui/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.debug.ui/.classpath
+++ b/examples/org.eclipse.ocl.examples.debug.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.debug.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.debug.ui/META-INF/MANIFEST.MF
index 3e215ec..a58ba7e 100644
--- a/examples/org.eclipse.ocl.examples.debug.ui/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.debug.ui/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.ocl.examples.debug.ui;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
diff --git a/examples/org.eclipse.ocl.examples.debug.ui/build.properties b/examples/org.eclipse.ocl.examples.debug.ui/build.properties
index 6593aa1..3d8f6c9 100644
--- a/examples/org.eclipse.ocl.examples.debug.ui/build.properties
+++ b/examples/org.eclipse.ocl.examples.debug.ui/build.properties
@@ -13,9 +13,7 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                plugin.xml,\
                icons/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.debug.vm.ui/.classpath b/examples/org.eclipse.ocl.examples.debug.vm.ui/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.debug.vm.ui/.classpath
+++ b/examples/org.eclipse.ocl.examples.debug.vm.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.debug.vm.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.debug.vm.ui/META-INF/MANIFEST.MF
index afe0bbd..661bcf2 100644
--- a/examples/org.eclipse.ocl.examples.debug.vm.ui/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.debug.vm.ui/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.examples.debug.vm.ui;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.examples.debug.vm.ui,
  org.eclipse.ocl.examples.debug.vm.ui.actions,
  org.eclipse.ocl.examples.debug.vm.ui.launching,
diff --git a/examples/org.eclipse.ocl.examples.debug.vm.ui/build.properties b/examples/org.eclipse.ocl.examples.debug.vm.ui/build.properties
index d756290..62b8356 100644
--- a/examples/org.eclipse.ocl.examples.debug.vm.ui/build.properties
+++ b/examples/org.eclipse.ocl.examples.debug.vm.ui/build.properties
@@ -14,7 +14,5 @@
                .,\
                about.html,\
                plugin.properties,\
-               build.properties,\
                icons/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.debug.vm/.classpath b/examples/org.eclipse.ocl.examples.debug.vm/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.debug.vm/.classpath
+++ b/examples/org.eclipse.ocl.examples.debug.vm/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.debug.vm/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.debug.vm/META-INF/MANIFEST.MF
index a23b51c..a557619 100644
--- a/examples/org.eclipse.ocl.examples.debug.vm/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.debug.vm/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.examples.debug.vm;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.examples.debug.vm,
  org.eclipse.ocl.examples.debug.vm.core,
  org.eclipse.ocl.examples.debug.vm.data,
diff --git a/examples/org.eclipse.ocl.examples.debug.vm/build.properties b/examples/org.eclipse.ocl.examples.debug.vm/build.properties
index e93742a..5b819e5 100644
--- a/examples/org.eclipse.ocl.examples.debug.vm/build.properties
+++ b/examples/org.eclipse.ocl.examples.debug.vm/build.properties
@@ -13,8 +13,6 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                .options
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.debug/.classpath b/examples/org.eclipse.ocl.examples.debug/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.debug/.classpath
+++ b/examples/org.eclipse.ocl.examples.debug/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.debug/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.debug/META-INF/MANIFEST.MF
index 7240ac6..969d331 100644
--- a/examples/org.eclipse.ocl.examples.debug/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.debug/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.ocl.examples.debug;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
diff --git a/examples/org.eclipse.ocl.examples.debug/build.properties b/examples/org.eclipse.ocl.examples.debug/build.properties
index 1dcbef0..fe9e13c 100644
--- a/examples/org.eclipse.ocl.examples.debug/build.properties
+++ b/examples/org.eclipse.ocl.examples.debug/build.properties
@@ -13,8 +13,6 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                plugin.xml
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/AbstractOCLVMEvaluationVisitor.java b/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/AbstractOCLVMEvaluationVisitor.java
index 13895da..2d158b8 100644
--- a/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/AbstractOCLVMEvaluationVisitor.java
+++ b/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/AbstractOCLVMEvaluationVisitor.java
@@ -268,17 +268,17 @@
 	public abstract @NonNull OCLVMRootEvaluationVisitor getVMRootEvaluationVisitor();
  
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		return delegate.getStaticTypeOf(value);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
 		return delegate.getStaticTypeOf(value, values);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		return delegate.getStaticTypeOf(value, values);
 	}
 
diff --git a/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMEvaluationVisitorDecorator.java b/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMEvaluationVisitorDecorator.java
index 098c9c3..71dceb6 100644
--- a/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMEvaluationVisitorDecorator.java
+++ b/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMEvaluationVisitorDecorator.java
@@ -117,7 +117,7 @@
 	/**
      * Delegates to my decorated visitor.
      */
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		
 		return delegate.getStaticTypeOf(value);
 	}
@@ -125,7 +125,7 @@
 	/**
      * Delegates to my decorated visitor.
      */
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value,
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value,
 			@NonNull Object... values) {
 		return delegate.getStaticTypeOf(value, values);
 	}
@@ -133,7 +133,7 @@
 	/**
      * Delegates to my decorated visitor.
      */
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value,
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value,
 			@NonNull Iterable<?> values) {
 		return delegate.getStaticTypeOf(value, values);
 	}
diff --git a/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMModelManager.java b/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMModelManager.java
index 2330360..e030bf3 100644
--- a/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMModelManager.java
+++ b/examples/org.eclipse.ocl.examples.debug/src/org/eclipse/ocl/examples/debug/evaluator/OCLVMModelManager.java
@@ -53,7 +53,7 @@
 //		allInstancesTypes.clear();
 	}
 
-	public @NonNull Set<EObject> get(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull Set<EObject> get(org.eclipse.ocl.pivot.@NonNull Class type) {
 		throw new UnsupportedOperationException();
 	}
 
diff --git a/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/.classpath b/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/.classpath
+++ b/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/META-INF/MANIFEST.MF
index 7a8bb31..7d492a5 100644
--- a/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@
  org.eclipse.ocl.examples.ui;bundle-version="[1.2.0,2.0.0)",
  org.eclipse.ocl.pivot;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.ocl.examples.debug.vm.ui;bundle-version="[2.0.0,3.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/build.properties b/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/build.properties
index b18ef4d..7b3ff7b 100644
--- a/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/build.properties
+++ b/examples/org.eclipse.ocl.examples.emf.validation.validity.ui/build.properties
@@ -15,7 +15,5 @@
                .,\
                icons/,\
                about.html,\
-               build.properties,\
                plugin.properties
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.emf.validation.validity/.classpath b/examples/org.eclipse.ocl.examples.emf.validation.validity/.classpath
index 649304e..8fd5918 100644
--- a/examples/org.eclipse.ocl.examples.emf.validation.validity/.classpath
+++ b/examples/org.eclipse.ocl.examples.emf.validation.validity/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="emf-gen"/>
diff --git a/examples/org.eclipse.ocl.examples.emf.validation.validity/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.emf.validation.validity/META-INF/MANIFEST.MF
index 749e030..dde8bc3 100644
--- a/examples/org.eclipse.ocl.examples.emf.validation.validity/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.emf.validation.validity/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.ocl.pivot;bundle-version="[1.0.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.examples.emf.validation.validity,
  org.eclipse.ocl.examples.emf.validation.validity.export,
  org.eclipse.ocl.examples.emf.validation.validity.impl,
diff --git a/examples/org.eclipse.ocl.examples.emf.validation.validity/build.properties b/examples/org.eclipse.ocl.examples.emf.validation.validity/build.properties
index 43a8587..626a82d 100644
--- a/examples/org.eclipse.ocl.examples.emf.validation.validity/build.properties
+++ b/examples/org.eclipse.ocl.examples.emf.validation.validity/build.properties
@@ -13,7 +13,6 @@
 bin.includes = .,\
                model/,\
                META-INF/,\
-               build.properties,\
                plugin.xml,\
                plugin.properties,\
                about.html,\
@@ -25,4 +24,3 @@
 			emf-gen/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.standalone/.classpath b/examples/org.eclipse.ocl.examples.standalone/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.standalone/.classpath
+++ b/examples/org.eclipse.ocl.examples.standalone/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.standalone/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.standalone/META-INF/MANIFEST.MF
index f90f928..83b715e 100644
--- a/examples/org.eclipse.ocl.examples.standalone/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.standalone/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.examples.standalone;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.ocl.xtext.completeocl;bundle-version="[1.0.0,2.0.0)",
diff --git a/examples/org.eclipse.ocl.examples.standalone/build.properties b/examples/org.eclipse.ocl.examples.standalone/build.properties
index f33cc6d..e78d0e8 100644
--- a/examples/org.eclipse.ocl.examples.standalone/build.properties
+++ b/examples/org.eclipse.ocl.examples.standalone/build.properties
@@ -18,4 +18,3 @@
 source.. = src/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.ui/.classpath b/examples/org.eclipse.ocl.examples.ui/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.ui/.classpath
+++ b/examples/org.eclipse.ocl.examples.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.ui/META-INF/MANIFEST.MF
index 4e816ee..58bba9e 100644
--- a/examples/org.eclipse.ocl.examples.ui/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.ui/META-INF/MANIFEST.MF
@@ -10,5 +10,5 @@
  org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.xtext.ui;bundle-version="[2.0.0,3.0.0)"
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.examples.ui
diff --git a/examples/org.eclipse.ocl.examples.ui/build.properties b/examples/org.eclipse.ocl.examples.ui/build.properties
index 2c4b298..987ead8 100644
--- a/examples/org.eclipse.ocl.examples.ui/build.properties
+++ b/examples/org.eclipse.ocl.examples.ui/build.properties
@@ -13,8 +13,6 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                plugin.xml
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.uml25/.classpath b/examples/org.eclipse.ocl.examples.uml25/.classpath
index 4f5dacf..f5988f8 100644
--- a/examples/org.eclipse.ocl.examples.uml25/.classpath
+++ b/examples/org.eclipse.ocl.examples.uml25/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>

 <classpath>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>

 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

 	<classpathentry kind="src" path="src"/>

 	<classpathentry kind="src" path="emf-gen"/>

diff --git a/examples/org.eclipse.ocl.examples.uml25/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.uml25/META-INF/MANIFEST.MF
index 8e41e33..89c6e3d 100644
--- a/examples/org.eclipse.ocl.examples.uml25/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.uml25/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
 Bundle-Vendor: %providerName
 Bundle-SymbolicName: org.eclipse.ocl.examples.uml25;singleton:=true
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.uml2.uml;bundle-version="[4.0.0,6.0.0)",
diff --git a/examples/org.eclipse.ocl.examples.uml25/build.properties b/examples/org.eclipse.ocl.examples.uml25/build.properties
index 6a1738d..a33e5d4 100644
--- a/examples/org.eclipse.ocl.examples.uml25/build.properties
+++ b/examples/org.eclipse.ocl.examples.uml25/build.properties
@@ -18,4 +18,3 @@
                about.html,\
                build.properties
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.validity/.classpath b/examples/org.eclipse.ocl.examples.validity/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.validity/.classpath
+++ b/examples/org.eclipse.ocl.examples.validity/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.validity/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.validity/META-INF/MANIFEST.MF
index bbcb977..518b1c1 100644
--- a/examples/org.eclipse.ocl.examples.validity/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.validity/META-INF/MANIFEST.MF
@@ -19,7 +19,7 @@
  org.eclipse.ocl.examples.debug,
  org.eclipse.ocl.examples.xtext.console,
  org.eclipse.ocl.xtext.completeocl;bundle-version="[1.0.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.ocl.examples.validity.locator,
  org.eclipse.ocl.examples.validity.plugin
diff --git a/examples/org.eclipse.ocl.examples.validity/build.properties b/examples/org.eclipse.ocl.examples.validity/build.properties
index ccd2ca7..c9b0905 100644
--- a/examples/org.eclipse.ocl.examples.validity/build.properties
+++ b/examples/org.eclipse.ocl.examples.validity/build.properties
@@ -15,7 +15,5 @@
                plugin.properties,\
                plugin.xml,\
                about.html,\
-               build.properties,\
                icons/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.xtext.console/.classpath b/examples/org.eclipse.ocl.examples.xtext.console/.classpath
index 098194c..eca7bdb 100644
--- a/examples/org.eclipse.ocl.examples.xtext.console/.classpath
+++ b/examples/org.eclipse.ocl.examples.xtext.console/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/examples/org.eclipse.ocl.examples.xtext.console/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.xtext.console/META-INF/MANIFEST.MF
index 7bcaaf0..d84ab50 100644
--- a/examples/org.eclipse.ocl.examples.xtext.console/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.xtext.console/META-INF/MANIFEST.MF
@@ -24,4 +24,4 @@
  org.eclipse.ocl.examples.debug.vm.ui;bundle-version="[2.0.0,3.0.0)"
 Eclipse-LazyStart: true
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/examples/org.eclipse.ocl.examples.xtext.console/build.properties b/examples/org.eclipse.ocl.examples.xtext.console/build.properties
index 831f612..560d924 100644
--- a/examples/org.eclipse.ocl.examples.xtext.console/build.properties
+++ b/examples/org.eclipse.ocl.examples.xtext.console/build.properties
@@ -22,4 +22,3 @@
 javacSource = 1.5
 javacTarget = 1.5
 compilerArg = -warn:-serial,nls,unchecked
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/examples/org.eclipse.ocl.examples.xtext2lpg/.classpath b/examples/org.eclipse.ocl.examples.xtext2lpg/.classpath
index 319424d..4efde16 100644
--- a/examples/org.eclipse.ocl.examples.xtext2lpg/.classpath
+++ b/examples/org.eclipse.ocl.examples.xtext2lpg/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="xtend-gen"/>
diff --git a/examples/org.eclipse.ocl.examples.xtext2lpg/META-INF/MANIFEST.MF b/examples/org.eclipse.ocl.examples.xtext2lpg/META-INF/MANIFEST.MF
index 189e743..2cebd9c 100644
--- a/examples/org.eclipse.ocl.examples.xtext2lpg/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.ocl.examples.xtext2lpg/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.examples.xtext2lpg,
  org.eclipse.ocl.examples.xtext2lpg.XBNF,
  org.eclipse.ocl.examples.xtext2lpg.XBNF.impl,
diff --git a/examples/org.eclipse.ocl.examples.xtext2lpg/build.properties b/examples/org.eclipse.ocl.examples.xtext2lpg/build.properties
index 04fad82..e8489a5 100644
--- a/examples/org.eclipse.ocl.examples.xtext2lpg/build.properties
+++ b/examples/org.eclipse.ocl.examples.xtext2lpg/build.properties
@@ -22,4 +22,3 @@
            xtend-gen/,\
            src
 output.. = bin/
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.common/build.properties b/plugins/org.eclipse.ocl.common/build.properties
index 156caf4..3e435b5 100644
--- a/plugins/org.eclipse.ocl.common/build.properties
+++ b/plugins/org.eclipse.ocl.common/build.properties
@@ -14,7 +14,5 @@
                .,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                plugin.xml
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.pivot.ui/.classpath b/plugins/org.eclipse.ocl.pivot.ui/.classpath
index 098194c..eca7bdb 100644
--- a/plugins/org.eclipse.ocl.pivot.ui/.classpath
+++ b/plugins/org.eclipse.ocl.pivot.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/plugins/org.eclipse.ocl.pivot.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.pivot.ui/META-INF/MANIFEST.MF
index c0388ee..77454e7 100644
--- a/plugins/org.eclipse.ocl.pivot.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.pivot.ui/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.pivot.ui;singleton:=true
 Bundle-Version: 1.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.ocl.xtext.completeocl.ui;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.ocl.xtext.oclstdlib.ui;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.xtext.ui;bundle-version="[2.3.0,3.0.0)";visibility:=reexport,
diff --git a/plugins/org.eclipse.ocl.pivot.ui/build.properties b/plugins/org.eclipse.ocl.pivot.ui/build.properties
index 7492bdb..2a7e491 100644
--- a/plugins/org.eclipse.ocl.pivot.ui/build.properties
+++ b/plugins/org.eclipse.ocl.pivot.ui/build.properties
@@ -13,8 +13,6 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                plugin.xml
-additional.bundles = org.eclipse.ocl.jdt.annotation7
 src.includes = about.html
diff --git a/plugins/org.eclipse.ocl.pivot.uml/.classpath b/plugins/org.eclipse.ocl.pivot.uml/.classpath
index 649304e..8fd5918 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/.classpath
+++ b/plugins/org.eclipse.ocl.pivot.uml/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="emf-gen"/>
diff --git a/plugins/org.eclipse.ocl.pivot.uml/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.pivot.uml/META-INF/MANIFEST.MF
index 86f232d..27b97c1 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.pivot.uml/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Localization: plugin
 Bundle-SymbolicName: org.eclipse.ocl.pivot.uml;singleton:=true
 Bundle-Version: 1.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.emf.validation;bundle-version="[1.4.0,2.0.0)";resolution:=optional,
  org.eclipse.uml2.codegen.ecore;bundle-version="[1.8.0,3.0.0)",
diff --git a/plugins/org.eclipse.ocl.pivot.uml/build.properties b/plugins/org.eclipse.ocl.pivot.uml/build.properties
index 393858a..f3f7ce5 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/build.properties
+++ b/plugins/org.eclipse.ocl.pivot.uml/build.properties
@@ -15,8 +15,6 @@
                .,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                plugin.xml,\
                model/
-additional.bundles = org.eclipse.ocl.jdt.annotation7
 src.includes = about.html
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/as2es/AS2UMLDeclarationVisitor.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/as2es/AS2UMLDeclarationVisitor.java
index 6bb934b..4eeffd4 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/as2es/AS2UMLDeclarationVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/as2es/AS2UMLDeclarationVisitor.java
@@ -49,7 +49,7 @@
 		super(context);
 	}
 
-	protected void copyClassifier(@NonNull org.eclipse.uml2.uml.Classifier umlClassifier, @NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	protected void copyClassifier(@NonNull org.eclipse.uml2.uml.Classifier umlClassifier, org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		copyNamedElement(umlClassifier, pivotType);
 		TemplateSignature pivotTemplateSignature = pivotType.getOwnedSignature();
 		if (pivotTemplateSignature != null) {
@@ -153,7 +153,7 @@
 	}
 
 	@Override
-	public org.eclipse.uml2.uml.Classifier visitClass(@NonNull org.eclipse.ocl.pivot.Class pivotClass) {
+	public org.eclipse.uml2.uml.Classifier visitClass(org.eclipse.ocl.pivot.@NonNull Class pivotClass) {
 		if (pivotClass.getOwnedBindings().size() > 0) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ModelAnalysis.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ModelAnalysis.java
index ebc6444..7634021 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ModelAnalysis.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ModelAnalysis.java
@@ -418,7 +418,7 @@
 		return stereotype2extension;
 	}
 
-	protected void printMetatypes2StereotypeExtensions(@NonNull org.eclipse.ocl.pivot.Package asPackage,
+	protected void printMetatypes2StereotypeExtensions(org.eclipse.ocl.pivot.@NonNull Package asPackage,
 			@NonNull Map<Type, Set<StereotypeExtender>> metatype2typeExtensions) {
 		if (UML2AS.TYPE_EXTENSIONS.isActive()) {
 			StringBuffer s = new StringBuffer();
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ProfileAnalysis.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ProfileAnalysis.java
index ebec253..5c90d72 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ProfileAnalysis.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/ProfileAnalysis.java
@@ -215,7 +215,7 @@
 		}
 		if (UML2AS.ADD_PROFILE_APPLICATION.isActive()) {
 			StringBuffer s = new StringBuffer();
-			for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package asPackage : package2metatype2applicableStereotypes.keySet()) {
+			for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package asPackage : package2metatype2applicableStereotypes.keySet()) {
 				s.append("\n\t" + EcoreUtils.qualifiedNameFor(asPackage) + " : " + asPackage.getNsURI());
 				Map<Type, Set<Stereotype>> metatype2applicableStereotypes = package2metatype2applicableStereotypes.get(asPackage);
 				for (Type metatype : metatype2applicableStereotypes.keySet()) {
@@ -281,7 +281,7 @@
 		}
 		if (ADD_PROFILE_APPLICATION.isActive()) {
 			StringBuffer s = new StringBuffer();
-			for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package asPackage : package2allAppliedProfiles.keySet()) {
+			for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package asPackage : package2allAppliedProfiles.keySet()) {
 				s.append("\n\t" + EcoreUtils.qualifiedNameFor(asPackage) + " : " + asPackage.getNsURI());
 				Set<Profile> asPackageProfiles = package2allAppliedProfiles.get(asPackage);
 				for (Profile asProfile : asPackageProfiles) {
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2AS.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2AS.java
index db6b21c..4c41926 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2AS.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2AS.java
@@ -315,7 +315,7 @@
 		}
 
 		@Override
-		public void addProperty(@NonNull org.eclipse.ocl.pivot.Class asType, @NonNull Property asProperty) {
+		public void addProperty(org.eclipse.ocl.pivot.@NonNull Class asType, @NonNull Property asProperty) {
 			root.addProperty(asType, asProperty);
 		}
 
@@ -519,7 +519,7 @@
 		}
 
 		@Override
-		public void addProperty(@NonNull org.eclipse.ocl.pivot.Class asType, @NonNull Property asProperty) {
+		public void addProperty(org.eclipse.ocl.pivot.@NonNull Class asType, @NonNull Property asProperty) {
 			List<Property> asProperties = type2properties.get(asType);
 			if (asProperties == null) {
 				asProperties = new ArrayList<Property>();
@@ -968,7 +968,7 @@
 
 	public abstract void addProfileApplication(@NonNull ProfileApplication asProfileApplication) ;
 
-	public abstract void addProperty(@NonNull org.eclipse.ocl.pivot.Class asType, @NonNull Property asProperty);
+	public abstract void addProperty(org.eclipse.ocl.pivot.@NonNull Class asType, @NonNull Property asProperty);
 
 	public abstract void addStereotype(@NonNull Stereotype asStereotype);
 
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASDeclarationSwitch.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASDeclarationSwitch.java
index 4485782..c72432d 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASDeclarationSwitch.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASDeclarationSwitch.java
@@ -581,7 +581,7 @@
 		}
 	}
 
-	protected void copyClassOrInterface(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull org.eclipse.uml2.uml.Classifier umlClassifier) {
+	protected void copyClassOrInterface(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull org.eclipse.uml2.uml.Classifier umlClassifier) {
 		copyClassifier(pivotElement, umlClassifier);
 		pivotElement.setIsAbstract(umlClassifier.isAbstract());			
 		String instanceClassName = null;
@@ -610,7 +610,7 @@
 		converter.queueUse(umlClassifier);				// For superclasses
 	}
 
-	protected void copyClass(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull org.eclipse.uml2.uml.Class umlClass) {
+	protected void copyClass(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull org.eclipse.uml2.uml.Class umlClass) {
 		pivotElement.setIsInterface(false);			
 		copyClassOrInterface(pivotElement, umlClass);
 /*		for (org.eclipse.uml2.uml.Classifier umlType : umlClass.getNestedClassifiers()) {
@@ -624,7 +624,7 @@
 		doSwitchAll(pivotElement.getOwnedBehaviors(), umlClass.getOwnedBehaviors(), null);
 	}
 
-	protected void copyClassifier(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull org.eclipse.uml2.uml.Classifier umlClassifier) {
+	protected void copyClassifier(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull org.eclipse.uml2.uml.Classifier umlClassifier) {
 		copyNamespace(pivotElement, umlClassifier);
 		copyTemplateSignature(pivotElement, umlClassifier.getOwnedTemplateSignature());
 	}
@@ -697,7 +697,7 @@
 		converter.queueUse(umlNamespace);				// Defer for constraints
 	}
 
-	protected void copyPackage(@NonNull org.eclipse.ocl.pivot.Package pivotElement, @NonNull org.eclipse.uml2.uml.Package umlPackage) {
+	protected void copyPackage(org.eclipse.ocl.pivot.@NonNull Package pivotElement, @NonNull org.eclipse.uml2.uml.Package umlPackage) {
 //		EAnnotation eAnnotation = umlPackage.getEAnnotation(EcorePackage.eNS_URI);
 //		List<EAnnotation> exclusions = eAnnotation == null ? Collections.<EAnnotation>emptyList() : Collections.singletonList(eAnnotation);
 		copyNamespace(pivotElement, umlPackage);
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASUtil.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASUtil.java
index be5e394..943383f 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASUtil.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/es2as/UML2ASUtil.java
@@ -76,7 +76,7 @@
 	/**
 	 * Return the metaType of umlElement using the UML meta namespace identifiable from stereotype applications.
 	 */
-	public static @Nullable org.eclipse.ocl.pivot.Class getMetaType(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.uml2.uml.Element umlElement) {
+	public static org.eclipse.ocl.pivot.@Nullable Class getMetaType(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.uml2.uml.Element umlElement) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		EClass umlEClass = umlElement.eClass();
 		for (org.eclipse.uml2.uml.Stereotype umlStereotype : umlElement.getApplicableStereotypes()) {
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLEcoreTechnology.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLEcoreTechnology.java
index d21dcf2..cffac61 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLEcoreTechnology.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLEcoreTechnology.java
@@ -142,7 +142,7 @@
 	}
 
 	@Override
-	public @NonNull PackageId getMetapackageId(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public @NonNull PackageId getMetapackageId(@NonNull EnvironmentFactoryInternal environmentFactory, org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		if (asPackage instanceof PivotObjectImpl) {
 			EObject eTarget = ((PivotObjectImpl)asPackage).getESObject();
 			if (eTarget != null) {
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLIdResolver.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLIdResolver.java
index 644d318..db18a46 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLIdResolver.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/utilities/UMLIdResolver.java
@@ -55,7 +55,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getDynamicTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getDynamicTypeOf(@Nullable Object value) {
 		if (value instanceof org.eclipse.uml2.uml.Element) {
 			org.eclipse.ocl.pivot.Class metaType = UML2ASUtil.getMetaType(metamodelManager.getEnvironmentFactory(), (org.eclipse.uml2.uml.Element)value);
 			if (metaType != null) {
@@ -76,7 +76,7 @@
 	}
 
 	@Override
-	protected @Nullable org.eclipse.ocl.pivot.Package getPivotlessEPackage(@NonNull EPackage ePackage) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getPivotlessEPackage(@NonNull EPackage ePackage) {
 		org.eclipse.ocl.pivot.Package asPackage = null;
 		EObject eContainer = ePackage.eContainer();
 		if (eContainer instanceof EAnnotation) {
@@ -97,7 +97,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		if (value instanceof org.eclipse.uml2.uml.Element) {
 			try {				// FIXME Find a more efficient way to ensure Profiles are imported and applied
 				org.eclipse.uml2.uml.Element umlElement = (org.eclipse.uml2.uml.Element)value;
@@ -132,7 +132,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getType(@NonNull EClassifier eClassifier) {
+	public org.eclipse.ocl.pivot.@NonNull Class getType(@NonNull EClassifier eClassifier) {
 		EPackage ePackage = eClassifier.getEPackage();
 		if (ePackage == UMLPackage.eINSTANCE) {
 			// ?? getPivotOf to discover the pivoted type name, then getPivotType for the pivoted name
diff --git a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/validation/UMLOCLEValidator.java b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/validation/UMLOCLEValidator.java
index 01ba916..f3753bb 100644
--- a/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/validation/UMLOCLEValidator.java
+++ b/plugins/org.eclipse.ocl.pivot.uml/src/org/eclipse/ocl/pivot/uml/internal/validation/UMLOCLEValidator.java
@@ -206,7 +206,7 @@
 	}
 
 	@Deprecated  // Obsolete use SuperCompleteClasses
-	protected static void gatherTypes(@NonNull Set<org.eclipse.ocl.pivot.Type> allTypes, @NonNull Set<org.eclipse.ocl.pivot.Constraint> allConstraints, @NonNull org.eclipse.ocl.pivot.Class newType) {
+	protected static void gatherTypes(@NonNull Set<org.eclipse.ocl.pivot.Type> allTypes, @NonNull Set<org.eclipse.ocl.pivot.Constraint> allConstraints, org.eclipse.ocl.pivot.@NonNull Class newType) {
 		if (allTypes.add(newType)) {
 			allConstraints.addAll(newType.getOwnedInvariants());
 			for (org.eclipse.ocl.pivot.Class superType : newType.getSuperClasses()) {
diff --git a/plugins/org.eclipse.ocl.pivot/.classpath b/plugins/org.eclipse.ocl.pivot/.classpath
index 9fe0b9f..e2cbb51 100644
--- a/plugins/org.eclipse.ocl.pivot/.classpath
+++ b/plugins/org.eclipse.ocl.pivot/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src"/>
diff --git a/plugins/org.eclipse.ocl.pivot/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.ocl.pivot/.settings/org.eclipse.jdt.core.prefs
index c2987db..b074e4d 100644
--- a/plugins/org.eclipse.ocl.pivot/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.ocl.pivot/.settings/org.eclipse.jdt.core.prefs
@@ -5,9 +5,9 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -93,7 +93,7 @@
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=20
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
diff --git a/plugins/org.eclipse.ocl.pivot/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.pivot/META-INF/MANIFEST.MF
index 8cb7f45..e647493 100644
--- a/plugins/org.eclipse.ocl.pivot/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.pivot/META-INF/MANIFEST.MF
@@ -9,8 +9,9 @@
  org.eclipse.emf.codegen.ecore;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
- org.eclipse.ocl.common;bundle-version="[1.3.0,2.0.0)";visibility:=reexport
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+ org.eclipse.ocl.common;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.pivot,
  org.eclipse.ocl.pivot.evaluation,
  org.eclipse.ocl.pivot.ids,
diff --git a/plugins/org.eclipse.ocl.pivot/build.properties b/plugins/org.eclipse.ocl.pivot/build.properties
index 02a8f0a..c2bb6d9 100644
--- a/plugins/org.eclipse.ocl.pivot/build.properties
+++ b/plugins/org.eclipse.ocl.pivot/build.properties
@@ -13,7 +13,6 @@
 bin.includes = .,\
                model/,\
                META-INF/,\
-               build.properties,\
                plugin.xml,\
                plugin.properties,\
                about.html,\
@@ -28,4 +27,4 @@
            emf-gen/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
+
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CollectionType.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CollectionType.java
index 56271d5..0a3ed1d 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CollectionType.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CollectionType.java
@@ -142,7 +142,7 @@
 	void setLowerValue(@NonNull IntegerValue lower);
 	void setUpperValue(@NonNull UnlimitedNaturalValue upper);
 	
-	@NonNull org.eclipse.ocl.pivot.Class getContainerType();		// NB There is no ExecutorCollectionType
+	org.eclipse.ocl.pivot.@NonNull Class getContainerType();		// NB There is no ExecutorCollectionType
 	@NonNull IntegerValue getLowerValue();		
 	@Override
 	@NonNull CollectionTypeId getTypeId();
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteClass.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteClass.java
index 0bf1b18..64ae103 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteClass.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteClass.java
@@ -82,12 +82,12 @@
 	boolean conformsTo(@NonNull Type elementType);
 	boolean conformsTo(@NonNull CompleteClass thatCompleteClass);
 	
-	@NonNull org.eclipse.ocl.pivot.Class getPrimaryClass();
+	org.eclipse.ocl.pivot.@NonNull Class getPrimaryClass();
 
 	@Nullable CollectionType findCollectionType(@NonNull CollectionTypeParameters<Type> typeParameters);
 	@Nullable MapType findMapType(@NonNull MapTypeParameters<Type, Type> typeParameters);
 	@NonNull CollectionType getCollectionType(@NonNull CollectionTypeParameters<Type> typeParameters);
-	@NonNull org.eclipse.ocl.pivot.Class getBehavioralClass();
+	org.eclipse.ocl.pivot.@NonNull Class getBehavioralClass();
 	@NonNull CompleteInheritance getCompleteInheritance();
 	@NonNull MapType getMapType(@NonNull MapTypeParameters<Type, Type> typeParameters);
 	@Nullable Operation getOperation(@NonNull OperationId operationId);
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteEnvironment.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteEnvironment.java
index 1c9bb38..2721c18 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteEnvironment.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteEnvironment.java
@@ -105,18 +105,18 @@
 	/**
 	 * Return the specialized collection type for the containerType for elementType.
 	 */
-	@NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
+	@NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
 	/**
 	 * @deprecated add isNullFree argument
 	 */
 	@Deprecated
-	@NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
+	@NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
 
-	@NonNull MapType getMapType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type keyType, @NonNull Type valueType);
+	@NonNull MapType getMapType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type keyType, @NonNull Type valueType);
 
-	org.eclipse.ocl.pivot.Package getNestedPackage(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String name);
+	org.eclipse.ocl.pivot.Package getNestedPackage(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String name);
 	
-    Type getNestedType(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String name);
+    Type getNestedType(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String name);
 
 	/**
 	 * Return the instance of the OrderedSet metatype whose elements are of elementType.
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteModel.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteModel.java
index db24785..b59fb75 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteModel.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompleteModel.java
@@ -138,9 +138,9 @@
 //	@NonNull <T extends CollectionType> T getCollectionType(@NonNull T containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
 	@NonNull CompleteClass getCompleteClass(@NonNull Type partialClass);
 	@NonNull CompleteEnvironment getCompleteEnvironment();
-	@NonNull CompletePackage getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package asPackage);
+	@NonNull CompletePackage getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package asPackage);
 	@Nullable CompletePackage getCompletePackageByURI(@NonNull String packageURI);
 	@NonNull Iterable<? extends CompletePackage> getAllCompletePackagesWithUris();
 	@NonNull LambdaType getLambdaType(@NonNull String typeName, @NonNull Type contextType, @NonNull List<? extends Type> parameterTypes, @NonNull Type resultType);
-	@Nullable org.eclipse.ocl.pivot.Package getRootPackage(@NonNull String completeURIorName);
+	org.eclipse.ocl.pivot.@Nullable Package getRootPackage(@NonNull String completeURIorName);
 } // CompleteModel
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompletePackage.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompletePackage.java
index eb44954..cb5f038 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompletePackage.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/CompletePackage.java
@@ -122,7 +122,7 @@
 	 */
 	CompleteClass getOwnedCompleteClass(String name);
 
-	@NonNull CompleteClass getCompleteClass(@NonNull org.eclipse.ocl.pivot.Class pivotType);
+	@NonNull CompleteClass getCompleteClass(org.eclipse.ocl.pivot.@NonNull Class pivotType);
 
 
 	org.eclipse.ocl.pivot.Package getPrimaryPackage();
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Package.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Package.java
index f725ab3..da318ea 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Package.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Package.java
@@ -211,5 +211,5 @@
 
 	@Nullable EPackage getEPackage();
 	@NonNull PackageId getPackageId();
-	@Nullable org.eclipse.ocl.pivot.Class getOwnedClass(String className);
+	org.eclipse.ocl.pivot.@Nullable Class getOwnedClass(String className);
 } // Package
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/PivotTables.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/PivotTables.java
index 6f95e15..72f02d7 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/PivotTables.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/PivotTables.java
@@ -2638,7 +2638,7 @@
 			Fragments._Annotation__NamedElement /* 4 */,
 			Fragments._Annotation__Annotation /* 5 */
 		};
-		private static final @NonNull int[] __Annotation = { 1,1,2,1,1,1 };
+		private static final int[] __Annotation = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _AnyType =
 		{
@@ -2655,7 +2655,7 @@
 			Fragments._AnyType__Class /* 6 */,
 			Fragments._AnyType__AnyType /* 7 */
 		};
-		private static final @NonNull int[] __AnyType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __AnyType = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _AssociationClass =
 		{
@@ -2672,7 +2672,7 @@
 			Fragments._AssociationClass__Class /* 6 */,
 			Fragments._AssociationClass__AssociationClass /* 7 */
 		};
-		private static final @NonNull int[] __AssociationClass = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __AssociationClass = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _AssociationClassCallExp =
 		{
@@ -2689,7 +2689,7 @@
 			Fragments._AssociationClassCallExp__NavigationCallExp /* 9 */,
 			Fragments._AssociationClassCallExp__AssociationClassCallExp /* 10 */
 		};
-		private static final @NonNull int[] __AssociationClassCallExp = { 1,1,2,1,1,1,1,1,1,1,1 };
+		private static final int[] __AssociationClassCallExp = { 1,1,2,1,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _AssociativityKind =
 		{
@@ -2708,7 +2708,7 @@
 			Fragments._AssociativityKind__Enumeration /* 8 */,
 			Fragments._AssociativityKind__AssociativityKind /* 9 */
 		};
-		private static final @NonNull int[] __AssociativityKind = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __AssociativityKind = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _BagType =
 		{
@@ -2727,7 +2727,7 @@
 			Fragments._BagType__CollectionType /* 8 */,
 			Fragments._BagType__BagType /* 9 */
 		};
-		private static final @NonNull int[] __BagType = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __BagType = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Behavior =
 		{
@@ -2744,7 +2744,7 @@
 			Fragments._Behavior__Class /* 6 */,
 			Fragments._Behavior__Behavior /* 7 */
 		};
-		private static final @NonNull int[] __Behavior = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __Behavior = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _BooleanLiteralExp =
 		{
@@ -2760,7 +2760,7 @@
 			Fragments._BooleanLiteralExp__PrimitiveLiteralExp /* 8 */,
 			Fragments._BooleanLiteralExp__BooleanLiteralExp /* 9 */
 		};
-		private static final @NonNull int[] __BooleanLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
+		private static final int[] __BooleanLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CallExp =
 		{
@@ -2774,7 +2774,7 @@
 			Fragments._CallExp__OCLExpression /* 6 */,
 			Fragments._CallExp__CallExp /* 7 */
 		};
-		private static final @NonNull int[] __CallExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __CallExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CallOperationAction =
 		{
@@ -2786,7 +2786,7 @@
 			Fragments._CallOperationAction__NamedElement /* 4 */,
 			Fragments._CallOperationAction__CallOperationAction /* 5 */
 		};
-		private static final @NonNull int[] __CallOperationAction = { 1,1,2,1,1,1 };
+		private static final int[] __CallOperationAction = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Class =
 		{
@@ -2802,7 +2802,7 @@
 			Fragments._Class__Type /* 5 */,
 			Fragments._Class__Class /* 6 */
 		};
-		private static final @NonNull int[] __Class = { 1,1,3,1,2,2,1 };
+		private static final int[] __Class = { 1,1,3,1,2,2,1 };
 
 		private static final @NonNull ExecutorFragment[] _CollectionItem =
 		{
@@ -2816,7 +2816,7 @@
 			Fragments._CollectionItem__CollectionLiteralPart /* 6 */,
 			Fragments._CollectionItem__CollectionItem /* 7 */
 		};
-		private static final @NonNull int[] __CollectionItem = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __CollectionItem = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CollectionKind =
 		{
@@ -2835,7 +2835,7 @@
 			Fragments._CollectionKind__Enumeration /* 8 */,
 			Fragments._CollectionKind__CollectionKind /* 9 */
 		};
-		private static final @NonNull int[] __CollectionKind = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __CollectionKind = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CollectionLiteralExp =
 		{
@@ -2850,7 +2850,7 @@
 			Fragments._CollectionLiteralExp__LiteralExp /* 7 */,
 			Fragments._CollectionLiteralExp__CollectionLiteralExp /* 8 */
 		};
-		private static final @NonNull int[] __CollectionLiteralExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __CollectionLiteralExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CollectionLiteralPart =
 		{
@@ -2863,7 +2863,7 @@
 			Fragments._CollectionLiteralPart__TypedElement /* 5 */,
 			Fragments._CollectionLiteralPart__CollectionLiteralPart /* 6 */
 		};
-		private static final @NonNull int[] __CollectionLiteralPart = { 1,1,2,1,1,1,1 };
+		private static final int[] __CollectionLiteralPart = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CollectionRange =
 		{
@@ -2877,7 +2877,7 @@
 			Fragments._CollectionRange__CollectionLiteralPart /* 6 */,
 			Fragments._CollectionRange__CollectionRange /* 7 */
 		};
-		private static final @NonNull int[] __CollectionRange = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __CollectionRange = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CollectionType =
 		{
@@ -2895,7 +2895,7 @@
 			Fragments._CollectionType__DataType /* 7 */,
 			Fragments._CollectionType__CollectionType /* 8 */
 		};
-		private static final @NonNull int[] __CollectionType = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __CollectionType = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Comment =
 		{
@@ -2905,7 +2905,7 @@
 			Fragments._Comment__Element /* 3 */,
 			Fragments._Comment__Comment /* 4 */
 		};
-		private static final @NonNull int[] __Comment = { 1,1,1,1,1 };
+		private static final int[] __Comment = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CompleteClass =
 		{
@@ -2917,7 +2917,7 @@
 			Fragments._CompleteClass__NamedElement /* 4 */,
 			Fragments._CompleteClass__CompleteClass /* 5 */
 		};
-		private static final @NonNull int[] __CompleteClass = { 1,1,2,1,1,1 };
+		private static final int[] __CompleteClass = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CompleteEnvironment =
 		{
@@ -2927,7 +2927,7 @@
 			Fragments._CompleteEnvironment__Element /* 3 */,
 			Fragments._CompleteEnvironment__CompleteEnvironment /* 4 */
 		};
-		private static final @NonNull int[] __CompleteEnvironment = { 1,1,1,1,1 };
+		private static final int[] __CompleteEnvironment = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CompleteModel =
 		{
@@ -2939,7 +2939,7 @@
 			Fragments._CompleteModel__NamedElement /* 4 */,
 			Fragments._CompleteModel__CompleteModel /* 5 */
 		};
-		private static final @NonNull int[] __CompleteModel = { 1,1,2,1,1,1 };
+		private static final int[] __CompleteModel = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CompletePackage =
 		{
@@ -2951,7 +2951,7 @@
 			Fragments._CompletePackage__NamedElement /* 4 */,
 			Fragments._CompletePackage__CompletePackage /* 5 */
 		};
-		private static final @NonNull int[] __CompletePackage = { 1,1,2,1,1,1 };
+		private static final int[] __CompletePackage = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ConnectionPointReference =
 		{
@@ -2964,7 +2964,7 @@
 			Fragments._ConnectionPointReference__Vertex /* 5 */,
 			Fragments._ConnectionPointReference__ConnectionPointReference /* 6 */
 		};
-		private static final @NonNull int[] __ConnectionPointReference = { 1,1,2,1,1,1,1 };
+		private static final int[] __ConnectionPointReference = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Constraint =
 		{
@@ -2976,7 +2976,7 @@
 			Fragments._Constraint__NamedElement /* 4 */,
 			Fragments._Constraint__Constraint /* 5 */
 		};
-		private static final @NonNull int[] __Constraint = { 1,1,2,1,1,1 };
+		private static final int[] __Constraint = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _DataType =
 		{
@@ -2993,7 +2993,7 @@
 			Fragments._DataType__Class /* 6 */,
 			Fragments._DataType__DataType /* 7 */
 		};
-		private static final @NonNull int[] __DataType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __DataType = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Detail =
 		{
@@ -3005,7 +3005,7 @@
 			Fragments._Detail__NamedElement /* 4 */,
 			Fragments._Detail__Detail /* 5 */
 		};
-		private static final @NonNull int[] __Detail = { 1,1,2,1,1,1 };
+		private static final int[] __Detail = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _DynamicBehavior =
 		{
@@ -3025,7 +3025,7 @@
 			Fragments._DynamicBehavior__DynamicType /* 7 */,
 			Fragments._DynamicBehavior__DynamicBehavior /* 8 */
 		};
-		private static final @NonNull int[] __DynamicBehavior = { 1,1,3,1,3,2,1,2,1 };
+		private static final int[] __DynamicBehavior = { 1,1,3,1,3,2,1,2,1 };
 
 		private static final @NonNull ExecutorFragment[] _DynamicElement =
 		{
@@ -3035,7 +3035,7 @@
 			Fragments._DynamicElement__Element /* 3 */,
 			Fragments._DynamicElement__DynamicElement /* 4 */
 		};
-		private static final @NonNull int[] __DynamicElement = { 1,1,1,1,1 };
+		private static final int[] __DynamicElement = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _DynamicProperty =
 		{
@@ -3045,7 +3045,7 @@
 			Fragments._DynamicProperty__Element /* 3 */,
 			Fragments._DynamicProperty__DynamicProperty /* 4 */
 		};
-		private static final @NonNull int[] __DynamicProperty = { 1,1,1,1,1 };
+		private static final int[] __DynamicProperty = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _DynamicType =
 		{
@@ -3063,7 +3063,7 @@
 			Fragments._DynamicType__Class /* 6 */,
 			Fragments._DynamicType__DynamicType /* 7 */
 		};
-		private static final @NonNull int[] __DynamicType = { 1,1,3,1,3,2,1,1 };
+		private static final int[] __DynamicType = { 1,1,3,1,3,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _DynamicValueSpecification =
 		{
@@ -3077,7 +3077,7 @@
 			Fragments._DynamicValueSpecification__ValueSpecification /* 6 */,
 			Fragments._DynamicValueSpecification__DynamicValueSpecification /* 7 */
 		};
-		private static final @NonNull int[] __DynamicValueSpecification = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __DynamicValueSpecification = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Element =
 		{
@@ -3086,7 +3086,7 @@
 			Fragments._Element__Visitable /* 2 */,
 			Fragments._Element__Element /* 3 */
 		};
-		private static final @NonNull int[] __Element = { 1,1,1,1 };
+		private static final int[] __Element = { 1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ElementExtension =
 		{
@@ -3103,7 +3103,7 @@
 			Fragments._ElementExtension__Class /* 6 */,
 			Fragments._ElementExtension__ElementExtension /* 7 */
 		};
-		private static final @NonNull int[] __ElementExtension = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __ElementExtension = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _EnumLiteralExp =
 		{
@@ -3118,7 +3118,7 @@
 			Fragments._EnumLiteralExp__LiteralExp /* 7 */,
 			Fragments._EnumLiteralExp__EnumLiteralExp /* 8 */
 		};
-		private static final @NonNull int[] __EnumLiteralExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __EnumLiteralExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Enumeration =
 		{
@@ -3136,7 +3136,7 @@
 			Fragments._Enumeration__DataType /* 7 */,
 			Fragments._Enumeration__Enumeration /* 8 */
 		};
-		private static final @NonNull int[] __Enumeration = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __Enumeration = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _EnumerationLiteral =
 		{
@@ -3149,7 +3149,7 @@
 			Fragments._EnumerationLiteral__InstanceSpecification /* 5 */,
 			Fragments._EnumerationLiteral__EnumerationLiteral /* 6 */
 		};
-		private static final @NonNull int[] __EnumerationLiteral = { 1,1,2,1,1,1,1 };
+		private static final int[] __EnumerationLiteral = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ExpressionInOCL =
 		{
@@ -3164,7 +3164,7 @@
 			Fragments._ExpressionInOCL__LanguageExpression /* 7 */,
 			Fragments._ExpressionInOCL__ExpressionInOCL /* 8 */
 		};
-		private static final @NonNull int[] __ExpressionInOCL = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __ExpressionInOCL = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Feature =
 		{
@@ -3177,7 +3177,7 @@
 			Fragments._Feature__TypedElement /* 5 */,
 			Fragments._Feature__Feature /* 6 */
 		};
-		private static final @NonNull int[] __Feature = { 1,1,2,1,1,1,1 };
+		private static final int[] __Feature = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _FeatureCallExp =
 		{
@@ -3192,7 +3192,7 @@
 			Fragments._FeatureCallExp__CallExp /* 7 */,
 			Fragments._FeatureCallExp__FeatureCallExp /* 8 */
 		};
-		private static final @NonNull int[] __FeatureCallExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __FeatureCallExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _FinalState =
 		{
@@ -3208,7 +3208,7 @@
 			Fragments._FinalState__State /* 6 */,
 			Fragments._FinalState__FinalState /* 7 */
 		};
-		private static final @NonNull int[] __FinalState = { 1,2,2,1,1,2,1,1 };
+		private static final int[] __FinalState = { 1,2,2,1,1,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _IfExp =
 		{
@@ -3222,7 +3222,7 @@
 			Fragments._IfExp__OCLExpression /* 6 */,
 			Fragments._IfExp__IfExp /* 7 */
 		};
-		private static final @NonNull int[] __IfExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __IfExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Import =
 		{
@@ -3234,7 +3234,7 @@
 			Fragments._Import__NamedElement /* 4 */,
 			Fragments._Import__Import /* 5 */
 		};
-		private static final @NonNull int[] __Import = { 1,1,2,1,1,1 };
+		private static final int[] __Import = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _InstanceSpecification =
 		{
@@ -3246,7 +3246,7 @@
 			Fragments._InstanceSpecification__NamedElement /* 4 */,
 			Fragments._InstanceSpecification__InstanceSpecification /* 5 */
 		};
-		private static final @NonNull int[] __InstanceSpecification = { 1,1,2,1,1,1 };
+		private static final int[] __InstanceSpecification = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _IntegerLiteralExp =
 		{
@@ -3263,7 +3263,7 @@
 			Fragments._IntegerLiteralExp__NumericLiteralExp /* 9 */,
 			Fragments._IntegerLiteralExp__IntegerLiteralExp /* 10 */
 		};
-		private static final @NonNull int[] __IntegerLiteralExp = { 1,1,2,1,1,1,1,1,1,1,1 };
+		private static final int[] __IntegerLiteralExp = { 1,1,2,1,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _InvalidLiteralExp =
 		{
@@ -3278,7 +3278,7 @@
 			Fragments._InvalidLiteralExp__LiteralExp /* 7 */,
 			Fragments._InvalidLiteralExp__InvalidLiteralExp /* 8 */
 		};
-		private static final @NonNull int[] __InvalidLiteralExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __InvalidLiteralExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _InvalidType =
 		{
@@ -3295,7 +3295,7 @@
 			Fragments._InvalidType__Class /* 6 */,
 			Fragments._InvalidType__InvalidType /* 7 */
 		};
-		private static final @NonNull int[] __InvalidType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __InvalidType = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _IterateExp =
 		{
@@ -3312,7 +3312,7 @@
 			Fragments._IterateExp__LoopExp /* 8 */,
 			Fragments._IterateExp__IterateExp /* 9 */
 		};
-		private static final @NonNull int[] __IterateExp = { 1,1,3,1,1,1,1,1,1,1 };
+		private static final int[] __IterateExp = { 1,1,3,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Iteration =
 		{
@@ -3329,7 +3329,7 @@
 			Fragments._Iteration__Operation /* 7 */,
 			Fragments._Iteration__Iteration /* 8 */
 		};
-		private static final @NonNull int[] __Iteration = { 1,1,2,1,2,2,1,1,1 };
+		private static final int[] __Iteration = { 1,1,2,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _IteratorExp =
 		{
@@ -3346,7 +3346,7 @@
 			Fragments._IteratorExp__LoopExp /* 8 */,
 			Fragments._IteratorExp__IteratorExp /* 9 */
 		};
-		private static final @NonNull int[] __IteratorExp = { 1,1,3,1,1,1,1,1,1,1 };
+		private static final int[] __IteratorExp = { 1,1,3,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _LambdaType =
 		{
@@ -3364,7 +3364,7 @@
 			Fragments._LambdaType__DataType /* 7 */,
 			Fragments._LambdaType__LambdaType /* 8 */
 		};
-		private static final @NonNull int[] __LambdaType = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __LambdaType = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _LanguageExpression =
 		{
@@ -3378,7 +3378,7 @@
 			Fragments._LanguageExpression__ValueSpecification /* 6 */,
 			Fragments._LanguageExpression__LanguageExpression /* 7 */
 		};
-		private static final @NonNull int[] __LanguageExpression = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __LanguageExpression = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _LetExp =
 		{
@@ -3392,7 +3392,7 @@
 			Fragments._LetExp__OCLExpression /* 6 */,
 			Fragments._LetExp__LetExp /* 7 */
 		};
-		private static final @NonNull int[] __LetExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __LetExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Library =
 		{
@@ -3406,14 +3406,14 @@
 			Fragments._Library__Package /* 6 */,
 			Fragments._Library__Library /* 7 */
 		};
-		private static final @NonNull int[] __Library = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __Library = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _LibraryFeature =
 		{
 			Fragments._LibraryFeature__OclAny /* 0 */,
 			Fragments._LibraryFeature__LibraryFeature /* 1 */
 		};
-		private static final @NonNull int[] __LibraryFeature = { 1,1 };
+		private static final int[] __LibraryFeature = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _LiteralExp =
 		{
@@ -3427,7 +3427,7 @@
 			Fragments._LiteralExp__OCLExpression /* 6 */,
 			Fragments._LiteralExp__LiteralExp /* 7 */
 		};
-		private static final @NonNull int[] __LiteralExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __LiteralExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _LoopExp =
 		{
@@ -3442,7 +3442,7 @@
 			Fragments._LoopExp__CallExp /* 7 */,
 			Fragments._LoopExp__LoopExp /* 8 */
 		};
-		private static final @NonNull int[] __LoopExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __LoopExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _MapLiteralExp =
 		{
@@ -3457,7 +3457,7 @@
 			Fragments._MapLiteralExp__LiteralExp /* 7 */,
 			Fragments._MapLiteralExp__MapLiteralExp /* 8 */
 		};
-		private static final @NonNull int[] __MapLiteralExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __MapLiteralExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _MapLiteralPart =
 		{
@@ -3467,7 +3467,7 @@
 			Fragments._MapLiteralPart__Element /* 3 */,
 			Fragments._MapLiteralPart__MapLiteralPart /* 4 */
 		};
-		private static final @NonNull int[] __MapLiteralPart = { 1,1,1,1,1 };
+		private static final int[] __MapLiteralPart = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _MapType =
 		{
@@ -3485,7 +3485,7 @@
 			Fragments._MapType__DataType /* 7 */,
 			Fragments._MapType__MapType /* 8 */
 		};
-		private static final @NonNull int[] __MapType = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __MapType = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _MessageExp =
 		{
@@ -3499,7 +3499,7 @@
 			Fragments._MessageExp__OCLExpression /* 6 */,
 			Fragments._MessageExp__MessageExp /* 7 */
 		};
-		private static final @NonNull int[] __MessageExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __MessageExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _MessageType =
 		{
@@ -3516,7 +3516,7 @@
 			Fragments._MessageType__Class /* 6 */,
 			Fragments._MessageType__MessageType /* 7 */
 		};
-		private static final @NonNull int[] __MessageType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __MessageType = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Model =
 		{
@@ -3529,7 +3529,7 @@
 			Fragments._Model__Namespace /* 5 */,
 			Fragments._Model__Model /* 6 */
 		};
-		private static final @NonNull int[] __Model = { 1,1,2,1,1,1,1 };
+		private static final int[] __Model = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _MorePivotable =
 		{
@@ -3537,7 +3537,7 @@
 			Fragments._MorePivotable__OclElement /* 1 */,
 			Fragments._MorePivotable__MorePivotable /* 2 */
 		};
-		private static final @NonNull int[] __MorePivotable = { 1,1,1 };
+		private static final int[] __MorePivotable = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Nameable =
 		{
@@ -3545,7 +3545,7 @@
 			Fragments._Nameable__OclElement /* 1 */,
 			Fragments._Nameable__Nameable /* 2 */
 		};
-		private static final @NonNull int[] __Nameable = { 1,1,1 };
+		private static final int[] __Nameable = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _NamedElement =
 		{
@@ -3556,7 +3556,7 @@
 			Fragments._NamedElement__Element /* 3 */,
 			Fragments._NamedElement__NamedElement /* 4 */
 		};
-		private static final @NonNull int[] __NamedElement = { 1,1,2,1,1 };
+		private static final int[] __NamedElement = { 1,1,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Namespace =
 		{
@@ -3568,7 +3568,7 @@
 			Fragments._Namespace__NamedElement /* 4 */,
 			Fragments._Namespace__Namespace /* 5 */
 		};
-		private static final @NonNull int[] __Namespace = { 1,1,2,1,1,1 };
+		private static final int[] __Namespace = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _NavigationCallExp =
 		{
@@ -3584,7 +3584,7 @@
 			Fragments._NavigationCallExp__FeatureCallExp /* 8 */,
 			Fragments._NavigationCallExp__NavigationCallExp /* 9 */
 		};
-		private static final @NonNull int[] __NavigationCallExp = { 1,1,2,1,1,1,1,1,1,1 };
+		private static final int[] __NavigationCallExp = { 1,1,2,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _NullLiteralExp =
 		{
@@ -3600,7 +3600,7 @@
 			Fragments._NullLiteralExp__PrimitiveLiteralExp /* 8 */,
 			Fragments._NullLiteralExp__NullLiteralExp /* 9 */
 		};
-		private static final @NonNull int[] __NullLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
+		private static final int[] __NullLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _NumericLiteralExp =
 		{
@@ -3616,7 +3616,7 @@
 			Fragments._NumericLiteralExp__PrimitiveLiteralExp /* 8 */,
 			Fragments._NumericLiteralExp__NumericLiteralExp /* 9 */
 		};
-		private static final @NonNull int[] __NumericLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
+		private static final int[] __NumericLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OCLExpression =
 		{
@@ -3629,14 +3629,14 @@
 			Fragments._OCLExpression__TypedElement /* 5 */,
 			Fragments._OCLExpression__OCLExpression /* 6 */
 		};
-		private static final @NonNull int[] __OCLExpression = { 1,1,2,1,1,1,1 };
+		private static final int[] __OCLExpression = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Object =
 		{
 			Fragments._Object__OclAny /* 0 */,
 			Fragments._Object__Object /* 1 */
 		};
-		private static final @NonNull int[] __Object = { 1,1 };
+		private static final int[] __Object = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Operation =
 		{
@@ -3652,7 +3652,7 @@
 			Fragments._Operation__Feature /* 6 */,
 			Fragments._Operation__Operation /* 7 */
 		};
-		private static final @NonNull int[] __Operation = { 1,1,2,1,2,2,1,1 };
+		private static final int[] __Operation = { 1,1,2,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OperationCallExp =
 		{
@@ -3669,7 +3669,7 @@
 			Fragments._OperationCallExp__FeatureCallExp /* 8 */,
 			Fragments._OperationCallExp__OperationCallExp /* 9 */
 		};
-		private static final @NonNull int[] __OperationCallExp = { 1,1,3,1,1,1,1,1,1,1 };
+		private static final int[] __OperationCallExp = { 1,1,3,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OppositePropertyCallExp =
 		{
@@ -3686,7 +3686,7 @@
 			Fragments._OppositePropertyCallExp__NavigationCallExp /* 9 */,
 			Fragments._OppositePropertyCallExp__OppositePropertyCallExp /* 10 */
 		};
-		private static final @NonNull int[] __OppositePropertyCallExp = { 1,1,2,1,1,1,1,1,1,1,1 };
+		private static final int[] __OppositePropertyCallExp = { 1,1,2,1,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OrderedSetType =
 		{
@@ -3705,7 +3705,7 @@
 			Fragments._OrderedSetType__CollectionType /* 8 */,
 			Fragments._OrderedSetType__OrderedSetType /* 9 */
 		};
-		private static final @NonNull int[] __OrderedSetType = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __OrderedSetType = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OrphanCompletePackage =
 		{
@@ -3718,7 +3718,7 @@
 			Fragments._OrphanCompletePackage__CompletePackage /* 5 */,
 			Fragments._OrphanCompletePackage__OrphanCompletePackage /* 6 */
 		};
-		private static final @NonNull int[] __OrphanCompletePackage = { 1,1,2,1,1,1,1 };
+		private static final int[] __OrphanCompletePackage = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Package =
 		{
@@ -3731,7 +3731,7 @@
 			Fragments._Package__Namespace /* 5 */,
 			Fragments._Package__Package /* 6 */
 		};
-		private static final @NonNull int[] __Package = { 1,1,2,1,1,1,1 };
+		private static final int[] __Package = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Parameter =
 		{
@@ -3745,7 +3745,7 @@
 			Fragments._Parameter__VariableDeclaration /* 6 */,
 			Fragments._Parameter__Parameter /* 7 */
 		};
-		private static final @NonNull int[] __Parameter = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __Parameter = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Pivotable =
 		{
@@ -3753,7 +3753,7 @@
 			Fragments._Pivotable__OclElement /* 1 */,
 			Fragments._Pivotable__Pivotable /* 2 */
 		};
-		private static final @NonNull int[] __Pivotable = { 1,1,1 };
+		private static final int[] __Pivotable = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Precedence =
 		{
@@ -3765,7 +3765,7 @@
 			Fragments._Precedence__NamedElement /* 4 */,
 			Fragments._Precedence__Precedence /* 5 */
 		};
-		private static final @NonNull int[] __Precedence = { 1,1,2,1,1,1 };
+		private static final int[] __Precedence = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _PrimitiveCompletePackage =
 		{
@@ -3778,7 +3778,7 @@
 			Fragments._PrimitiveCompletePackage__CompletePackage /* 5 */,
 			Fragments._PrimitiveCompletePackage__PrimitiveCompletePackage /* 6 */
 		};
-		private static final @NonNull int[] __PrimitiveCompletePackage = { 1,1,2,1,1,1,1 };
+		private static final int[] __PrimitiveCompletePackage = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _PrimitiveLiteralExp =
 		{
@@ -3793,7 +3793,7 @@
 			Fragments._PrimitiveLiteralExp__LiteralExp /* 7 */,
 			Fragments._PrimitiveLiteralExp__PrimitiveLiteralExp /* 8 */
 		};
-		private static final @NonNull int[] __PrimitiveLiteralExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __PrimitiveLiteralExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _PrimitiveType =
 		{
@@ -3811,7 +3811,7 @@
 			Fragments._PrimitiveType__DataType /* 7 */,
 			Fragments._PrimitiveType__PrimitiveType /* 8 */
 		};
-		private static final @NonNull int[] __PrimitiveType = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __PrimitiveType = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Profile =
 		{
@@ -3825,7 +3825,7 @@
 			Fragments._Profile__Package /* 6 */,
 			Fragments._Profile__Profile /* 7 */
 		};
-		private static final @NonNull int[] __Profile = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __Profile = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ProfileApplication =
 		{
@@ -3835,7 +3835,7 @@
 			Fragments._ProfileApplication__Element /* 3 */,
 			Fragments._ProfileApplication__ProfileApplication /* 4 */
 		};
-		private static final @NonNull int[] __ProfileApplication = { 1,1,1,1,1 };
+		private static final int[] __ProfileApplication = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Property =
 		{
@@ -3849,7 +3849,7 @@
 			Fragments._Property__Feature /* 6 */,
 			Fragments._Property__Property /* 7 */
 		};
-		private static final @NonNull int[] __Property = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __Property = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _PropertyCallExp =
 		{
@@ -3867,7 +3867,7 @@
 			Fragments._PropertyCallExp__NavigationCallExp /* 9 */,
 			Fragments._PropertyCallExp__PropertyCallExp /* 10 */
 		};
-		private static final @NonNull int[] __PropertyCallExp = { 1,1,3,1,1,1,1,1,1,1,1 };
+		private static final int[] __PropertyCallExp = { 1,1,3,1,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Pseudostate =
 		{
@@ -3880,7 +3880,7 @@
 			Fragments._Pseudostate__Vertex /* 5 */,
 			Fragments._Pseudostate__Pseudostate /* 6 */
 		};
-		private static final @NonNull int[] __Pseudostate = { 1,1,2,1,1,1,1 };
+		private static final int[] __Pseudostate = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _PseudostateKind =
 		{
@@ -3899,7 +3899,7 @@
 			Fragments._PseudostateKind__Enumeration /* 8 */,
 			Fragments._PseudostateKind__PseudostateKind /* 9 */
 		};
-		private static final @NonNull int[] __PseudostateKind = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __PseudostateKind = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _RealLiteralExp =
 		{
@@ -3916,7 +3916,7 @@
 			Fragments._RealLiteralExp__NumericLiteralExp /* 9 */,
 			Fragments._RealLiteralExp__RealLiteralExp /* 10 */
 		};
-		private static final @NonNull int[] __RealLiteralExp = { 1,1,2,1,1,1,1,1,1,1,1 };
+		private static final int[] __RealLiteralExp = { 1,1,2,1,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ReferringElement =
 		{
@@ -3924,7 +3924,7 @@
 			Fragments._ReferringElement__OclElement /* 1 */,
 			Fragments._ReferringElement__ReferringElement /* 2 */
 		};
-		private static final @NonNull int[] __ReferringElement = { 1,1,1 };
+		private static final int[] __ReferringElement = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Region =
 		{
@@ -3937,7 +3937,7 @@
 			Fragments._Region__Namespace /* 5 */,
 			Fragments._Region__Region /* 6 */
 		};
-		private static final @NonNull int[] __Region = { 1,1,2,1,1,1,1 };
+		private static final int[] __Region = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _SelfType =
 		{
@@ -3954,7 +3954,7 @@
 			Fragments._SelfType__Class /* 6 */,
 			Fragments._SelfType__SelfType /* 7 */
 		};
-		private static final @NonNull int[] __SelfType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __SelfType = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _SendSignalAction =
 		{
@@ -3966,7 +3966,7 @@
 			Fragments._SendSignalAction__NamedElement /* 4 */,
 			Fragments._SendSignalAction__SendSignalAction /* 5 */
 		};
-		private static final @NonNull int[] __SendSignalAction = { 1,1,2,1,1,1 };
+		private static final int[] __SendSignalAction = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _SequenceType =
 		{
@@ -3985,7 +3985,7 @@
 			Fragments._SequenceType__CollectionType /* 8 */,
 			Fragments._SequenceType__SequenceType /* 9 */
 		};
-		private static final @NonNull int[] __SequenceType = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __SequenceType = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _SetType =
 		{
@@ -4004,7 +4004,7 @@
 			Fragments._SetType__CollectionType /* 8 */,
 			Fragments._SetType__SetType /* 9 */
 		};
-		private static final @NonNull int[] __SetType = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __SetType = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ShadowExp =
 		{
@@ -4018,7 +4018,7 @@
 			Fragments._ShadowExp__OCLExpression /* 6 */,
 			Fragments._ShadowExp__ShadowExp /* 7 */
 		};
-		private static final @NonNull int[] __ShadowExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __ShadowExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ShadowPart =
 		{
@@ -4031,7 +4031,7 @@
 			Fragments._ShadowPart__TypedElement /* 5 */,
 			Fragments._ShadowPart__ShadowPart /* 6 */
 		};
-		private static final @NonNull int[] __ShadowPart = { 1,1,2,1,1,1,1 };
+		private static final int[] __ShadowPart = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Signal =
 		{
@@ -4048,7 +4048,7 @@
 			Fragments._Signal__Class /* 6 */,
 			Fragments._Signal__Signal /* 7 */
 		};
-		private static final @NonNull int[] __Signal = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __Signal = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Slot =
 		{
@@ -4058,7 +4058,7 @@
 			Fragments._Slot__Element /* 3 */,
 			Fragments._Slot__Slot /* 4 */
 		};
-		private static final @NonNull int[] __Slot = { 1,1,1,1,1 };
+		private static final int[] __Slot = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _StandardLibrary =
 		{
@@ -4068,7 +4068,7 @@
 			Fragments._StandardLibrary__Element /* 3 */,
 			Fragments._StandardLibrary__StandardLibrary /* 4 */
 		};
-		private static final @NonNull int[] __StandardLibrary = { 1,1,1,1,1 };
+		private static final int[] __StandardLibrary = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _State =
 		{
@@ -4083,7 +4083,7 @@
 			Fragments._State__Vertex /* 5 */,
 			Fragments._State__State /* 6 */
 		};
-		private static final @NonNull int[] __State = { 1,2,2,1,1,2,1 };
+		private static final int[] __State = { 1,2,2,1,1,2,1 };
 
 		private static final @NonNull ExecutorFragment[] _StateExp =
 		{
@@ -4097,7 +4097,7 @@
 			Fragments._StateExp__OCLExpression /* 6 */,
 			Fragments._StateExp__StateExp /* 7 */
 		};
-		private static final @NonNull int[] __StateExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __StateExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _StateMachine =
 		{
@@ -4115,7 +4115,7 @@
 			Fragments._StateMachine__Behavior /* 7 */,
 			Fragments._StateMachine__StateMachine /* 8 */
 		};
-		private static final @NonNull int[] __StateMachine = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __StateMachine = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Stereotype =
 		{
@@ -4132,7 +4132,7 @@
 			Fragments._Stereotype__Class /* 6 */,
 			Fragments._Stereotype__Stereotype /* 7 */
 		};
-		private static final @NonNull int[] __Stereotype = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __Stereotype = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _StereotypeExtender =
 		{
@@ -4142,7 +4142,7 @@
 			Fragments._StereotypeExtender__Element /* 3 */,
 			Fragments._StereotypeExtender__StereotypeExtender /* 4 */
 		};
-		private static final @NonNull int[] __StereotypeExtender = { 1,1,1,1,1 };
+		private static final int[] __StereotypeExtender = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _StringLiteralExp =
 		{
@@ -4158,7 +4158,7 @@
 			Fragments._StringLiteralExp__PrimitiveLiteralExp /* 8 */,
 			Fragments._StringLiteralExp__StringLiteralExp /* 9 */
 		};
-		private static final @NonNull int[] __StringLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
+		private static final int[] __StringLiteralExp = { 1,1,2,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TemplateBinding =
 		{
@@ -4168,7 +4168,7 @@
 			Fragments._TemplateBinding__Element /* 3 */,
 			Fragments._TemplateBinding__TemplateBinding /* 4 */
 		};
-		private static final @NonNull int[] __TemplateBinding = { 1,1,1,1,1 };
+		private static final int[] __TemplateBinding = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TemplateParameter =
 		{
@@ -4182,7 +4182,7 @@
 			Fragments._TemplateParameter__Type /* 5 */,
 			Fragments._TemplateParameter__TemplateParameter /* 6 */
 		};
-		private static final @NonNull int[] __TemplateParameter = { 1,1,3,1,1,1,1 };
+		private static final int[] __TemplateParameter = { 1,1,3,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TemplateParameterSubstitution =
 		{
@@ -4192,7 +4192,7 @@
 			Fragments._TemplateParameterSubstitution__Element /* 3 */,
 			Fragments._TemplateParameterSubstitution__TemplateParameterSubstitution /* 4 */
 		};
-		private static final @NonNull int[] __TemplateParameterSubstitution = { 1,1,1,1,1 };
+		private static final int[] __TemplateParameterSubstitution = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TemplateSignature =
 		{
@@ -4202,7 +4202,7 @@
 			Fragments._TemplateSignature__Element /* 3 */,
 			Fragments._TemplateSignature__TemplateSignature /* 4 */
 		};
-		private static final @NonNull int[] __TemplateSignature = { 1,1,1,1,1 };
+		private static final int[] __TemplateSignature = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TemplateableElement =
 		{
@@ -4212,14 +4212,14 @@
 			Fragments._TemplateableElement__Element /* 3 */,
 			Fragments._TemplateableElement__TemplateableElement /* 4 */
 		};
-		private static final @NonNull int[] __TemplateableElement = { 1,1,1,1,1 };
+		private static final int[] __TemplateableElement = { 1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Throwable =
 		{
 			Fragments._Throwable__OclAny /* 0 */,
 			Fragments._Throwable__Throwable /* 1 */
 		};
-		private static final @NonNull int[] __Throwable = { 1,1 };
+		private static final int[] __Throwable = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Transition =
 		{
@@ -4232,7 +4232,7 @@
 			Fragments._Transition__Namespace /* 5 */,
 			Fragments._Transition__Transition /* 6 */
 		};
-		private static final @NonNull int[] __Transition = { 1,1,2,1,1,1,1 };
+		private static final int[] __Transition = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TransitionKind =
 		{
@@ -4251,7 +4251,7 @@
 			Fragments._TransitionKind__Enumeration /* 8 */,
 			Fragments._TransitionKind__TransitionKind /* 9 */
 		};
-		private static final @NonNull int[] __TransitionKind = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __TransitionKind = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Trigger =
 		{
@@ -4263,7 +4263,7 @@
 			Fragments._Trigger__NamedElement /* 4 */,
 			Fragments._Trigger__Trigger /* 5 */
 		};
-		private static final @NonNull int[] __Trigger = { 1,1,2,1,1,1 };
+		private static final int[] __Trigger = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TupleLiteralExp =
 		{
@@ -4278,7 +4278,7 @@
 			Fragments._TupleLiteralExp__LiteralExp /* 7 */,
 			Fragments._TupleLiteralExp__TupleLiteralExp /* 8 */
 		};
-		private static final @NonNull int[] __TupleLiteralExp = { 1,1,2,1,1,1,1,1,1 };
+		private static final int[] __TupleLiteralExp = { 1,1,2,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TupleLiteralPart =
 		{
@@ -4292,7 +4292,7 @@
 			Fragments._TupleLiteralPart__VariableDeclaration /* 6 */,
 			Fragments._TupleLiteralPart__TupleLiteralPart /* 7 */
 		};
-		private static final @NonNull int[] __TupleLiteralPart = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __TupleLiteralPart = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TupleType =
 		{
@@ -4310,7 +4310,7 @@
 			Fragments._TupleType__DataType /* 7 */,
 			Fragments._TupleType__TupleType /* 8 */
 		};
-		private static final @NonNull int[] __TupleType = { 1,1,3,1,2,2,1,1,1 };
+		private static final int[] __TupleType = { 1,1,3,1,2,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Type =
 		{
@@ -4323,7 +4323,7 @@
 			Fragments._Type__NamedElement /* 4 */,
 			Fragments._Type__Type /* 5 */
 		};
-		private static final @NonNull int[] __Type = { 1,1,3,1,1,1 };
+		private static final int[] __Type = { 1,1,3,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TypeExp =
 		{
@@ -4338,7 +4338,7 @@
 			Fragments._TypeExp__OCLExpression /* 6 */,
 			Fragments._TypeExp__TypeExp /* 7 */
 		};
-		private static final @NonNull int[] __TypeExp = { 1,1,3,1,1,1,1,1 };
+		private static final int[] __TypeExp = { 1,1,3,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _TypedElement =
 		{
@@ -4350,7 +4350,7 @@
 			Fragments._TypedElement__NamedElement /* 4 */,
 			Fragments._TypedElement__TypedElement /* 5 */
 		};
-		private static final @NonNull int[] __TypedElement = { 1,1,2,1,1,1 };
+		private static final int[] __TypedElement = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _UnlimitedNaturalLiteralExp =
 		{
@@ -4367,7 +4367,7 @@
 			Fragments._UnlimitedNaturalLiteralExp__NumericLiteralExp /* 9 */,
 			Fragments._UnlimitedNaturalLiteralExp__UnlimitedNaturalLiteralExp /* 10 */
 		};
-		private static final @NonNull int[] __UnlimitedNaturalLiteralExp = { 1,1,2,1,1,1,1,1,1,1,1 };
+		private static final int[] __UnlimitedNaturalLiteralExp = { 1,1,2,1,1,1,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _UnspecifiedValueExp =
 		{
@@ -4381,7 +4381,7 @@
 			Fragments._UnspecifiedValueExp__OCLExpression /* 6 */,
 			Fragments._UnspecifiedValueExp__UnspecifiedValueExp /* 7 */
 		};
-		private static final @NonNull int[] __UnspecifiedValueExp = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __UnspecifiedValueExp = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _ValueSpecification =
 		{
@@ -4394,7 +4394,7 @@
 			Fragments._ValueSpecification__TypedElement /* 5 */,
 			Fragments._ValueSpecification__ValueSpecification /* 6 */
 		};
-		private static final @NonNull int[] __ValueSpecification = { 1,1,2,1,1,1,1 };
+		private static final int[] __ValueSpecification = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Variable =
 		{
@@ -4408,7 +4408,7 @@
 			Fragments._Variable__VariableDeclaration /* 6 */,
 			Fragments._Variable__Variable /* 7 */
 		};
-		private static final @NonNull int[] __Variable = { 1,1,2,1,1,1,1,1 };
+		private static final int[] __Variable = { 1,1,2,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _VariableDeclaration =
 		{
@@ -4421,7 +4421,7 @@
 			Fragments._VariableDeclaration__TypedElement /* 5 */,
 			Fragments._VariableDeclaration__VariableDeclaration /* 6 */
 		};
-		private static final @NonNull int[] __VariableDeclaration = { 1,1,2,1,1,1,1 };
+		private static final int[] __VariableDeclaration = { 1,1,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _VariableExp =
 		{
@@ -4436,7 +4436,7 @@
 			Fragments._VariableExp__OCLExpression /* 6 */,
 			Fragments._VariableExp__VariableExp /* 7 */
 		};
-		private static final @NonNull int[] __VariableExp = { 1,1,3,1,1,1,1,1 };
+		private static final int[] __VariableExp = { 1,1,3,1,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Vertex =
 		{
@@ -4448,7 +4448,7 @@
 			Fragments._Vertex__NamedElement /* 4 */,
 			Fragments._Vertex__Vertex /* 5 */
 		};
-		private static final @NonNull int[] __Vertex = { 1,1,2,1,1,1 };
+		private static final int[] __Vertex = { 1,1,2,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Visitable =
 		{
@@ -4456,7 +4456,7 @@
 			Fragments._Visitable__OclElement /* 1 */,
 			Fragments._Visitable__Visitable /* 2 */
 		};
-		private static final @NonNull int[] __Visitable = { 1,1,1 };
+		private static final int[] __Visitable = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _VoidType =
 		{
@@ -4473,7 +4473,7 @@
 			Fragments._VoidType__Class /* 6 */,
 			Fragments._VoidType__VoidType /* 7 */
 		};
-		private static final @NonNull int[] __VoidType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __VoidType = { 1,1,3,1,2,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _WildcardType =
 		{
@@ -4490,7 +4490,7 @@
 			Fragments._WildcardType__Class /* 6 */,
 			Fragments._WildcardType__WildcardType /* 7 */
 		};
-		private static final @NonNull int[] __WildcardType = { 1,1,3,1,2,2,1,1 };
+		private static final int[] __WildcardType = { 1,1,3,1,2,2,1,1 };
 
 		/**
 		 *	Install the fragment descriptors in the class descriptors.
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/StandardLibrary.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/StandardLibrary.java
index 0d73578..01b7ed5 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/StandardLibrary.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/StandardLibrary.java
@@ -69,7 +69,7 @@
      * 
      * @return the <tt>Bag(T)</tt> type (an instance of BagType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getBagType();
+	org.eclipse.ocl.pivot.@NonNull Class getBagType();
 	
     /**
      * Obtains the instance of the PrimitiveType metatype, named
@@ -77,7 +77,7 @@
      * 
      * @return the <tt>Boolean</tt> type (an instance of PrimitiveType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getBooleanType();
+	org.eclipse.ocl.pivot.@NonNull Class getBooleanType();
 	
     /**
      * Obtains the single instance of the org.eclipse.ocl.pivot.Class metatype, named
@@ -85,7 +85,7 @@
      * 
      * @return the <tt>Class</tt> type (an instance of Class)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getClassType();
+	org.eclipse.ocl.pivot.@NonNull Class getClassType();
 	
     /**
      * Obtains the generic instance of the CollectionType metatype, named
@@ -93,14 +93,14 @@
      * 
      * @return the <tt>Collection(T)</tt> type (an instance of CollectionType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getCollectionType();
+	org.eclipse.ocl.pivot.@NonNull Class getCollectionType();
 
 	/**
 	 * @deprecated add isNullFree argument
 	 */
 	@Deprecated
-	@NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
-	@NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
+	@NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
+	@NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
 	
     /**
      * Obtains the single instance of the EnumerationType metatype, named
@@ -108,12 +108,12 @@
      * 
      * @return the <tt>Enumeration</tt> type (an instance of Enumeration)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getEnumerationType();
+	org.eclipse.ocl.pivot.@NonNull Class getEnumerationType();
 
 	/**
 	 * Return the Inheritance dispatch table for a given type.
 	 */
-	@NonNull CompleteInheritance getInheritance(@NonNull org.eclipse.ocl.pivot.Class type);
+	@NonNull CompleteInheritance getInheritance(org.eclipse.ocl.pivot.@NonNull Class type);
 	
     /**
      * Obtains the instance of the PrimitiveType metatype, named
@@ -121,16 +121,16 @@
      * 
      * @return the <tt>Integer</tt> type (an instance of PrimitiveType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getIntegerType();
+	org.eclipse.ocl.pivot.@NonNull Class getIntegerType();
 
-	@NonNull org.eclipse.ocl.pivot.Class getMapType();
+	org.eclipse.ocl.pivot.@NonNull Class getMapType();
 
-	@NonNull MapType getMapType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type keyType, @NonNull Type valueType);
+	@NonNull MapType getMapType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type keyType, @NonNull Type valueType);
 
 	/**
 	 * Return the instance of the Metaclass metatype whose class is classType.
 	 */
-	@NonNull org.eclipse.ocl.pivot.Class getMetaclass(@NonNull Type classType);
+	org.eclipse.ocl.pivot.@NonNull Class getMetaclass(@NonNull Type classType);
 
     /**
      * Returns the meta-type of a given type.
@@ -145,7 +145,7 @@
      * 
      * @return the <tt>OclAny</tt> type (an instance of AnyType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclAnyType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclAnyType();
 	
     /**
      * Obtains the single instance of the OclComparable metatype, named
@@ -153,7 +153,7 @@
      * 
      * @return the <tt>OclAny</tt> type (an instance of Class)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclComparableType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclComparableType();
 
     /**
      * Obtains the single instance of the Class metatype, named
@@ -161,7 +161,7 @@
      * 
      * @return the <tt>OclElement</tt> type (an instance of Class)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclElementType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclElementType();
 
 	@NonNull Operation getOclInvalidOperation();
 	
@@ -171,7 +171,7 @@
      * 
      * @return the <tt>OclInvalid</tt> type (an instance of InvalidType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclInvalidType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclInvalidType();
 	
     /**
      * Obtains the generic instance of the MessageType metatype, named
@@ -179,7 +179,7 @@
      * 
      * @return the <tt>OclMessage</tt> type (an instance of MessageType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclMessageType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclMessageType();
 
     /**
      * Obtains the single instance of the OclSelf pseudo-metatype, named
@@ -187,7 +187,7 @@
      * 
      * @return the <tt>OclSelf</tt> type (an instance of SelfType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclSelfType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclSelfType();
 	
     /**
      * Obtains the single instance of the OclSummable metatype, named
@@ -195,7 +195,7 @@
      * 
      * @return the <tt>OclAny</tt> type (an instance of Class)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclSummableType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclSummableType();
 	
     /**
      * Obtains the single instance of the OclTupleType metatype, named
@@ -203,7 +203,7 @@
      * 
      * @return the <tt>OclTuple</tt> type (an instance of Class)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclTupleType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclTupleType();
 	
 	Type getOclType(@NonNull String typeName);
 	
@@ -213,7 +213,7 @@
      * 
      * @return the <tt>OclVoid</tt> type (an instance of VoidType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOclVoidType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclVoidType();
 	
     Element getOperationTemplateParameter(@NonNull Operation anOperation, int index);
 
@@ -223,7 +223,7 @@
      * 
      * @return the <tt>OrderedCollection(T)</tt> type (an instance of CollectionType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOrderedCollectionType();
+	org.eclipse.ocl.pivot.@NonNull Class getOrderedCollectionType();
 
 	/**
      * Obtains the generic instance of the OrderedSetType metatype, named
@@ -231,12 +231,12 @@
      * 
      * @return the <tt>OrderedSet(T)</tt> type (an instance of OrderedSetType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getOrderedSetType();
+	org.eclipse.ocl.pivot.@NonNull Class getOrderedSetType();
 
 	/**
      * Obtains the package containing the library types
      */
-	@NonNull org.eclipse.ocl.pivot.Package getPackage();
+	org.eclipse.ocl.pivot.@NonNull Package getPackage();
 	
     Type getPrimitiveType(@NonNull PrimitiveTypeId id);
 
@@ -246,7 +246,7 @@
      * 
      * @return the <tt>Real</tt> type (an instance of PrimitiveType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getRealType();
+	org.eclipse.ocl.pivot.@NonNull Class getRealType();
 
 	org.eclipse.ocl.pivot.Package getRootPackage(@NonNull String name);
 	
@@ -256,7 +256,7 @@
      * 
      * @return the <tt>Sequence(T)</tt> type (an instance of SequenceType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getSequenceType();
+	org.eclipse.ocl.pivot.@NonNull Class getSequenceType();
 	
     /**
      * Obtains the generic instance of the SetType metatype, named
@@ -264,7 +264,7 @@
      * 
      * @return the <tt>Set(T)</tt> type (an instance of SetType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getSetType();
+	org.eclipse.ocl.pivot.@NonNull Class getSetType();
 
     /**
      * Obtains the instance of the PrimitiveType metatype, named
@@ -272,7 +272,7 @@
      * 
      * @return the <tt>String</tt> type (an instance of PrimitiveType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getStringType();
+	org.eclipse.ocl.pivot.@NonNull Class getStringType();
 
 	/**
      * Obtains the generic instance of the UniqueCollection metatype, named
@@ -280,7 +280,7 @@
      * 
      * @return the <tt>Set(T)</tt> type (an instance of CollectionType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getUniqueCollectionType();
+	org.eclipse.ocl.pivot.@NonNull Class getUniqueCollectionType();
    
     /**
      * Obtains the instance of the PrimitiveType metatype,
@@ -289,5 +289,5 @@
      * @return the <tt>UnlimitedNatural</tt> type (an instance of
      *     PrimitiveType)
      */
-	@NonNull org.eclipse.ocl.pivot.Class getUnlimitedNaturalType();
+	org.eclipse.ocl.pivot.@NonNull Class getUnlimitedNaturalType();
 } // StandardLibrary
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Type.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Type.java
index e0e1add..b83b5e5 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Type.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/Type.java
@@ -38,7 +38,7 @@
 	 */
 	Type flattenedType();
 
-	@Nullable org.eclipse.ocl.pivot.Class isClass();
+	org.eclipse.ocl.pivot.@Nullable Class isClass();
 
 	@Nullable TemplateParameter isTemplateParameter();
 
@@ -67,7 +67,7 @@
 	/**
 	 * Return the unique executable form of this type within standardLibrary.
 	 */
-	@NonNull org.eclipse.ocl.pivot.Class getNormalizedType(@NonNull StandardLibrary standardLibrary);
+	org.eclipse.ocl.pivot.@NonNull Class getNormalizedType(@NonNull StandardLibrary standardLibrary);
 
 	/**
 	 * Return a unique StandardLibrary-independent identifier for this type.
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ClassImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ClassImpl.java
index 639fc1f..ad01fa0 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ClassImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ClassImpl.java
@@ -1162,7 +1162,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
+	public org.eclipse.ocl.pivot.@NonNull Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
 		try {
 			return getInheritance(standardLibrary).getPivotClass();
 		}
@@ -1302,7 +1302,7 @@
 	}
 	
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class isClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class isClass() {
 		return this;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CollectionTypeImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CollectionTypeImpl.java
index ee50357..10ecdf2 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CollectionTypeImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CollectionTypeImpl.java
@@ -652,7 +652,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
 		CompleteEnvironment environment = idResolver.getEnvironment();
 		StandardLibrary standardLibrary = environment.getOwnedStandardLibrary();
 		CompleteInheritance thisInheritance = this.getInheritance(standardLibrary);
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteClassImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteClassImpl.java
index 00cc425..814ef73 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteClassImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteClassImpl.java
@@ -353,7 +353,7 @@
 	}
 
 	@Override
-	public void addClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void addClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		partialClasses.add(partialClass);
 	}
 
@@ -382,7 +382,7 @@
 	 * Eliminate a partialClass from a CompleteClass returning true if the CompleteClass is empty.
 	 */
 	@Override
-	public void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		partialClasses.add(partialClass);
 	}
 
@@ -390,7 +390,7 @@
 	 * Eliminate a partialClass from a CompleteClass returning true if the CompleteClass is empty.
 	 */
 	@Override
-	public boolean didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public boolean didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		partialClasses.remove(partialClass);
 		return partialClasses.size() <= 0;		// FIXME Need to invalidate all derived inheritances
 	}
@@ -411,7 +411,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getBehavioralClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getBehavioralClass() {
 		for (org.eclipse.ocl.pivot.Class partialClass : partialClasses) {
 			if (partialClass != null) {
 				if (partialClass instanceof DataType) {
@@ -496,7 +496,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPrimaryClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getPrimaryClass() {
 		for (org.eclipse.ocl.pivot.Class partialClass : partialClasses) {
 			if (partialClass != null) {
 				return partialClass;
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteEnvironmentImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteEnvironmentImpl.java
index 5db9e5e..7f3da93 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteEnvironmentImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteEnvironmentImpl.java
@@ -383,7 +383,7 @@
 	private boolean isCodeGeneration = false;
 	
 	@Override
-	public void addOrphanClass(@NonNull org.eclipse.ocl.pivot.Class pivotElement) {
+	public void addOrphanClass(org.eclipse.ocl.pivot.@NonNull Class pivotElement) {
 		if (pivotElement.getUnspecializedElement() != null) {
 			assert pivotElement.getUnspecializedElement().getUnspecializedElement() == null;
 		}
@@ -588,14 +588,14 @@
 	}
 
 	@Override
-	public void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass, @NonNull CompleteClassInternal completeClass) {
+	public void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass, @NonNull CompleteClassInternal completeClass) {
 //		assert partialClass.getUnspecializedElement() == null;
 		CompleteClass oldCompleteClass = class2completeClass.put(partialClass, completeClass);
 		assert (oldCompleteClass == null) ||(oldCompleteClass == completeClass);
 	}
 	
 	@Override
-	public void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		class2completeClass.remove(pivotType);
 	}
 
@@ -638,13 +638,13 @@
 	}
 	
 	@Override
-	public @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		return getCollectionType((CollectionType)metamodelManager.getPrimaryClass(containerType), metamodelManager.getPrimaryType(elementType), isNullFree, lower, upper);
 	}
 	
 	@Override
-	public @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		return getCollectionType((CollectionType)metamodelManager.getPrimaryClass(containerType), metamodelManager.getPrimaryType(elementType), false, lower, upper);
 	}
@@ -745,7 +745,7 @@
 	}
 	
 	@Override
-	public @NonNull MapType getMapType(@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type keyType, @NonNull Type valueType) {
+	public @NonNull MapType getMapType(org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type keyType, @NonNull Type valueType) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		return getMapType((MapType)metamodelManager.getPrimaryClass(containerType), metamodelManager.getPrimaryType(keyType), metamodelManager.getPrimaryType(valueType));
 	}
@@ -776,7 +776,7 @@
 //	}
 
 	@Override
-	public org.eclipse.ocl.pivot.Package getNestedPackage(@NonNull org.eclipse.ocl.pivot.Package domainPackage, @NonNull String name) {
+	public org.eclipse.ocl.pivot.Package getNestedPackage(org.eclipse.ocl.pivot.@NonNull Package domainPackage, @NonNull String name) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		CompletePackage completePackage = metamodelManager.getCompletePackage(domainPackage);
 		CompletePackage memberPackage = completePackage.getOwnedCompletePackage(name);
@@ -784,7 +784,7 @@
 	}
 
 	@Override
-	public org.eclipse.ocl.pivot.Class getNestedType(@NonNull org.eclipse.ocl.pivot.Package domainPackage, @NonNull String name) {
+	public org.eclipse.ocl.pivot.Class getNestedType(org.eclipse.ocl.pivot.@NonNull Package domainPackage, @NonNull String name) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		CompletePackage completePackage = metamodelManager.getCompletePackage(domainPackage);
 		return completePackage.getMemberType(name);
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteModelImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteModelImpl.java
index b0dbedb..0e1e893 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteModelImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompleteModelImpl.java
@@ -415,7 +415,7 @@
 	}
 
 	@Override
-	public void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass, @NonNull CompleteClassInternal completeClass) {
+	public void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass, @NonNull CompleteClassInternal completeClass) {
 		completeEnvironment.didAddClass(partialClass, completeClass);
 	}
 
@@ -425,7 +425,7 @@
 	}
 
 	@Override
-	public void didAddNestedPackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public void didAddNestedPackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		ownedCompletePackages.didAddPackage(pivotPackage);
 	}
 	
@@ -435,7 +435,7 @@
 	}
 	
 	@Override
-	public void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		completeEnvironment.didRemoveClass(pivotType);
 	}
 
@@ -448,7 +448,7 @@
 	}
 
 	@Override
-	public void didRemoveNestedPackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public void didRemoveNestedPackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		ownedCompletePackages.didRemovePackage(pivotPackage);
 	}
 	
@@ -510,7 +510,7 @@
 	}
 
 	@Override
-	public @NonNull CompletePackageInternal getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public @NonNull CompletePackageInternal getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		return ownedCompletePackages.getCompletePackage(asPackage);
 	}
 
@@ -682,7 +682,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Package getRootPackage(@NonNull String completeURIorName) {
+	public org.eclipse.ocl.pivot.@Nullable Package getRootPackage(@NonNull String completeURIorName) {
 		CompletePackage completePackage = completeURIs.getCompletePackage(completeURIorName);
 		if (completePackage != null) {
 			return completePackage.getPrimaryPackage();
@@ -721,7 +721,7 @@
 		return this;
 	}
 
-/*	public void removedType(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+/*	public void removedType(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		CompleteClass completeClass = class2completeClass.get(pivotType);
 		if (completeClass != null) {
 //			completeClass.dispose();
@@ -729,7 +729,7 @@
 	} */
 
 	@Override
-	public void resolveSuperClasses(@NonNull org.eclipse.ocl.pivot.Class specializedClass, @NonNull org.eclipse.ocl.pivot.Class unspecializedClass) {
+	public void resolveSuperClasses(org.eclipse.ocl.pivot.@NonNull Class specializedClass, org.eclipse.ocl.pivot.@NonNull Class unspecializedClass) {
 		List<TemplateBinding> specializedTemplateBindings = specializedClass.getOwnedBindings();
 		for (org.eclipse.ocl.pivot.Class superClass : unspecializedClass.getSuperClasses()) {
 			List<TemplateBinding> superTemplateBindings = superClass.getOwnedBindings();
@@ -757,7 +757,7 @@
 						}
 					}
 				}
-				@NonNull org.eclipse.ocl.pivot.Class unspecializedSuperClass = PivotUtil.getUnspecializedTemplateableElement(superClass);
+				org.eclipse.ocl.pivot.@NonNull Class unspecializedSuperClass = PivotUtil.getUnspecializedTemplateableElement(superClass);
 				CompleteClassInternal superCompleteClass = environmentFactory.getMetamodelManager().getCompleteClass(unspecializedSuperClass);
 				org.eclipse.ocl.pivot.Class superPivotClass = superCompleteClass.getPrimaryClass();
 				if (superPivotClass instanceof CollectionType) {
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompletePackageImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompletePackageImpl.java
index 46de20f..2ef6440 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompletePackageImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/CompletePackageImpl.java
@@ -419,7 +419,7 @@
 		}
 	}
 
-	protected void didAddNestedPackage(@NonNull CompleteModel completeModel, @NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	protected void didAddNestedPackage(@NonNull CompleteModel completeModel, org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 /*		CompletePackage completePackage = null;
 		String name = pivotPackage.getName();
 //		String packageURI = pivotPackage.getURI();
@@ -445,33 +445,33 @@
 //		}
 	}
 
-	public void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (ownedCompleteClasses != null) {
 			ownedCompleteClasses.didAddClass(partialClass);
 		}
 	}
 
-	public void didAddNestedPackage(@NonNull org.eclipse.ocl.pivot.Package nestedPackage) {
+	public void didAddNestedPackage(org.eclipse.ocl.pivot.@NonNull Package nestedPackage) {
 		getOwnedCompletePackages().didAddPackage(nestedPackage);
 	}
 
-	public void didAddPartialPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didAddPartialPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (ownedCompleteClasses != null) {
 			ownedCompleteClasses.didAddPackage(partialPackage);
 		}
 	}
 
-	public void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (ownedCompleteClasses != null) {
 			ownedCompleteClasses.didRemoveClass(partialClass);
 		}
 	}
 
-	public void didRemoveNestedPackage(@NonNull org.eclipse.ocl.pivot.Package nestedPackage) {
+	public void didRemoveNestedPackage(org.eclipse.ocl.pivot.@NonNull Package nestedPackage) {
 		getOwnedCompletePackages().didRemovePackage(nestedPackage);
 	}
 
-	public void didRemovePartialPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didRemovePartialPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (ownedCompleteClasses != null) {
 			ownedCompleteClasses.didRemovePackage(partialPackage);
 		}
@@ -496,7 +496,7 @@
 	}
 
 	@Override
-	public @NonNull CompleteClassInternal getCompleteClass(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public @NonNull CompleteClassInternal getCompleteClass(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		return ClassUtil.nonNullState(getOwnedCompleteClass(pivotType.getName()));
 	}
 
@@ -684,7 +684,7 @@
 	}
 
 	@Override
-	public final @NonNull org.eclipse.ocl.pivot.Package getPrimaryPackage() {
+	public final org.eclipse.ocl.pivot.@NonNull Package getPrimaryPackage() {
 		for (org.eclipse.ocl.pivot.Package partialPackage : getPartialPackages()) {
 			if (partialPackage != null) {
 				return partialPackage;
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ElementImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ElementImpl.java
index 79d17d4..4f4849f 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ElementImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ElementImpl.java
@@ -200,7 +200,7 @@
 		final @NonNull /*@NonInvalid*/ IdResolver idResolver = evaluator.getIdResolver();
 		final @NonNull /*@NonInvalid*/ StandardLibrary standardLibrary = idResolver.getStandardLibrary();
 		final @NonNull /*@NonInvalid*/ SetValue oclAsSet = OclAnyOclAsSetOperation.INSTANCE.evaluate(evaluator, PivotTables.SET_CLSSid_Element, this);
-		final @NonNull org.eclipse.ocl.pivot.Class TYPE_closure_0 = evaluator.getStaticTypeOf(oclAsSet);
+		final org.eclipse.ocl.pivot.@NonNull Class TYPE_closure_0 = evaluator.getStaticTypeOf(oclAsSet);
 		final @NonNull LibraryIteration IMPL_closure_0 = (LibraryIteration)TYPE_closure_0.lookupImplementation(standardLibrary, OCLstdlibTables.Operations._Set__closure);
 		final @NonNull Object ACC_closure_0 = IMPL_closure_0.createAccumulatorValue(evaluator, PivotTables.SET_CLSSid_Element, PivotTables.SET_CLSSid_Element);
 		/**
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ModelImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ModelImpl.java
index 2d6ee0b..0615170 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ModelImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/ModelImpl.java
@@ -356,13 +356,13 @@
 		rootListeners2.addListener(rootListener);
 	}
 
-	protected void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	protected void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (rootListeners != null) {
 			rootListeners.didAddPackage(partialPackage);
 		}
 	}
 
-	protected void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	protected void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (rootListeners != null) {
 			rootListeners.didRemovePackage(partialPackage);
 		}
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/OrphanCompletePackageImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/OrphanCompletePackageImpl.java
index e1c404e..befbe4a 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/OrphanCompletePackageImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/OrphanCompletePackageImpl.java
@@ -78,7 +78,7 @@
 	}
 
 	@Override
-	public void assertSamePackage(@Nullable org.eclipse.ocl.pivot.Package domainPackage) {
+	public void assertSamePackage(org.eclipse.ocl.pivot.@Nullable Package domainPackage) {
 		assert domainPackage != null;
 		org.eclipse.ocl.pivot.Package parentPackage = domainPackage.getOwningPackage();
 		assert parentPackage == null;
@@ -106,7 +106,7 @@
 	}
 
 	@Override
-	public @NonNull CompleteClassInternal getCompleteClass(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull CompleteClassInternal getCompleteClass(org.eclipse.ocl.pivot.@NonNull Class type) {
 		WeakReference<OrphanCompleteClassImpl> ref = class2orphanCompleteClass.get(type);
 		if (ref != null) {
 			OrphanCompleteClassImpl orphanCompleteClass = ref.get();
@@ -114,7 +114,7 @@
 				return orphanCompleteClass;
 			}
 		}
-		final @NonNull org.eclipse.ocl.pivot.Class orphanClass = type;
+		final org.eclipse.ocl.pivot.@NonNull Class orphanClass = type;
 		OrphanCompleteClassImpl completeClass = new OrphanCompleteClassImpl();
 		completeClass.setName(orphanClass.getName());
 		completeClass.getPartialClasses().add(orphanClass);
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PackageImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PackageImpl.java
index 6f9487f..fe37420 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PackageImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PackageImpl.java
@@ -603,25 +603,25 @@
 		return packageId;
 	}
 
-	protected void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	protected void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (packageListeners != null) {
 			packageListeners.didAddClass(partialClass);
 		}
 	}
 
-	protected void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	protected void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (packageListeners != null) {
 			packageListeners.didAddPackage(partialPackage);
 		}
 	}
 
-	protected void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	protected void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (packageListeners != null) {
 			packageListeners.didRemoveClass(partialClass);
 		}
 	}
 
-	protected void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	protected void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (packageListeners != null) {
 			packageListeners.didRemovePackage(partialPackage);
 		}
@@ -635,7 +635,7 @@
 
 	@Override
 	
-	public @Nullable org.eclipse.ocl.pivot.Class getOwnedClass(String className) {
+	public org.eclipse.ocl.pivot.@Nullable Class getOwnedClass(String className) {
 		return NameUtil.getNameable(getOwnedClasses(), className);
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PrimitiveCompletePackageImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PrimitiveCompletePackageImpl.java
index 6774038..d40449e 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PrimitiveCompletePackageImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PrimitiveCompletePackageImpl.java
@@ -51,7 +51,7 @@
 	}
 
 	@Override
-	public @NonNull CompleteClassInternal getCompleteClass(final @NonNull org.eclipse.ocl.pivot.Class primitiveType) {
+	public @NonNull CompleteClassInternal getCompleteClass(final org.eclipse.ocl.pivot.@NonNull Class primitiveType) {
 		String name = primitiveType.getName();
 		CompleteClassInternal completeClass = getOwnedCompleteClass(name);
 		if (completeClass == null) {
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PropertyCallExpImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PropertyCallExpImpl.java
index 2c470a9..0929d54 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PropertyCallExpImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/PropertyCallExpImpl.java
@@ -430,7 +430,7 @@
 	 * @generated NOT
 	 */
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getSpecializedReferredPropertyOwningType()
+	public org.eclipse.ocl.pivot.@NonNull Class getSpecializedReferredPropertyOwningType()
 	{
 		Property referredProperty = getReferredProperty();
 		org.eclipse.ocl.pivot.Class referencedType = referredProperty.getOwningClass();
@@ -461,7 +461,7 @@
 	 * @generated NOT
 	 */
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getSpecializedReferredPropertyType()
+	public org.eclipse.ocl.pivot.@NonNull Class getSpecializedReferredPropertyType()
 	{
 		Property referredProperty = getReferredProperty();
 		Type referencedType = referredProperty.getType();
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/StandardLibraryImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/StandardLibraryImpl.java
index 3eab48b..d21c18c 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/StandardLibraryImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/StandardLibraryImpl.java
@@ -360,23 +360,23 @@
 
 	private @Nullable BagType bagType = null;
 	private @Nullable PrimitiveType booleanType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class classType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class classType = null;
 	private @Nullable CollectionType collectionType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class enumerationType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class enumerationType = null;
 	private @Nullable PrimitiveType integerType = null;
-	private @Nullable org.eclipse.ocl.pivot.Package libraryPackage = null;
+	private org.eclipse.ocl.pivot.@Nullable Package libraryPackage = null;
 	private @Nullable MapType mapType = null;
 	private @Nullable AnyType oclAnyType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class oclComparableType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class oclElementType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class oclComparableType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class oclElementType = null;
 	private @Nullable Operation oclInvalidOperation = null;
 	private @Nullable Property oclInvalidProperty = null;
 	private @Nullable InvalidType oclInvalidType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class oclLambdaType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class oclLambdaType = null;
 	private @Nullable SelfType oclSelfType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class oclSummableType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class oclTupleType = null;
-	private @Nullable org.eclipse.ocl.pivot.Class oclTypeType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class oclSummableType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class oclTupleType = null;
+	private org.eclipse.ocl.pivot.@Nullable Class oclTypeType = null;
 	private @Nullable VoidType oclVoidType = null;
 	private @Nullable CollectionType orderedCollectionType = null;
 	private @Nullable OrderedSetType orderedSetType = null;
@@ -408,7 +408,7 @@
 	}
 
 	@Override
-	public void defineLibraryType(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public void defineLibraryType(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		Map<String, org.eclipse.ocl.pivot.Class> nameToLibraryTypeMap2 = nameToLibraryTypeMap;
 		if (nameToLibraryTypeMap2 == null) {
 			nameToLibraryTypeMap = nameToLibraryTypeMap2 = new HashMap<String, org.eclipse.ocl.pivot.Class>();
@@ -429,7 +429,7 @@
 	 * Return the pivot model class for className with the Pivot Model.
 	 */
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getASClass(@NonNull String className) {
+	public org.eclipse.ocl.pivot.@Nullable Class getASClass(@NonNull String className) {
 		return environmentFactory.getMetamodelManager().getASClass(className);
 	}
 
@@ -519,7 +519,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getClassType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getClassType() {
 		org.eclipse.ocl.pivot.Class classType2 = classType;
 		if (classType2 == null) {
 			classType2 = classType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, TypeId.CLASS_NAME);		
@@ -537,13 +537,13 @@
 	}
 
 	@Override
-	public @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType,
+	public @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType,
 			@NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		return environmentFactory.getCompleteEnvironment().getCollectionType(containerType, elementType, isNullFree, lower, upper);
 	}
 
 	@Override
-	public @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class containerType,
+	public @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class containerType,
 			@NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		return environmentFactory.getCompleteEnvironment().getCollectionType(containerType, elementType, false, lower, upper);
 	}
@@ -559,7 +559,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getEnumerationType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getEnumerationType() {
 		org.eclipse.ocl.pivot.Class enumerationType2 = enumerationType;
 		if (enumerationType2 == null) {
 			enumerationType2 = enumerationType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, TypeId.ENUMERATION_NAME);		
@@ -569,7 +569,7 @@
 
 	@Override
 	@NonNull
-	public CompleteInheritance getInheritance(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public CompleteInheritance getInheritance(org.eclipse.ocl.pivot.@NonNull Class type) {
 		return environmentFactory.getMetamodelManager().getInheritance(type);
 	}
 
@@ -602,13 +602,13 @@
 	}
 
 	@Override
-	public @NonNull MapType getMapType(@NonNull org.eclipse.ocl.pivot.Class containerType,
+	public @NonNull MapType getMapType(org.eclipse.ocl.pivot.@NonNull Class containerType,
 			@NonNull Type keyType, @NonNull Type valueType) {
 		return environmentFactory.getCompleteEnvironment().getMapType(containerType, keyType, valueType);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getMetaclass(@NonNull Type classType) {
+	public org.eclipse.ocl.pivot.@NonNull Class getMetaclass(@NonNull Type classType) {
 		return environmentFactory.getMetamodelManager().getMetaclass(classType);
 	}
 
@@ -637,7 +637,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclComparableType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclComparableType() {
 		org.eclipse.ocl.pivot.Class oclComparableType2 = oclComparableType;
 		if (oclComparableType2 == null) {
 			oclComparableType2 = oclComparableType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, TypeId.OCL_COMPARABLE_NAME);		
@@ -646,7 +646,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclElementType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclElementType() {
 		org.eclipse.ocl.pivot.Class oclElementType2 = oclElementType;
 		if (oclElementType2 == null) {
 			oclElementType2 = oclElementType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, "OclElement");		
@@ -704,7 +704,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclLambdaType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclLambdaType() {
 		org.eclipse.ocl.pivot.Class oclLambdaType2 = oclLambdaType;
 		if (oclLambdaType2 == null) {
 			oclLambdaType2 = oclLambdaType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, "OclLambda");		
@@ -713,7 +713,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclMessageType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclMessageType() {
 		return getRequiredLibraryType("OclMessage");
 	}
 
@@ -727,7 +727,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclSummableType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclSummableType() {
 		org.eclipse.ocl.pivot.Class oclSummableType2 = oclSummableType;
 		if (oclSummableType2 == null) {
 			oclSummableType2 = oclSummableType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, TypeId.OCL_SUMMABLE_NAME);		
@@ -736,7 +736,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclTupleType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclTupleType() {
 		org.eclipse.ocl.pivot.Class oclTupleType2 = oclTupleType;
 		if (oclTupleType2 == null) {
 			oclTupleType2 = oclTupleType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, "OclTuple");		
@@ -750,7 +750,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclTypeType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclTypeType() {
 		org.eclipse.ocl.pivot.Class oclTypeType2 = oclTypeType;
 		if (oclTypeType2 == null) {
 			oclTypeType2 = oclTypeType = resolveRequiredSimpleType(org.eclipse.ocl.pivot.Class.class, "OclType");		
@@ -792,7 +792,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getPackage() {
+	public org.eclipse.ocl.pivot.@NonNull Package getPackage() {
 		org.eclipse.ocl.pivot.Package libraryPackage2 = libraryPackage;
 		if (libraryPackage2 == null) {
 			libraryPackage2 = libraryPackage = getOclAnyType().getOwningPackage();
@@ -816,7 +816,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getRequiredLibraryType(@NonNull String typeName) {
+	public org.eclipse.ocl.pivot.@NonNull Class getRequiredLibraryType(@NonNull String typeName) {
 		org.eclipse.ocl.pivot.Class type = getLibraryType(typeName);
 		if (type == null) {
 //			nameToLibraryTypeMap = null;
@@ -833,7 +833,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Package getRootPackage(@NonNull String completeURIorName) {
+	public org.eclipse.ocl.pivot.@Nullable Package getRootPackage(@NonNull String completeURIorName) {
 		Package rootPackage = completeModel.getRootPackage(completeURIorName);
 		if (rootPackage == null) {
 			if (PivotConstants.METAMODEL_NAME.equals(completeURIorName)) {
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/TemplateParameterImpl.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/TemplateParameterImpl.java
index a4817a4..b3ff030 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/TemplateParameterImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/internal/TemplateParameterImpl.java
@@ -364,7 +364,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
+	public org.eclipse.ocl.pivot.@NonNull Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
 		try {
 			return getInheritance(standardLibrary).getPivotClass();
 		}
@@ -412,7 +412,7 @@
 	}
 	
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class isClass() {
+	public org.eclipse.ocl.pivot.@Nullable Class isClass() {
 		return null;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/oclstdlib/OCLstdlibTables.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/oclstdlib/OCLstdlibTables.java
index b5385dd..3fb1d9c 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/oclstdlib/OCLstdlibTables.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/oclstdlib/OCLstdlibTables.java
@@ -1058,21 +1058,21 @@
 			Fragments._Bag__Collection /* 1 */,
 			Fragments._Bag__Bag /* 2 */
 		};
-		private static final @NonNull int[] __Bag = { 1,1,1 };
+		private static final int[] __Bag = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Boolean =
 		{
 			Fragments._Boolean__OclAny /* 0 */,
 			Fragments._Boolean__Boolean /* 1 */
 		};
-		private static final @NonNull int[] __Boolean = { 1,1 };
+		private static final int[] __Boolean = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Collection =
 		{
 			Fragments._Collection__OclAny /* 0 */,
 			Fragments._Collection__Collection /* 1 */
 		};
-		private static final @NonNull int[] __Collection = { 1,1 };
+		private static final int[] __Collection = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Integer =
 		{
@@ -1082,34 +1082,34 @@
 			Fragments._Integer__Real /* 2 */,
 			Fragments._Integer__Integer /* 3 */
 		};
-		private static final @NonNull int[] __Integer = { 1,2,1,1 };
+		private static final int[] __Integer = { 1,2,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Map =
 		{
 			Fragments._Map__OclAny /* 0 */,
 			Fragments._Map__Map /* 1 */
 		};
-		private static final @NonNull int[] __Map = { 1,1 };
+		private static final int[] __Map = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclAny =
 		{
 			Fragments._OclAny__OclAny /* 0 */
 		};
-		private static final @NonNull int[] __OclAny = { 1 };
+		private static final int[] __OclAny = { 1 };
 
 		private static final @NonNull ExecutorFragment[] _OclComparable =
 		{
 			Fragments._OclComparable__OclAny /* 0 */,
 			Fragments._OclComparable__OclComparable /* 1 */
 		};
-		private static final @NonNull int[] __OclComparable = { 1,1 };
+		private static final int[] __OclComparable = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclElement =
 		{
 			Fragments._OclElement__OclAny /* 0 */,
 			Fragments._OclElement__OclElement /* 1 */
 		};
-		private static final @NonNull int[] __OclElement = { 1,1 };
+		private static final int[] __OclElement = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclInvalid =
 		{
@@ -1117,49 +1117,49 @@
 			Fragments._OclInvalid__OclVoid /* 1 */,
 			Fragments._OclInvalid__OclInvalid /* 2 */
 		};
-		private static final @NonNull int[] __OclInvalid = { 1,1,1 };
+		private static final int[] __OclInvalid = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclLambda =
 		{
 			Fragments._OclLambda__OclAny /* 0 */,
 			Fragments._OclLambda__OclLambda /* 1 */
 		};
-		private static final @NonNull int[] __OclLambda = { 1,1 };
+		private static final int[] __OclLambda = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclMessage =
 		{
 			Fragments._OclMessage__OclAny /* 0 */,
 			Fragments._OclMessage__OclMessage /* 1 */
 		};
-		private static final @NonNull int[] __OclMessage = { 1,1 };
+		private static final int[] __OclMessage = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclSelf =
 		{
 			Fragments._OclSelf__OclAny /* 0 */,
 			Fragments._OclSelf__OclSelf /* 1 */
 		};
-		private static final @NonNull int[] __OclSelf = { 1,1 };
+		private static final int[] __OclSelf = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclState =
 		{
 			Fragments._OclState__OclAny /* 0 */,
 			Fragments._OclState__OclState /* 1 */
 		};
-		private static final @NonNull int[] __OclState = { 1,1 };
+		private static final int[] __OclState = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclSummable =
 		{
 			Fragments._OclSummable__OclAny /* 0 */,
 			Fragments._OclSummable__OclSummable /* 1 */
 		};
-		private static final @NonNull int[] __OclSummable = { 1,1 };
+		private static final int[] __OclSummable = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclTuple =
 		{
 			Fragments._OclTuple__OclAny /* 0 */,
 			Fragments._OclTuple__OclTuple /* 1 */
 		};
-		private static final @NonNull int[] __OclTuple = { 1,1 };
+		private static final int[] __OclTuple = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclType =
 		{
@@ -1167,14 +1167,14 @@
 			Fragments._OclType__OclElement /* 1 */,
 			Fragments._OclType__OclType /* 2 */
 		};
-		private static final @NonNull int[] __OclType = { 1,1,1 };
+		private static final int[] __OclType = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OclVoid =
 		{
 			Fragments._OclVoid__OclAny /* 0 */,
 			Fragments._OclVoid__OclVoid /* 1 */
 		};
-		private static final @NonNull int[] __OclVoid = { 1,1 };
+		private static final int[] __OclVoid = { 1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OrderedCollection =
 		{
@@ -1182,7 +1182,7 @@
 			Fragments._OrderedCollection__Collection /* 1 */,
 			Fragments._OrderedCollection__OrderedCollection /* 2 */
 		};
-		private static final @NonNull int[] __OrderedCollection = { 1,1,1 };
+		private static final int[] __OrderedCollection = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _OrderedSet =
 		{
@@ -1192,7 +1192,7 @@
 			Fragments._OrderedSet__UniqueCollection /* 2 */,
 			Fragments._OrderedSet__OrderedSet /* 3 */
 		};
-		private static final @NonNull int[] __OrderedSet = { 1,1,2,1 };
+		private static final int[] __OrderedSet = { 1,1,2,1 };
 
 		private static final @NonNull ExecutorFragment[] _Real =
 		{
@@ -1201,7 +1201,7 @@
 			Fragments._Real__OclSummable /* 1 */,
 			Fragments._Real__Real /* 2 */
 		};
-		private static final @NonNull int[] __Real = { 1,2,1 };
+		private static final int[] __Real = { 1,2,1 };
 
 		private static final @NonNull ExecutorFragment[] _Sequence =
 		{
@@ -1210,7 +1210,7 @@
 			Fragments._Sequence__OrderedCollection /* 2 */,
 			Fragments._Sequence__Sequence /* 3 */
 		};
-		private static final @NonNull int[] __Sequence = { 1,1,1,1 };
+		private static final int[] __Sequence = { 1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Set =
 		{
@@ -1219,7 +1219,7 @@
 			Fragments._Set__UniqueCollection /* 2 */,
 			Fragments._Set__Set /* 3 */
 		};
-		private static final @NonNull int[] __Set = { 1,1,1,1 };
+		private static final int[] __Set = { 1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _String =
 		{
@@ -1228,7 +1228,7 @@
 			Fragments._String__OclSummable /* 1 */,
 			Fragments._String__String /* 2 */
 		};
-		private static final @NonNull int[] __String = { 1,2,1 };
+		private static final int[] __String = { 1,2,1 };
 
 		private static final @NonNull ExecutorFragment[] _UniqueCollection =
 		{
@@ -1236,7 +1236,7 @@
 			Fragments._UniqueCollection__Collection /* 1 */,
 			Fragments._UniqueCollection__UniqueCollection /* 2 */
 		};
-		private static final @NonNull int[] __UniqueCollection = { 1,1,1 };
+		private static final int[] __UniqueCollection = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _UnlimitedNatural =
 		{
@@ -1244,7 +1244,7 @@
 			Fragments._UnlimitedNatural__OclComparable /* 1 */,
 			Fragments._UnlimitedNatural__UnlimitedNatural /* 2 */
 		};
-		private static final @NonNull int[] __UnlimitedNatural = { 1,1,1 };
+		private static final int[] __UnlimitedNatural = { 1,1,1 };
 
 		/**
 		 *	Install the fragment descriptors in the class descriptors.
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractDelegatingVisitor.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractDelegatingVisitor.java
index 6ae7546..43989b1 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractDelegatingVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractDelegatingVisitor.java
@@ -52,607 +52,607 @@
 	}
 
 	@Override
-	public @Nullable R visiting(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable) {
+	public @Nullable R visiting(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable) {
 		return delegate.visiting(visitable);
 	}
 
 	@Override
-	public @Nullable R visitAnnotation(@NonNull org.eclipse.ocl.pivot.Annotation object) {
+	public @Nullable R visitAnnotation(org.eclipse.ocl.pivot.@NonNull Annotation object) {
 		return delegate.visitAnnotation(object);
 	}
 
 	@Override
-	public @Nullable R visitAnyType(@NonNull org.eclipse.ocl.pivot.AnyType object) {
+	public @Nullable R visitAnyType(org.eclipse.ocl.pivot.@NonNull AnyType object) {
 		return delegate.visitAnyType(object);
 	}
 
 	@Override
-	public @Nullable R visitAssociationClass(@NonNull org.eclipse.ocl.pivot.AssociationClass object) {
+	public @Nullable R visitAssociationClass(org.eclipse.ocl.pivot.@NonNull AssociationClass object) {
 		return delegate.visitAssociationClass(object);
 	}
 
 	@Override
-	public @Nullable R visitAssociationClassCallExp(@NonNull org.eclipse.ocl.pivot.AssociationClassCallExp object) {
+	public @Nullable R visitAssociationClassCallExp(org.eclipse.ocl.pivot.@NonNull AssociationClassCallExp object) {
 		return delegate.visitAssociationClassCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitBagType(@NonNull org.eclipse.ocl.pivot.BagType object) {
+	public @Nullable R visitBagType(org.eclipse.ocl.pivot.@NonNull BagType object) {
 		return delegate.visitBagType(object);
 	}
 
 	@Override
-	public @Nullable R visitBehavior(@NonNull org.eclipse.ocl.pivot.Behavior object) {
+	public @Nullable R visitBehavior(org.eclipse.ocl.pivot.@NonNull Behavior object) {
 		return delegate.visitBehavior(object);
 	}
 
 	@Override
-	public @Nullable R visitBooleanLiteralExp(@NonNull org.eclipse.ocl.pivot.BooleanLiteralExp object) {
+	public @Nullable R visitBooleanLiteralExp(org.eclipse.ocl.pivot.@NonNull BooleanLiteralExp object) {
 		return delegate.visitBooleanLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitCallExp(@NonNull org.eclipse.ocl.pivot.CallExp object) {
+	public @Nullable R visitCallExp(org.eclipse.ocl.pivot.@NonNull CallExp object) {
 		return delegate.visitCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitCallOperationAction(@NonNull org.eclipse.ocl.pivot.CallOperationAction object) {
+	public @Nullable R visitCallOperationAction(org.eclipse.ocl.pivot.@NonNull CallOperationAction object) {
 		return delegate.visitCallOperationAction(object);
 	}
 
 	@Override
-	public @Nullable R visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public @Nullable R visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		return delegate.visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionItem(@NonNull org.eclipse.ocl.pivot.CollectionItem object) {
+	public @Nullable R visitCollectionItem(org.eclipse.ocl.pivot.@NonNull CollectionItem object) {
 		return delegate.visitCollectionItem(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralExp(@NonNull org.eclipse.ocl.pivot.CollectionLiteralExp object) {
+	public @Nullable R visitCollectionLiteralExp(org.eclipse.ocl.pivot.@NonNull CollectionLiteralExp object) {
 		return delegate.visitCollectionLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralPart(@NonNull org.eclipse.ocl.pivot.CollectionLiteralPart object) {
+	public @Nullable R visitCollectionLiteralPart(org.eclipse.ocl.pivot.@NonNull CollectionLiteralPart object) {
 		return delegate.visitCollectionLiteralPart(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionRange(@NonNull org.eclipse.ocl.pivot.CollectionRange object) {
+	public @Nullable R visitCollectionRange(org.eclipse.ocl.pivot.@NonNull CollectionRange object) {
 		return delegate.visitCollectionRange(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionType(@NonNull org.eclipse.ocl.pivot.CollectionType object) {
+	public @Nullable R visitCollectionType(org.eclipse.ocl.pivot.@NonNull CollectionType object) {
 		return delegate.visitCollectionType(object);
 	}
 
 	@Override
-	public @Nullable R visitComment(@NonNull org.eclipse.ocl.pivot.Comment object) {
+	public @Nullable R visitComment(org.eclipse.ocl.pivot.@NonNull Comment object) {
 		return delegate.visitComment(object);
 	}
 
 	@Override
-	public @Nullable R visitCompleteClass(@NonNull org.eclipse.ocl.pivot.CompleteClass object) {
+	public @Nullable R visitCompleteClass(org.eclipse.ocl.pivot.@NonNull CompleteClass object) {
 		return delegate.visitCompleteClass(object);
 	}
 
 	@Override
-	public @Nullable R visitCompleteEnvironment(@NonNull org.eclipse.ocl.pivot.CompleteEnvironment object) {
+	public @Nullable R visitCompleteEnvironment(org.eclipse.ocl.pivot.@NonNull CompleteEnvironment object) {
 		return delegate.visitCompleteEnvironment(object);
 	}
 
 	@Override
-	public @Nullable R visitCompleteModel(@NonNull org.eclipse.ocl.pivot.CompleteModel object) {
+	public @Nullable R visitCompleteModel(org.eclipse.ocl.pivot.@NonNull CompleteModel object) {
 		return delegate.visitCompleteModel(object);
 	}
 
 	@Override
-	public @Nullable R visitCompletePackage(@NonNull org.eclipse.ocl.pivot.CompletePackage object) {
+	public @Nullable R visitCompletePackage(org.eclipse.ocl.pivot.@NonNull CompletePackage object) {
 		return delegate.visitCompletePackage(object);
 	}
 
 	@Override
-	public @Nullable R visitConnectionPointReference(@NonNull org.eclipse.ocl.pivot.ConnectionPointReference object) {
+	public @Nullable R visitConnectionPointReference(org.eclipse.ocl.pivot.@NonNull ConnectionPointReference object) {
 		return delegate.visitConnectionPointReference(object);
 	}
 
 	@Override
-	public @Nullable R visitConstraint(@NonNull org.eclipse.ocl.pivot.Constraint object) {
+	public @Nullable R visitConstraint(org.eclipse.ocl.pivot.@NonNull Constraint object) {
 		return delegate.visitConstraint(object);
 	}
 
 	@Override
-	public @Nullable R visitDataType(@NonNull org.eclipse.ocl.pivot.DataType object) {
+	public @Nullable R visitDataType(org.eclipse.ocl.pivot.@NonNull DataType object) {
 		return delegate.visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitDetail(@NonNull org.eclipse.ocl.pivot.Detail object) {
+	public @Nullable R visitDetail(org.eclipse.ocl.pivot.@NonNull Detail object) {
 		return delegate.visitDetail(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicBehavior(@NonNull org.eclipse.ocl.pivot.DynamicBehavior object) {
+	public @Nullable R visitDynamicBehavior(org.eclipse.ocl.pivot.@NonNull DynamicBehavior object) {
 		return delegate.visitDynamicBehavior(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicElement(@NonNull org.eclipse.ocl.pivot.DynamicElement object) {
+	public @Nullable R visitDynamicElement(org.eclipse.ocl.pivot.@NonNull DynamicElement object) {
 		return delegate.visitDynamicElement(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicProperty(@NonNull org.eclipse.ocl.pivot.DynamicProperty object) {
+	public @Nullable R visitDynamicProperty(org.eclipse.ocl.pivot.@NonNull DynamicProperty object) {
 		return delegate.visitDynamicProperty(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicType(@NonNull org.eclipse.ocl.pivot.DynamicType object) {
+	public @Nullable R visitDynamicType(org.eclipse.ocl.pivot.@NonNull DynamicType object) {
 		return delegate.visitDynamicType(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicValueSpecification(@NonNull org.eclipse.ocl.pivot.DynamicValueSpecification object) {
+	public @Nullable R visitDynamicValueSpecification(org.eclipse.ocl.pivot.@NonNull DynamicValueSpecification object) {
 		return delegate.visitDynamicValueSpecification(object);
 	}
 
 	@Override
-	public @Nullable R visitElement(@NonNull org.eclipse.ocl.pivot.Element object) {
+	public @Nullable R visitElement(org.eclipse.ocl.pivot.@NonNull Element object) {
 		return delegate.visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitElementExtension(@NonNull org.eclipse.ocl.pivot.ElementExtension object) {
+	public @Nullable R visitElementExtension(org.eclipse.ocl.pivot.@NonNull ElementExtension object) {
 		return delegate.visitElementExtension(object);
 	}
 
 	@Override
-	public @Nullable R visitEnumLiteralExp(@NonNull org.eclipse.ocl.pivot.EnumLiteralExp object) {
+	public @Nullable R visitEnumLiteralExp(org.eclipse.ocl.pivot.@NonNull EnumLiteralExp object) {
 		return delegate.visitEnumLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object) {
+	public @Nullable R visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object) {
 		return delegate.visitEnumeration(object);
 	}
 
 	@Override
-	public @Nullable R visitEnumerationLiteral(@NonNull org.eclipse.ocl.pivot.EnumerationLiteral object) {
+	public @Nullable R visitEnumerationLiteral(org.eclipse.ocl.pivot.@NonNull EnumerationLiteral object) {
 		return delegate.visitEnumerationLiteral(object);
 	}
 
 	@Override
-	public @Nullable R visitExpressionInOCL(@NonNull org.eclipse.ocl.pivot.ExpressionInOCL object) {
+	public @Nullable R visitExpressionInOCL(org.eclipse.ocl.pivot.@NonNull ExpressionInOCL object) {
 		return delegate.visitExpressionInOCL(object);
 	}
 
 	@Override
-	public @Nullable R visitFeature(@NonNull org.eclipse.ocl.pivot.Feature object) {
+	public @Nullable R visitFeature(org.eclipse.ocl.pivot.@NonNull Feature object) {
 		return delegate.visitFeature(object);
 	}
 
 	@Override
-	public @Nullable R visitFeatureCallExp(@NonNull org.eclipse.ocl.pivot.FeatureCallExp object) {
+	public @Nullable R visitFeatureCallExp(org.eclipse.ocl.pivot.@NonNull FeatureCallExp object) {
 		return delegate.visitFeatureCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitFinalState(@NonNull org.eclipse.ocl.pivot.FinalState object) {
+	public @Nullable R visitFinalState(org.eclipse.ocl.pivot.@NonNull FinalState object) {
 		return delegate.visitFinalState(object);
 	}
 
 	@Override
-	public @Nullable R visitIfExp(@NonNull org.eclipse.ocl.pivot.IfExp object) {
+	public @Nullable R visitIfExp(org.eclipse.ocl.pivot.@NonNull IfExp object) {
 		return delegate.visitIfExp(object);
 	}
 
 	@Override
-	public @Nullable R visitImport(@NonNull org.eclipse.ocl.pivot.Import object) {
+	public @Nullable R visitImport(org.eclipse.ocl.pivot.@NonNull Import object) {
 		return delegate.visitImport(object);
 	}
 
 	@Override
-	public @Nullable R visitInstanceSpecification(@NonNull org.eclipse.ocl.pivot.InstanceSpecification object) {
+	public @Nullable R visitInstanceSpecification(org.eclipse.ocl.pivot.@NonNull InstanceSpecification object) {
 		return delegate.visitInstanceSpecification(object);
 	}
 
 	@Override
-	public @Nullable R visitIntegerLiteralExp(@NonNull org.eclipse.ocl.pivot.IntegerLiteralExp object) {
+	public @Nullable R visitIntegerLiteralExp(org.eclipse.ocl.pivot.@NonNull IntegerLiteralExp object) {
 		return delegate.visitIntegerLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitInvalidLiteralExp(@NonNull org.eclipse.ocl.pivot.InvalidLiteralExp object) {
+	public @Nullable R visitInvalidLiteralExp(org.eclipse.ocl.pivot.@NonNull InvalidLiteralExp object) {
 		return delegate.visitInvalidLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitInvalidType(@NonNull org.eclipse.ocl.pivot.InvalidType object) {
+	public @Nullable R visitInvalidType(org.eclipse.ocl.pivot.@NonNull InvalidType object) {
 		return delegate.visitInvalidType(object);
 	}
 
 	@Override
-	public @Nullable R visitIterateExp(@NonNull org.eclipse.ocl.pivot.IterateExp object) {
+	public @Nullable R visitIterateExp(org.eclipse.ocl.pivot.@NonNull IterateExp object) {
 		return delegate.visitIterateExp(object);
 	}
 
 	@Override
-	public @Nullable R visitIteration(@NonNull org.eclipse.ocl.pivot.Iteration object) {
+	public @Nullable R visitIteration(org.eclipse.ocl.pivot.@NonNull Iteration object) {
 		return delegate.visitIteration(object);
 	}
 
 	@Override
-	public @Nullable R visitIteratorExp(@NonNull org.eclipse.ocl.pivot.IteratorExp object) {
+	public @Nullable R visitIteratorExp(org.eclipse.ocl.pivot.@NonNull IteratorExp object) {
 		return delegate.visitIteratorExp(object);
 	}
 
 	@Override
-	public @Nullable R visitLambdaType(@NonNull org.eclipse.ocl.pivot.LambdaType object) {
+	public @Nullable R visitLambdaType(org.eclipse.ocl.pivot.@NonNull LambdaType object) {
 		return delegate.visitLambdaType(object);
 	}
 
 	@Override
-	public @Nullable R visitLanguageExpression(@NonNull org.eclipse.ocl.pivot.LanguageExpression object) {
+	public @Nullable R visitLanguageExpression(org.eclipse.ocl.pivot.@NonNull LanguageExpression object) {
 		return delegate.visitLanguageExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitLetExp(@NonNull org.eclipse.ocl.pivot.LetExp object) {
+	public @Nullable R visitLetExp(org.eclipse.ocl.pivot.@NonNull LetExp object) {
 		return delegate.visitLetExp(object);
 	}
 
 	@Override
-	public @Nullable R visitLibrary(@NonNull org.eclipse.ocl.pivot.Library object) {
+	public @Nullable R visitLibrary(org.eclipse.ocl.pivot.@NonNull Library object) {
 		return delegate.visitLibrary(object);
 	}
 
 	@Override
-	public @Nullable R visitLiteralExp(@NonNull org.eclipse.ocl.pivot.LiteralExp object) {
+	public @Nullable R visitLiteralExp(org.eclipse.ocl.pivot.@NonNull LiteralExp object) {
 		return delegate.visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitLoopExp(@NonNull org.eclipse.ocl.pivot.LoopExp object) {
+	public @Nullable R visitLoopExp(org.eclipse.ocl.pivot.@NonNull LoopExp object) {
 		return delegate.visitLoopExp(object);
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralExp(@NonNull org.eclipse.ocl.pivot.MapLiteralExp object) {
+	public @Nullable R visitMapLiteralExp(org.eclipse.ocl.pivot.@NonNull MapLiteralExp object) {
 		return delegate.visitMapLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralPart(@NonNull org.eclipse.ocl.pivot.MapLiteralPart object) {
+	public @Nullable R visitMapLiteralPart(org.eclipse.ocl.pivot.@NonNull MapLiteralPart object) {
 		return delegate.visitMapLiteralPart(object);
 	}
 
 	@Override
-	public @Nullable R visitMapType(@NonNull org.eclipse.ocl.pivot.MapType object) {
+	public @Nullable R visitMapType(org.eclipse.ocl.pivot.@NonNull MapType object) {
 		return delegate.visitMapType(object);
 	}
 
 	@Override
-	public @Nullable R visitMessageExp(@NonNull org.eclipse.ocl.pivot.MessageExp object) {
+	public @Nullable R visitMessageExp(org.eclipse.ocl.pivot.@NonNull MessageExp object) {
 		return delegate.visitMessageExp(object);
 	}
 
 	@Override
-	public @Nullable R visitMessageType(@NonNull org.eclipse.ocl.pivot.MessageType object) {
+	public @Nullable R visitMessageType(org.eclipse.ocl.pivot.@NonNull MessageType object) {
 		return delegate.visitMessageType(object);
 	}
 
 	@Override
-	public @Nullable R visitModel(@NonNull org.eclipse.ocl.pivot.Model object) {
+	public @Nullable R visitModel(org.eclipse.ocl.pivot.@NonNull Model object) {
 		return delegate.visitModel(object);
 	}
 
 	@Override
-	public @Nullable R visitNamedElement(@NonNull org.eclipse.ocl.pivot.NamedElement object) {
+	public @Nullable R visitNamedElement(org.eclipse.ocl.pivot.@NonNull NamedElement object) {
 		return delegate.visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitNamespace(@NonNull org.eclipse.ocl.pivot.Namespace object) {
+	public @Nullable R visitNamespace(org.eclipse.ocl.pivot.@NonNull Namespace object) {
 		return delegate.visitNamespace(object);
 	}
 
 	@Override
-	public @Nullable R visitNavigationCallExp(@NonNull org.eclipse.ocl.pivot.NavigationCallExp object) {
+	public @Nullable R visitNavigationCallExp(org.eclipse.ocl.pivot.@NonNull NavigationCallExp object) {
 		return delegate.visitNavigationCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitNullLiteralExp(@NonNull org.eclipse.ocl.pivot.NullLiteralExp object) {
+	public @Nullable R visitNullLiteralExp(org.eclipse.ocl.pivot.@NonNull NullLiteralExp object) {
 		return delegate.visitNullLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitNumericLiteralExp(@NonNull org.eclipse.ocl.pivot.NumericLiteralExp object) {
+	public @Nullable R visitNumericLiteralExp(org.eclipse.ocl.pivot.@NonNull NumericLiteralExp object) {
 		return delegate.visitNumericLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitOCLExpression(@NonNull org.eclipse.ocl.pivot.OCLExpression object) {
+	public @Nullable R visitOCLExpression(org.eclipse.ocl.pivot.@NonNull OCLExpression object) {
 		return delegate.visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitOperation(@NonNull org.eclipse.ocl.pivot.Operation object) {
+	public @Nullable R visitOperation(org.eclipse.ocl.pivot.@NonNull Operation object) {
 		return delegate.visitOperation(object);
 	}
 
 	@Override
-	public @Nullable R visitOperationCallExp(@NonNull org.eclipse.ocl.pivot.OperationCallExp object) {
+	public @Nullable R visitOperationCallExp(org.eclipse.ocl.pivot.@NonNull OperationCallExp object) {
 		return delegate.visitOperationCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitOppositePropertyCallExp(@NonNull org.eclipse.ocl.pivot.OppositePropertyCallExp object) {
+	public @Nullable R visitOppositePropertyCallExp(org.eclipse.ocl.pivot.@NonNull OppositePropertyCallExp object) {
 		return delegate.visitOppositePropertyCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitOrderedSetType(@NonNull org.eclipse.ocl.pivot.OrderedSetType object) {
+	public @Nullable R visitOrderedSetType(org.eclipse.ocl.pivot.@NonNull OrderedSetType object) {
 		return delegate.visitOrderedSetType(object);
 	}
 
 	@Override
-	public @Nullable R visitOrphanCompletePackage(@NonNull org.eclipse.ocl.pivot.OrphanCompletePackage object) {
+	public @Nullable R visitOrphanCompletePackage(org.eclipse.ocl.pivot.@NonNull OrphanCompletePackage object) {
 		return delegate.visitOrphanCompletePackage(object);
 	}
 
 	@Override
-	public @Nullable R visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public @Nullable R visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		return delegate.visitPackage(object);
 	}
 
 	@Override
-	public @Nullable R visitParameter(@NonNull org.eclipse.ocl.pivot.Parameter object) {
+	public @Nullable R visitParameter(org.eclipse.ocl.pivot.@NonNull Parameter object) {
 		return delegate.visitParameter(object);
 	}
 
 	@Override
-	public @Nullable R visitPrecedence(@NonNull org.eclipse.ocl.pivot.Precedence object) {
+	public @Nullable R visitPrecedence(org.eclipse.ocl.pivot.@NonNull Precedence object) {
 		return delegate.visitPrecedence(object);
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveCompletePackage(@NonNull org.eclipse.ocl.pivot.PrimitiveCompletePackage object) {
+	public @Nullable R visitPrimitiveCompletePackage(org.eclipse.ocl.pivot.@NonNull PrimitiveCompletePackage object) {
 		return delegate.visitPrimitiveCompletePackage(object);
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveLiteralExp(@NonNull org.eclipse.ocl.pivot.PrimitiveLiteralExp object) {
+	public @Nullable R visitPrimitiveLiteralExp(org.eclipse.ocl.pivot.@NonNull PrimitiveLiteralExp object) {
 		return delegate.visitPrimitiveLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveType(@NonNull org.eclipse.ocl.pivot.PrimitiveType object) {
+	public @Nullable R visitPrimitiveType(org.eclipse.ocl.pivot.@NonNull PrimitiveType object) {
 		return delegate.visitPrimitiveType(object);
 	}
 
 	@Override
-	public @Nullable R visitProfile(@NonNull org.eclipse.ocl.pivot.Profile object) {
+	public @Nullable R visitProfile(org.eclipse.ocl.pivot.@NonNull Profile object) {
 		return delegate.visitProfile(object);
 	}
 
 	@Override
-	public @Nullable R visitProfileApplication(@NonNull org.eclipse.ocl.pivot.ProfileApplication object) {
+	public @Nullable R visitProfileApplication(org.eclipse.ocl.pivot.@NonNull ProfileApplication object) {
 		return delegate.visitProfileApplication(object);
 	}
 
 	@Override
-	public @Nullable R visitProperty(@NonNull org.eclipse.ocl.pivot.Property object) {
+	public @Nullable R visitProperty(org.eclipse.ocl.pivot.@NonNull Property object) {
 		return delegate.visitProperty(object);
 	}
 
 	@Override
-	public @Nullable R visitPropertyCallExp(@NonNull org.eclipse.ocl.pivot.PropertyCallExp object) {
+	public @Nullable R visitPropertyCallExp(org.eclipse.ocl.pivot.@NonNull PropertyCallExp object) {
 		return delegate.visitPropertyCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitPseudostate(@NonNull org.eclipse.ocl.pivot.Pseudostate object) {
+	public @Nullable R visitPseudostate(org.eclipse.ocl.pivot.@NonNull Pseudostate object) {
 		return delegate.visitPseudostate(object);
 	}
 
 	@Override
-	public @Nullable R visitRealLiteralExp(@NonNull org.eclipse.ocl.pivot.RealLiteralExp object) {
+	public @Nullable R visitRealLiteralExp(org.eclipse.ocl.pivot.@NonNull RealLiteralExp object) {
 		return delegate.visitRealLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitRegion(@NonNull org.eclipse.ocl.pivot.Region object) {
+	public @Nullable R visitRegion(org.eclipse.ocl.pivot.@NonNull Region object) {
 		return delegate.visitRegion(object);
 	}
 
 	@Override
-	public @Nullable R visitSelfType(@NonNull org.eclipse.ocl.pivot.SelfType object) {
+	public @Nullable R visitSelfType(org.eclipse.ocl.pivot.@NonNull SelfType object) {
 		return delegate.visitSelfType(object);
 	}
 
 	@Override
-	public @Nullable R visitSendSignalAction(@NonNull org.eclipse.ocl.pivot.SendSignalAction object) {
+	public @Nullable R visitSendSignalAction(org.eclipse.ocl.pivot.@NonNull SendSignalAction object) {
 		return delegate.visitSendSignalAction(object);
 	}
 
 	@Override
-	public @Nullable R visitSequenceType(@NonNull org.eclipse.ocl.pivot.SequenceType object) {
+	public @Nullable R visitSequenceType(org.eclipse.ocl.pivot.@NonNull SequenceType object) {
 		return delegate.visitSequenceType(object);
 	}
 
 	@Override
-	public @Nullable R visitSetType(@NonNull org.eclipse.ocl.pivot.SetType object) {
+	public @Nullable R visitSetType(org.eclipse.ocl.pivot.@NonNull SetType object) {
 		return delegate.visitSetType(object);
 	}
 
 	@Override
-	public @Nullable R visitShadowExp(@NonNull org.eclipse.ocl.pivot.ShadowExp object) {
+	public @Nullable R visitShadowExp(org.eclipse.ocl.pivot.@NonNull ShadowExp object) {
 		return delegate.visitShadowExp(object);
 	}
 
 	@Override
-	public @Nullable R visitShadowPart(@NonNull org.eclipse.ocl.pivot.ShadowPart object) {
+	public @Nullable R visitShadowPart(org.eclipse.ocl.pivot.@NonNull ShadowPart object) {
 		return delegate.visitShadowPart(object);
 	}
 
 	@Override
-	public @Nullable R visitSignal(@NonNull org.eclipse.ocl.pivot.Signal object) {
+	public @Nullable R visitSignal(org.eclipse.ocl.pivot.@NonNull Signal object) {
 		return delegate.visitSignal(object);
 	}
 
 	@Override
-	public @Nullable R visitSlot(@NonNull org.eclipse.ocl.pivot.Slot object) {
+	public @Nullable R visitSlot(org.eclipse.ocl.pivot.@NonNull Slot object) {
 		return delegate.visitSlot(object);
 	}
 
 	@Override
-	public @Nullable R visitStandardLibrary(@NonNull org.eclipse.ocl.pivot.StandardLibrary object) {
+	public @Nullable R visitStandardLibrary(org.eclipse.ocl.pivot.@NonNull StandardLibrary object) {
 		return delegate.visitStandardLibrary(object);
 	}
 
 	@Override
-	public @Nullable R visitState(@NonNull org.eclipse.ocl.pivot.State object) {
+	public @Nullable R visitState(org.eclipse.ocl.pivot.@NonNull State object) {
 		return delegate.visitState(object);
 	}
 
 	@Override
-	public @Nullable R visitStateExp(@NonNull org.eclipse.ocl.pivot.StateExp object) {
+	public @Nullable R visitStateExp(org.eclipse.ocl.pivot.@NonNull StateExp object) {
 		return delegate.visitStateExp(object);
 	}
 
 	@Override
-	public @Nullable R visitStateMachine(@NonNull org.eclipse.ocl.pivot.StateMachine object) {
+	public @Nullable R visitStateMachine(org.eclipse.ocl.pivot.@NonNull StateMachine object) {
 		return delegate.visitStateMachine(object);
 	}
 
 	@Override
-	public @Nullable R visitStereotype(@NonNull org.eclipse.ocl.pivot.Stereotype object) {
+	public @Nullable R visitStereotype(org.eclipse.ocl.pivot.@NonNull Stereotype object) {
 		return delegate.visitStereotype(object);
 	}
 
 	@Override
-	public @Nullable R visitStereotypeExtender(@NonNull org.eclipse.ocl.pivot.StereotypeExtender object) {
+	public @Nullable R visitStereotypeExtender(org.eclipse.ocl.pivot.@NonNull StereotypeExtender object) {
 		return delegate.visitStereotypeExtender(object);
 	}
 
 	@Override
-	public @Nullable R visitStringLiteralExp(@NonNull org.eclipse.ocl.pivot.StringLiteralExp object) {
+	public @Nullable R visitStringLiteralExp(org.eclipse.ocl.pivot.@NonNull StringLiteralExp object) {
 		return delegate.visitStringLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateBinding(@NonNull org.eclipse.ocl.pivot.TemplateBinding object) {
+	public @Nullable R visitTemplateBinding(org.eclipse.ocl.pivot.@NonNull TemplateBinding object) {
 		return delegate.visitTemplateBinding(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameter(@NonNull org.eclipse.ocl.pivot.TemplateParameter object) {
+	public @Nullable R visitTemplateParameter(org.eclipse.ocl.pivot.@NonNull TemplateParameter object) {
 		return delegate.visitTemplateParameter(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameterSubstitution(@NonNull org.eclipse.ocl.pivot.TemplateParameterSubstitution object) {
+	public @Nullable R visitTemplateParameterSubstitution(org.eclipse.ocl.pivot.@NonNull TemplateParameterSubstitution object) {
 		return delegate.visitTemplateParameterSubstitution(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateSignature(@NonNull org.eclipse.ocl.pivot.TemplateSignature object) {
+	public @Nullable R visitTemplateSignature(org.eclipse.ocl.pivot.@NonNull TemplateSignature object) {
 		return delegate.visitTemplateSignature(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateableElement(@NonNull org.eclipse.ocl.pivot.TemplateableElement object) {
+	public @Nullable R visitTemplateableElement(org.eclipse.ocl.pivot.@NonNull TemplateableElement object) {
 		return delegate.visitTemplateableElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTransition(@NonNull org.eclipse.ocl.pivot.Transition object) {
+	public @Nullable R visitTransition(org.eclipse.ocl.pivot.@NonNull Transition object) {
 		return delegate.visitTransition(object);
 	}
 
 	@Override
-	public @Nullable R visitTrigger(@NonNull org.eclipse.ocl.pivot.Trigger object) {
+	public @Nullable R visitTrigger(org.eclipse.ocl.pivot.@NonNull Trigger object) {
 		return delegate.visitTrigger(object);
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralExp(@NonNull org.eclipse.ocl.pivot.TupleLiteralExp object) {
+	public @Nullable R visitTupleLiteralExp(org.eclipse.ocl.pivot.@NonNull TupleLiteralExp object) {
 		return delegate.visitTupleLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralPart(@NonNull org.eclipse.ocl.pivot.TupleLiteralPart object) {
+	public @Nullable R visitTupleLiteralPart(org.eclipse.ocl.pivot.@NonNull TupleLiteralPart object) {
 		return delegate.visitTupleLiteralPart(object);
 	}
 
 	@Override
-	public @Nullable R visitTupleType(@NonNull org.eclipse.ocl.pivot.TupleType object) {
+	public @Nullable R visitTupleType(org.eclipse.ocl.pivot.@NonNull TupleType object) {
 		return delegate.visitTupleType(object);
 	}
 
 	@Override
-	public @Nullable R visitType(@NonNull org.eclipse.ocl.pivot.Type object) {
+	public @Nullable R visitType(org.eclipse.ocl.pivot.@NonNull Type object) {
 		return delegate.visitType(object);
 	}
 
 	@Override
-	public @Nullable R visitTypeExp(@NonNull org.eclipse.ocl.pivot.TypeExp object) {
+	public @Nullable R visitTypeExp(org.eclipse.ocl.pivot.@NonNull TypeExp object) {
 		return delegate.visitTypeExp(object);
 	}
 
 	@Override
-	public @Nullable R visitTypedElement(@NonNull org.eclipse.ocl.pivot.TypedElement object) {
+	public @Nullable R visitTypedElement(org.eclipse.ocl.pivot.@NonNull TypedElement object) {
 		return delegate.visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitUnlimitedNaturalLiteralExp(@NonNull org.eclipse.ocl.pivot.UnlimitedNaturalLiteralExp object) {
+	public @Nullable R visitUnlimitedNaturalLiteralExp(org.eclipse.ocl.pivot.@NonNull UnlimitedNaturalLiteralExp object) {
 		return delegate.visitUnlimitedNaturalLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitUnspecifiedValueExp(@NonNull org.eclipse.ocl.pivot.UnspecifiedValueExp object) {
+	public @Nullable R visitUnspecifiedValueExp(org.eclipse.ocl.pivot.@NonNull UnspecifiedValueExp object) {
 		return delegate.visitUnspecifiedValueExp(object);
 	}
 
 	@Override
-	public @Nullable R visitValueSpecification(@NonNull org.eclipse.ocl.pivot.ValueSpecification object) {
+	public @Nullable R visitValueSpecification(org.eclipse.ocl.pivot.@NonNull ValueSpecification object) {
 		return delegate.visitValueSpecification(object);
 	}
 
 	@Override
-	public @Nullable R visitVariable(@NonNull org.eclipse.ocl.pivot.Variable object) {
+	public @Nullable R visitVariable(org.eclipse.ocl.pivot.@NonNull Variable object) {
 		return delegate.visitVariable(object);
 	}
 
 	@Override
-	public @Nullable R visitVariableDeclaration(@NonNull org.eclipse.ocl.pivot.VariableDeclaration object) {
+	public @Nullable R visitVariableDeclaration(org.eclipse.ocl.pivot.@NonNull VariableDeclaration object) {
 		return delegate.visitVariableDeclaration(object);
 	}
 
 	@Override
-	public @Nullable R visitVariableExp(@NonNull org.eclipse.ocl.pivot.VariableExp object) {
+	public @Nullable R visitVariableExp(org.eclipse.ocl.pivot.@NonNull VariableExp object) {
 		return delegate.visitVariableExp(object);
 	}
 
 	@Override
-	public @Nullable R visitVertex(@NonNull org.eclipse.ocl.pivot.Vertex object) {
+	public @Nullable R visitVertex(org.eclipse.ocl.pivot.@NonNull Vertex object) {
 		return delegate.visitVertex(object);
 	}
 
 	@Override
-	public @Nullable R visitVoidType(@NonNull org.eclipse.ocl.pivot.VoidType object) {
+	public @Nullable R visitVoidType(org.eclipse.ocl.pivot.@NonNull VoidType object) {
 		return delegate.visitVoidType(object);
 	}
 
 	@Override
-	public @Nullable R visitWildcardType(@NonNull org.eclipse.ocl.pivot.WildcardType object) {
+	public @Nullable R visitWildcardType(org.eclipse.ocl.pivot.@NonNull WildcardType object) {
 		return delegate.visitWildcardType(object);
 	}
 }
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractExtendingVisitor.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractExtendingVisitor.java
index b748703..8ee22ad 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractExtendingVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractExtendingVisitor.java
@@ -39,602 +39,602 @@
 	}	
 
 	@Override
-	public @Nullable R visitAnnotation(@NonNull org.eclipse.ocl.pivot.Annotation object) {
+	public @Nullable R visitAnnotation(org.eclipse.ocl.pivot.@NonNull Annotation object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitAnyType(@NonNull org.eclipse.ocl.pivot.AnyType object) {
+	public @Nullable R visitAnyType(org.eclipse.ocl.pivot.@NonNull AnyType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitAssociationClass(@NonNull org.eclipse.ocl.pivot.AssociationClass object) {
+	public @Nullable R visitAssociationClass(org.eclipse.ocl.pivot.@NonNull AssociationClass object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitAssociationClassCallExp(@NonNull org.eclipse.ocl.pivot.AssociationClassCallExp object) {
+	public @Nullable R visitAssociationClassCallExp(org.eclipse.ocl.pivot.@NonNull AssociationClassCallExp object) {
 		return visitNavigationCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitBagType(@NonNull org.eclipse.ocl.pivot.BagType object) {
+	public @Nullable R visitBagType(org.eclipse.ocl.pivot.@NonNull BagType object) {
 		return visitCollectionType(object);
 	}
 
 	@Override
-	public @Nullable R visitBehavior(@NonNull org.eclipse.ocl.pivot.Behavior object) {
+	public @Nullable R visitBehavior(org.eclipse.ocl.pivot.@NonNull Behavior object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitBooleanLiteralExp(@NonNull org.eclipse.ocl.pivot.BooleanLiteralExp object) {
+	public @Nullable R visitBooleanLiteralExp(org.eclipse.ocl.pivot.@NonNull BooleanLiteralExp object) {
 		return visitPrimitiveLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitCallExp(@NonNull org.eclipse.ocl.pivot.CallExp object) {
+	public @Nullable R visitCallExp(org.eclipse.ocl.pivot.@NonNull CallExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitCallOperationAction(@NonNull org.eclipse.ocl.pivot.CallOperationAction object) {
+	public @Nullable R visitCallOperationAction(org.eclipse.ocl.pivot.@NonNull CallOperationAction object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public @Nullable R visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		return visitType(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionItem(@NonNull org.eclipse.ocl.pivot.CollectionItem object) {
+	public @Nullable R visitCollectionItem(org.eclipse.ocl.pivot.@NonNull CollectionItem object) {
 		return visitCollectionLiteralPart(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralExp(@NonNull org.eclipse.ocl.pivot.CollectionLiteralExp object) {
+	public @Nullable R visitCollectionLiteralExp(org.eclipse.ocl.pivot.@NonNull CollectionLiteralExp object) {
 		return visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralPart(@NonNull org.eclipse.ocl.pivot.CollectionLiteralPart object) {
+	public @Nullable R visitCollectionLiteralPart(org.eclipse.ocl.pivot.@NonNull CollectionLiteralPart object) {
 		return visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionRange(@NonNull org.eclipse.ocl.pivot.CollectionRange object) {
+	public @Nullable R visitCollectionRange(org.eclipse.ocl.pivot.@NonNull CollectionRange object) {
 		return visitCollectionLiteralPart(object);
 	}
 
 	@Override
-	public @Nullable R visitCollectionType(@NonNull org.eclipse.ocl.pivot.CollectionType object) {
+	public @Nullable R visitCollectionType(org.eclipse.ocl.pivot.@NonNull CollectionType object) {
 		return visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitComment(@NonNull org.eclipse.ocl.pivot.Comment object) {
+	public @Nullable R visitComment(org.eclipse.ocl.pivot.@NonNull Comment object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitCompleteClass(@NonNull org.eclipse.ocl.pivot.CompleteClass object) {
+	public @Nullable R visitCompleteClass(org.eclipse.ocl.pivot.@NonNull CompleteClass object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitCompleteEnvironment(@NonNull org.eclipse.ocl.pivot.CompleteEnvironment object) {
+	public @Nullable R visitCompleteEnvironment(org.eclipse.ocl.pivot.@NonNull CompleteEnvironment object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitCompleteModel(@NonNull org.eclipse.ocl.pivot.CompleteModel object) {
+	public @Nullable R visitCompleteModel(org.eclipse.ocl.pivot.@NonNull CompleteModel object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitCompletePackage(@NonNull org.eclipse.ocl.pivot.CompletePackage object) {
+	public @Nullable R visitCompletePackage(org.eclipse.ocl.pivot.@NonNull CompletePackage object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitConnectionPointReference(@NonNull org.eclipse.ocl.pivot.ConnectionPointReference object) {
+	public @Nullable R visitConnectionPointReference(org.eclipse.ocl.pivot.@NonNull ConnectionPointReference object) {
 		return visitVertex(object);
 	}
 
 	@Override
-	public @Nullable R visitConstraint(@NonNull org.eclipse.ocl.pivot.Constraint object) {
+	public @Nullable R visitConstraint(org.eclipse.ocl.pivot.@NonNull Constraint object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitDataType(@NonNull org.eclipse.ocl.pivot.DataType object) {
+	public @Nullable R visitDataType(org.eclipse.ocl.pivot.@NonNull DataType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitDetail(@NonNull org.eclipse.ocl.pivot.Detail object) {
+	public @Nullable R visitDetail(org.eclipse.ocl.pivot.@NonNull Detail object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicBehavior(@NonNull org.eclipse.ocl.pivot.DynamicBehavior object) {
+	public @Nullable R visitDynamicBehavior(org.eclipse.ocl.pivot.@NonNull DynamicBehavior object) {
 		return visitBehavior(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicElement(@NonNull org.eclipse.ocl.pivot.DynamicElement object) {
+	public @Nullable R visitDynamicElement(org.eclipse.ocl.pivot.@NonNull DynamicElement object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicProperty(@NonNull org.eclipse.ocl.pivot.DynamicProperty object) {
+	public @Nullable R visitDynamicProperty(org.eclipse.ocl.pivot.@NonNull DynamicProperty object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicType(@NonNull org.eclipse.ocl.pivot.DynamicType object) {
+	public @Nullable R visitDynamicType(org.eclipse.ocl.pivot.@NonNull DynamicType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitDynamicValueSpecification(@NonNull org.eclipse.ocl.pivot.DynamicValueSpecification object) {
+	public @Nullable R visitDynamicValueSpecification(org.eclipse.ocl.pivot.@NonNull DynamicValueSpecification object) {
 		return visitValueSpecification(object);
 	}
 
 	@Override
-	public @Nullable R visitElement(@NonNull org.eclipse.ocl.pivot.Element object) {
+	public @Nullable R visitElement(org.eclipse.ocl.pivot.@NonNull Element object) {
 		return visiting(object);
 	}
 
 	@Override
-	public @Nullable R visitElementExtension(@NonNull org.eclipse.ocl.pivot.ElementExtension object) {
+	public @Nullable R visitElementExtension(org.eclipse.ocl.pivot.@NonNull ElementExtension object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitEnumLiteralExp(@NonNull org.eclipse.ocl.pivot.EnumLiteralExp object) {
+	public @Nullable R visitEnumLiteralExp(org.eclipse.ocl.pivot.@NonNull EnumLiteralExp object) {
 		return visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object) {
+	public @Nullable R visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object) {
 		return visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitEnumerationLiteral(@NonNull org.eclipse.ocl.pivot.EnumerationLiteral object) {
+	public @Nullable R visitEnumerationLiteral(org.eclipse.ocl.pivot.@NonNull EnumerationLiteral object) {
 		return visitInstanceSpecification(object);
 	}
 
 	@Override
-	public @Nullable R visitExpressionInOCL(@NonNull org.eclipse.ocl.pivot.ExpressionInOCL object) {
+	public @Nullable R visitExpressionInOCL(org.eclipse.ocl.pivot.@NonNull ExpressionInOCL object) {
 		return visitLanguageExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitFeature(@NonNull org.eclipse.ocl.pivot.Feature object) {
+	public @Nullable R visitFeature(org.eclipse.ocl.pivot.@NonNull Feature object) {
 		return visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitFeatureCallExp(@NonNull org.eclipse.ocl.pivot.FeatureCallExp object) {
+	public @Nullable R visitFeatureCallExp(org.eclipse.ocl.pivot.@NonNull FeatureCallExp object) {
 		return visitCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitFinalState(@NonNull org.eclipse.ocl.pivot.FinalState object) {
+	public @Nullable R visitFinalState(org.eclipse.ocl.pivot.@NonNull FinalState object) {
 		return visitState(object);
 	}
 
 	@Override
-	public @Nullable R visitIfExp(@NonNull org.eclipse.ocl.pivot.IfExp object) {
+	public @Nullable R visitIfExp(org.eclipse.ocl.pivot.@NonNull IfExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitImport(@NonNull org.eclipse.ocl.pivot.Import object) {
+	public @Nullable R visitImport(org.eclipse.ocl.pivot.@NonNull Import object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitInstanceSpecification(@NonNull org.eclipse.ocl.pivot.InstanceSpecification object) {
+	public @Nullable R visitInstanceSpecification(org.eclipse.ocl.pivot.@NonNull InstanceSpecification object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitIntegerLiteralExp(@NonNull org.eclipse.ocl.pivot.IntegerLiteralExp object) {
+	public @Nullable R visitIntegerLiteralExp(org.eclipse.ocl.pivot.@NonNull IntegerLiteralExp object) {
 		return visitNumericLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitInvalidLiteralExp(@NonNull org.eclipse.ocl.pivot.InvalidLiteralExp object) {
+	public @Nullable R visitInvalidLiteralExp(org.eclipse.ocl.pivot.@NonNull InvalidLiteralExp object) {
 		return visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitInvalidType(@NonNull org.eclipse.ocl.pivot.InvalidType object) {
+	public @Nullable R visitInvalidType(org.eclipse.ocl.pivot.@NonNull InvalidType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitIterateExp(@NonNull org.eclipse.ocl.pivot.IterateExp object) {
+	public @Nullable R visitIterateExp(org.eclipse.ocl.pivot.@NonNull IterateExp object) {
 		return visitLoopExp(object);
 	}
 
 	@Override
-	public @Nullable R visitIteration(@NonNull org.eclipse.ocl.pivot.Iteration object) {
+	public @Nullable R visitIteration(org.eclipse.ocl.pivot.@NonNull Iteration object) {
 		return visitOperation(object);
 	}
 
 	@Override
-	public @Nullable R visitIteratorExp(@NonNull org.eclipse.ocl.pivot.IteratorExp object) {
+	public @Nullable R visitIteratorExp(org.eclipse.ocl.pivot.@NonNull IteratorExp object) {
 		return visitLoopExp(object);
 	}
 
 	@Override
-	public @Nullable R visitLambdaType(@NonNull org.eclipse.ocl.pivot.LambdaType object) {
+	public @Nullable R visitLambdaType(org.eclipse.ocl.pivot.@NonNull LambdaType object) {
 		return visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitLanguageExpression(@NonNull org.eclipse.ocl.pivot.LanguageExpression object) {
+	public @Nullable R visitLanguageExpression(org.eclipse.ocl.pivot.@NonNull LanguageExpression object) {
 		return visitValueSpecification(object);
 	}
 
 	@Override
-	public @Nullable R visitLetExp(@NonNull org.eclipse.ocl.pivot.LetExp object) {
+	public @Nullable R visitLetExp(org.eclipse.ocl.pivot.@NonNull LetExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitLibrary(@NonNull org.eclipse.ocl.pivot.Library object) {
+	public @Nullable R visitLibrary(org.eclipse.ocl.pivot.@NonNull Library object) {
 		return visitPackage(object);
 	}
 
 	@Override
-	public @Nullable R visitLiteralExp(@NonNull org.eclipse.ocl.pivot.LiteralExp object) {
+	public @Nullable R visitLiteralExp(org.eclipse.ocl.pivot.@NonNull LiteralExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitLoopExp(@NonNull org.eclipse.ocl.pivot.LoopExp object) {
+	public @Nullable R visitLoopExp(org.eclipse.ocl.pivot.@NonNull LoopExp object) {
 		return visitCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralExp(@NonNull org.eclipse.ocl.pivot.MapLiteralExp object) {
+	public @Nullable R visitMapLiteralExp(org.eclipse.ocl.pivot.@NonNull MapLiteralExp object) {
 		return visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralPart(@NonNull org.eclipse.ocl.pivot.MapLiteralPart object) {
+	public @Nullable R visitMapLiteralPart(org.eclipse.ocl.pivot.@NonNull MapLiteralPart object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitMapType(@NonNull org.eclipse.ocl.pivot.MapType object) {
+	public @Nullable R visitMapType(org.eclipse.ocl.pivot.@NonNull MapType object) {
 		return visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitMessageExp(@NonNull org.eclipse.ocl.pivot.MessageExp object) {
+	public @Nullable R visitMessageExp(org.eclipse.ocl.pivot.@NonNull MessageExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitMessageType(@NonNull org.eclipse.ocl.pivot.MessageType object) {
+	public @Nullable R visitMessageType(org.eclipse.ocl.pivot.@NonNull MessageType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitModel(@NonNull org.eclipse.ocl.pivot.Model object) {
+	public @Nullable R visitModel(org.eclipse.ocl.pivot.@NonNull Model object) {
 		return visitNamespace(object);
 	}
 
 	@Override
-	public @Nullable R visitNamedElement(@NonNull org.eclipse.ocl.pivot.NamedElement object) {
+	public @Nullable R visitNamedElement(org.eclipse.ocl.pivot.@NonNull NamedElement object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitNamespace(@NonNull org.eclipse.ocl.pivot.Namespace object) {
+	public @Nullable R visitNamespace(org.eclipse.ocl.pivot.@NonNull Namespace object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitNavigationCallExp(@NonNull org.eclipse.ocl.pivot.NavigationCallExp object) {
+	public @Nullable R visitNavigationCallExp(org.eclipse.ocl.pivot.@NonNull NavigationCallExp object) {
 		return visitFeatureCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitNullLiteralExp(@NonNull org.eclipse.ocl.pivot.NullLiteralExp object) {
+	public @Nullable R visitNullLiteralExp(org.eclipse.ocl.pivot.@NonNull NullLiteralExp object) {
 		return visitPrimitiveLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitNumericLiteralExp(@NonNull org.eclipse.ocl.pivot.NumericLiteralExp object) {
+	public @Nullable R visitNumericLiteralExp(org.eclipse.ocl.pivot.@NonNull NumericLiteralExp object) {
 		return visitPrimitiveLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitOCLExpression(@NonNull org.eclipse.ocl.pivot.OCLExpression object) {
+	public @Nullable R visitOCLExpression(org.eclipse.ocl.pivot.@NonNull OCLExpression object) {
 		return visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitOperation(@NonNull org.eclipse.ocl.pivot.Operation object) {
+	public @Nullable R visitOperation(org.eclipse.ocl.pivot.@NonNull Operation object) {
 		return visitFeature(object);
 	}
 
 	@Override
-	public @Nullable R visitOperationCallExp(@NonNull org.eclipse.ocl.pivot.OperationCallExp object) {
+	public @Nullable R visitOperationCallExp(org.eclipse.ocl.pivot.@NonNull OperationCallExp object) {
 		return visitFeatureCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitOppositePropertyCallExp(@NonNull org.eclipse.ocl.pivot.OppositePropertyCallExp object) {
+	public @Nullable R visitOppositePropertyCallExp(org.eclipse.ocl.pivot.@NonNull OppositePropertyCallExp object) {
 		return visitNavigationCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitOrderedSetType(@NonNull org.eclipse.ocl.pivot.OrderedSetType object) {
+	public @Nullable R visitOrderedSetType(org.eclipse.ocl.pivot.@NonNull OrderedSetType object) {
 		return visitCollectionType(object);
 	}
 
 	@Override
-	public @Nullable R visitOrphanCompletePackage(@NonNull org.eclipse.ocl.pivot.OrphanCompletePackage object) {
+	public @Nullable R visitOrphanCompletePackage(org.eclipse.ocl.pivot.@NonNull OrphanCompletePackage object) {
 		return visitCompletePackage(object);
 	}
 
 	@Override
-	public @Nullable R visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public @Nullable R visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		return visitNamespace(object);
 	}
 
 	@Override
-	public @Nullable R visitParameter(@NonNull org.eclipse.ocl.pivot.Parameter object) {
+	public @Nullable R visitParameter(org.eclipse.ocl.pivot.@NonNull Parameter object) {
 		return visitVariableDeclaration(object);
 	}
 
 	@Override
-	public @Nullable R visitPrecedence(@NonNull org.eclipse.ocl.pivot.Precedence object) {
+	public @Nullable R visitPrecedence(org.eclipse.ocl.pivot.@NonNull Precedence object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveCompletePackage(@NonNull org.eclipse.ocl.pivot.PrimitiveCompletePackage object) {
+	public @Nullable R visitPrimitiveCompletePackage(org.eclipse.ocl.pivot.@NonNull PrimitiveCompletePackage object) {
 		return visitCompletePackage(object);
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveLiteralExp(@NonNull org.eclipse.ocl.pivot.PrimitiveLiteralExp object) {
+	public @Nullable R visitPrimitiveLiteralExp(org.eclipse.ocl.pivot.@NonNull PrimitiveLiteralExp object) {
 		return visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveType(@NonNull org.eclipse.ocl.pivot.PrimitiveType object) {
+	public @Nullable R visitPrimitiveType(org.eclipse.ocl.pivot.@NonNull PrimitiveType object) {
 		return visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitProfile(@NonNull org.eclipse.ocl.pivot.Profile object) {
+	public @Nullable R visitProfile(org.eclipse.ocl.pivot.@NonNull Profile object) {
 		return visitPackage(object);
 	}
 
 	@Override
-	public @Nullable R visitProfileApplication(@NonNull org.eclipse.ocl.pivot.ProfileApplication object) {
+	public @Nullable R visitProfileApplication(org.eclipse.ocl.pivot.@NonNull ProfileApplication object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitProperty(@NonNull org.eclipse.ocl.pivot.Property object) {
+	public @Nullable R visitProperty(org.eclipse.ocl.pivot.@NonNull Property object) {
 		return visitFeature(object);
 	}
 
 	@Override
-	public @Nullable R visitPropertyCallExp(@NonNull org.eclipse.ocl.pivot.PropertyCallExp object) {
+	public @Nullable R visitPropertyCallExp(org.eclipse.ocl.pivot.@NonNull PropertyCallExp object) {
 		return visitNavigationCallExp(object);
 	}
 
 	@Override
-	public @Nullable R visitPseudostate(@NonNull org.eclipse.ocl.pivot.Pseudostate object) {
+	public @Nullable R visitPseudostate(org.eclipse.ocl.pivot.@NonNull Pseudostate object) {
 		return visitVertex(object);
 	}
 
 	@Override
-	public @Nullable R visitRealLiteralExp(@NonNull org.eclipse.ocl.pivot.RealLiteralExp object) {
+	public @Nullable R visitRealLiteralExp(org.eclipse.ocl.pivot.@NonNull RealLiteralExp object) {
 		return visitNumericLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitRegion(@NonNull org.eclipse.ocl.pivot.Region object) {
+	public @Nullable R visitRegion(org.eclipse.ocl.pivot.@NonNull Region object) {
 		return visitNamespace(object);
 	}
 
 	@Override
-	public @Nullable R visitSelfType(@NonNull org.eclipse.ocl.pivot.SelfType object) {
+	public @Nullable R visitSelfType(org.eclipse.ocl.pivot.@NonNull SelfType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitSendSignalAction(@NonNull org.eclipse.ocl.pivot.SendSignalAction object) {
+	public @Nullable R visitSendSignalAction(org.eclipse.ocl.pivot.@NonNull SendSignalAction object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitSequenceType(@NonNull org.eclipse.ocl.pivot.SequenceType object) {
+	public @Nullable R visitSequenceType(org.eclipse.ocl.pivot.@NonNull SequenceType object) {
 		return visitCollectionType(object);
 	}
 
 	@Override
-	public @Nullable R visitSetType(@NonNull org.eclipse.ocl.pivot.SetType object) {
+	public @Nullable R visitSetType(org.eclipse.ocl.pivot.@NonNull SetType object) {
 		return visitCollectionType(object);
 	}
 
 	@Override
-	public @Nullable R visitShadowExp(@NonNull org.eclipse.ocl.pivot.ShadowExp object) {
+	public @Nullable R visitShadowExp(org.eclipse.ocl.pivot.@NonNull ShadowExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitShadowPart(@NonNull org.eclipse.ocl.pivot.ShadowPart object) {
+	public @Nullable R visitShadowPart(org.eclipse.ocl.pivot.@NonNull ShadowPart object) {
 		return visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitSignal(@NonNull org.eclipse.ocl.pivot.Signal object) {
+	public @Nullable R visitSignal(org.eclipse.ocl.pivot.@NonNull Signal object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitSlot(@NonNull org.eclipse.ocl.pivot.Slot object) {
+	public @Nullable R visitSlot(org.eclipse.ocl.pivot.@NonNull Slot object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitStandardLibrary(@NonNull org.eclipse.ocl.pivot.StandardLibrary object) {
+	public @Nullable R visitStandardLibrary(org.eclipse.ocl.pivot.@NonNull StandardLibrary object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitState(@NonNull org.eclipse.ocl.pivot.State object) {
+	public @Nullable R visitState(org.eclipse.ocl.pivot.@NonNull State object) {
 		return visitNamespace(object);
 	}
 
 	@Override
-	public @Nullable R visitStateExp(@NonNull org.eclipse.ocl.pivot.StateExp object) {
+	public @Nullable R visitStateExp(org.eclipse.ocl.pivot.@NonNull StateExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitStateMachine(@NonNull org.eclipse.ocl.pivot.StateMachine object) {
+	public @Nullable R visitStateMachine(org.eclipse.ocl.pivot.@NonNull StateMachine object) {
 		return visitBehavior(object);
 	}
 
 	@Override
-	public @Nullable R visitStereotype(@NonNull org.eclipse.ocl.pivot.Stereotype object) {
+	public @Nullable R visitStereotype(org.eclipse.ocl.pivot.@NonNull Stereotype object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitStereotypeExtender(@NonNull org.eclipse.ocl.pivot.StereotypeExtender object) {
+	public @Nullable R visitStereotypeExtender(org.eclipse.ocl.pivot.@NonNull StereotypeExtender object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitStringLiteralExp(@NonNull org.eclipse.ocl.pivot.StringLiteralExp object) {
+	public @Nullable R visitStringLiteralExp(org.eclipse.ocl.pivot.@NonNull StringLiteralExp object) {
 		return visitPrimitiveLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateBinding(@NonNull org.eclipse.ocl.pivot.TemplateBinding object) {
+	public @Nullable R visitTemplateBinding(org.eclipse.ocl.pivot.@NonNull TemplateBinding object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameter(@NonNull org.eclipse.ocl.pivot.TemplateParameter object) {
+	public @Nullable R visitTemplateParameter(org.eclipse.ocl.pivot.@NonNull TemplateParameter object) {
 		return visitType(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameterSubstitution(@NonNull org.eclipse.ocl.pivot.TemplateParameterSubstitution object) {
+	public @Nullable R visitTemplateParameterSubstitution(org.eclipse.ocl.pivot.@NonNull TemplateParameterSubstitution object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateSignature(@NonNull org.eclipse.ocl.pivot.TemplateSignature object) {
+	public @Nullable R visitTemplateSignature(org.eclipse.ocl.pivot.@NonNull TemplateSignature object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTemplateableElement(@NonNull org.eclipse.ocl.pivot.TemplateableElement object) {
+	public @Nullable R visitTemplateableElement(org.eclipse.ocl.pivot.@NonNull TemplateableElement object) {
 		return visitElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTransition(@NonNull org.eclipse.ocl.pivot.Transition object) {
+	public @Nullable R visitTransition(org.eclipse.ocl.pivot.@NonNull Transition object) {
 		return visitNamespace(object);
 	}
 
 	@Override
-	public @Nullable R visitTrigger(@NonNull org.eclipse.ocl.pivot.Trigger object) {
+	public @Nullable R visitTrigger(org.eclipse.ocl.pivot.@NonNull Trigger object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralExp(@NonNull org.eclipse.ocl.pivot.TupleLiteralExp object) {
+	public @Nullable R visitTupleLiteralExp(org.eclipse.ocl.pivot.@NonNull TupleLiteralExp object) {
 		return visitLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralPart(@NonNull org.eclipse.ocl.pivot.TupleLiteralPart object) {
+	public @Nullable R visitTupleLiteralPart(org.eclipse.ocl.pivot.@NonNull TupleLiteralPart object) {
 		return visitVariableDeclaration(object);
 	}
 
 	@Override
-	public @Nullable R visitTupleType(@NonNull org.eclipse.ocl.pivot.TupleType object) {
+	public @Nullable R visitTupleType(org.eclipse.ocl.pivot.@NonNull TupleType object) {
 		return visitDataType(object);
 	}
 
 	@Override
-	public @Nullable R visitType(@NonNull org.eclipse.ocl.pivot.Type object) {
+	public @Nullable R visitType(org.eclipse.ocl.pivot.@NonNull Type object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitTypeExp(@NonNull org.eclipse.ocl.pivot.TypeExp object) {
+	public @Nullable R visitTypeExp(org.eclipse.ocl.pivot.@NonNull TypeExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitTypedElement(@NonNull org.eclipse.ocl.pivot.TypedElement object) {
+	public @Nullable R visitTypedElement(org.eclipse.ocl.pivot.@NonNull TypedElement object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitUnlimitedNaturalLiteralExp(@NonNull org.eclipse.ocl.pivot.UnlimitedNaturalLiteralExp object) {
+	public @Nullable R visitUnlimitedNaturalLiteralExp(org.eclipse.ocl.pivot.@NonNull UnlimitedNaturalLiteralExp object) {
 		return visitNumericLiteralExp(object);
 	}
 
 	@Override
-	public @Nullable R visitUnspecifiedValueExp(@NonNull org.eclipse.ocl.pivot.UnspecifiedValueExp object) {
+	public @Nullable R visitUnspecifiedValueExp(org.eclipse.ocl.pivot.@NonNull UnspecifiedValueExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitValueSpecification(@NonNull org.eclipse.ocl.pivot.ValueSpecification object) {
+	public @Nullable R visitValueSpecification(org.eclipse.ocl.pivot.@NonNull ValueSpecification object) {
 		return visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitVariable(@NonNull org.eclipse.ocl.pivot.Variable object) {
+	public @Nullable R visitVariable(org.eclipse.ocl.pivot.@NonNull Variable object) {
 		return visitVariableDeclaration(object);
 	}
 
 	@Override
-	public @Nullable R visitVariableDeclaration(@NonNull org.eclipse.ocl.pivot.VariableDeclaration object) {
+	public @Nullable R visitVariableDeclaration(org.eclipse.ocl.pivot.@NonNull VariableDeclaration object) {
 		return visitTypedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitVariableExp(@NonNull org.eclipse.ocl.pivot.VariableExp object) {
+	public @Nullable R visitVariableExp(org.eclipse.ocl.pivot.@NonNull VariableExp object) {
 		return visitOCLExpression(object);
 	}
 
 	@Override
-	public @Nullable R visitVertex(@NonNull org.eclipse.ocl.pivot.Vertex object) {
+	public @Nullable R visitVertex(org.eclipse.ocl.pivot.@NonNull Vertex object) {
 		return visitNamedElement(object);
 	}
 
 	@Override
-	public @Nullable R visitVoidType(@NonNull org.eclipse.ocl.pivot.VoidType object) {
+	public @Nullable R visitVoidType(org.eclipse.ocl.pivot.@NonNull VoidType object) {
 		return visitClass(object);
 	}
 
 	@Override
-	public @Nullable R visitWildcardType(@NonNull org.eclipse.ocl.pivot.WildcardType object) {
+	public @Nullable R visitWildcardType(org.eclipse.ocl.pivot.@NonNull WildcardType object) {
 		return visitClass(object);
 	}
 }
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractNullVisitor.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractNullVisitor.java
index 21009f4..2c9e4ad 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractNullVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractNullVisitor.java
@@ -35,602 +35,602 @@
 	}	
 
 	@Override
-	public @Nullable R visitAnnotation(@NonNull org.eclipse.ocl.pivot.Annotation object) {
+	public @Nullable R visitAnnotation(org.eclipse.ocl.pivot.@NonNull Annotation object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitAnyType(@NonNull org.eclipse.ocl.pivot.AnyType object) {
+	public @Nullable R visitAnyType(org.eclipse.ocl.pivot.@NonNull AnyType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitAssociationClass(@NonNull org.eclipse.ocl.pivot.AssociationClass object) {
+	public @Nullable R visitAssociationClass(org.eclipse.ocl.pivot.@NonNull AssociationClass object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitAssociationClassCallExp(@NonNull org.eclipse.ocl.pivot.AssociationClassCallExp object) {
+	public @Nullable R visitAssociationClassCallExp(org.eclipse.ocl.pivot.@NonNull AssociationClassCallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitBagType(@NonNull org.eclipse.ocl.pivot.BagType object) {
+	public @Nullable R visitBagType(org.eclipse.ocl.pivot.@NonNull BagType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitBehavior(@NonNull org.eclipse.ocl.pivot.Behavior object) {
+	public @Nullable R visitBehavior(org.eclipse.ocl.pivot.@NonNull Behavior object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitBooleanLiteralExp(@NonNull org.eclipse.ocl.pivot.BooleanLiteralExp object) {
+	public @Nullable R visitBooleanLiteralExp(org.eclipse.ocl.pivot.@NonNull BooleanLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCallExp(@NonNull org.eclipse.ocl.pivot.CallExp object) {
+	public @Nullable R visitCallExp(org.eclipse.ocl.pivot.@NonNull CallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCallOperationAction(@NonNull org.eclipse.ocl.pivot.CallOperationAction object) {
+	public @Nullable R visitCallOperationAction(org.eclipse.ocl.pivot.@NonNull CallOperationAction object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public @Nullable R visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCollectionItem(@NonNull org.eclipse.ocl.pivot.CollectionItem object) {
+	public @Nullable R visitCollectionItem(org.eclipse.ocl.pivot.@NonNull CollectionItem object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralExp(@NonNull org.eclipse.ocl.pivot.CollectionLiteralExp object) {
+	public @Nullable R visitCollectionLiteralExp(org.eclipse.ocl.pivot.@NonNull CollectionLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralPart(@NonNull org.eclipse.ocl.pivot.CollectionLiteralPart object) {
+	public @Nullable R visitCollectionLiteralPart(org.eclipse.ocl.pivot.@NonNull CollectionLiteralPart object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCollectionRange(@NonNull org.eclipse.ocl.pivot.CollectionRange object) {
+	public @Nullable R visitCollectionRange(org.eclipse.ocl.pivot.@NonNull CollectionRange object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCollectionType(@NonNull org.eclipse.ocl.pivot.CollectionType object) {
+	public @Nullable R visitCollectionType(org.eclipse.ocl.pivot.@NonNull CollectionType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitComment(@NonNull org.eclipse.ocl.pivot.Comment object) {
+	public @Nullable R visitComment(org.eclipse.ocl.pivot.@NonNull Comment object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCompleteClass(@NonNull org.eclipse.ocl.pivot.CompleteClass object) {
+	public @Nullable R visitCompleteClass(org.eclipse.ocl.pivot.@NonNull CompleteClass object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCompleteEnvironment(@NonNull org.eclipse.ocl.pivot.CompleteEnvironment object) {
+	public @Nullable R visitCompleteEnvironment(org.eclipse.ocl.pivot.@NonNull CompleteEnvironment object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCompleteModel(@NonNull org.eclipse.ocl.pivot.CompleteModel object) {
+	public @Nullable R visitCompleteModel(org.eclipse.ocl.pivot.@NonNull CompleteModel object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitCompletePackage(@NonNull org.eclipse.ocl.pivot.CompletePackage object) {
+	public @Nullable R visitCompletePackage(org.eclipse.ocl.pivot.@NonNull CompletePackage object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitConnectionPointReference(@NonNull org.eclipse.ocl.pivot.ConnectionPointReference object) {
+	public @Nullable R visitConnectionPointReference(org.eclipse.ocl.pivot.@NonNull ConnectionPointReference object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitConstraint(@NonNull org.eclipse.ocl.pivot.Constraint object) {
+	public @Nullable R visitConstraint(org.eclipse.ocl.pivot.@NonNull Constraint object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDataType(@NonNull org.eclipse.ocl.pivot.DataType object) {
+	public @Nullable R visitDataType(org.eclipse.ocl.pivot.@NonNull DataType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDetail(@NonNull org.eclipse.ocl.pivot.Detail object) {
+	public @Nullable R visitDetail(org.eclipse.ocl.pivot.@NonNull Detail object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDynamicBehavior(@NonNull org.eclipse.ocl.pivot.DynamicBehavior object) {
+	public @Nullable R visitDynamicBehavior(org.eclipse.ocl.pivot.@NonNull DynamicBehavior object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDynamicElement(@NonNull org.eclipse.ocl.pivot.DynamicElement object) {
+	public @Nullable R visitDynamicElement(org.eclipse.ocl.pivot.@NonNull DynamicElement object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDynamicProperty(@NonNull org.eclipse.ocl.pivot.DynamicProperty object) {
+	public @Nullable R visitDynamicProperty(org.eclipse.ocl.pivot.@NonNull DynamicProperty object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDynamicType(@NonNull org.eclipse.ocl.pivot.DynamicType object) {
+	public @Nullable R visitDynamicType(org.eclipse.ocl.pivot.@NonNull DynamicType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitDynamicValueSpecification(@NonNull org.eclipse.ocl.pivot.DynamicValueSpecification object) {
+	public @Nullable R visitDynamicValueSpecification(org.eclipse.ocl.pivot.@NonNull DynamicValueSpecification object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitElement(@NonNull org.eclipse.ocl.pivot.Element object) {
+	public @Nullable R visitElement(org.eclipse.ocl.pivot.@NonNull Element object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitElementExtension(@NonNull org.eclipse.ocl.pivot.ElementExtension object) {
+	public @Nullable R visitElementExtension(org.eclipse.ocl.pivot.@NonNull ElementExtension object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitEnumLiteralExp(@NonNull org.eclipse.ocl.pivot.EnumLiteralExp object) {
+	public @Nullable R visitEnumLiteralExp(org.eclipse.ocl.pivot.@NonNull EnumLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object) {
+	public @Nullable R visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitEnumerationLiteral(@NonNull org.eclipse.ocl.pivot.EnumerationLiteral object) {
+	public @Nullable R visitEnumerationLiteral(org.eclipse.ocl.pivot.@NonNull EnumerationLiteral object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitExpressionInOCL(@NonNull org.eclipse.ocl.pivot.ExpressionInOCL object) {
+	public @Nullable R visitExpressionInOCL(org.eclipse.ocl.pivot.@NonNull ExpressionInOCL object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitFeature(@NonNull org.eclipse.ocl.pivot.Feature object) {
+	public @Nullable R visitFeature(org.eclipse.ocl.pivot.@NonNull Feature object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitFeatureCallExp(@NonNull org.eclipse.ocl.pivot.FeatureCallExp object) {
+	public @Nullable R visitFeatureCallExp(org.eclipse.ocl.pivot.@NonNull FeatureCallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitFinalState(@NonNull org.eclipse.ocl.pivot.FinalState object) {
+	public @Nullable R visitFinalState(org.eclipse.ocl.pivot.@NonNull FinalState object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitIfExp(@NonNull org.eclipse.ocl.pivot.IfExp object) {
+	public @Nullable R visitIfExp(org.eclipse.ocl.pivot.@NonNull IfExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitImport(@NonNull org.eclipse.ocl.pivot.Import object) {
+	public @Nullable R visitImport(org.eclipse.ocl.pivot.@NonNull Import object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitInstanceSpecification(@NonNull org.eclipse.ocl.pivot.InstanceSpecification object) {
+	public @Nullable R visitInstanceSpecification(org.eclipse.ocl.pivot.@NonNull InstanceSpecification object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitIntegerLiteralExp(@NonNull org.eclipse.ocl.pivot.IntegerLiteralExp object) {
+	public @Nullable R visitIntegerLiteralExp(org.eclipse.ocl.pivot.@NonNull IntegerLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitInvalidLiteralExp(@NonNull org.eclipse.ocl.pivot.InvalidLiteralExp object) {
+	public @Nullable R visitInvalidLiteralExp(org.eclipse.ocl.pivot.@NonNull InvalidLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitInvalidType(@NonNull org.eclipse.ocl.pivot.InvalidType object) {
+	public @Nullable R visitInvalidType(org.eclipse.ocl.pivot.@NonNull InvalidType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitIterateExp(@NonNull org.eclipse.ocl.pivot.IterateExp object) {
+	public @Nullable R visitIterateExp(org.eclipse.ocl.pivot.@NonNull IterateExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitIteration(@NonNull org.eclipse.ocl.pivot.Iteration object) {
+	public @Nullable R visitIteration(org.eclipse.ocl.pivot.@NonNull Iteration object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitIteratorExp(@NonNull org.eclipse.ocl.pivot.IteratorExp object) {
+	public @Nullable R visitIteratorExp(org.eclipse.ocl.pivot.@NonNull IteratorExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitLambdaType(@NonNull org.eclipse.ocl.pivot.LambdaType object) {
+	public @Nullable R visitLambdaType(org.eclipse.ocl.pivot.@NonNull LambdaType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitLanguageExpression(@NonNull org.eclipse.ocl.pivot.LanguageExpression object) {
+	public @Nullable R visitLanguageExpression(org.eclipse.ocl.pivot.@NonNull LanguageExpression object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitLetExp(@NonNull org.eclipse.ocl.pivot.LetExp object) {
+	public @Nullable R visitLetExp(org.eclipse.ocl.pivot.@NonNull LetExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitLibrary(@NonNull org.eclipse.ocl.pivot.Library object) {
+	public @Nullable R visitLibrary(org.eclipse.ocl.pivot.@NonNull Library object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitLiteralExp(@NonNull org.eclipse.ocl.pivot.LiteralExp object) {
+	public @Nullable R visitLiteralExp(org.eclipse.ocl.pivot.@NonNull LiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitLoopExp(@NonNull org.eclipse.ocl.pivot.LoopExp object) {
+	public @Nullable R visitLoopExp(org.eclipse.ocl.pivot.@NonNull LoopExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralExp(@NonNull org.eclipse.ocl.pivot.MapLiteralExp object) {
+	public @Nullable R visitMapLiteralExp(org.eclipse.ocl.pivot.@NonNull MapLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralPart(@NonNull org.eclipse.ocl.pivot.MapLiteralPart object) {
+	public @Nullable R visitMapLiteralPart(org.eclipse.ocl.pivot.@NonNull MapLiteralPart object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitMapType(@NonNull org.eclipse.ocl.pivot.MapType object) {
+	public @Nullable R visitMapType(org.eclipse.ocl.pivot.@NonNull MapType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitMessageExp(@NonNull org.eclipse.ocl.pivot.MessageExp object) {
+	public @Nullable R visitMessageExp(org.eclipse.ocl.pivot.@NonNull MessageExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitMessageType(@NonNull org.eclipse.ocl.pivot.MessageType object) {
+	public @Nullable R visitMessageType(org.eclipse.ocl.pivot.@NonNull MessageType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitModel(@NonNull org.eclipse.ocl.pivot.Model object) {
+	public @Nullable R visitModel(org.eclipse.ocl.pivot.@NonNull Model object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitNamedElement(@NonNull org.eclipse.ocl.pivot.NamedElement object) {
+	public @Nullable R visitNamedElement(org.eclipse.ocl.pivot.@NonNull NamedElement object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitNamespace(@NonNull org.eclipse.ocl.pivot.Namespace object) {
+	public @Nullable R visitNamespace(org.eclipse.ocl.pivot.@NonNull Namespace object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitNavigationCallExp(@NonNull org.eclipse.ocl.pivot.NavigationCallExp object) {
+	public @Nullable R visitNavigationCallExp(org.eclipse.ocl.pivot.@NonNull NavigationCallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitNullLiteralExp(@NonNull org.eclipse.ocl.pivot.NullLiteralExp object) {
+	public @Nullable R visitNullLiteralExp(org.eclipse.ocl.pivot.@NonNull NullLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitNumericLiteralExp(@NonNull org.eclipse.ocl.pivot.NumericLiteralExp object) {
+	public @Nullable R visitNumericLiteralExp(org.eclipse.ocl.pivot.@NonNull NumericLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitOCLExpression(@NonNull org.eclipse.ocl.pivot.OCLExpression object) {
+	public @Nullable R visitOCLExpression(org.eclipse.ocl.pivot.@NonNull OCLExpression object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitOperation(@NonNull org.eclipse.ocl.pivot.Operation object) {
+	public @Nullable R visitOperation(org.eclipse.ocl.pivot.@NonNull Operation object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitOperationCallExp(@NonNull org.eclipse.ocl.pivot.OperationCallExp object) {
+	public @Nullable R visitOperationCallExp(org.eclipse.ocl.pivot.@NonNull OperationCallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitOppositePropertyCallExp(@NonNull org.eclipse.ocl.pivot.OppositePropertyCallExp object) {
+	public @Nullable R visitOppositePropertyCallExp(org.eclipse.ocl.pivot.@NonNull OppositePropertyCallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitOrderedSetType(@NonNull org.eclipse.ocl.pivot.OrderedSetType object) {
+	public @Nullable R visitOrderedSetType(org.eclipse.ocl.pivot.@NonNull OrderedSetType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitOrphanCompletePackage(@NonNull org.eclipse.ocl.pivot.OrphanCompletePackage object) {
+	public @Nullable R visitOrphanCompletePackage(org.eclipse.ocl.pivot.@NonNull OrphanCompletePackage object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public @Nullable R visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitParameter(@NonNull org.eclipse.ocl.pivot.Parameter object) {
+	public @Nullable R visitParameter(org.eclipse.ocl.pivot.@NonNull Parameter object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPrecedence(@NonNull org.eclipse.ocl.pivot.Precedence object) {
+	public @Nullable R visitPrecedence(org.eclipse.ocl.pivot.@NonNull Precedence object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveCompletePackage(@NonNull org.eclipse.ocl.pivot.PrimitiveCompletePackage object) {
+	public @Nullable R visitPrimitiveCompletePackage(org.eclipse.ocl.pivot.@NonNull PrimitiveCompletePackage object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveLiteralExp(@NonNull org.eclipse.ocl.pivot.PrimitiveLiteralExp object) {
+	public @Nullable R visitPrimitiveLiteralExp(org.eclipse.ocl.pivot.@NonNull PrimitiveLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveType(@NonNull org.eclipse.ocl.pivot.PrimitiveType object) {
+	public @Nullable R visitPrimitiveType(org.eclipse.ocl.pivot.@NonNull PrimitiveType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitProfile(@NonNull org.eclipse.ocl.pivot.Profile object) {
+	public @Nullable R visitProfile(org.eclipse.ocl.pivot.@NonNull Profile object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitProfileApplication(@NonNull org.eclipse.ocl.pivot.ProfileApplication object) {
+	public @Nullable R visitProfileApplication(org.eclipse.ocl.pivot.@NonNull ProfileApplication object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitProperty(@NonNull org.eclipse.ocl.pivot.Property object) {
+	public @Nullable R visitProperty(org.eclipse.ocl.pivot.@NonNull Property object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPropertyCallExp(@NonNull org.eclipse.ocl.pivot.PropertyCallExp object) {
+	public @Nullable R visitPropertyCallExp(org.eclipse.ocl.pivot.@NonNull PropertyCallExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitPseudostate(@NonNull org.eclipse.ocl.pivot.Pseudostate object) {
+	public @Nullable R visitPseudostate(org.eclipse.ocl.pivot.@NonNull Pseudostate object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitRealLiteralExp(@NonNull org.eclipse.ocl.pivot.RealLiteralExp object) {
+	public @Nullable R visitRealLiteralExp(org.eclipse.ocl.pivot.@NonNull RealLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitRegion(@NonNull org.eclipse.ocl.pivot.Region object) {
+	public @Nullable R visitRegion(org.eclipse.ocl.pivot.@NonNull Region object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitSelfType(@NonNull org.eclipse.ocl.pivot.SelfType object) {
+	public @Nullable R visitSelfType(org.eclipse.ocl.pivot.@NonNull SelfType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitSendSignalAction(@NonNull org.eclipse.ocl.pivot.SendSignalAction object) {
+	public @Nullable R visitSendSignalAction(org.eclipse.ocl.pivot.@NonNull SendSignalAction object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitSequenceType(@NonNull org.eclipse.ocl.pivot.SequenceType object) {
+	public @Nullable R visitSequenceType(org.eclipse.ocl.pivot.@NonNull SequenceType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitSetType(@NonNull org.eclipse.ocl.pivot.SetType object) {
+	public @Nullable R visitSetType(org.eclipse.ocl.pivot.@NonNull SetType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitShadowExp(@NonNull org.eclipse.ocl.pivot.ShadowExp object) {
+	public @Nullable R visitShadowExp(org.eclipse.ocl.pivot.@NonNull ShadowExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitShadowPart(@NonNull org.eclipse.ocl.pivot.ShadowPart object) {
+	public @Nullable R visitShadowPart(org.eclipse.ocl.pivot.@NonNull ShadowPart object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitSignal(@NonNull org.eclipse.ocl.pivot.Signal object) {
+	public @Nullable R visitSignal(org.eclipse.ocl.pivot.@NonNull Signal object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitSlot(@NonNull org.eclipse.ocl.pivot.Slot object) {
+	public @Nullable R visitSlot(org.eclipse.ocl.pivot.@NonNull Slot object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitStandardLibrary(@NonNull org.eclipse.ocl.pivot.StandardLibrary object) {
+	public @Nullable R visitStandardLibrary(org.eclipse.ocl.pivot.@NonNull StandardLibrary object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitState(@NonNull org.eclipse.ocl.pivot.State object) {
+	public @Nullable R visitState(org.eclipse.ocl.pivot.@NonNull State object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitStateExp(@NonNull org.eclipse.ocl.pivot.StateExp object) {
+	public @Nullable R visitStateExp(org.eclipse.ocl.pivot.@NonNull StateExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitStateMachine(@NonNull org.eclipse.ocl.pivot.StateMachine object) {
+	public @Nullable R visitStateMachine(org.eclipse.ocl.pivot.@NonNull StateMachine object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitStereotype(@NonNull org.eclipse.ocl.pivot.Stereotype object) {
+	public @Nullable R visitStereotype(org.eclipse.ocl.pivot.@NonNull Stereotype object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitStereotypeExtender(@NonNull org.eclipse.ocl.pivot.StereotypeExtender object) {
+	public @Nullable R visitStereotypeExtender(org.eclipse.ocl.pivot.@NonNull StereotypeExtender object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitStringLiteralExp(@NonNull org.eclipse.ocl.pivot.StringLiteralExp object) {
+	public @Nullable R visitStringLiteralExp(org.eclipse.ocl.pivot.@NonNull StringLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTemplateBinding(@NonNull org.eclipse.ocl.pivot.TemplateBinding object) {
+	public @Nullable R visitTemplateBinding(org.eclipse.ocl.pivot.@NonNull TemplateBinding object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameter(@NonNull org.eclipse.ocl.pivot.TemplateParameter object) {
+	public @Nullable R visitTemplateParameter(org.eclipse.ocl.pivot.@NonNull TemplateParameter object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameterSubstitution(@NonNull org.eclipse.ocl.pivot.TemplateParameterSubstitution object) {
+	public @Nullable R visitTemplateParameterSubstitution(org.eclipse.ocl.pivot.@NonNull TemplateParameterSubstitution object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTemplateSignature(@NonNull org.eclipse.ocl.pivot.TemplateSignature object) {
+	public @Nullable R visitTemplateSignature(org.eclipse.ocl.pivot.@NonNull TemplateSignature object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTemplateableElement(@NonNull org.eclipse.ocl.pivot.TemplateableElement object) {
+	public @Nullable R visitTemplateableElement(org.eclipse.ocl.pivot.@NonNull TemplateableElement object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTransition(@NonNull org.eclipse.ocl.pivot.Transition object) {
+	public @Nullable R visitTransition(org.eclipse.ocl.pivot.@NonNull Transition object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTrigger(@NonNull org.eclipse.ocl.pivot.Trigger object) {
+	public @Nullable R visitTrigger(org.eclipse.ocl.pivot.@NonNull Trigger object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralExp(@NonNull org.eclipse.ocl.pivot.TupleLiteralExp object) {
+	public @Nullable R visitTupleLiteralExp(org.eclipse.ocl.pivot.@NonNull TupleLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralPart(@NonNull org.eclipse.ocl.pivot.TupleLiteralPart object) {
+	public @Nullable R visitTupleLiteralPart(org.eclipse.ocl.pivot.@NonNull TupleLiteralPart object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTupleType(@NonNull org.eclipse.ocl.pivot.TupleType object) {
+	public @Nullable R visitTupleType(org.eclipse.ocl.pivot.@NonNull TupleType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitType(@NonNull org.eclipse.ocl.pivot.Type object) {
+	public @Nullable R visitType(org.eclipse.ocl.pivot.@NonNull Type object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTypeExp(@NonNull org.eclipse.ocl.pivot.TypeExp object) {
+	public @Nullable R visitTypeExp(org.eclipse.ocl.pivot.@NonNull TypeExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitTypedElement(@NonNull org.eclipse.ocl.pivot.TypedElement object) {
+	public @Nullable R visitTypedElement(org.eclipse.ocl.pivot.@NonNull TypedElement object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitUnlimitedNaturalLiteralExp(@NonNull org.eclipse.ocl.pivot.UnlimitedNaturalLiteralExp object) {
+	public @Nullable R visitUnlimitedNaturalLiteralExp(org.eclipse.ocl.pivot.@NonNull UnlimitedNaturalLiteralExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitUnspecifiedValueExp(@NonNull org.eclipse.ocl.pivot.UnspecifiedValueExp object) {
+	public @Nullable R visitUnspecifiedValueExp(org.eclipse.ocl.pivot.@NonNull UnspecifiedValueExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitValueSpecification(@NonNull org.eclipse.ocl.pivot.ValueSpecification object) {
+	public @Nullable R visitValueSpecification(org.eclipse.ocl.pivot.@NonNull ValueSpecification object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitVariable(@NonNull org.eclipse.ocl.pivot.Variable object) {
+	public @Nullable R visitVariable(org.eclipse.ocl.pivot.@NonNull Variable object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitVariableDeclaration(@NonNull org.eclipse.ocl.pivot.VariableDeclaration object) {
+	public @Nullable R visitVariableDeclaration(org.eclipse.ocl.pivot.@NonNull VariableDeclaration object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitVariableExp(@NonNull org.eclipse.ocl.pivot.VariableExp object) {
+	public @Nullable R visitVariableExp(org.eclipse.ocl.pivot.@NonNull VariableExp object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitVertex(@NonNull org.eclipse.ocl.pivot.Vertex object) {
+	public @Nullable R visitVertex(org.eclipse.ocl.pivot.@NonNull Vertex object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitVoidType(@NonNull org.eclipse.ocl.pivot.VoidType object) {
+	public @Nullable R visitVoidType(org.eclipse.ocl.pivot.@NonNull VoidType object) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visitWildcardType(@NonNull org.eclipse.ocl.pivot.WildcardType object) {
+	public @Nullable R visitWildcardType(org.eclipse.ocl.pivot.@NonNull WildcardType object) {
 		return null;
 	}
 }
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractVisitor.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractVisitor.java
index d232570..41a70b0 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractVisitor.java
@@ -57,7 +57,7 @@
 	 * @return <code>null</code> if the visitable is <code>null</code>;
 	 *	 otherwise, the result of visiting it
 	 */
-	public @Nullable R safeVisit(@Nullable org.eclipse.ocl.pivot.util.Visitable v) {
+	public @Nullable R safeVisit(org.eclipse.ocl.pivot.@Nullable util.Visitable v) {
 		return (v == null) ? null : v.accept(this);
 	}
 	
@@ -68,11 +68,11 @@
 	 * @return <code>null</code> if the visitable is <code>null</code>;
 	 *	 otherwise, the result of visiting it
 	 */
-	public @Nullable R visit(@NonNull org.eclipse.ocl.pivot.util.Visitable v) {
+	public @Nullable R visit(org.eclipse.ocl.pivot.util.@NonNull Visitable v) {
 		return v.accept(this);
 	}
 
-	//	public @Nullable R visiting(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable) {
+	//	public @Nullable R visiting(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable) {
 	//		return null;
 	//	}
 }
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractWrappingVisitor.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractWrappingVisitor.java
index 81943cd..5b1ebfc 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractWrappingVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/AbstractWrappingVisitor.java
@@ -39,7 +39,7 @@
 	 * 
 	 * @return a rethrown RuntimeException or a RuntimeException-wrapped non-RuntimeException.
 	 */
-	protected @Nullable R badVisit(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable, @Nullable P prologue, @NonNull Throwable e) throws RuntimeException {
+	protected @Nullable R badVisit(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable, @Nullable P prologue, @NonNull Throwable e) throws RuntimeException {
 		if (e instanceof Exception) {
 			throw (RuntimeException)e;
 		}
@@ -64,7 +64,7 @@
 	 * 
 	 * @return the epilogue result, which defaults to the delegated result.
 	 */
-	protected @Nullable R postVisit(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable, @Nullable P prologue, @Nullable R result) {
+	protected @Nullable R postVisit(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable, @Nullable P prologue, @Nullable R result) {
 		return result;
 	}
 
@@ -73,17 +73,17 @@
 	 * 
 	 * @return the prologue result, which defauilts to null.
 	 */
-	protected @Nullable P preVisit(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable) {
+	protected @Nullable P preVisit(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable) {
 		return null;
 	}
 
 	@Override
-	public @Nullable R visiting(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable) {
+	public @Nullable R visiting(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable) {
 		throw new UnsupportedOperationException();		// Cannot happen since all methods delegate.
 	}
 
 	@Override
-	public @Nullable R visitAnnotation(@NonNull org.eclipse.ocl.pivot.Annotation object) {
+	public @Nullable R visitAnnotation(org.eclipse.ocl.pivot.@NonNull Annotation object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitAnnotation(object);
@@ -95,7 +95,7 @@
 	}
 
 	@Override
-	public @Nullable R visitAnyType(@NonNull org.eclipse.ocl.pivot.AnyType object) {
+	public @Nullable R visitAnyType(org.eclipse.ocl.pivot.@NonNull AnyType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitAnyType(object);
@@ -107,7 +107,7 @@
 	}
 
 	@Override
-	public @Nullable R visitAssociationClass(@NonNull org.eclipse.ocl.pivot.AssociationClass object) {
+	public @Nullable R visitAssociationClass(org.eclipse.ocl.pivot.@NonNull AssociationClass object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitAssociationClass(object);
@@ -119,7 +119,7 @@
 	}
 
 	@Override
-	public @Nullable R visitAssociationClassCallExp(@NonNull org.eclipse.ocl.pivot.AssociationClassCallExp object) {
+	public @Nullable R visitAssociationClassCallExp(org.eclipse.ocl.pivot.@NonNull AssociationClassCallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitAssociationClassCallExp(object);
@@ -131,7 +131,7 @@
 	}
 
 	@Override
-	public @Nullable R visitBagType(@NonNull org.eclipse.ocl.pivot.BagType object) {
+	public @Nullable R visitBagType(org.eclipse.ocl.pivot.@NonNull BagType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitBagType(object);
@@ -143,7 +143,7 @@
 	}
 
 	@Override
-	public @Nullable R visitBehavior(@NonNull org.eclipse.ocl.pivot.Behavior object) {
+	public @Nullable R visitBehavior(org.eclipse.ocl.pivot.@NonNull Behavior object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitBehavior(object);
@@ -155,7 +155,7 @@
 	}
 
 	@Override
-	public @Nullable R visitBooleanLiteralExp(@NonNull org.eclipse.ocl.pivot.BooleanLiteralExp object) {
+	public @Nullable R visitBooleanLiteralExp(org.eclipse.ocl.pivot.@NonNull BooleanLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitBooleanLiteralExp(object);
@@ -167,7 +167,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCallExp(@NonNull org.eclipse.ocl.pivot.CallExp object) {
+	public @Nullable R visitCallExp(org.eclipse.ocl.pivot.@NonNull CallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCallExp(object);
@@ -179,7 +179,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCallOperationAction(@NonNull org.eclipse.ocl.pivot.CallOperationAction object) {
+	public @Nullable R visitCallOperationAction(org.eclipse.ocl.pivot.@NonNull CallOperationAction object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCallOperationAction(object);
@@ -191,7 +191,7 @@
 	}
 
 	@Override
-	public @Nullable R visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public @Nullable R visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitClass(object);
@@ -203,7 +203,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCollectionItem(@NonNull org.eclipse.ocl.pivot.CollectionItem object) {
+	public @Nullable R visitCollectionItem(org.eclipse.ocl.pivot.@NonNull CollectionItem object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCollectionItem(object);
@@ -215,7 +215,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralExp(@NonNull org.eclipse.ocl.pivot.CollectionLiteralExp object) {
+	public @Nullable R visitCollectionLiteralExp(org.eclipse.ocl.pivot.@NonNull CollectionLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCollectionLiteralExp(object);
@@ -227,7 +227,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCollectionLiteralPart(@NonNull org.eclipse.ocl.pivot.CollectionLiteralPart object) {
+	public @Nullable R visitCollectionLiteralPart(org.eclipse.ocl.pivot.@NonNull CollectionLiteralPart object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCollectionLiteralPart(object);
@@ -239,7 +239,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCollectionRange(@NonNull org.eclipse.ocl.pivot.CollectionRange object) {
+	public @Nullable R visitCollectionRange(org.eclipse.ocl.pivot.@NonNull CollectionRange object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCollectionRange(object);
@@ -251,7 +251,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCollectionType(@NonNull org.eclipse.ocl.pivot.CollectionType object) {
+	public @Nullable R visitCollectionType(org.eclipse.ocl.pivot.@NonNull CollectionType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCollectionType(object);
@@ -263,7 +263,7 @@
 	}
 
 	@Override
-	public @Nullable R visitComment(@NonNull org.eclipse.ocl.pivot.Comment object) {
+	public @Nullable R visitComment(org.eclipse.ocl.pivot.@NonNull Comment object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitComment(object);
@@ -275,7 +275,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCompleteClass(@NonNull org.eclipse.ocl.pivot.CompleteClass object) {
+	public @Nullable R visitCompleteClass(org.eclipse.ocl.pivot.@NonNull CompleteClass object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCompleteClass(object);
@@ -287,7 +287,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCompleteEnvironment(@NonNull org.eclipse.ocl.pivot.CompleteEnvironment object) {
+	public @Nullable R visitCompleteEnvironment(org.eclipse.ocl.pivot.@NonNull CompleteEnvironment object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCompleteEnvironment(object);
@@ -299,7 +299,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCompleteModel(@NonNull org.eclipse.ocl.pivot.CompleteModel object) {
+	public @Nullable R visitCompleteModel(org.eclipse.ocl.pivot.@NonNull CompleteModel object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCompleteModel(object);
@@ -311,7 +311,7 @@
 	}
 
 	@Override
-	public @Nullable R visitCompletePackage(@NonNull org.eclipse.ocl.pivot.CompletePackage object) {
+	public @Nullable R visitCompletePackage(org.eclipse.ocl.pivot.@NonNull CompletePackage object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitCompletePackage(object);
@@ -323,7 +323,7 @@
 	}
 
 	@Override
-	public @Nullable R visitConnectionPointReference(@NonNull org.eclipse.ocl.pivot.ConnectionPointReference object) {
+	public @Nullable R visitConnectionPointReference(org.eclipse.ocl.pivot.@NonNull ConnectionPointReference object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitConnectionPointReference(object);
@@ -335,7 +335,7 @@
 	}
 
 	@Override
-	public @Nullable R visitConstraint(@NonNull org.eclipse.ocl.pivot.Constraint object) {
+	public @Nullable R visitConstraint(org.eclipse.ocl.pivot.@NonNull Constraint object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitConstraint(object);
@@ -347,7 +347,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDataType(@NonNull org.eclipse.ocl.pivot.DataType object) {
+	public @Nullable R visitDataType(org.eclipse.ocl.pivot.@NonNull DataType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDataType(object);
@@ -359,7 +359,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDetail(@NonNull org.eclipse.ocl.pivot.Detail object) {
+	public @Nullable R visitDetail(org.eclipse.ocl.pivot.@NonNull Detail object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDetail(object);
@@ -371,7 +371,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDynamicBehavior(@NonNull org.eclipse.ocl.pivot.DynamicBehavior object) {
+	public @Nullable R visitDynamicBehavior(org.eclipse.ocl.pivot.@NonNull DynamicBehavior object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDynamicBehavior(object);
@@ -383,7 +383,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDynamicElement(@NonNull org.eclipse.ocl.pivot.DynamicElement object) {
+	public @Nullable R visitDynamicElement(org.eclipse.ocl.pivot.@NonNull DynamicElement object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDynamicElement(object);
@@ -395,7 +395,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDynamicProperty(@NonNull org.eclipse.ocl.pivot.DynamicProperty object) {
+	public @Nullable R visitDynamicProperty(org.eclipse.ocl.pivot.@NonNull DynamicProperty object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDynamicProperty(object);
@@ -407,7 +407,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDynamicType(@NonNull org.eclipse.ocl.pivot.DynamicType object) {
+	public @Nullable R visitDynamicType(org.eclipse.ocl.pivot.@NonNull DynamicType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDynamicType(object);
@@ -419,7 +419,7 @@
 	}
 
 	@Override
-	public @Nullable R visitDynamicValueSpecification(@NonNull org.eclipse.ocl.pivot.DynamicValueSpecification object) {
+	public @Nullable R visitDynamicValueSpecification(org.eclipse.ocl.pivot.@NonNull DynamicValueSpecification object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitDynamicValueSpecification(object);
@@ -431,7 +431,7 @@
 	}
 
 	@Override
-	public @Nullable R visitElement(@NonNull org.eclipse.ocl.pivot.Element object) {
+	public @Nullable R visitElement(org.eclipse.ocl.pivot.@NonNull Element object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitElement(object);
@@ -443,7 +443,7 @@
 	}
 
 	@Override
-	public @Nullable R visitElementExtension(@NonNull org.eclipse.ocl.pivot.ElementExtension object) {
+	public @Nullable R visitElementExtension(org.eclipse.ocl.pivot.@NonNull ElementExtension object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitElementExtension(object);
@@ -455,7 +455,7 @@
 	}
 
 	@Override
-	public @Nullable R visitEnumLiteralExp(@NonNull org.eclipse.ocl.pivot.EnumLiteralExp object) {
+	public @Nullable R visitEnumLiteralExp(org.eclipse.ocl.pivot.@NonNull EnumLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitEnumLiteralExp(object);
@@ -467,7 +467,7 @@
 	}
 
 	@Override
-	public @Nullable R visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object) {
+	public @Nullable R visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitEnumeration(object);
@@ -479,7 +479,7 @@
 	}
 
 	@Override
-	public @Nullable R visitEnumerationLiteral(@NonNull org.eclipse.ocl.pivot.EnumerationLiteral object) {
+	public @Nullable R visitEnumerationLiteral(org.eclipse.ocl.pivot.@NonNull EnumerationLiteral object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitEnumerationLiteral(object);
@@ -491,7 +491,7 @@
 	}
 
 	@Override
-	public @Nullable R visitExpressionInOCL(@NonNull org.eclipse.ocl.pivot.ExpressionInOCL object) {
+	public @Nullable R visitExpressionInOCL(org.eclipse.ocl.pivot.@NonNull ExpressionInOCL object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitExpressionInOCL(object);
@@ -503,7 +503,7 @@
 	}
 
 	@Override
-	public @Nullable R visitFeature(@NonNull org.eclipse.ocl.pivot.Feature object) {
+	public @Nullable R visitFeature(org.eclipse.ocl.pivot.@NonNull Feature object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitFeature(object);
@@ -515,7 +515,7 @@
 	}
 
 	@Override
-	public @Nullable R visitFeatureCallExp(@NonNull org.eclipse.ocl.pivot.FeatureCallExp object) {
+	public @Nullable R visitFeatureCallExp(org.eclipse.ocl.pivot.@NonNull FeatureCallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitFeatureCallExp(object);
@@ -527,7 +527,7 @@
 	}
 
 	@Override
-	public @Nullable R visitFinalState(@NonNull org.eclipse.ocl.pivot.FinalState object) {
+	public @Nullable R visitFinalState(org.eclipse.ocl.pivot.@NonNull FinalState object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitFinalState(object);
@@ -539,7 +539,7 @@
 	}
 
 	@Override
-	public @Nullable R visitIfExp(@NonNull org.eclipse.ocl.pivot.IfExp object) {
+	public @Nullable R visitIfExp(org.eclipse.ocl.pivot.@NonNull IfExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitIfExp(object);
@@ -551,7 +551,7 @@
 	}
 
 	@Override
-	public @Nullable R visitImport(@NonNull org.eclipse.ocl.pivot.Import object) {
+	public @Nullable R visitImport(org.eclipse.ocl.pivot.@NonNull Import object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitImport(object);
@@ -563,7 +563,7 @@
 	}
 
 	@Override
-	public @Nullable R visitInstanceSpecification(@NonNull org.eclipse.ocl.pivot.InstanceSpecification object) {
+	public @Nullable R visitInstanceSpecification(org.eclipse.ocl.pivot.@NonNull InstanceSpecification object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitInstanceSpecification(object);
@@ -575,7 +575,7 @@
 	}
 
 	@Override
-	public @Nullable R visitIntegerLiteralExp(@NonNull org.eclipse.ocl.pivot.IntegerLiteralExp object) {
+	public @Nullable R visitIntegerLiteralExp(org.eclipse.ocl.pivot.@NonNull IntegerLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitIntegerLiteralExp(object);
@@ -587,7 +587,7 @@
 	}
 
 	@Override
-	public @Nullable R visitInvalidLiteralExp(@NonNull org.eclipse.ocl.pivot.InvalidLiteralExp object) {
+	public @Nullable R visitInvalidLiteralExp(org.eclipse.ocl.pivot.@NonNull InvalidLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitInvalidLiteralExp(object);
@@ -599,7 +599,7 @@
 	}
 
 	@Override
-	public @Nullable R visitInvalidType(@NonNull org.eclipse.ocl.pivot.InvalidType object) {
+	public @Nullable R visitInvalidType(org.eclipse.ocl.pivot.@NonNull InvalidType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitInvalidType(object);
@@ -611,7 +611,7 @@
 	}
 
 	@Override
-	public @Nullable R visitIterateExp(@NonNull org.eclipse.ocl.pivot.IterateExp object) {
+	public @Nullable R visitIterateExp(org.eclipse.ocl.pivot.@NonNull IterateExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitIterateExp(object);
@@ -623,7 +623,7 @@
 	}
 
 	@Override
-	public @Nullable R visitIteration(@NonNull org.eclipse.ocl.pivot.Iteration object) {
+	public @Nullable R visitIteration(org.eclipse.ocl.pivot.@NonNull Iteration object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitIteration(object);
@@ -635,7 +635,7 @@
 	}
 
 	@Override
-	public @Nullable R visitIteratorExp(@NonNull org.eclipse.ocl.pivot.IteratorExp object) {
+	public @Nullable R visitIteratorExp(org.eclipse.ocl.pivot.@NonNull IteratorExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitIteratorExp(object);
@@ -647,7 +647,7 @@
 	}
 
 	@Override
-	public @Nullable R visitLambdaType(@NonNull org.eclipse.ocl.pivot.LambdaType object) {
+	public @Nullable R visitLambdaType(org.eclipse.ocl.pivot.@NonNull LambdaType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitLambdaType(object);
@@ -659,7 +659,7 @@
 	}
 
 	@Override
-	public @Nullable R visitLanguageExpression(@NonNull org.eclipse.ocl.pivot.LanguageExpression object) {
+	public @Nullable R visitLanguageExpression(org.eclipse.ocl.pivot.@NonNull LanguageExpression object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitLanguageExpression(object);
@@ -671,7 +671,7 @@
 	}
 
 	@Override
-	public @Nullable R visitLetExp(@NonNull org.eclipse.ocl.pivot.LetExp object) {
+	public @Nullable R visitLetExp(org.eclipse.ocl.pivot.@NonNull LetExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitLetExp(object);
@@ -683,7 +683,7 @@
 	}
 
 	@Override
-	public @Nullable R visitLibrary(@NonNull org.eclipse.ocl.pivot.Library object) {
+	public @Nullable R visitLibrary(org.eclipse.ocl.pivot.@NonNull Library object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitLibrary(object);
@@ -695,7 +695,7 @@
 	}
 
 	@Override
-	public @Nullable R visitLiteralExp(@NonNull org.eclipse.ocl.pivot.LiteralExp object) {
+	public @Nullable R visitLiteralExp(org.eclipse.ocl.pivot.@NonNull LiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitLiteralExp(object);
@@ -707,7 +707,7 @@
 	}
 
 	@Override
-	public @Nullable R visitLoopExp(@NonNull org.eclipse.ocl.pivot.LoopExp object) {
+	public @Nullable R visitLoopExp(org.eclipse.ocl.pivot.@NonNull LoopExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitLoopExp(object);
@@ -719,7 +719,7 @@
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralExp(@NonNull org.eclipse.ocl.pivot.MapLiteralExp object) {
+	public @Nullable R visitMapLiteralExp(org.eclipse.ocl.pivot.@NonNull MapLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitMapLiteralExp(object);
@@ -731,7 +731,7 @@
 	}
 
 	@Override
-	public @Nullable R visitMapLiteralPart(@NonNull org.eclipse.ocl.pivot.MapLiteralPart object) {
+	public @Nullable R visitMapLiteralPart(org.eclipse.ocl.pivot.@NonNull MapLiteralPart object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitMapLiteralPart(object);
@@ -743,7 +743,7 @@
 	}
 
 	@Override
-	public @Nullable R visitMapType(@NonNull org.eclipse.ocl.pivot.MapType object) {
+	public @Nullable R visitMapType(org.eclipse.ocl.pivot.@NonNull MapType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitMapType(object);
@@ -755,7 +755,7 @@
 	}
 
 	@Override
-	public @Nullable R visitMessageExp(@NonNull org.eclipse.ocl.pivot.MessageExp object) {
+	public @Nullable R visitMessageExp(org.eclipse.ocl.pivot.@NonNull MessageExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitMessageExp(object);
@@ -767,7 +767,7 @@
 	}
 
 	@Override
-	public @Nullable R visitMessageType(@NonNull org.eclipse.ocl.pivot.MessageType object) {
+	public @Nullable R visitMessageType(org.eclipse.ocl.pivot.@NonNull MessageType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitMessageType(object);
@@ -779,7 +779,7 @@
 	}
 
 	@Override
-	public @Nullable R visitModel(@NonNull org.eclipse.ocl.pivot.Model object) {
+	public @Nullable R visitModel(org.eclipse.ocl.pivot.@NonNull Model object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitModel(object);
@@ -791,7 +791,7 @@
 	}
 
 	@Override
-	public @Nullable R visitNamedElement(@NonNull org.eclipse.ocl.pivot.NamedElement object) {
+	public @Nullable R visitNamedElement(org.eclipse.ocl.pivot.@NonNull NamedElement object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitNamedElement(object);
@@ -803,7 +803,7 @@
 	}
 
 	@Override
-	public @Nullable R visitNamespace(@NonNull org.eclipse.ocl.pivot.Namespace object) {
+	public @Nullable R visitNamespace(org.eclipse.ocl.pivot.@NonNull Namespace object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitNamespace(object);
@@ -815,7 +815,7 @@
 	}
 
 	@Override
-	public @Nullable R visitNavigationCallExp(@NonNull org.eclipse.ocl.pivot.NavigationCallExp object) {
+	public @Nullable R visitNavigationCallExp(org.eclipse.ocl.pivot.@NonNull NavigationCallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitNavigationCallExp(object);
@@ -827,7 +827,7 @@
 	}
 
 	@Override
-	public @Nullable R visitNullLiteralExp(@NonNull org.eclipse.ocl.pivot.NullLiteralExp object) {
+	public @Nullable R visitNullLiteralExp(org.eclipse.ocl.pivot.@NonNull NullLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitNullLiteralExp(object);
@@ -839,7 +839,7 @@
 	}
 
 	@Override
-	public @Nullable R visitNumericLiteralExp(@NonNull org.eclipse.ocl.pivot.NumericLiteralExp object) {
+	public @Nullable R visitNumericLiteralExp(org.eclipse.ocl.pivot.@NonNull NumericLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitNumericLiteralExp(object);
@@ -851,7 +851,7 @@
 	}
 
 	@Override
-	public @Nullable R visitOCLExpression(@NonNull org.eclipse.ocl.pivot.OCLExpression object) {
+	public @Nullable R visitOCLExpression(org.eclipse.ocl.pivot.@NonNull OCLExpression object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitOCLExpression(object);
@@ -863,7 +863,7 @@
 	}
 
 	@Override
-	public @Nullable R visitOperation(@NonNull org.eclipse.ocl.pivot.Operation object) {
+	public @Nullable R visitOperation(org.eclipse.ocl.pivot.@NonNull Operation object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitOperation(object);
@@ -875,7 +875,7 @@
 	}
 
 	@Override
-	public @Nullable R visitOperationCallExp(@NonNull org.eclipse.ocl.pivot.OperationCallExp object) {
+	public @Nullable R visitOperationCallExp(org.eclipse.ocl.pivot.@NonNull OperationCallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitOperationCallExp(object);
@@ -887,7 +887,7 @@
 	}
 
 	@Override
-	public @Nullable R visitOppositePropertyCallExp(@NonNull org.eclipse.ocl.pivot.OppositePropertyCallExp object) {
+	public @Nullable R visitOppositePropertyCallExp(org.eclipse.ocl.pivot.@NonNull OppositePropertyCallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitOppositePropertyCallExp(object);
@@ -899,7 +899,7 @@
 	}
 
 	@Override
-	public @Nullable R visitOrderedSetType(@NonNull org.eclipse.ocl.pivot.OrderedSetType object) {
+	public @Nullable R visitOrderedSetType(org.eclipse.ocl.pivot.@NonNull OrderedSetType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitOrderedSetType(object);
@@ -911,7 +911,7 @@
 	}
 
 	@Override
-	public @Nullable R visitOrphanCompletePackage(@NonNull org.eclipse.ocl.pivot.OrphanCompletePackage object) {
+	public @Nullable R visitOrphanCompletePackage(org.eclipse.ocl.pivot.@NonNull OrphanCompletePackage object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitOrphanCompletePackage(object);
@@ -923,7 +923,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public @Nullable R visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPackage(object);
@@ -935,7 +935,7 @@
 	}
 
 	@Override
-	public @Nullable R visitParameter(@NonNull org.eclipse.ocl.pivot.Parameter object) {
+	public @Nullable R visitParameter(org.eclipse.ocl.pivot.@NonNull Parameter object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitParameter(object);
@@ -947,7 +947,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPrecedence(@NonNull org.eclipse.ocl.pivot.Precedence object) {
+	public @Nullable R visitPrecedence(org.eclipse.ocl.pivot.@NonNull Precedence object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPrecedence(object);
@@ -959,7 +959,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveCompletePackage(@NonNull org.eclipse.ocl.pivot.PrimitiveCompletePackage object) {
+	public @Nullable R visitPrimitiveCompletePackage(org.eclipse.ocl.pivot.@NonNull PrimitiveCompletePackage object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPrimitiveCompletePackage(object);
@@ -971,7 +971,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveLiteralExp(@NonNull org.eclipse.ocl.pivot.PrimitiveLiteralExp object) {
+	public @Nullable R visitPrimitiveLiteralExp(org.eclipse.ocl.pivot.@NonNull PrimitiveLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPrimitiveLiteralExp(object);
@@ -983,7 +983,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPrimitiveType(@NonNull org.eclipse.ocl.pivot.PrimitiveType object) {
+	public @Nullable R visitPrimitiveType(org.eclipse.ocl.pivot.@NonNull PrimitiveType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPrimitiveType(object);
@@ -995,7 +995,7 @@
 	}
 
 	@Override
-	public @Nullable R visitProfile(@NonNull org.eclipse.ocl.pivot.Profile object) {
+	public @Nullable R visitProfile(org.eclipse.ocl.pivot.@NonNull Profile object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitProfile(object);
@@ -1007,7 +1007,7 @@
 	}
 
 	@Override
-	public @Nullable R visitProfileApplication(@NonNull org.eclipse.ocl.pivot.ProfileApplication object) {
+	public @Nullable R visitProfileApplication(org.eclipse.ocl.pivot.@NonNull ProfileApplication object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitProfileApplication(object);
@@ -1019,7 +1019,7 @@
 	}
 
 	@Override
-	public @Nullable R visitProperty(@NonNull org.eclipse.ocl.pivot.Property object) {
+	public @Nullable R visitProperty(org.eclipse.ocl.pivot.@NonNull Property object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitProperty(object);
@@ -1031,7 +1031,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPropertyCallExp(@NonNull org.eclipse.ocl.pivot.PropertyCallExp object) {
+	public @Nullable R visitPropertyCallExp(org.eclipse.ocl.pivot.@NonNull PropertyCallExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPropertyCallExp(object);
@@ -1043,7 +1043,7 @@
 	}
 
 	@Override
-	public @Nullable R visitPseudostate(@NonNull org.eclipse.ocl.pivot.Pseudostate object) {
+	public @Nullable R visitPseudostate(org.eclipse.ocl.pivot.@NonNull Pseudostate object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitPseudostate(object);
@@ -1055,7 +1055,7 @@
 	}
 
 	@Override
-	public @Nullable R visitRealLiteralExp(@NonNull org.eclipse.ocl.pivot.RealLiteralExp object) {
+	public @Nullable R visitRealLiteralExp(org.eclipse.ocl.pivot.@NonNull RealLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitRealLiteralExp(object);
@@ -1067,7 +1067,7 @@
 	}
 
 	@Override
-	public @Nullable R visitRegion(@NonNull org.eclipse.ocl.pivot.Region object) {
+	public @Nullable R visitRegion(org.eclipse.ocl.pivot.@NonNull Region object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitRegion(object);
@@ -1079,7 +1079,7 @@
 	}
 
 	@Override
-	public @Nullable R visitSelfType(@NonNull org.eclipse.ocl.pivot.SelfType object) {
+	public @Nullable R visitSelfType(org.eclipse.ocl.pivot.@NonNull SelfType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitSelfType(object);
@@ -1091,7 +1091,7 @@
 	}
 
 	@Override
-	public @Nullable R visitSendSignalAction(@NonNull org.eclipse.ocl.pivot.SendSignalAction object) {
+	public @Nullable R visitSendSignalAction(org.eclipse.ocl.pivot.@NonNull SendSignalAction object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitSendSignalAction(object);
@@ -1103,7 +1103,7 @@
 	}
 
 	@Override
-	public @Nullable R visitSequenceType(@NonNull org.eclipse.ocl.pivot.SequenceType object) {
+	public @Nullable R visitSequenceType(org.eclipse.ocl.pivot.@NonNull SequenceType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitSequenceType(object);
@@ -1115,7 +1115,7 @@
 	}
 
 	@Override
-	public @Nullable R visitSetType(@NonNull org.eclipse.ocl.pivot.SetType object) {
+	public @Nullable R visitSetType(org.eclipse.ocl.pivot.@NonNull SetType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitSetType(object);
@@ -1127,7 +1127,7 @@
 	}
 
 	@Override
-	public @Nullable R visitShadowExp(@NonNull org.eclipse.ocl.pivot.ShadowExp object) {
+	public @Nullable R visitShadowExp(org.eclipse.ocl.pivot.@NonNull ShadowExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitShadowExp(object);
@@ -1139,7 +1139,7 @@
 	}
 
 	@Override
-	public @Nullable R visitShadowPart(@NonNull org.eclipse.ocl.pivot.ShadowPart object) {
+	public @Nullable R visitShadowPart(org.eclipse.ocl.pivot.@NonNull ShadowPart object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitShadowPart(object);
@@ -1151,7 +1151,7 @@
 	}
 
 	@Override
-	public @Nullable R visitSignal(@NonNull org.eclipse.ocl.pivot.Signal object) {
+	public @Nullable R visitSignal(org.eclipse.ocl.pivot.@NonNull Signal object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitSignal(object);
@@ -1163,7 +1163,7 @@
 	}
 
 	@Override
-	public @Nullable R visitSlot(@NonNull org.eclipse.ocl.pivot.Slot object) {
+	public @Nullable R visitSlot(org.eclipse.ocl.pivot.@NonNull Slot object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitSlot(object);
@@ -1175,7 +1175,7 @@
 	}
 
 	@Override
-	public @Nullable R visitStandardLibrary(@NonNull org.eclipse.ocl.pivot.StandardLibrary object) {
+	public @Nullable R visitStandardLibrary(org.eclipse.ocl.pivot.@NonNull StandardLibrary object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitStandardLibrary(object);
@@ -1187,7 +1187,7 @@
 	}
 
 	@Override
-	public @Nullable R visitState(@NonNull org.eclipse.ocl.pivot.State object) {
+	public @Nullable R visitState(org.eclipse.ocl.pivot.@NonNull State object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitState(object);
@@ -1199,7 +1199,7 @@
 	}
 
 	@Override
-	public @Nullable R visitStateExp(@NonNull org.eclipse.ocl.pivot.StateExp object) {
+	public @Nullable R visitStateExp(org.eclipse.ocl.pivot.@NonNull StateExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitStateExp(object);
@@ -1211,7 +1211,7 @@
 	}
 
 	@Override
-	public @Nullable R visitStateMachine(@NonNull org.eclipse.ocl.pivot.StateMachine object) {
+	public @Nullable R visitStateMachine(org.eclipse.ocl.pivot.@NonNull StateMachine object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitStateMachine(object);
@@ -1223,7 +1223,7 @@
 	}
 
 	@Override
-	public @Nullable R visitStereotype(@NonNull org.eclipse.ocl.pivot.Stereotype object) {
+	public @Nullable R visitStereotype(org.eclipse.ocl.pivot.@NonNull Stereotype object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitStereotype(object);
@@ -1235,7 +1235,7 @@
 	}
 
 	@Override
-	public @Nullable R visitStereotypeExtender(@NonNull org.eclipse.ocl.pivot.StereotypeExtender object) {
+	public @Nullable R visitStereotypeExtender(org.eclipse.ocl.pivot.@NonNull StereotypeExtender object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitStereotypeExtender(object);
@@ -1247,7 +1247,7 @@
 	}
 
 	@Override
-	public @Nullable R visitStringLiteralExp(@NonNull org.eclipse.ocl.pivot.StringLiteralExp object) {
+	public @Nullable R visitStringLiteralExp(org.eclipse.ocl.pivot.@NonNull StringLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitStringLiteralExp(object);
@@ -1259,7 +1259,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTemplateBinding(@NonNull org.eclipse.ocl.pivot.TemplateBinding object) {
+	public @Nullable R visitTemplateBinding(org.eclipse.ocl.pivot.@NonNull TemplateBinding object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTemplateBinding(object);
@@ -1271,7 +1271,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameter(@NonNull org.eclipse.ocl.pivot.TemplateParameter object) {
+	public @Nullable R visitTemplateParameter(org.eclipse.ocl.pivot.@NonNull TemplateParameter object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTemplateParameter(object);
@@ -1283,7 +1283,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTemplateParameterSubstitution(@NonNull org.eclipse.ocl.pivot.TemplateParameterSubstitution object) {
+	public @Nullable R visitTemplateParameterSubstitution(org.eclipse.ocl.pivot.@NonNull TemplateParameterSubstitution object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTemplateParameterSubstitution(object);
@@ -1295,7 +1295,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTemplateSignature(@NonNull org.eclipse.ocl.pivot.TemplateSignature object) {
+	public @Nullable R visitTemplateSignature(org.eclipse.ocl.pivot.@NonNull TemplateSignature object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTemplateSignature(object);
@@ -1307,7 +1307,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTemplateableElement(@NonNull org.eclipse.ocl.pivot.TemplateableElement object) {
+	public @Nullable R visitTemplateableElement(org.eclipse.ocl.pivot.@NonNull TemplateableElement object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTemplateableElement(object);
@@ -1319,7 +1319,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTransition(@NonNull org.eclipse.ocl.pivot.Transition object) {
+	public @Nullable R visitTransition(org.eclipse.ocl.pivot.@NonNull Transition object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTransition(object);
@@ -1331,7 +1331,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTrigger(@NonNull org.eclipse.ocl.pivot.Trigger object) {
+	public @Nullable R visitTrigger(org.eclipse.ocl.pivot.@NonNull Trigger object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTrigger(object);
@@ -1343,7 +1343,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralExp(@NonNull org.eclipse.ocl.pivot.TupleLiteralExp object) {
+	public @Nullable R visitTupleLiteralExp(org.eclipse.ocl.pivot.@NonNull TupleLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTupleLiteralExp(object);
@@ -1355,7 +1355,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTupleLiteralPart(@NonNull org.eclipse.ocl.pivot.TupleLiteralPart object) {
+	public @Nullable R visitTupleLiteralPart(org.eclipse.ocl.pivot.@NonNull TupleLiteralPart object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTupleLiteralPart(object);
@@ -1367,7 +1367,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTupleType(@NonNull org.eclipse.ocl.pivot.TupleType object) {
+	public @Nullable R visitTupleType(org.eclipse.ocl.pivot.@NonNull TupleType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTupleType(object);
@@ -1379,7 +1379,7 @@
 	}
 
 	@Override
-	public @Nullable R visitType(@NonNull org.eclipse.ocl.pivot.Type object) {
+	public @Nullable R visitType(org.eclipse.ocl.pivot.@NonNull Type object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitType(object);
@@ -1391,7 +1391,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTypeExp(@NonNull org.eclipse.ocl.pivot.TypeExp object) {
+	public @Nullable R visitTypeExp(org.eclipse.ocl.pivot.@NonNull TypeExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTypeExp(object);
@@ -1403,7 +1403,7 @@
 	}
 
 	@Override
-	public @Nullable R visitTypedElement(@NonNull org.eclipse.ocl.pivot.TypedElement object) {
+	public @Nullable R visitTypedElement(org.eclipse.ocl.pivot.@NonNull TypedElement object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitTypedElement(object);
@@ -1415,7 +1415,7 @@
 	}
 
 	@Override
-	public @Nullable R visitUnlimitedNaturalLiteralExp(@NonNull org.eclipse.ocl.pivot.UnlimitedNaturalLiteralExp object) {
+	public @Nullable R visitUnlimitedNaturalLiteralExp(org.eclipse.ocl.pivot.@NonNull UnlimitedNaturalLiteralExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitUnlimitedNaturalLiteralExp(object);
@@ -1427,7 +1427,7 @@
 	}
 
 	@Override
-	public @Nullable R visitUnspecifiedValueExp(@NonNull org.eclipse.ocl.pivot.UnspecifiedValueExp object) {
+	public @Nullable R visitUnspecifiedValueExp(org.eclipse.ocl.pivot.@NonNull UnspecifiedValueExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitUnspecifiedValueExp(object);
@@ -1439,7 +1439,7 @@
 	}
 
 	@Override
-	public @Nullable R visitValueSpecification(@NonNull org.eclipse.ocl.pivot.ValueSpecification object) {
+	public @Nullable R visitValueSpecification(org.eclipse.ocl.pivot.@NonNull ValueSpecification object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitValueSpecification(object);
@@ -1451,7 +1451,7 @@
 	}
 
 	@Override
-	public @Nullable R visitVariable(@NonNull org.eclipse.ocl.pivot.Variable object) {
+	public @Nullable R visitVariable(org.eclipse.ocl.pivot.@NonNull Variable object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitVariable(object);
@@ -1463,7 +1463,7 @@
 	}
 
 	@Override
-	public @Nullable R visitVariableDeclaration(@NonNull org.eclipse.ocl.pivot.VariableDeclaration object) {
+	public @Nullable R visitVariableDeclaration(org.eclipse.ocl.pivot.@NonNull VariableDeclaration object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitVariableDeclaration(object);
@@ -1475,7 +1475,7 @@
 	}
 
 	@Override
-	public @Nullable R visitVariableExp(@NonNull org.eclipse.ocl.pivot.VariableExp object) {
+	public @Nullable R visitVariableExp(org.eclipse.ocl.pivot.@NonNull VariableExp object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitVariableExp(object);
@@ -1487,7 +1487,7 @@
 	}
 
 	@Override
-	public @Nullable R visitVertex(@NonNull org.eclipse.ocl.pivot.Vertex object) {
+	public @Nullable R visitVertex(org.eclipse.ocl.pivot.@NonNull Vertex object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitVertex(object);
@@ -1499,7 +1499,7 @@
 	}
 
 	@Override
-	public @Nullable R visitVoidType(@NonNull org.eclipse.ocl.pivot.VoidType object) {
+	public @Nullable R visitVoidType(org.eclipse.ocl.pivot.@NonNull VoidType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitVoidType(object);
@@ -1511,7 +1511,7 @@
 	}
 
 	@Override
-	public @Nullable R visitWildcardType(@NonNull org.eclipse.ocl.pivot.WildcardType object) {
+	public @Nullable R visitWildcardType(org.eclipse.ocl.pivot.@NonNull WildcardType object) {
 		P prologue = preVisit(object);
 		try {
 			R result = delegate.visitWildcardType(object);
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitable.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitable.java
index 4689daf..ad48eb6 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitable.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitable.java
@@ -36,7 +36,7 @@
 	 * @param visitor
 	 * @return the result of the visit.
 	 */
-	@Nullable <R> R accept(@NonNull org.eclipse.ocl.pivot.util.Visitor<R> visitor);
+	@Nullable <R> R accept(org.eclipse.ocl.pivot.util.@NonNull Visitor<R> visitor);
 	
 	EClass eClass();
 }
diff --git a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitor.java b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitor.java
index c3b5f4c..60ced35 100644
--- a/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitor.java
+++ b/plugins/org.eclipse.ocl.pivot/emf-gen/org/eclipse/ocl/pivot/util/Visitor.java
@@ -38,126 +38,126 @@
 	 * Return the result of visiting a visitable for which no more specific pivot type method
 	 * is available.
 	 */
-	@Nullable R visiting(@NonNull org.eclipse.ocl.pivot.util.Visitable visitable);
+	@Nullable R visiting(org.eclipse.ocl.pivot.util.@NonNull Visitable visitable);
 
-	@Nullable R visitAnnotation(@NonNull org.eclipse.ocl.pivot.Annotation object);
-	@Nullable R visitAnyType(@NonNull org.eclipse.ocl.pivot.AnyType object);
-	@Nullable R visitAssociationClass(@NonNull org.eclipse.ocl.pivot.AssociationClass object);
-	@Nullable R visitAssociationClassCallExp(@NonNull org.eclipse.ocl.pivot.AssociationClassCallExp object);
-	@Nullable R visitBagType(@NonNull org.eclipse.ocl.pivot.BagType object);
-	@Nullable R visitBehavior(@NonNull org.eclipse.ocl.pivot.Behavior object);
-	@Nullable R visitBooleanLiteralExp(@NonNull org.eclipse.ocl.pivot.BooleanLiteralExp object);
-	@Nullable R visitCallExp(@NonNull org.eclipse.ocl.pivot.CallExp object);
-	@Nullable R visitCallOperationAction(@NonNull org.eclipse.ocl.pivot.CallOperationAction object);
-	@Nullable R visitClass(@NonNull org.eclipse.ocl.pivot.Class object);
-	@Nullable R visitCollectionItem(@NonNull org.eclipse.ocl.pivot.CollectionItem object);
-	@Nullable R visitCollectionLiteralExp(@NonNull org.eclipse.ocl.pivot.CollectionLiteralExp object);
-	@Nullable R visitCollectionLiteralPart(@NonNull org.eclipse.ocl.pivot.CollectionLiteralPart object);
-	@Nullable R visitCollectionRange(@NonNull org.eclipse.ocl.pivot.CollectionRange object);
-	@Nullable R visitCollectionType(@NonNull org.eclipse.ocl.pivot.CollectionType object);
-	@Nullable R visitComment(@NonNull org.eclipse.ocl.pivot.Comment object);
-	@Nullable R visitCompleteClass(@NonNull org.eclipse.ocl.pivot.CompleteClass object);
-	@Nullable R visitCompleteEnvironment(@NonNull org.eclipse.ocl.pivot.CompleteEnvironment object);
-	@Nullable R visitCompleteModel(@NonNull org.eclipse.ocl.pivot.CompleteModel object);
-	@Nullable R visitCompletePackage(@NonNull org.eclipse.ocl.pivot.CompletePackage object);
-	@Nullable R visitConnectionPointReference(@NonNull org.eclipse.ocl.pivot.ConnectionPointReference object);
-	@Nullable R visitConstraint(@NonNull org.eclipse.ocl.pivot.Constraint object);
-	@Nullable R visitDataType(@NonNull org.eclipse.ocl.pivot.DataType object);
-	@Nullable R visitDetail(@NonNull org.eclipse.ocl.pivot.Detail object);
-	@Nullable R visitDynamicBehavior(@NonNull org.eclipse.ocl.pivot.DynamicBehavior object);
-	@Nullable R visitDynamicElement(@NonNull org.eclipse.ocl.pivot.DynamicElement object);
-	@Nullable R visitDynamicProperty(@NonNull org.eclipse.ocl.pivot.DynamicProperty object);
-	@Nullable R visitDynamicType(@NonNull org.eclipse.ocl.pivot.DynamicType object);
-	@Nullable R visitDynamicValueSpecification(@NonNull org.eclipse.ocl.pivot.DynamicValueSpecification object);
-	@Nullable R visitElement(@NonNull org.eclipse.ocl.pivot.Element object);
-	@Nullable R visitElementExtension(@NonNull org.eclipse.ocl.pivot.ElementExtension object);
-	@Nullable R visitEnumLiteralExp(@NonNull org.eclipse.ocl.pivot.EnumLiteralExp object);
-	@Nullable R visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object);
-	@Nullable R visitEnumerationLiteral(@NonNull org.eclipse.ocl.pivot.EnumerationLiteral object);
-	@Nullable R visitExpressionInOCL(@NonNull org.eclipse.ocl.pivot.ExpressionInOCL object);
-	@Nullable R visitFeature(@NonNull org.eclipse.ocl.pivot.Feature object);
-	@Nullable R visitFeatureCallExp(@NonNull org.eclipse.ocl.pivot.FeatureCallExp object);
-	@Nullable R visitFinalState(@NonNull org.eclipse.ocl.pivot.FinalState object);
-	@Nullable R visitIfExp(@NonNull org.eclipse.ocl.pivot.IfExp object);
-	@Nullable R visitImport(@NonNull org.eclipse.ocl.pivot.Import object);
-	@Nullable R visitInstanceSpecification(@NonNull org.eclipse.ocl.pivot.InstanceSpecification object);
-	@Nullable R visitIntegerLiteralExp(@NonNull org.eclipse.ocl.pivot.IntegerLiteralExp object);
-	@Nullable R visitInvalidLiteralExp(@NonNull org.eclipse.ocl.pivot.InvalidLiteralExp object);
-	@Nullable R visitInvalidType(@NonNull org.eclipse.ocl.pivot.InvalidType object);
-	@Nullable R visitIterateExp(@NonNull org.eclipse.ocl.pivot.IterateExp object);
-	@Nullable R visitIteration(@NonNull org.eclipse.ocl.pivot.Iteration object);
-	@Nullable R visitIteratorExp(@NonNull org.eclipse.ocl.pivot.IteratorExp object);
-	@Nullable R visitLambdaType(@NonNull org.eclipse.ocl.pivot.LambdaType object);
-	@Nullable R visitLanguageExpression(@NonNull org.eclipse.ocl.pivot.LanguageExpression object);
-	@Nullable R visitLetExp(@NonNull org.eclipse.ocl.pivot.LetExp object);
-	@Nullable R visitLibrary(@NonNull org.eclipse.ocl.pivot.Library object);
-	@Nullable R visitLiteralExp(@NonNull org.eclipse.ocl.pivot.LiteralExp object);
-	@Nullable R visitLoopExp(@NonNull org.eclipse.ocl.pivot.LoopExp object);
-	@Nullable R visitMapLiteralExp(@NonNull org.eclipse.ocl.pivot.MapLiteralExp object);
-	@Nullable R visitMapLiteralPart(@NonNull org.eclipse.ocl.pivot.MapLiteralPart object);
-	@Nullable R visitMapType(@NonNull org.eclipse.ocl.pivot.MapType object);
-	@Nullable R visitMessageExp(@NonNull org.eclipse.ocl.pivot.MessageExp object);
-	@Nullable R visitMessageType(@NonNull org.eclipse.ocl.pivot.MessageType object);
-	@Nullable R visitModel(@NonNull org.eclipse.ocl.pivot.Model object);
-	@Nullable R visitNamedElement(@NonNull org.eclipse.ocl.pivot.NamedElement object);
-	@Nullable R visitNamespace(@NonNull org.eclipse.ocl.pivot.Namespace object);
-	@Nullable R visitNavigationCallExp(@NonNull org.eclipse.ocl.pivot.NavigationCallExp object);
-	@Nullable R visitNullLiteralExp(@NonNull org.eclipse.ocl.pivot.NullLiteralExp object);
-	@Nullable R visitNumericLiteralExp(@NonNull org.eclipse.ocl.pivot.NumericLiteralExp object);
-	@Nullable R visitOCLExpression(@NonNull org.eclipse.ocl.pivot.OCLExpression object);
-	@Nullable R visitOperation(@NonNull org.eclipse.ocl.pivot.Operation object);
-	@Nullable R visitOperationCallExp(@NonNull org.eclipse.ocl.pivot.OperationCallExp object);
-	@Nullable R visitOppositePropertyCallExp(@NonNull org.eclipse.ocl.pivot.OppositePropertyCallExp object);
-	@Nullable R visitOrderedSetType(@NonNull org.eclipse.ocl.pivot.OrderedSetType object);
-	@Nullable R visitOrphanCompletePackage(@NonNull org.eclipse.ocl.pivot.OrphanCompletePackage object);
-	@Nullable R visitPackage(@NonNull org.eclipse.ocl.pivot.Package object);
-	@Nullable R visitParameter(@NonNull org.eclipse.ocl.pivot.Parameter object);
-	@Nullable R visitPrecedence(@NonNull org.eclipse.ocl.pivot.Precedence object);
-	@Nullable R visitPrimitiveCompletePackage(@NonNull org.eclipse.ocl.pivot.PrimitiveCompletePackage object);
-	@Nullable R visitPrimitiveLiteralExp(@NonNull org.eclipse.ocl.pivot.PrimitiveLiteralExp object);
-	@Nullable R visitPrimitiveType(@NonNull org.eclipse.ocl.pivot.PrimitiveType object);
-	@Nullable R visitProfile(@NonNull org.eclipse.ocl.pivot.Profile object);
-	@Nullable R visitProfileApplication(@NonNull org.eclipse.ocl.pivot.ProfileApplication object);
-	@Nullable R visitProperty(@NonNull org.eclipse.ocl.pivot.Property object);
-	@Nullable R visitPropertyCallExp(@NonNull org.eclipse.ocl.pivot.PropertyCallExp object);
-	@Nullable R visitPseudostate(@NonNull org.eclipse.ocl.pivot.Pseudostate object);
-	@Nullable R visitRealLiteralExp(@NonNull org.eclipse.ocl.pivot.RealLiteralExp object);
-	@Nullable R visitRegion(@NonNull org.eclipse.ocl.pivot.Region object);
-	@Nullable R visitSelfType(@NonNull org.eclipse.ocl.pivot.SelfType object);
-	@Nullable R visitSendSignalAction(@NonNull org.eclipse.ocl.pivot.SendSignalAction object);
-	@Nullable R visitSequenceType(@NonNull org.eclipse.ocl.pivot.SequenceType object);
-	@Nullable R visitSetType(@NonNull org.eclipse.ocl.pivot.SetType object);
-	@Nullable R visitShadowExp(@NonNull org.eclipse.ocl.pivot.ShadowExp object);
-	@Nullable R visitShadowPart(@NonNull org.eclipse.ocl.pivot.ShadowPart object);
-	@Nullable R visitSignal(@NonNull org.eclipse.ocl.pivot.Signal object);
-	@Nullable R visitSlot(@NonNull org.eclipse.ocl.pivot.Slot object);
-	@Nullable R visitStandardLibrary(@NonNull org.eclipse.ocl.pivot.StandardLibrary object);
-	@Nullable R visitState(@NonNull org.eclipse.ocl.pivot.State object);
-	@Nullable R visitStateExp(@NonNull org.eclipse.ocl.pivot.StateExp object);
-	@Nullable R visitStateMachine(@NonNull org.eclipse.ocl.pivot.StateMachine object);
-	@Nullable R visitStereotype(@NonNull org.eclipse.ocl.pivot.Stereotype object);
-	@Nullable R visitStereotypeExtender(@NonNull org.eclipse.ocl.pivot.StereotypeExtender object);
-	@Nullable R visitStringLiteralExp(@NonNull org.eclipse.ocl.pivot.StringLiteralExp object);
-	@Nullable R visitTemplateBinding(@NonNull org.eclipse.ocl.pivot.TemplateBinding object);
-	@Nullable R visitTemplateParameter(@NonNull org.eclipse.ocl.pivot.TemplateParameter object);
-	@Nullable R visitTemplateParameterSubstitution(@NonNull org.eclipse.ocl.pivot.TemplateParameterSubstitution object);
-	@Nullable R visitTemplateSignature(@NonNull org.eclipse.ocl.pivot.TemplateSignature object);
-	@Nullable R visitTemplateableElement(@NonNull org.eclipse.ocl.pivot.TemplateableElement object);
-	@Nullable R visitTransition(@NonNull org.eclipse.ocl.pivot.Transition object);
-	@Nullable R visitTrigger(@NonNull org.eclipse.ocl.pivot.Trigger object);
-	@Nullable R visitTupleLiteralExp(@NonNull org.eclipse.ocl.pivot.TupleLiteralExp object);
-	@Nullable R visitTupleLiteralPart(@NonNull org.eclipse.ocl.pivot.TupleLiteralPart object);
-	@Nullable R visitTupleType(@NonNull org.eclipse.ocl.pivot.TupleType object);
-	@Nullable R visitType(@NonNull org.eclipse.ocl.pivot.Type object);
-	@Nullable R visitTypeExp(@NonNull org.eclipse.ocl.pivot.TypeExp object);
-	@Nullable R visitTypedElement(@NonNull org.eclipse.ocl.pivot.TypedElement object);
-	@Nullable R visitUnlimitedNaturalLiteralExp(@NonNull org.eclipse.ocl.pivot.UnlimitedNaturalLiteralExp object);
-	@Nullable R visitUnspecifiedValueExp(@NonNull org.eclipse.ocl.pivot.UnspecifiedValueExp object);
-	@Nullable R visitValueSpecification(@NonNull org.eclipse.ocl.pivot.ValueSpecification object);
-	@Nullable R visitVariable(@NonNull org.eclipse.ocl.pivot.Variable object);
-	@Nullable R visitVariableDeclaration(@NonNull org.eclipse.ocl.pivot.VariableDeclaration object);
-	@Nullable R visitVariableExp(@NonNull org.eclipse.ocl.pivot.VariableExp object);
-	@Nullable R visitVertex(@NonNull org.eclipse.ocl.pivot.Vertex object);
-	@Nullable R visitVoidType(@NonNull org.eclipse.ocl.pivot.VoidType object);
-	@Nullable R visitWildcardType(@NonNull org.eclipse.ocl.pivot.WildcardType object);
+	@Nullable R visitAnnotation(org.eclipse.ocl.pivot.@NonNull Annotation object);
+	@Nullable R visitAnyType(org.eclipse.ocl.pivot.@NonNull AnyType object);
+	@Nullable R visitAssociationClass(org.eclipse.ocl.pivot.@NonNull AssociationClass object);
+	@Nullable R visitAssociationClassCallExp(org.eclipse.ocl.pivot.@NonNull AssociationClassCallExp object);
+	@Nullable R visitBagType(org.eclipse.ocl.pivot.@NonNull BagType object);
+	@Nullable R visitBehavior(org.eclipse.ocl.pivot.@NonNull Behavior object);
+	@Nullable R visitBooleanLiteralExp(org.eclipse.ocl.pivot.@NonNull BooleanLiteralExp object);
+	@Nullable R visitCallExp(org.eclipse.ocl.pivot.@NonNull CallExp object);
+	@Nullable R visitCallOperationAction(org.eclipse.ocl.pivot.@NonNull CallOperationAction object);
+	@Nullable R visitClass(org.eclipse.ocl.pivot.@NonNull Class object);
+	@Nullable R visitCollectionItem(org.eclipse.ocl.pivot.@NonNull CollectionItem object);
+	@Nullable R visitCollectionLiteralExp(org.eclipse.ocl.pivot.@NonNull CollectionLiteralExp object);
+	@Nullable R visitCollectionLiteralPart(org.eclipse.ocl.pivot.@NonNull CollectionLiteralPart object);
+	@Nullable R visitCollectionRange(org.eclipse.ocl.pivot.@NonNull CollectionRange object);
+	@Nullable R visitCollectionType(org.eclipse.ocl.pivot.@NonNull CollectionType object);
+	@Nullable R visitComment(org.eclipse.ocl.pivot.@NonNull Comment object);
+	@Nullable R visitCompleteClass(org.eclipse.ocl.pivot.@NonNull CompleteClass object);
+	@Nullable R visitCompleteEnvironment(org.eclipse.ocl.pivot.@NonNull CompleteEnvironment object);
+	@Nullable R visitCompleteModel(org.eclipse.ocl.pivot.@NonNull CompleteModel object);
+	@Nullable R visitCompletePackage(org.eclipse.ocl.pivot.@NonNull CompletePackage object);
+	@Nullable R visitConnectionPointReference(org.eclipse.ocl.pivot.@NonNull ConnectionPointReference object);
+	@Nullable R visitConstraint(org.eclipse.ocl.pivot.@NonNull Constraint object);
+	@Nullable R visitDataType(org.eclipse.ocl.pivot.@NonNull DataType object);
+	@Nullable R visitDetail(org.eclipse.ocl.pivot.@NonNull Detail object);
+	@Nullable R visitDynamicBehavior(org.eclipse.ocl.pivot.@NonNull DynamicBehavior object);
+	@Nullable R visitDynamicElement(org.eclipse.ocl.pivot.@NonNull DynamicElement object);
+	@Nullable R visitDynamicProperty(org.eclipse.ocl.pivot.@NonNull DynamicProperty object);
+	@Nullable R visitDynamicType(org.eclipse.ocl.pivot.@NonNull DynamicType object);
+	@Nullable R visitDynamicValueSpecification(org.eclipse.ocl.pivot.@NonNull DynamicValueSpecification object);
+	@Nullable R visitElement(org.eclipse.ocl.pivot.@NonNull Element object);
+	@Nullable R visitElementExtension(org.eclipse.ocl.pivot.@NonNull ElementExtension object);
+	@Nullable R visitEnumLiteralExp(org.eclipse.ocl.pivot.@NonNull EnumLiteralExp object);
+	@Nullable R visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object);
+	@Nullable R visitEnumerationLiteral(org.eclipse.ocl.pivot.@NonNull EnumerationLiteral object);
+	@Nullable R visitExpressionInOCL(org.eclipse.ocl.pivot.@NonNull ExpressionInOCL object);
+	@Nullable R visitFeature(org.eclipse.ocl.pivot.@NonNull Feature object);
+	@Nullable R visitFeatureCallExp(org.eclipse.ocl.pivot.@NonNull FeatureCallExp object);
+	@Nullable R visitFinalState(org.eclipse.ocl.pivot.@NonNull FinalState object);
+	@Nullable R visitIfExp(org.eclipse.ocl.pivot.@NonNull IfExp object);
+	@Nullable R visitImport(org.eclipse.ocl.pivot.@NonNull Import object);
+	@Nullable R visitInstanceSpecification(org.eclipse.ocl.pivot.@NonNull InstanceSpecification object);
+	@Nullable R visitIntegerLiteralExp(org.eclipse.ocl.pivot.@NonNull IntegerLiteralExp object);
+	@Nullable R visitInvalidLiteralExp(org.eclipse.ocl.pivot.@NonNull InvalidLiteralExp object);
+	@Nullable R visitInvalidType(org.eclipse.ocl.pivot.@NonNull InvalidType object);
+	@Nullable R visitIterateExp(org.eclipse.ocl.pivot.@NonNull IterateExp object);
+	@Nullable R visitIteration(org.eclipse.ocl.pivot.@NonNull Iteration object);
+	@Nullable R visitIteratorExp(org.eclipse.ocl.pivot.@NonNull IteratorExp object);
+	@Nullable R visitLambdaType(org.eclipse.ocl.pivot.@NonNull LambdaType object);
+	@Nullable R visitLanguageExpression(org.eclipse.ocl.pivot.@NonNull LanguageExpression object);
+	@Nullable R visitLetExp(org.eclipse.ocl.pivot.@NonNull LetExp object);
+	@Nullable R visitLibrary(org.eclipse.ocl.pivot.@NonNull Library object);
+	@Nullable R visitLiteralExp(org.eclipse.ocl.pivot.@NonNull LiteralExp object);
+	@Nullable R visitLoopExp(org.eclipse.ocl.pivot.@NonNull LoopExp object);
+	@Nullable R visitMapLiteralExp(org.eclipse.ocl.pivot.@NonNull MapLiteralExp object);
+	@Nullable R visitMapLiteralPart(org.eclipse.ocl.pivot.@NonNull MapLiteralPart object);
+	@Nullable R visitMapType(org.eclipse.ocl.pivot.@NonNull MapType object);
+	@Nullable R visitMessageExp(org.eclipse.ocl.pivot.@NonNull MessageExp object);
+	@Nullable R visitMessageType(org.eclipse.ocl.pivot.@NonNull MessageType object);
+	@Nullable R visitModel(org.eclipse.ocl.pivot.@NonNull Model object);
+	@Nullable R visitNamedElement(org.eclipse.ocl.pivot.@NonNull NamedElement object);
+	@Nullable R visitNamespace(org.eclipse.ocl.pivot.@NonNull Namespace object);
+	@Nullable R visitNavigationCallExp(org.eclipse.ocl.pivot.@NonNull NavigationCallExp object);
+	@Nullable R visitNullLiteralExp(org.eclipse.ocl.pivot.@NonNull NullLiteralExp object);
+	@Nullable R visitNumericLiteralExp(org.eclipse.ocl.pivot.@NonNull NumericLiteralExp object);
+	@Nullable R visitOCLExpression(org.eclipse.ocl.pivot.@NonNull OCLExpression object);
+	@Nullable R visitOperation(org.eclipse.ocl.pivot.@NonNull Operation object);
+	@Nullable R visitOperationCallExp(org.eclipse.ocl.pivot.@NonNull OperationCallExp object);
+	@Nullable R visitOppositePropertyCallExp(org.eclipse.ocl.pivot.@NonNull OppositePropertyCallExp object);
+	@Nullable R visitOrderedSetType(org.eclipse.ocl.pivot.@NonNull OrderedSetType object);
+	@Nullable R visitOrphanCompletePackage(org.eclipse.ocl.pivot.@NonNull OrphanCompletePackage object);
+	@Nullable R visitPackage(org.eclipse.ocl.pivot.@NonNull Package object);
+	@Nullable R visitParameter(org.eclipse.ocl.pivot.@NonNull Parameter object);
+	@Nullable R visitPrecedence(org.eclipse.ocl.pivot.@NonNull Precedence object);
+	@Nullable R visitPrimitiveCompletePackage(org.eclipse.ocl.pivot.@NonNull PrimitiveCompletePackage object);
+	@Nullable R visitPrimitiveLiteralExp(org.eclipse.ocl.pivot.@NonNull PrimitiveLiteralExp object);
+	@Nullable R visitPrimitiveType(org.eclipse.ocl.pivot.@NonNull PrimitiveType object);
+	@Nullable R visitProfile(org.eclipse.ocl.pivot.@NonNull Profile object);
+	@Nullable R visitProfileApplication(org.eclipse.ocl.pivot.@NonNull ProfileApplication object);
+	@Nullable R visitProperty(org.eclipse.ocl.pivot.@NonNull Property object);
+	@Nullable R visitPropertyCallExp(org.eclipse.ocl.pivot.@NonNull PropertyCallExp object);
+	@Nullable R visitPseudostate(org.eclipse.ocl.pivot.@NonNull Pseudostate object);
+	@Nullable R visitRealLiteralExp(org.eclipse.ocl.pivot.@NonNull RealLiteralExp object);
+	@Nullable R visitRegion(org.eclipse.ocl.pivot.@NonNull Region object);
+	@Nullable R visitSelfType(org.eclipse.ocl.pivot.@NonNull SelfType object);
+	@Nullable R visitSendSignalAction(org.eclipse.ocl.pivot.@NonNull SendSignalAction object);
+	@Nullable R visitSequenceType(org.eclipse.ocl.pivot.@NonNull SequenceType object);
+	@Nullable R visitSetType(org.eclipse.ocl.pivot.@NonNull SetType object);
+	@Nullable R visitShadowExp(org.eclipse.ocl.pivot.@NonNull ShadowExp object);
+	@Nullable R visitShadowPart(org.eclipse.ocl.pivot.@NonNull ShadowPart object);
+	@Nullable R visitSignal(org.eclipse.ocl.pivot.@NonNull Signal object);
+	@Nullable R visitSlot(org.eclipse.ocl.pivot.@NonNull Slot object);
+	@Nullable R visitStandardLibrary(org.eclipse.ocl.pivot.@NonNull StandardLibrary object);
+	@Nullable R visitState(org.eclipse.ocl.pivot.@NonNull State object);
+	@Nullable R visitStateExp(org.eclipse.ocl.pivot.@NonNull StateExp object);
+	@Nullable R visitStateMachine(org.eclipse.ocl.pivot.@NonNull StateMachine object);
+	@Nullable R visitStereotype(org.eclipse.ocl.pivot.@NonNull Stereotype object);
+	@Nullable R visitStereotypeExtender(org.eclipse.ocl.pivot.@NonNull StereotypeExtender object);
+	@Nullable R visitStringLiteralExp(org.eclipse.ocl.pivot.@NonNull StringLiteralExp object);
+	@Nullable R visitTemplateBinding(org.eclipse.ocl.pivot.@NonNull TemplateBinding object);
+	@Nullable R visitTemplateParameter(org.eclipse.ocl.pivot.@NonNull TemplateParameter object);
+	@Nullable R visitTemplateParameterSubstitution(org.eclipse.ocl.pivot.@NonNull TemplateParameterSubstitution object);
+	@Nullable R visitTemplateSignature(org.eclipse.ocl.pivot.@NonNull TemplateSignature object);
+	@Nullable R visitTemplateableElement(org.eclipse.ocl.pivot.@NonNull TemplateableElement object);
+	@Nullable R visitTransition(org.eclipse.ocl.pivot.@NonNull Transition object);
+	@Nullable R visitTrigger(org.eclipse.ocl.pivot.@NonNull Trigger object);
+	@Nullable R visitTupleLiteralExp(org.eclipse.ocl.pivot.@NonNull TupleLiteralExp object);
+	@Nullable R visitTupleLiteralPart(org.eclipse.ocl.pivot.@NonNull TupleLiteralPart object);
+	@Nullable R visitTupleType(org.eclipse.ocl.pivot.@NonNull TupleType object);
+	@Nullable R visitType(org.eclipse.ocl.pivot.@NonNull Type object);
+	@Nullable R visitTypeExp(org.eclipse.ocl.pivot.@NonNull TypeExp object);
+	@Nullable R visitTypedElement(org.eclipse.ocl.pivot.@NonNull TypedElement object);
+	@Nullable R visitUnlimitedNaturalLiteralExp(org.eclipse.ocl.pivot.@NonNull UnlimitedNaturalLiteralExp object);
+	@Nullable R visitUnspecifiedValueExp(org.eclipse.ocl.pivot.@NonNull UnspecifiedValueExp object);
+	@Nullable R visitValueSpecification(org.eclipse.ocl.pivot.@NonNull ValueSpecification object);
+	@Nullable R visitVariable(org.eclipse.ocl.pivot.@NonNull Variable object);
+	@Nullable R visitVariableDeclaration(org.eclipse.ocl.pivot.@NonNull VariableDeclaration object);
+	@Nullable R visitVariableExp(org.eclipse.ocl.pivot.@NonNull VariableExp object);
+	@Nullable R visitVertex(org.eclipse.ocl.pivot.@NonNull Vertex object);
+	@Nullable R visitVoidType(org.eclipse.ocl.pivot.@NonNull VoidType object);
+	@Nullable R visitWildcardType(org.eclipse.ocl.pivot.@NonNull WildcardType object);
 }
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/CompleteInheritance.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/CompleteInheritance.java
index e97408b..68a798f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/CompleteInheritance.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/CompleteInheritance.java
@@ -55,7 +55,7 @@
 	@Nullable Operation getMemberOperation(@NonNull OperationId id);
 	@Nullable Property getMemberProperty(@NonNull String name);
 
-	@NonNull org.eclipse.ocl.pivot.Class getPivotClass();
+	org.eclipse.ocl.pivot.@NonNull Class getPivotClass();
 
 	@NonNull InheritanceFragment getSelfFragment();
 	
@@ -65,7 +65,7 @@
 	@NonNull IndexableIterable<InheritanceFragment> getSuperFragments(int depth);
 
 	@Deprecated // Use getPivotClass
-	@NonNull org.eclipse.ocl.pivot.Class getType();
+	org.eclipse.ocl.pivot.@NonNull Class getType();
 	
 	boolean isOclAny();
 	boolean isSubInheritanceOf(@NonNull CompleteInheritance inheritance);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/Evaluator.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/Evaluator.java
index 7ae3539..95502b6 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/Evaluator.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/Evaluator.java
@@ -63,9 +63,9 @@
 
 	@NonNull StandardLibrary getStandardLibrary();
 
-	@NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value);
-	@NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values);
-	@NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values);
+	org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value);
+	org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values);
+	org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values);
 	
 	/**
 	 * Return true if the evaluation has been canceled.
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/ModelManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/ModelManager.java
index 9cbad2a..48477bf 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/ModelManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/evaluation/ModelManager.java
@@ -27,10 +27,10 @@
 	{
 		@Override
 		@SuppressWarnings("null")
-		public @NonNull Set<EObject> get(@NonNull org.eclipse.ocl.pivot.Class type) {
+		public @NonNull Set<EObject> get(org.eclipse.ocl.pivot.@NonNull Class type) {
 			return Collections.emptySet();
 		}
 	};
 
-	@NonNull Set<EObject> get(@NonNull org.eclipse.ocl.pivot.Class type);
+	@NonNull Set<EObject> get(org.eclipse.ocl.pivot.@NonNull Class type);
 }
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdManager.java
index 53a47fe..13e4fa3 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdManager.java
@@ -207,7 +207,7 @@
     /**
      * Return the classId for aType.
      */
-	public static @NonNull ClassId getClassId(@NonNull org.eclipse.ocl.pivot.Class aType) {
+	public static @NonNull ClassId getClassId(org.eclipse.ocl.pivot.@NonNull Class aType) {
 		String name = aType.getName();
 		assert name != null;
 		org.eclipse.ocl.pivot.Package parentPackage = aType.getOwningPackage();
@@ -242,7 +242,7 @@
     /**
      * Return the dataTypeId for aType.
       */
-	public static @NonNull DataTypeId getDataTypeId(@NonNull org.eclipse.ocl.pivot.Class aType) {
+	public static @NonNull DataTypeId getDataTypeId(org.eclipse.ocl.pivot.@NonNull Class aType) {
 		String name = aType.getName();
 		assert name != null;
 		org.eclipse.ocl.pivot.Package parentPackage = aType.getOwningPackage();
@@ -399,7 +399,7 @@
     /**
      * Return the typeId for aPackage.
      */
-	public static @NonNull PackageId getPackageId(@NonNull org.eclipse.ocl.pivot.Package aPackage) {
+	public static @NonNull PackageId getPackageId(org.eclipse.ocl.pivot.@NonNull Package aPackage) {
 		String nsURI = aPackage.getURI();
 		if (nsURI != null) {
 			return getNsURIPackageId(nsURI, aPackage.getNsPrefix(), aPackage.getEPackage());
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdResolver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdResolver.java
index 67e304d..eccbb90 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdResolver.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/ids/IdResolver.java
@@ -91,7 +91,7 @@
 	
 	@NonNull EList<Object> ecoreValuesOfEach(@Nullable Class<?> instanceClass, @NonNull Object... values);
 
-	@NonNull org.eclipse.ocl.pivot.Class getClass(@NonNull TypeId typeId, @Nullable Object context);
+	org.eclipse.ocl.pivot.@NonNull Class getClass(@NonNull TypeId typeId, @Nullable Object context);
 
 	@NonNull Type getCollectionType(@NonNull CollectionTypeId typeId);
 
@@ -105,29 +105,29 @@
 
 	@NonNull CompleteInheritance getInheritance(@NonNull EClassifier eClassifier);
 	
-	@NonNull org.eclipse.ocl.pivot.Class getJavaType(@NonNull Class<?> javaClass);
+	org.eclipse.ocl.pivot.@NonNull Class getJavaType(@NonNull Class<?> javaClass);
 
 	@NonNull Type getMapType(@NonNull MapTypeId typeId);
 
 	@NonNull Operation getOperation(@NonNull OperationId operationId);
 	
-	@NonNull org.eclipse.ocl.pivot.Package getPackage(@NonNull PackageId packageId);
+	org.eclipse.ocl.pivot.@NonNull Package getPackage(@NonNull PackageId packageId);
 
 	@NonNull Property getProperty(@NonNull PropertyId propertyId);
 
 	@NonNull StandardLibrary getStandardLibrary();
 
-	@NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value);
+	org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value);
 
-	@NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, Object... values);
+	org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, Object... values);
 
-	@NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values);
+	org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values);
 
 	@NonNull TypedElement getTuplePart(@NonNull String name, @NonNull TypeId typeId);
 
 	@NonNull TupleType getTupleType(@NonNull TupleTypeId typeId);
 
-	@NonNull org.eclipse.ocl.pivot.Class getType(@NonNull EClassifier eClassifier);
+	org.eclipse.ocl.pivot.@NonNull Class getType(@NonNull EClassifier eClassifier);
 
 	@NonNull Type getType(@NonNull TypeId typeId, @Nullable Object context);
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/attributes/PackageAttribution.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/attributes/PackageAttribution.java
index d058afb..1ac114f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/attributes/PackageAttribution.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/attributes/PackageAttribution.java
@@ -32,7 +32,7 @@
 //		if (targetPackage.getImportedPackage().size() > 0) {
 			Set<org.eclipse.ocl.pivot.Package> allPackages = new HashSet<org.eclipse.ocl.pivot.Package>();
 			gatherAllPackages(environmentFactory, allPackages, targetPackage);
-			for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package aPackage : allPackages) {
+			for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package aPackage : allPackages) {
 				environmentView.addAllPackages(aPackage);
 				environmentView.addAllTypes(aPackage);
 			}
@@ -45,12 +45,12 @@
 	}
 
 	private void gatherAllPackages(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull Set<org.eclipse.ocl.pivot.Package> allPackages,
-			@NonNull org.eclipse.ocl.pivot.Package targetPackage) {
+			org.eclipse.ocl.pivot.@NonNull Package targetPackage) {
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		org.eclipse.ocl.pivot.Package primaryPackage = metamodelManager.getPrimaryElement(targetPackage);
 		if (allPackages.add(primaryPackage)) {
-			for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package partialPackage : metamodelManager.getPartialPackages(primaryPackage, false)) {
-				for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package importedPackage : partialPackage.getImportedPackages()) {
+			for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package partialPackage : metamodelManager.getPartialPackages(primaryPackage, false)) {
+				for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package importedPackage : partialPackage.getImportedPackages()) {
 					gatherAllPackages(environmentFactory, allPackages, importedPackage);
 				}
 			}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/AbstractCompletePackages.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/AbstractCompletePackages.java
index 06733c8..17d508d 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/AbstractCompletePackages.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/AbstractCompletePackages.java
@@ -56,7 +56,7 @@
 		didAdd(completePackage);
 	}
 
-	public abstract @NonNull CompletePackageInternal createCompletePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage);
+	public abstract @NonNull CompletePackageInternal createCompletePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage);
 
 	protected void didAdd(@NonNull CompletePackage completePackage) {
 		CompletePackageInternal completePackageInternal = (CompletePackageInternal)completePackage;
@@ -73,7 +73,7 @@
 		getCompleteModel().didAddCompletePackage(completePackageInternal);
 	}
 
-	public void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		CompletePackage completePackage = null;
 		String name = pivotPackage.getName();
 		String packageURI = pivotPackage.getURI();
@@ -105,7 +105,7 @@
 		getCompleteModel().didRemoveCompletePackage(completePackageInternal);
 	}
 
-	public void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		CompletePackage completePackage = getCompletePackage(partialPackage);
 		List<Package> partialPackages = completePackage.getPartialPackages();
 		partialPackages.remove(partialPackage);
@@ -126,7 +126,7 @@
 
 	protected abstract CompleteModelInternal getCompleteModel();
 
-	public @NonNull CompletePackageInternal getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public @NonNull CompletePackageInternal getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		CompletePackageInternal completePackage = null;
 		if (pivotPackage instanceof CompletePackageInternal) {
 			((CompletePackageInternal)pivotPackage).assertSamePackage(pivotPackage);
@@ -166,7 +166,7 @@
 		return name2completePackage.get(name);
 	}
 	
-	protected abstract @NonNull CompletePackageInternal getOwnedCompletePackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage);
+	protected abstract @NonNull CompletePackageInternal getOwnedCompletePackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage);
 
 	protected abstract @NonNull Iterable<org.eclipse.ocl.pivot.Package> getPartialPackages();
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ClassListeners.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ClassListeners.java
index eeb774e..188efe2 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ClassListeners.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ClassListeners.java
@@ -22,10 +22,10 @@
 	{
 		void didAddOperation(@NonNull Operation partialOperation);
 		void didAddProperty(@NonNull Property partialProperty);
-		void didAddSuperClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+		void didAddSuperClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 		void didRemoveOperation(@NonNull Operation partialOperation);
 		void didRemoveProperty(@NonNull Property partialProperty);
-		void didRemoveSuperClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+		void didRemoveSuperClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 	}
 
 	public synchronized void didAddOperation(@NonNull Operation partialOperation) {
@@ -60,7 +60,7 @@
 		}
 	}
 
-	public synchronized void didAddSuperClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public synchronized void didAddSuperClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		boolean doFlush = false;
 		for (WeakReference<L> ref : listeners) {
 			L listener = ref.get();
@@ -108,7 +108,7 @@
 		}
 	}
 
-	public synchronized void didRemoveSuperClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public synchronized void didRemoveSuperClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		boolean doFlush = false;
 		for (WeakReference<L> ref : listeners) {
 			L listener = ref.get();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClassInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClassInternal.java
index f6027fa..da3c8a9 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClassInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClassInternal.java
@@ -17,10 +17,10 @@
 
 public interface CompleteClassInternal extends CompleteClass
 {
-	void addClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
-	void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+	void addClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
+	void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 //	@NonNull CompleteInheritance createCompleteInheritance();
-	boolean didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+	boolean didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 	void dispose();
 	void uninstall();
 	@Override
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClasses.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClasses.java
index 2f5a0eb..7cded15 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClasses.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteClasses.java
@@ -277,7 +277,7 @@
 		}
 	}
 
-	public void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (name2completeClass != null) {
 			CompleteClassInternal completeClass = name2completeClass.get(partialClass.getName());
 			if (completeClass == null) {
@@ -289,7 +289,7 @@
 		}
 	}
 
-	public void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (name2completeClass != null) {
 			doRefreshPartialClasses(partialPackage);
 		}
@@ -313,7 +313,7 @@
 		}
 	}
 
-	public void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (name2completeClass != null) {
 			CompleteClassInternal completeClass = name2completeClass.get(partialClass.getName());
 			if ((completeClass != null) && completeClass.didRemoveClass(partialClass)) {
@@ -326,7 +326,7 @@
 		}
 	}
 
-	public void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		Map<String, CompleteClassInternal> name2completeClass2 = name2completeClass;
 		if (name2completeClass2 != null) {
 			for (org.eclipse.ocl.pivot.Class partialClass : partialPackage.getOwnedClasses()) {
@@ -337,7 +337,7 @@
 		}
 	}
 	
-	protected void doRefreshPartialClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	protected void doRefreshPartialClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		Map<String, CompleteClassInternal> name2completeClass2 = name2completeClass;
 		assert name2completeClass2 != null;
 		CompleteModelInternal completeModel = getCompleteModel();
@@ -392,7 +392,7 @@
 		return name2completeClass2;
 	}
 
-	protected void doRefreshPartialClasses(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	protected void doRefreshPartialClasses(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		for (org.eclipse.ocl.pivot.Class partialClass : partialPackage.getOwnedClasses()) {
 			if (partialClass != null) {
 				doRefreshPartialClass(partialClass);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteEnvironmentInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteEnvironmentInternal.java
index 9df8734..3fddbcf 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteEnvironmentInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteEnvironmentInternal.java
@@ -26,12 +26,12 @@
 
 public interface CompleteEnvironmentInternal extends CompleteEnvironment
 {
-	void addOrphanClass(@NonNull org.eclipse.ocl.pivot.Class pivotElement);
+	void addOrphanClass(org.eclipse.ocl.pivot.@NonNull Class pivotElement);
 	boolean conformsTo(@NonNull Type firstType, @NonNull TemplateParameterSubstitutions firstSubstitutions,
 			@NonNull Type secondType, @NonNull TemplateParameterSubstitutions secondSubstitutions);
 	void dispose();
-	void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass, @NonNull CompleteClassInternal completeClass);
-	void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+	void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass, @NonNull CompleteClassInternal completeClass);
+	void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 	@Nullable CollectionType findCollectionType(@NonNull CompleteClassInternal completeClass, @NonNull CollectionTypeParameters<Type> typeParameters);
 	@Nullable MapType findMapType(@NonNull CompleteClassInternal completeClass, @NonNull MapTypeParameters<Type, Type> typeParameters);
 	@NonNull CollectionType getCollectionType(@NonNull CompleteClassInternal completeClass, @NonNull CollectionTypeParameters<Type> typeParameters);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteInheritanceImpl.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteInheritanceImpl.java
index e19bfc4..17bae9b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteInheritanceImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteInheritanceImpl.java
@@ -116,7 +116,7 @@
 	}
 	
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPivotClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getPivotClass() {
 		return getCompleteClass().getPrimaryClass();
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteModelInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteModelInternal.java
index 01202e3..5c6ec9f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteModelInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteModelInternal.java
@@ -35,10 +35,10 @@
 
 public interface CompleteModelInternal extends CompleteModel
 {
-	void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass, @NonNull CompleteClassInternal completeClass);
+	void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass, @NonNull CompleteClassInternal completeClass);
 	void didAddCompletePackage(@NonNull CompletePackageInternal completePackage);
 	void didRemoveCompletePackage(@NonNull CompletePackageInternal completePackage);
-	void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+	void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 	@Nullable CollectionType findCollectionType(@NonNull CompleteClassInternal completeClass, @NonNull CollectionTypeParameters<Type> typeParameters);
 	@Nullable MapType findMapType(@NonNull CompleteClassInternal completeClass, @NonNull MapTypeParameters<Type, Type> typeParameters);
 	@Override
@@ -47,7 +47,7 @@
 	@Override
 	@NonNull CompleteClassInternal getCompleteClass(@NonNull Type partialClass);
 	@Override
-	@NonNull CompletePackageInternal getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage);
+	@NonNull CompletePackageInternal getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage);
 	@Override
 	@Nullable CompletePackageInternal getCompletePackageByURI(@NonNull String packageURI);
 	@NonNull CompleteURIs getCompleteURIs();
@@ -66,11 +66,11 @@
 	@NonNull TupleType getTupleType(@NonNull String typeName, @NonNull Collection<? extends TypedElement> parts,
 			@Nullable TemplateParameterSubstitutions bindings);	
 
-	void resolveSuperClasses(@NonNull org.eclipse.ocl.pivot.Class specializedClass, @NonNull org.eclipse.ocl.pivot.Class unspecializedClass);
+	void resolveSuperClasses(org.eclipse.ocl.pivot.@NonNull Class specializedClass, org.eclipse.ocl.pivot.@NonNull Class unspecializedClass);
 	void dispose();
 	void didAddPartialModel(@NonNull Model partialModel);
-	void didAddNestedPackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage);
-	void didRemoveNestedPackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage);
+	void didAddNestedPackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage);
+	void didRemoveNestedPackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage);
 	void didRemovePartialModel(@NonNull Model partialModel);
 	@Nullable String getCompleteURI(@Nullable String nsURI);
 	@NonNull TupleTypeManager getTupleManager();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompletePackageInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompletePackageInternal.java
index 60f824f..f592b1f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompletePackageInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompletePackageInternal.java
@@ -17,7 +17,7 @@
 public interface CompletePackageInternal extends CompletePackage
 {
 	@Override
-	@NonNull CompleteClassInternal getCompleteClass(@NonNull org.eclipse.ocl.pivot.Class pivotType);
+	@NonNull CompleteClassInternal getCompleteClass(org.eclipse.ocl.pivot.@NonNull Class pivotType);
 	@NonNull CompleteInheritanceImpl getCompleteInheritance(@NonNull CompleteClassInternal completeClass);
 	@Override
 	@NonNull CompleteModelInternal getCompleteModel();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteURIs.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteURIs.java
index 20d695a..2ab3d1b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteURIs.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/CompleteURIs.java
@@ -140,7 +140,7 @@
 		packageURIs.add(packageURI);
 	}
 
-	public @Nullable CompletePackageInternal getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public @Nullable CompletePackageInternal getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		String packageURI = pivotPackage.getURI();
 		if (packageURI == null) {
 			return null;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ModelListeners.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ModelListeners.java
index 278684b..2bddc5f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ModelListeners.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/ModelListeners.java
@@ -18,11 +18,11 @@
 {
 	public static interface IModelListener extends AbstractListeners.IAbstractListener
 	{
-		void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage);
-		void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage);
+		void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage);
+		void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage);
 	}
 
-	public synchronized void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public synchronized void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		boolean doFlush = false;
 		for (WeakReference<L> ref : listeners) {
 			L listener = ref.get();
@@ -38,7 +38,7 @@
 		}
 	}
 
-	public synchronized void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public synchronized void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		boolean doFlush = false;
 		for (WeakReference<L> ref : listeners) {
 			L listener = ref.get();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/NestedCompletePackages.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/NestedCompletePackages.java
index 29b729f..ed665e9 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/NestedCompletePackages.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/NestedCompletePackages.java
@@ -27,7 +27,7 @@
 	}
 
 	@Override
-	public @NonNull CompletePackageInternal createCompletePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public @NonNull CompletePackageInternal createCompletePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		CompletePackageInternal completePackage = (CompletePackageInternal) PivotFactory.eINSTANCE.createCompletePackage();
 		completePackage.init(partialPackage.getName(), partialPackage.getNsPrefix(), partialPackage.getURI());
 		return completePackage;
@@ -54,7 +54,7 @@
 	}
 
 	@Override
-	public @NonNull CompletePackageInternal getOwnedCompletePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public @NonNull CompletePackageInternal getOwnedCompletePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		CompletePackageInternal completePackage = null;
 		String uri = partialPackage.getURI();
 		if (uri != null) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PackageListeners.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PackageListeners.java
index 260ce57..5f5b7ef 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PackageListeners.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PackageListeners.java
@@ -18,11 +18,11 @@
 {
 	public static interface IPackageListener extends IModelListener
 	{
-		void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
-		void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass);
+		void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
+		void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass);
 	}
 
-	public synchronized void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public synchronized void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		boolean doFlush = false;
 		for (WeakReference<L> ref : listeners) {
 			IPackageListener listener = ref.get();
@@ -38,7 +38,7 @@
 		}
 	}
 
-	public synchronized void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public synchronized void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		boolean doFlush = false;
 		for (WeakReference<L> ref : listeners) {
 			IPackageListener listener = ref.get();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialClasses.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialClasses.java
index 72c0674..48a9b53 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialClasses.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialClasses.java
@@ -181,7 +181,7 @@
 		return superCompleteClasses2;
 	}
 
-	protected @NonNull Property createExtensionProperty(@NonNull ElementExtension stereotypeInstance, @NonNull org.eclipse.ocl.pivot.Class baseType) {
+	protected @NonNull Property createExtensionProperty(@NonNull ElementExtension stereotypeInstance, org.eclipse.ocl.pivot.@NonNull Class baseType) {
 		Stereotype stereotype = stereotypeInstance.getStereotype();
 		Map<String, PartialProperties> name2partialProperties2 = name2partialProperties;
 		assert name2partialProperties2 != null;
@@ -215,7 +215,7 @@
 		return extensionProperty;
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Class createSpecialization(@NonNull TemplateParameters templateArguments) {
+	protected org.eclipse.ocl.pivot.@NonNull Class createSpecialization(@NonNull TemplateParameters templateArguments) {
 		org.eclipse.ocl.pivot.Class unspecializedType = getCompleteClass().getPrimaryClass();
 		String typeName = unspecializedType.getName();
 		TemplateSignature templateSignature = unspecializedType.getOwnedSignature();
@@ -309,7 +309,7 @@
 	}
 
 	@Override
-	public void didAddSuperClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didAddSuperClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (completeInheritance != null) {
 			completeInheritance.uninstall();
 		}
@@ -344,7 +344,7 @@
 	}
 
 	@Override
-	public void didRemoveSuperClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didRemoveSuperClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		if (completeInheritance != null) {
 			completeInheritance.uninstall();
 		}
@@ -676,11 +676,11 @@
 		return partials.get();
 	}
 
-	public synchronized @NonNull org.eclipse.ocl.pivot.Class getSpecializedType(@NonNull List<? extends Type> templateArguments) {
+	public synchronized org.eclipse.ocl.pivot.@NonNull Class getSpecializedType(@NonNull List<? extends Type> templateArguments) {
 		return getSpecializedType(TypeUtil.createTemplateParameters(templateArguments));
 	}
 
-	public synchronized @NonNull org.eclipse.ocl.pivot.Class getSpecializedType(@NonNull TemplateParameters templateArguments) {
+	public synchronized org.eclipse.ocl.pivot.@NonNull Class getSpecializedType(@NonNull TemplateParameters templateArguments) {
 		TemplateSignature templateSignature = getCompleteClass().getPrimaryClass().getOwnedSignature();
 		List<TemplateParameter> templateParameters = templateSignature.getOwnedParameters();
 		int iMax = templateParameters.size();
@@ -751,7 +751,7 @@
 		});
 	}
 
-	protected void initExtensionPropertiesFrom(@NonNull org.eclipse.ocl.pivot.Class baseType, @NonNull Stereotype stereotype) {
+	protected void initExtensionPropertiesFrom(org.eclipse.ocl.pivot.@NonNull Class baseType, @NonNull Stereotype stereotype) {
 		PivotMetamodelManager metamodelManager = getMetamodelManager();
 		ElementExtension elementExtension = metamodelManager.getElementExtension(baseType, stereotype);
 		Map<String, PartialProperties> name2partialProperties2 = name2partialProperties;
@@ -764,7 +764,7 @@
 		}
 	}
 
-	public void initMemberFeaturesFrom(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public void initMemberFeaturesFrom(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		if (name2partialOperations != null) {
 			initMemberOperationsFrom(pivotType);
 		}	
@@ -784,7 +784,7 @@
 //			}
 			for (CompleteClass superCompleteClass : getSuperCompleteClasses()) {
 				if (superCompleteClass != null) {
-					for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class superType : superCompleteClass.getPartialClasses()) {
+					for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class superType : superCompleteClass.getPartialClasses()) {
 						org.eclipse.ocl.pivot.Class unspecializedType = PivotUtil.getUnspecializedTemplateableElement(superType);
 						CompleteClass unspecializedCompleteClass = getCompleteModel().getCompleteClass(unspecializedType);
 						for (org.eclipse.ocl.pivot.Class unspecializedPartialType : unspecializedCompleteClass.getPartialClasses()) {
@@ -801,7 +801,7 @@
 		return name2partialOperations2;
 	}
 
-	private void initMemberOperationsFrom(@NonNull org.eclipse.ocl.pivot.Class type) {
+	private void initMemberOperationsFrom(org.eclipse.ocl.pivot.@NonNull Class type) {
 		if (INIT_MEMBER_OPERATIONS.isActive()) {
 			INIT_MEMBER_OPERATIONS.println(this + " from " + type);
 		}
@@ -821,7 +821,7 @@
 			Set<Type> extendedTypes = null;
 			for (CompleteClass superCompleteClass : getSuperCompleteClasses()) {
 				if (superCompleteClass != null) {
-					for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class superType : superCompleteClass.getPartialClasses()) {
+					for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class superType : superCompleteClass.getPartialClasses()) {
 						org.eclipse.ocl.pivot.Class unspecializedType = PivotUtil.getUnspecializedTemplateableElement(superType);
 						List<StereotypeExtender> extendedBys = unspecializedType.getExtenders();
 						if (extendedBys.size() > 0) {
@@ -850,7 +850,7 @@
 							}
 						}
 						CompleteClass unspecializedCompleteClass = getCompleteModel().getCompleteClass(unspecializedType);
-						for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class unspecializedPartialType : unspecializedCompleteClass.getPartialClasses()) {
+						for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class unspecializedPartialType : unspecializedCompleteClass.getPartialClasses()) {
 							initMemberPropertiesFrom(unspecializedPartialType);
 							List<ElementExtension> extensions = unspecializedPartialType.getOwnedExtensions();
 							if (extensions.size() > 0) {
@@ -871,7 +871,7 @@
 				Set<Stereotype> allStereotypes = new HashSet<Stereotype>();
 				gatherAllStereotypes(allStereotypes, extendingStereotypes);
 				for (@SuppressWarnings("null")@NonNull Stereotype stereotype : allStereotypes) {
-					@NonNull org.eclipse.ocl.pivot.Class baseType = pivotClass;
+					org.eclipse.ocl.pivot.@NonNull Class baseType = pivotClass;
 					initExtensionPropertiesFrom(baseType, stereotype);
 				}
 			}
@@ -900,7 +900,7 @@
 		return name2partialProperties2;
 	}
 
-	protected void initMemberPropertiesFrom(@NonNull org.eclipse.ocl.pivot.Class asType) {
+	protected void initMemberPropertiesFrom(org.eclipse.ocl.pivot.@NonNull Class asType) {
 		org.eclipse.ocl.pivot.Class asPrimaryType = PivotUtil.getUnspecializedTemplateableElement(asType);
 		if (INIT_MEMBER_PROPERTIES.isActive()) {
 			INIT_MEMBER_PROPERTIES.println(this + " from " + asPrimaryType + " " + NameUtil.debugSimpleName(asPrimaryType));
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialModels.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialModels.java
index 98e8000..506443d 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialModels.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialModels.java
@@ -72,7 +72,7 @@
 	}
 
 	@Override
-	public void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		getCompleteModel().didAddNestedPackage(partialPackage);
 	}
 	
@@ -97,7 +97,7 @@
 	}
 
 	@Override
-	public void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		getCompleteModel().didRemoveNestedPackage(partialPackage);
 	}
 	
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialPackages.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialPackages.java
index 0cb460c..1ff0092 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialPackages.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/PartialPackages.java
@@ -69,7 +69,7 @@
 		super.addUnique(index, partialPackage);
 	}
 
-	protected void didAdd(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	protected void didAdd(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		if (PARTIAL_PACKAGES.isActive()) {
 			PARTIAL_PACKAGES.println("Do-didAdd " + this + " " + partialPackage);
 		}
@@ -78,7 +78,7 @@
 	}
 
 	@Override
-	public void didAddPackage(@NonNull org.eclipse.ocl.pivot.Package nestedPackage) {
+	public void didAddPackage(org.eclipse.ocl.pivot.@NonNull Package nestedPackage) {
 		getCompletePackage().didAddNestedPackage(nestedPackage);
 	}
 
@@ -139,17 +139,17 @@
 	}
 
 	@Override
-	public void didRemovePackage(@NonNull org.eclipse.ocl.pivot.Package nestedPackage) {
+	public void didRemovePackage(org.eclipse.ocl.pivot.@NonNull Package nestedPackage) {
 		getCompletePackage().didRemoveNestedPackage(nestedPackage);
 	}
 
 	@Override
-	public void didAddClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didAddClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		getCompletePackage().didAddClass(partialClass);
 	}
 
 	@Override
-	public void didRemoveClass(@NonNull org.eclipse.ocl.pivot.Class partialClass) {
+	public void didRemoveClass(org.eclipse.ocl.pivot.@NonNull Class partialClass) {
 		CompleteInheritanceImpl completeInheritance = name2inheritance.remove(partialClass.getName());
 //		System.out.println("PartialPackage.didRemoveClass " + partialClass);
 		getCompletePackage().didRemoveClass(partialClass);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/RootCompletePackages.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/RootCompletePackages.java
index 407d518..398ff79 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/RootCompletePackages.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/RootCompletePackages.java
@@ -31,13 +31,13 @@
 	}
 
 	@Override
-	public @NonNull CompletePackageInternal createCompletePackage(@NonNull org.eclipse.ocl.pivot.Package partialPackage) {
+	public @NonNull CompletePackageInternal createCompletePackage(org.eclipse.ocl.pivot.@NonNull Package partialPackage) {
 		CompletePackageInternal completePackage = (CompletePackageInternal) PivotFactory.eINSTANCE.createCompletePackage();
 		completePackage.init(partialPackage.getName(), partialPackage.getNsPrefix(), partialPackage.getURI());
 		return completePackage;
 	}
 	
-	protected @NonNull CompletePackageInternal createRootCompletePackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	protected @NonNull CompletePackageInternal createRootCompletePackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		if (Orphanage.isTypeOrphanage(pivotPackage)) {
 			return getCompleteModel().getOrphanCompletePackage();
 		}
@@ -80,7 +80,7 @@
 	}
 
 	@Override
-	public @NonNull CompletePackageInternal getOwnedCompletePackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public @NonNull CompletePackageInternal getOwnedCompletePackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		//
 		//	Try to find package by packageURI
 		//
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/StandardLibraryInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/StandardLibraryInternal.java
index c5bf80f..c1ce6fe 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/StandardLibraryInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/complete/StandardLibraryInternal.java
@@ -31,7 +31,7 @@
 	@Nullable Operation basicGetOclInvalidOperation();
 	@Nullable Property basicGetOclInvalidProperty();
 	@Nullable InvalidType basicGetOclInvalidType();
-	void defineLibraryType(@NonNull org.eclipse.ocl.pivot.Class pivotType);
+	void defineLibraryType(org.eclipse.ocl.pivot.@NonNull Class pivotType);
 	void dispose();
 	@Override
 	@NonNull BagType getBagType();
@@ -50,18 +50,18 @@
 	@NonNull Property getOclInvalidProperty();
 	@Override
 	@NonNull InvalidType getOclInvalidType();
-	@NonNull org.eclipse.ocl.pivot.Class getOclLambdaType();
-	@NonNull org.eclipse.ocl.pivot.Class getOclTypeType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclLambdaType();
+	org.eclipse.ocl.pivot.@NonNull Class getOclTypeType();
 	@Override
 	@NonNull VoidType getOclVoidType();
 	@Override
 	@NonNull CollectionType getOrderedCollectionType();
 	@Override
 	@NonNull OrderedSetType getOrderedSetType();
-	@Nullable org.eclipse.ocl.pivot.Class getASClass(@NonNull String className);
+	org.eclipse.ocl.pivot.@Nullable Class getASClass(@NonNull String className);
 	@Override
 	@NonNull PrimitiveType getRealType();
-	@NonNull org.eclipse.ocl.pivot.Class getRequiredLibraryType(@NonNull String typeName);
+	org.eclipse.ocl.pivot.@NonNull Class getRequiredLibraryType(@NonNull String typeName);
 	@Override
 	@NonNull SequenceType getSequenceType();
 	@Override
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/AbstractBase2ASConversion.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/AbstractBase2ASConversion.java
index 5085cb0..b5dd8aa 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/AbstractBase2ASConversion.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/AbstractBase2ASConversion.java
@@ -66,7 +66,7 @@
 		}
 	}
 
-	public void refreshNsURI(@NonNull org.eclipse.ocl.pivot.Package pivotPackage, String newNsURI) {
+	public void refreshNsURI(org.eclipse.ocl.pivot.@NonNull Package pivotPackage, String newNsURI) {
 		String oldNsURI = pivotPackage.getURI();
 		if ((newNsURI != oldNsURI) && ((newNsURI == null) || !newNsURI.equals(oldNsURI))) {
 			pivotPackage.setURI(newNsURI);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/ClassContext.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/ClassContext.java
index f5e23b8..febf62d 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/ClassContext.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/context/ClassContext.java
@@ -23,17 +23,17 @@
  */
 public class ClassContext extends AbstractParserContext
 {
-	protected final @Nullable org.eclipse.ocl.pivot.Class classContext;
+	protected final org.eclipse.ocl.pivot.@Nullable Class classContext;
 	protected final @Nullable Type instanceContext;
 	
-	public ClassContext(@NonNull EnvironmentFactory environmentFactory, @Nullable URI uri, @Nullable org.eclipse.ocl.pivot.Class classContext, @Nullable Type instanceContext) {
+	public ClassContext(@NonNull EnvironmentFactory environmentFactory, @Nullable URI uri, org.eclipse.ocl.pivot.@Nullable Class classContext, @Nullable Type instanceContext) {
 		super(environmentFactory, uri);
  		this.classContext = classContext != null ? getMetamodelManager().getPrimaryClass(classContext) : null;
 		this.instanceContext = instanceContext;
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getClassContext() {
+	public org.eclipse.ocl.pivot.@Nullable Class getClassContext() {
 		return classContext;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/AbstractDelegatedBehavior.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/AbstractDelegatedBehavior.java
index 8e36f09..000749b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/AbstractDelegatedBehavior.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/AbstractDelegatedBehavior.java
@@ -85,7 +85,7 @@
 		for (DelegateDomain delegateDomain : adapter.getAllDelegateDomains()) {
 			String uri = delegateDomain.getURI();
 			if (hasDelegateAnnotation(eObject, ePackage, uri)) {
-				F factory = getFactory(delegateDomain, eObject);
+				@Nullable F factory = getFactory(delegateDomain, eObject);
 				if (factory == null) {
 					factory = getDefaultFactory();
 				}
@@ -106,7 +106,7 @@
 		for (DelegateDomain delegateDomain : adapter.getAllDelegateDomains()) {
 			String uri = delegateDomain.getURI();
 			if (eObject.getEAnnotation(uri) != null) {
-				F factory = getFactory(delegateDomain, eObject);
+				@Nullable F factory = getFactory(delegateDomain, eObject);
 				if (factory == null) {
 					factory = getDefaultFactory();
 				}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateDomain.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateDomain.java
index 6d665a7..7ff2988 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateDomain.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateDomain.java
@@ -57,7 +57,7 @@
 		interface Registry
 				extends Map<String, Object> {
 
-			@NonNull Factory.Registry INSTANCE = new Impl();
+			Factory.@NonNull Registry INSTANCE = new Impl();
 
 			DelegateDomain.Factory getFactory(@NonNull String uri);
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateInstaller.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateInstaller.java
index 8618d33..eaff15a 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateInstaller.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateInstaller.java
@@ -316,7 +316,7 @@
 	 * @param metamodelManager
 	 * @param pivotPackage
 	 */
-	private boolean installDelegates(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	private boolean installDelegates(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		boolean hasDelegates = false;
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		Type primaryType = metamodelManager.getPrimaryType(pivotType);
@@ -417,7 +417,7 @@
 		}
 	}
 	
-	public void installDelegates(@NonNull EClassifier eClassifier, @NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public void installDelegates(@NonNull EClassifier eClassifier, org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		StringBuilder s = null;
 		PivotMetamodelManager metamodelManager = environmentFactory.getMetamodelManager();
 		for (Constraint pivotConstraint : metamodelManager.getLocalInvariants(pivotType)) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateResourceAdapter.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateResourceAdapter.java
index d4391c0..146d0ae 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateResourceAdapter.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/DelegateResourceAdapter.java
@@ -79,7 +79,7 @@
 	    }
 	}
 
-	protected void installPackages(@NonNull EPackage.Registry packageRegistry, @NonNull List<? extends EObject> contents) {
+	protected void installPackages(EPackage.@NonNull Registry packageRegistry, @NonNull List<? extends EObject> contents) {
 		for (EObject eObject : contents) {
 			if (eObject instanceof EPackage) {
 				EPackage ePackage = (EPackage)eObject;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/InvocationBehavior.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/InvocationBehavior.java
index 94cc93c..201c171 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/InvocationBehavior.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/delegate/InvocationBehavior.java
@@ -41,12 +41,12 @@
 //	}
 
 	@Override
-	public @Nullable InvocationDelegate.Factory getDefaultFactory() {
+	public InvocationDelegate.@Nullable Factory getDefaultFactory() {
 		return InvocationDelegate.Factory.Registry.INSTANCE.getFactory(getName());
 	}
 
 	@Override
-	public @NonNull InvocationDelegate.Factory.Registry getDefaultRegistry() {
+	public InvocationDelegate.Factory.@NonNull Registry getDefaultRegistry() {
 		return ClassUtil.nonNullEMF(InvocationDelegate.Factory.Registry.INSTANCE);
 	}
 
@@ -56,7 +56,7 @@
 	}
 
 	@Override
-	public @Nullable InvocationDelegate.Factory getFactory(@NonNull DelegateDomain delegateDomain, @NonNull EOperation eOperation) {
+	public InvocationDelegate.@Nullable Factory getFactory(@NonNull DelegateDomain delegateDomain, @NonNull EOperation eOperation) {
 		InvocationDelegate.Factory.Registry registry = DelegateResourceSetAdapter.getRegistry(
 			eOperation, getRegistryClass(), getDefaultRegistry());
 	    return registry != null ? registry.getFactory(delegateDomain.getURI()) : null;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2Ecore.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2Ecore.java
index 2f79b48..111bcff 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2Ecore.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2Ecore.java
@@ -381,7 +381,7 @@
 	/**
 	 * Return tre if asPackage is a Pivot Metamodel.
 	 */
-	public boolean isPivot(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public boolean isPivot(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		List<org.eclipse.ocl.pivot.Class> asTypes = asPackage.getOwnedClasses();
 		if (NameUtil.getNameable(asTypes, PivotPackage.Literals.ENUMERATION_LITERAL.getName()) == null) {
 			return false;
@@ -425,7 +425,7 @@
 		}
 	}
 
-	protected void setGenerationInProgress(@NonNull org.eclipse.ocl.pivot.Package asPackage, boolean isGenerating) {
+	protected void setGenerationInProgress(org.eclipse.ocl.pivot.@NonNull Package asPackage, boolean isGenerating) {
 		String nsUri = asPackage.getURI();
 		if (nsUri != null) {
 			ProjectManager projectManager = environmentFactory.getProjectManager();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreDeclarationVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreDeclarationVisitor.java
index 8ae066f..b0aa6bc 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreDeclarationVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreDeclarationVisitor.java
@@ -197,7 +197,7 @@
 		this.delegateInstaller = context.getDelegateInstaller();
 	}
 
-	protected void copyClassifier(@NonNull EClassifier eClassifier, @NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	protected void copyClassifier(@NonNull EClassifier eClassifier, org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		copyNamedElement(eClassifier, pivotType);
 		@SuppressWarnings("null")@NonNull List<ETypeParameter> eTypeParameters = eClassifier.getETypeParameters();
 		copyTemplateSignature(eTypeParameters, pivotType);
@@ -415,7 +415,7 @@
 	}
 
 	@Override
-	public EObject visitClass(@NonNull org.eclipse.ocl.pivot.Class pivotClass) {
+	public EObject visitClass(org.eclipse.ocl.pivot.@NonNull Class pivotClass) {
 		if (pivotClass.getOwnedBindings().size() > 0) {
 			return null;
 		}
@@ -655,7 +655,7 @@
 	public Object visitModel(@NonNull Model pivotModel) {
 		EModelElement firstElement = null;
 		List<EObject> outputObjects = new ArrayList<EObject>();
-		for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Package pivotObject : pivotModel.getOwnedPackages()) {
+		for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package pivotObject : pivotModel.getOwnedPackages()) {
 			if (!Orphanage.isTypeOrphanage(pivotObject) && !PivotUtilInternal.isImplicitPackage(pivotObject)) {
 				Object ecoreObject = safeVisit(pivotObject);
 				if (ecoreObject instanceof EObject) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreReferenceVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreReferenceVisitor.java
index 24aa4c1..8e0fff0 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreReferenceVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreReferenceVisitor.java
@@ -310,7 +310,7 @@
 	}
 
 	@Override
-	public EObject visitClass(@NonNull org.eclipse.ocl.pivot.Class pivotClass) {
+	public EObject visitClass(org.eclipse.ocl.pivot.@NonNull Class pivotClass) {
 		EClass eClass = context.getCreated(EClass.class, pivotClass);
 		safeVisitAll(EClass.class, eClass.getEGenericSuperTypes(), eClass.getESuperTypes(), pivotClass.getSuperClasses());
 		return eClass;
@@ -371,7 +371,7 @@
 	}
 
 	@Override
-	public EObject visitPackage(@NonNull org.eclipse.ocl.pivot.Package pivotPackage) {
+	public EObject visitPackage(org.eclipse.ocl.pivot.@NonNull Package pivotPackage) {
 		EPackage ePackage = context.getCreated(EPackage.class, pivotPackage);
 		if (ePackage == null) {
 			return null;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreTypeRefVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreTypeRefVisitor.java
index 0b47332..69b3410 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreTypeRefVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/as2es/AS2EcoreTypeRefVisitor.java
@@ -60,7 +60,7 @@
 		this.standardLibrary = context.getStandardLibrary();
 	}
 
-	public EGenericType resolveEGenericType(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public EGenericType resolveEGenericType(org.eclipse.ocl.pivot.@NonNull Class type) {
 		EObject eType = safeVisit(type);
 		if (eType instanceof EGenericType) {
 			return (EGenericType) eType;
@@ -108,7 +108,7 @@
 	}
 
 	@Override
-	public EObject visitClass(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public EObject visitClass(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		if (pivotType.getOwnedBindings().size() == 0) {
 			EClassifier eClassifier = context.getCreated(EClassifier.class, pivotType);
 			if (eClassifier != null) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/es2as/Ecore2ASDeclarationSwitch.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/es2as/Ecore2ASDeclarationSwitch.java
index 1d73416..d9ec917 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/es2as/Ecore2ASDeclarationSwitch.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/ecore/es2as/Ecore2ASDeclarationSwitch.java
@@ -598,7 +598,7 @@
 		return excludedAnnotations;
 	}
 
-	protected void copyClassifier(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull EClassifier eClassifier, @Nullable List<EAnnotation> excludedAnnotations) {
+	protected void copyClassifier(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull EClassifier eClassifier, @Nullable List<EAnnotation> excludedAnnotations) {
 		excludedAnnotations = refreshTypeConstraints(pivotElement, eClassifier, excludedAnnotations);
 		copyNamedElement(pivotElement, eClassifier);
 		copyAnnotatedElement(pivotElement, eClassifier, excludedAnnotations);
@@ -782,7 +782,7 @@
 		}
 	}
 
-	protected List<EAnnotation> refreshTypeConstraints(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull EClassifier eClassifier, @Nullable List<EAnnotation> excludedAnnotations) {
+	protected List<EAnnotation> refreshTypeConstraints(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull EClassifier eClassifier, @Nullable List<EAnnotation> excludedAnnotations) {
 		EMap<String, String> oclAnnotationDetails = null;
 		Map<String, Constraint> newConstraintMap = null;
 		Map<String, Constraint> oldInvariantMap = null;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/elements/AbstractExecutorType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/elements/AbstractExecutorType.java
index d05ada9..b75e085 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/elements/AbstractExecutorType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/elements/AbstractExecutorType.java
@@ -102,12 +102,12 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getNormalizedType( @NonNull StandardLibrary standardLibrary) {
+	public org.eclipse.ocl.pivot.@NonNull Class getNormalizedType( @NonNull StandardLibrary standardLibrary) {
 		throw new UnsupportedOperationException();
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPivotClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getPivotClass() {
 		throw new UnsupportedOperationException();
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/AbstractEvaluationVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/AbstractEvaluationVisitor.java
index aa4047c..94bbb35 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/AbstractEvaluationVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/AbstractEvaluationVisitor.java
@@ -218,17 +218,17 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		return environmentFactory.getIdResolver().getStaticTypeOf(value);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
 		return environmentFactory.getIdResolver().getStaticTypeOf(value, values);
 	}
  
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		return environmentFactory.getIdResolver().getStaticTypeOf(value, values);
 	}
  
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/OCLEvaluationVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/OCLEvaluationVisitor.java
index 6568a57..cfe7525 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/OCLEvaluationVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/OCLEvaluationVisitor.java
@@ -182,7 +182,7 @@
 		return this;
 	}
 
-	public @NonNull LibraryFeature lookupImplementation(@NonNull org.eclipse.ocl.pivot.Class dynamicType, @NonNull Operation staticOperation) {
+	public @NonNull LibraryFeature lookupImplementation(org.eclipse.ocl.pivot.@NonNull Class dynamicType, @NonNull Operation staticOperation) {
 		CompleteInheritance inheritance = metamodelManager.getInheritance(dynamicType);
 		return inheritance.getPivotClass().lookupImplementation(standardLibrary, staticOperation);
 	}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/TracingEvaluationVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/TracingEvaluationVisitor.java
index 3a3e6cb..2437a8c 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/TracingEvaluationVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/evaluation/TracingEvaluationVisitor.java
@@ -128,17 +128,17 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		return delegate.getStaticTypeOf(value);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
 		return delegate.getStaticTypeOf(value, values);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		return delegate.getStaticTypeOf(value, values);
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/AbstractSpecializedType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/AbstractSpecializedType.java
index 623c24a..776ed3e 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/AbstractSpecializedType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/AbstractSpecializedType.java
@@ -18,9 +18,9 @@
 
 public abstract class AbstractSpecializedType extends AbstractExecutorClass
 {
-	protected final @NonNull org.eclipse.ocl.pivot.Class containerType;
+	protected final org.eclipse.ocl.pivot.@NonNull Class containerType;
 	
-	public AbstractSpecializedType(@NonNull String name, @NonNull org.eclipse.ocl.pivot.Class containerType) {
+	public AbstractSpecializedType(@NonNull String name, org.eclipse.ocl.pivot.@NonNull Class containerType) {
 		super(name, 0);
 		this.containerType = containerType;
 	}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorCollectionType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorCollectionType.java
index c36563a..1ffd106 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorCollectionType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorCollectionType.java
@@ -34,7 +34,7 @@
 	protected final @NonNull UnlimitedNaturalValue upper;
 	protected final @NonNull CollectionTypeId typeId;
 	
-	public ExecutorCollectionType(@NonNull String name, @NonNull org.eclipse.ocl.pivot.Class containerType,
+	public ExecutorCollectionType(@NonNull String name, org.eclipse.ocl.pivot.@NonNull Class containerType,
 			@NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		super(name, containerType);
 		this.elementType = elementType;
@@ -56,7 +56,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
 		StandardLibrary standardLibrary = idResolver.getStandardLibrary();
 		if (!(type instanceof ExecutorCollectionType)) {
 			return standardLibrary.getOclAnyType();
@@ -93,7 +93,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getContainerType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getContainerType() {
 		return containerType;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorMapType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorMapType.java
index 88ade3a..8f188d5 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorMapType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorMapType.java
@@ -29,7 +29,7 @@
 	protected final @NonNull MapTypeId typeId;
 	
 	public ExecutorMapType(@NonNull String name,
-			@NonNull org.eclipse.ocl.pivot.Class containerType, @NonNull Type keyType, @NonNull Type valueType) {
+			org.eclipse.ocl.pivot.@NonNull Class containerType, @NonNull Type keyType, @NonNull Type valueType) {
 		super(name, containerType);
 		this.keyType = keyType;
 		this.valueType = valueType;
@@ -48,7 +48,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
 		StandardLibrary standardLibrary = idResolver.getStandardLibrary();
 		if (!(type instanceof ExecutorMapType)) {
 			return standardLibrary.getOclAnyType();
@@ -70,7 +70,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getContainerType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getContainerType() {
 		return containerType;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorTupleType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorTupleType.java
index 8612439..2da5a74 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorTupleType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/ExecutorTupleType.java
@@ -43,7 +43,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
 		if (type != this) {
 			return idResolver.getStandardLibrary().getOclAnyType();
 		}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/PivotExecutorStandardLibrary.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/PivotExecutorStandardLibrary.java
index 397b56d..e1dc4aa 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/PivotExecutorStandardLibrary.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/executor/PivotExecutorStandardLibrary.java
@@ -47,7 +47,7 @@
 		PivotTables.PACKAGE.getClass();
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Package createPackage(@NonNull org.eclipse.ocl.pivot.Package domainPackage) {
+	protected org.eclipse.ocl.pivot.@NonNull Package createPackage(org.eclipse.ocl.pivot.@NonNull Package domainPackage) {
 		org.eclipse.ocl.pivot.Package pivotPackage = PivotFactory.eINSTANCE.createPackage();
 		pivotPackage.setName(domainPackage.getName());
 		pivotPackage.setURI(domainPackage.getURI());
@@ -60,24 +60,24 @@
 		return pivotPackage;
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Class createType(@NonNull org.eclipse.ocl.pivot.Class domainType) {
+	protected org.eclipse.ocl.pivot.@NonNull Class createType(org.eclipse.ocl.pivot.@NonNull Class domainType) {
 		org.eclipse.ocl.pivot.Class pivotType = PivotFactory.eINSTANCE.createClass();
 		pivotType.setName(domainType.getName());
 		return pivotType;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getClassType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getClassType() {
 		return environmentFactory.getStandardLibrary().getClassType();
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getEnumerationType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getEnumerationType() {
 		return environmentFactory.getStandardLibrary().getEnumerationType();
 	}
 
 	@Override
-	public @NonNull CompleteInheritance getInheritance(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull CompleteInheritance getInheritance(org.eclipse.ocl.pivot.@NonNull Class type) {
 		return environmentFactory.getMetamodelManager().getInheritance(type);
 	}
 
@@ -86,7 +86,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Package getNsURIPackage(@NonNull String nsURI) {
+	public org.eclipse.ocl.pivot.@Nullable Package getNsURIPackage(@NonNull String nsURI) {
 		throw new UnsupportedOperationException();
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/helper/OCLHelperImpl.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/helper/OCLHelperImpl.java
index ba39066..3d3cf65 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/helper/OCLHelperImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/helper/OCLHelperImpl.java
@@ -41,7 +41,7 @@
 	protected final @NonNull OCL ocl;
 	protected final @Nullable EObject context;
 //	private Diagnostic problems;
-	private @Nullable org.eclipse.ocl.pivot.Class contextClass = null;
+	private org.eclipse.ocl.pivot.@Nullable Class contextClass = null;
 	private @Nullable Operation contextOperation = null;
 	private @Nullable Property contextProperty = null;
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreExecutorManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreExecutorManager.java
index 0d66294..89a8c81 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreExecutorManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreExecutorManager.java
@@ -188,7 +188,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		IdResolver idResolver2 = idResolver;
 		if (idResolver2 == null) {
 			idResolver = idResolver2 = createIdResolver();
@@ -197,7 +197,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
 		IdResolver idResolver2 = idResolver;
 		if (idResolver2 == null) {
 			idResolver = idResolver2 = createIdResolver();
@@ -206,7 +206,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		IdResolver idResolver2 = idResolver;
 		if (idResolver2 == null) {
 			idResolver = idResolver2 = createIdResolver();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreIdResolver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreIdResolver.java
index 14aadea..a0ff09d 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreIdResolver.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreIdResolver.java
@@ -60,7 +60,7 @@
 	}
 
 	@Override
-	protected @NonNull org.eclipse.ocl.pivot.Package addEPackage(@NonNull EPackage ePackage) {
+	protected org.eclipse.ocl.pivot.@NonNull Package addEPackage(@NonNull EPackage ePackage) {
 		String nsURI = ePackage.getNsURI();
 		org.eclipse.ocl.pivot.Package asPackage = nsURI2package.get(nsURI);
 		if (asPackage == null) {
@@ -126,7 +126,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getType(@NonNull EClassifier eClassifier) {
+	public org.eclipse.ocl.pivot.@NonNull Class getType(@NonNull EClassifier eClassifier) {
 		return getInheritance(eClassifier).getPivotClass();
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreReflectiveType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreReflectiveType.java
index a5cde05..f901b81 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreReflectiveType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/ecore/EcoreReflectiveType.java
@@ -137,7 +137,7 @@
 	}
 	
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getOwningPackage() {
+	public org.eclipse.ocl.pivot.@NonNull Package getOwningPackage() {
 		return evaluationPackage;
 	}
 
@@ -186,7 +186,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPivotClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getPivotClass() {
 		return this;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractIdResolver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractIdResolver.java
index 6cd15ad..1645ee5 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractIdResolver.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractIdResolver.java
@@ -263,9 +263,9 @@
 		this.standardLibrary = environment.getOwnedStandardLibrary();
 	}
 
-	protected abstract @NonNull org.eclipse.ocl.pivot.Package addEPackage(@NonNull EPackage ePackage);
+	protected abstract org.eclipse.ocl.pivot.@NonNull Package addEPackage(@NonNull EPackage ePackage);
 
-	private void addPackage(@NonNull org.eclipse.ocl.pivot.Package userPackage) {
+	private void addPackage(org.eclipse.ocl.pivot.@NonNull Package userPackage) {
 		String nsURI = userPackage.getURI();
 		if (nsURI != null) {
 			nsURI2package.put(nsURI, userPackage);
@@ -689,18 +689,18 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getClass(@NonNull TypeId typeId, @Nullable Object context) {
+	public org.eclipse.ocl.pivot.@NonNull Class getClass(@NonNull TypeId typeId, @Nullable Object context) {
 		Element type = typeId.accept(this);
 		assert type != null;
 		return (org.eclipse.ocl.pivot.Class)type;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCollectionType(@NonNull CollectionTypeId typeId) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCollectionType(@NonNull CollectionTypeId typeId) {
 		return getCollectionType(typeId, false, null, null);
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Class getCollectionType(@NonNull CollectionTypeId typeId, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCollectionType(@NonNull CollectionTypeId typeId, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		CollectionTypeId generalizedId = typeId.getGeneralizedId();
 		if ((typeId == generalizedId) && !isNullFree && (lower == null) && (upper == null)) {
 			if (generalizedId == TypeId.BAG) {
@@ -750,7 +750,7 @@
 	}
 	
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getDynamicTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getDynamicTypeOf(@Nullable Object value) {
 		if (value instanceof CollectionValue) {
 			CollectionValue collectionValue = (CollectionValue) value;
 			Type elementType = getDynamicTypeOf(collectionValue.iterable());
@@ -808,7 +808,7 @@
 	}
 
 	@Override
-	public synchronized @NonNull org.eclipse.ocl.pivot.Class getJavaType(@NonNull Class<?> javaClass) {
+	public synchronized org.eclipse.ocl.pivot.@NonNull Class getJavaType(@NonNull Class<?> javaClass) {
 		org.eclipse.ocl.pivot.Class type = key2type.get(javaClass);
 		if (type != null) {
 			return type;
@@ -827,7 +827,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getMapType(@NonNull MapTypeId typeId) {
+	public org.eclipse.ocl.pivot.@NonNull Class getMapType(@NonNull MapTypeId typeId) {
 		MapTypeId generalizedId = typeId.getGeneralizedId();
 		if (typeId == generalizedId) {
 			if (generalizedId == TypeId.MAP) {
@@ -861,7 +861,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getPackage(@NonNull PackageId packageId) {
+	public org.eclipse.ocl.pivot.@NonNull Package getPackage(@NonNull PackageId packageId) {
 		Element element = packageId.accept(this);
 		if (element instanceof org.eclipse.ocl.pivot.Package) {
 			return (org.eclipse.ocl.pivot.Package) element;
@@ -884,7 +884,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		if (value instanceof Type) {
 			org.eclipse.ocl.pivot.Class type = key2type.get(value);
 			if (type == null) {
@@ -945,7 +945,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, Object... values) {
 		Object bestTypeId = getTypeKeyOf(value);
 		org.eclipse.ocl.pivot.Class bestType = key2type.get(bestTypeId);
 		assert bestType != null;
@@ -975,7 +975,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		Object bestTypeKey = getTypeKeyOf(value);
 		org.eclipse.ocl.pivot.Class bestType = key2type.get(bestTypeKey);
 		assert bestType != null;
@@ -1330,7 +1330,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package visitNestedPackageId(@NonNull NestedPackageId packageId) {
+	public org.eclipse.ocl.pivot.@NonNull Package visitNestedPackageId(@NonNull NestedPackageId packageId) {
 		org.eclipse.ocl.pivot.Package parentPackage = (org.eclipse.ocl.pivot.Package) packageId.getParent().accept(this);
 		assert parentPackage != null;
 		org.eclipse.ocl.pivot.Package nestedPackage = environment.getNestedPackage(parentPackage, packageId.getName());
@@ -1341,7 +1341,7 @@
 	}
 
 /*	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package visitNsURIPackageId(@NonNull NsURIPackageId id) {
+	public org.eclipse.ocl.pivot.@NonNull Package visitNsURIPackageId(@NonNull NsURIPackageId id) {
 		org.eclipse.ocl.pivot.Package nsURIPackage = standardLibrary.getNsURIPackage(id.getNsURI());
 		if (nsURIPackage == null) {
 			throw new UnsupportedOperationException();
@@ -1350,7 +1350,7 @@
 	} */
 
 	@Override
-	public synchronized @NonNull org.eclipse.ocl.pivot.Package visitNsURIPackageId(@NonNull NsURIPackageId id) {
+	public synchronized org.eclipse.ocl.pivot.@NonNull Package visitNsURIPackageId(@NonNull NsURIPackageId id) {
 		String nsURI = id.getNsURI();
 		org.eclipse.ocl.pivot.Package knownPackage = nsURI2package.get(nsURI);
 		if (knownPackage != null) {
@@ -1434,7 +1434,7 @@
 	}
 
 /*	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package visitRootPackageId(@NonNull RootPackageId id) {
+	public org.eclipse.ocl.pivot.@NonNull Package visitRootPackageId(@NonNull RootPackageId id) {
 		String completeURIorName = id.getName();
 		org.eclipse.ocl.pivot.Package rootPackage = standardLibrary.getRootPackage(completeURIorName);
 		if (rootPackage == null) {
@@ -1444,7 +1444,7 @@
 	} */
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package visitRootPackageId(@NonNull RootPackageId id) {
+	public org.eclipse.ocl.pivot.@NonNull Package visitRootPackageId(@NonNull RootPackageId id) {
 		if (id == IdManager.METAMODEL) {
 			return ClassUtil.nonNullState(getStandardLibrary().getPackage());
 		}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractReflectiveInheritanceType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractReflectiveInheritanceType.java
index c63b128..b4d2a22 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractReflectiveInheritanceType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/AbstractReflectiveInheritanceType.java
@@ -45,12 +45,12 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
+	public org.eclipse.ocl.pivot.@NonNull Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
 		return getPivotClass();
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class isClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class isClass() {
 		return getPivotClass();
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectivePackage.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectivePackage.java
index 06d49ef..a420d21 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectivePackage.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectivePackage.java
@@ -26,16 +26,16 @@
 public class DomainReflectivePackage extends ReflectivePackage
 {
 	protected final @NonNull StandardLibrary standardLibrary;
-	protected final @NonNull org.eclipse.ocl.pivot.Package domainPackage;
+	protected final org.eclipse.ocl.pivot.@NonNull Package domainPackage;
 
-	public DomainReflectivePackage(@NonNull StandardLibrary standardLibrary, @NonNull org.eclipse.ocl.pivot.Package domainPackage) {
+	public DomainReflectivePackage(@NonNull StandardLibrary standardLibrary, org.eclipse.ocl.pivot.@NonNull Package domainPackage) {
 		super(ClassUtil.nonNullPivot(domainPackage.getName()), domainPackage.getNsPrefix(), domainPackage.getURI(), domainPackage.getPackageId());
 		this.standardLibrary = standardLibrary;
 		this.domainPackage = domainPackage;
 	}
 
 	@Override
-	protected @NonNull ReflectiveInheritance createInheritance(@NonNull org.eclipse.ocl.pivot.Class domainClass) {
+	protected @NonNull ReflectiveInheritance createInheritance(org.eclipse.ocl.pivot.@NonNull Class domainClass) {
 		return new DomainReflectiveType(this, domainClass);
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectiveType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectiveType.java
index fb7e3fb..13c802d 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectiveType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/DomainReflectiveType.java
@@ -31,10 +31,10 @@
 public class DomainReflectiveType extends AbstractReflectiveInheritanceType
 {
 	protected final @NonNull DomainReflectivePackage evaluationPackage;
-	protected final @NonNull org.eclipse.ocl.pivot.Class domainClass;
+	protected final org.eclipse.ocl.pivot.@NonNull Class domainClass;
 	private /*@LazyNonNull*/ DomainProperties allProperties;
 
-	public DomainReflectiveType(@NonNull DomainReflectivePackage evaluationPackage, @NonNull org.eclipse.ocl.pivot.Class domainClass) {
+	public DomainReflectiveType(@NonNull DomainReflectivePackage evaluationPackage, org.eclipse.ocl.pivot.@NonNull Class domainClass) {
 		super(ClassUtil.nonNullModel(domainClass.getName()), computeFlags(domainClass));
 		this.evaluationPackage = evaluationPackage;
 		this.domainClass = domainClass;
@@ -143,12 +143,12 @@
 	}
 	
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getOwningPackage() {
+	public org.eclipse.ocl.pivot.@NonNull Package getOwningPackage() {
 		return evaluationPackage;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPivotClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getPivotClass() {
 		return domainClass;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutableStandardLibrary.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutableStandardLibrary.java
index 23c809a..e7648f4 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutableStandardLibrary.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutableStandardLibrary.java
@@ -96,7 +96,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getBagType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getBagType() {
 		return OCLstdlibTables.Types._Bag;
 	}
 
@@ -111,22 +111,22 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getBooleanType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getBooleanType() {
 		return OCLstdlibTables.Types._Boolean;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCollectionType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getCollectionType() {
 		return OCLstdlibTables.Types._Collection;
 	}
 
 	@Override
-	public @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class genericType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class genericType, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		return getCollectionType(genericType, elementType, false, lower, upper);
 	}
 
 	@Override
-	public synchronized @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Class genericType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public synchronized @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Class genericType, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		IntegerValue lower2 = lower;
 		UnlimitedNaturalValue upper2 = upper;
 		if (lower2 == null) {
@@ -153,7 +153,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getIntegerType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getIntegerType() {
 		return OCLstdlibTables.Types._Integer;
 	}
 
@@ -164,12 +164,12 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getMapType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getMapType() {
 		return OCLstdlibTables.Types._Map;
 	}
 
 	@Override
-	public synchronized @NonNull MapType getMapType(@NonNull org.eclipse.ocl.pivot.Class genericType, @NonNull Type keyType, @NonNull Type valueType) {
+	public synchronized @NonNull MapType getMapType(org.eclipse.ocl.pivot.@NonNull Class genericType, @NonNull Type keyType, @NonNull Type valueType) {
 		MapTypeParameters<Type, Type> typeParameters = TypeUtil.createMapTypeParameters(keyType, valueType);
 		ExecutorMapType specializedType = null;
 		Map<MapTypeParameters<Type, Type>, WeakReference<ExecutorMapType>> map = mapSpecializations.get(genericType);
@@ -189,7 +189,7 @@
 
 	// FIXME cf MetamodelManager
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getMetaclass(@NonNull Type classType) {
+	public org.eclipse.ocl.pivot.@NonNull Class getMetaclass(@NonNull Type classType) {
 		org.eclipse.ocl.pivot.Class metaType = null;
 		if (classType instanceof CollectionType) {
 			CollectionType collectionType = (CollectionType)classType;
@@ -227,57 +227,57 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Package getNestedPackage(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String name) {
+	public org.eclipse.ocl.pivot.@Nullable Package getNestedPackage(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String name) {
 		return NameUtil.getNameable(parentPackage.getOwnedPackages(), name);
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getNestedType(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String name) {
+	public org.eclipse.ocl.pivot.@Nullable Class getNestedType(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String name) {
 		return NameUtil.getNameable(parentPackage.getOwnedClasses(), name);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclAnyType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclAnyType() {
 		return OCLstdlibTables.Types._OclAny;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclComparableType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclComparableType() {
 		return OCLstdlibTables.Types._OclComparable;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclElementType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclElementType() {
 		return OCLstdlibTables.Types._OclElement;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclInvalidType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclInvalidType() {
 		return OCLstdlibTables.Types._OclInvalid;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclMessageType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclMessageType() {
 		return OCLstdlibTables.Types._OclMessage;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclSelfType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclSelfType() {
 		return OCLstdlibTables.Types._OclSelf;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclSummableType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclSummableType() {
 		return OCLstdlibTables.Types._OclSummable;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclTupleType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclTupleType() {
 		return OCLstdlibTables.Types._OclTuple;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOclVoidType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOclVoidType() {
 		return OCLstdlibTables.Types._OclVoid;
 	}
 
@@ -287,12 +287,12 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOrderedCollectionType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOrderedCollectionType() {
 		return OCLstdlibTables.Types._OrderedCollection;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getOrderedSetType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getOrderedSetType() {
 		return OCLstdlibTables.Types._OrderedSet;
 	}
 
@@ -322,11 +322,11 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getPackage() {
+	public org.eclipse.ocl.pivot.@NonNull Package getPackage() {
 		return OCLstdlibTables.PACKAGE;
 	}
 
-	public @Nullable org.eclipse.ocl.pivot.Class getPivotType(@NonNull String className) {
+	public org.eclipse.ocl.pivot.@Nullable Class getPivotType(@NonNull String className) {
 		throw new UnsupportedOperationException();
 	}	
 
@@ -336,7 +336,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getRealType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getRealType() {
 		return OCLstdlibTables.Types._Real;
 	}
 
@@ -346,7 +346,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getSequenceType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getSequenceType() {
 		return OCLstdlibTables.Types._Sequence;
 	}
 
@@ -361,7 +361,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getSetType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getSetType() {
 		return OCLstdlibTables.Types._Set;
 	}
 
@@ -390,7 +390,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStringType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getStringType() {
 		return OCLstdlibTables.Types._String;
 	}
 
@@ -458,12 +458,12 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getUniqueCollectionType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getUniqueCollectionType() {
 		return OCLstdlibTables.Types._UniqueCollection;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getUnlimitedNaturalType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getUnlimitedNaturalType() {
 		return OCLstdlibTables.Types._UnlimitedNatural;
 	}
 	
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorManager.java
index 8ae9192..98bc97b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorManager.java
@@ -175,17 +175,17 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		return getIdResolver().getStaticTypeOf(value);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
 		return getIdResolver().getStaticTypeOf(value, values);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		return getIdResolver().getStaticTypeOf(value, values);
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorPackage.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorPackage.java
index af718c2..e6a0f9c 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorPackage.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorPackage.java
@@ -84,7 +84,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getOwnedClass(String typeName) {
+	public org.eclipse.ocl.pivot.@Nullable Class getOwnedClass(String typeName) {
 		List<org.eclipse.ocl.pivot.Class> ownedClasses = getOwnedClasses();
 		int index = Collections.binarySearch(ownedClasses, new StringNameable(typeName), NameUtil.NameableComparator.INSTANCE);
 		if (index >= 0) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorStandardLibrary.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorStandardLibrary.java
index 3d18a2b..806ddcd 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorStandardLibrary.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorStandardLibrary.java
@@ -70,7 +70,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getClassType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getClassType() {
 		Map<EcoreExecutorPackage, List<EcoreExecutorPackage>> extensions2 = extensions;
 		if (extensions2 == null) {
 			throw new IllegalStateException("No extension package registered to define Class type"); //$NON-NLS-1$
@@ -86,7 +86,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getEnumerationType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getEnumerationType() {
 		Map<EcoreExecutorPackage, List<EcoreExecutorPackage>> extensions2 = extensions;
 		if (extensions2 == null) {
 			throw new IllegalStateException("No extension package registered to define Enumeration type"); //$NON-NLS-1$
@@ -102,7 +102,7 @@
 	}
 
 	@Override
-	public @NonNull CompleteInheritance getInheritance(@NonNull org.eclipse.ocl.pivot.Class domainClass) {
+	public @NonNull CompleteInheritance getInheritance(org.eclipse.ocl.pivot.@NonNull Class domainClass) {
 		if (domainClass instanceof CompleteInheritance) {
 			return (CompleteInheritance) domainClass;
 		}
@@ -161,7 +161,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getNestedType(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String name) {
+	public org.eclipse.ocl.pivot.@Nullable Class getNestedType(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String name) {
 		org.eclipse.ocl.pivot.Class nestedType = NameUtil.getNameable(parentPackage.getOwnedClasses(), name);
 		if (nestedType != null) {
 			return nestedType;
@@ -207,7 +207,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getPivotType(@NonNull String className) {
+	public org.eclipse.ocl.pivot.@Nullable Class getPivotType(@NonNull String className) {
 		Map<EcoreExecutorPackage, List<EcoreExecutorPackage>> extensions2 = extensions;
 		if (extensions2 != null) {
 			for (@SuppressWarnings("null")@NonNull List<EcoreExecutorPackage> packages : extensions2.values()) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorType.java
index 4a5375d..ac44151 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorType.java
@@ -52,7 +52,7 @@
 	 */
 	private int[] indexes = null;
 	
-	protected final @NonNull org.eclipse.ocl.pivot.Package evaluationPackage;
+	protected final org.eclipse.ocl.pivot.@NonNull Package evaluationPackage;
 	private final @NonNull TemplateParameters typeParameters;
 	private /*@LazyNonNull*/ DomainProperties allProperties;
 	
@@ -148,7 +148,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
+	public org.eclipse.ocl.pivot.@NonNull Class getNormalizedType(@NonNull StandardLibrary standardLibrary) {
 		return this;
 	}
 
@@ -168,7 +168,7 @@
 	}
 	
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getOwningPackage() {
+	public org.eclipse.ocl.pivot.@NonNull Package getOwningPackage() {
 		return evaluationPackage;
 	}
 
@@ -178,7 +178,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPivotClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class getPivotClass() {
 		return this;
 	}
 
@@ -221,7 +221,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class isClass() {
+	public org.eclipse.ocl.pivot.@NonNull Class isClass() {
 		return this;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorTypeParameter.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorTypeParameter.java
index ffe466e..7cdada9 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorTypeParameter.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ExecutorTypeParameter.java
@@ -53,7 +53,7 @@
 	}
 	
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class isClass() {
+	public org.eclipse.ocl.pivot.@Nullable Class isClass() {
 		return null;
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/JavaType.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/JavaType.java
index 7f0c347..9766fc4 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/JavaType.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/JavaType.java
@@ -40,7 +40,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCommonType(@NonNull IdResolver idResolver, @NonNull Type type) {
 		if (this == type) {
 			return this;
 		}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/LazyModelManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/LazyModelManager.java
index cd0a10d..3db22d5 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/LazyModelManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/LazyModelManager.java
@@ -75,7 +75,7 @@
 	 * @param type a class in the model
 	 */
 	@Override
-	public @NonNull Set<EObject> get(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull Set<EObject> get(org.eclipse.ocl.pivot.@NonNull Class type) {
 		// TODO: Optimize by parsing ahead of time to find all EClasses that we will query
 		Set<EObject> result = modelManager.get(type);		
 		if (result == null) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectiveInheritance.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectiveInheritance.java
index b6c1e01..35f3e4c 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectiveInheritance.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectiveInheritance.java
@@ -33,7 +33,7 @@
  */
 public abstract class ReflectiveInheritance extends AbstractExecutorClass
 {	
-	protected static int computeFlags(@NonNull org.eclipse.ocl.pivot.Class domainClass) {
+	protected static int computeFlags(org.eclipse.ocl.pivot.@NonNull Class domainClass) {
 		int flags = 0;
 		if (domainClass instanceof CollectionType) {
 			CollectionType collectionType = (CollectionType)domainClass;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectivePackage.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectivePackage.java
index fa67bfe..c4c0370 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectivePackage.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/library/executor/ReflectivePackage.java
@@ -43,11 +43,11 @@
 		return class2inheritance2;
 	}
 
-	protected abstract @NonNull CompleteInheritance createInheritance(@NonNull org.eclipse.ocl.pivot.Class domainClass);
+	protected abstract @NonNull CompleteInheritance createInheritance(org.eclipse.ocl.pivot.@NonNull Class domainClass);
 
 	protected abstract @NonNull List<org.eclipse.ocl.pivot.Class> getDomainClasses();
 
-	public @NonNull CompleteInheritance getInheritance(@NonNull org.eclipse.ocl.pivot.Class domainClass) {
+	public @NonNull CompleteInheritance getInheritance(org.eclipse.ocl.pivot.@NonNull Class domainClass) {
 		Map<org.eclipse.ocl.pivot.Class, CompleteInheritance> class2inheritance2 = class2inheritance;
 		if (class2inheritance2 == null) {
 			class2inheritance2 = computeClasses();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/lookup/SingleResultEnvironmentImpl.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/lookup/SingleResultEnvironmentImpl.java
index 67ba043..a860073 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/lookup/SingleResultEnvironmentImpl.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/lookup/SingleResultEnvironmentImpl.java
@@ -199,7 +199,7 @@
 	private static final class MergedPackageDisambiguator extends Disambiguator<org.eclipse.ocl.pivot.Package>
 	{
 		@Override
-		public int compare(@NonNull EnvironmentFactory environmentFactory, @NonNull org.eclipse.ocl.pivot.Package match1, @NonNull org.eclipse.ocl.pivot.Package match2) {
+		public int compare(@NonNull EnvironmentFactory environmentFactory, org.eclipse.ocl.pivot.@NonNull Package match1, org.eclipse.ocl.pivot.@NonNull Package match2) {
 			CompleteModel completeModel = environmentFactory.getCompleteModel();
 			CompletePackage completePackage1 = completeModel.getCompletePackage(match1);
 			CompletePackage completePackage2 = completeModel.getCompletePackage(match2);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/LambdaTypeManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/LambdaTypeManager.java
index 737d9da..ec3ec1f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/LambdaTypeManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/LambdaTypeManager.java
@@ -29,7 +29,7 @@
 public class LambdaTypeManager
 {
 	protected final @NonNull CompleteEnvironmentInternal completeEnvironment;
-	protected final @NonNull org.eclipse.ocl.pivot.Class oclLambdaType;
+	protected final org.eclipse.ocl.pivot.@NonNull Class oclLambdaType;
 	
 	/**
 	 * Map from from context type via first parameter type, which may be null, to list of lambda types sharing context and first parameter types. 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/MetamodelManagerInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/MetamodelManagerInternal.java
index 6c7d5a7..ec80df2 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/MetamodelManagerInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/MetamodelManagerInternal.java
@@ -51,25 +51,25 @@
 
 	@Nullable ParserContext createParserContext(@NonNull Element element, Object... todoParameters);
 
-	@Nullable org.eclipse.ocl.pivot.Package getASmetamodel();
+	org.eclipse.ocl.pivot.@Nullable Package getASmetamodel();
 	
 	@NonNull Iterable<Constraint> getAllInvariants(@NonNull Type pivotType);
 
-	@NonNull org.eclipse.ocl.pivot.Class getCollectionType(@NonNull String collectionTypeName, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
+	org.eclipse.ocl.pivot.@NonNull Class getCollectionType(@NonNull String collectionTypeName, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper);
 
 	@NonNull CompleteClassInternal getCompleteClass(@NonNull Type pivotType);
 	
 	@Override
 	@NonNull CompleteModelInternal getCompleteModel();
 
-	@NonNull CompletePackage getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package asPackage);
+	@NonNull CompletePackage getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package asPackage);
 
 	@Override
 	@NonNull EnvironmentFactoryInternal getEnvironmentFactory();
 
 	@Nullable GenPackage getGenPackage(@NonNull String nsURI);
 
-	@Nullable org.eclipse.ocl.pivot.Class getPrimaryType(@NonNull String nsURI, @NonNull String path, String... extraPath);
+	org.eclipse.ocl.pivot.@Nullable Class getPrimaryType(@NonNull String nsURI, @NonNull String path, String... extraPath);
 
 	@Override
 	@NonNull StandardLibraryInternal getStandardLibrary();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/Orphanage.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/Orphanage.java
index 200f1b3..09104c3 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/Orphanage.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/Orphanage.java
@@ -421,7 +421,7 @@
 	/**
 	 * Return true if asPackage is an orphanage for synthesized types.
 	 */
-	public static boolean isTypeOrphanage(@Nullable org.eclipse.ocl.pivot.Package asPackage) {
+	public static boolean isTypeOrphanage(org.eclipse.ocl.pivot.@Nullable Package asPackage) {
 		if (asPackage == null) {
 			return false;
 		}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotExecutorManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotExecutorManager.java
index 879fb47..8e06b6e 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotExecutorManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotExecutorManager.java
@@ -96,17 +96,17 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		return idResolver.getStaticTypeOf(value);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Object... values) {
 		return idResolver.getStaticTypeOf(value, values);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value, @NonNull Iterable<?> values) {
 		return idResolver.getStaticTypeOf(value, values);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotIdResolver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotIdResolver.java
index 109da8e..26bac05 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotIdResolver.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotIdResolver.java
@@ -52,7 +52,7 @@
 	}
 
 	@Override
-	protected @NonNull org.eclipse.ocl.pivot.Package addEPackage(@NonNull EPackage ePackage) {
+	protected org.eclipse.ocl.pivot.@NonNull Package addEPackage(@NonNull EPackage ePackage) {
 		String nsURI = ePackage.getNsURI();
 		org.eclipse.ocl.pivot.Package asPackage = nsURI2package.get(nsURI);
 		if (asPackage == null) {
@@ -73,7 +73,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getClass(@NonNull TypeId typeId, @Nullable Object context) {
+	public org.eclipse.ocl.pivot.@NonNull Class getClass(@NonNull TypeId typeId, @Nullable Object context) {
 		Element type = typeId.accept(this);
 		assert type != null;
 		return (org.eclipse.ocl.pivot.Class)type;
@@ -84,12 +84,12 @@
 		return metamodelManager.getInheritance(getType(eClassifier));
 	}
 
-	protected @Nullable org.eclipse.ocl.pivot.Package getPivotlessEPackage(@NonNull EPackage ePackage) {
+	protected org.eclipse.ocl.pivot.@Nullable Package getPivotlessEPackage(@NonNull EPackage ePackage) {
 		return null;
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getStaticTypeOf(@Nullable Object value) {
+	public org.eclipse.ocl.pivot.@NonNull Class getStaticTypeOf(@Nullable Object value) {
 		if (value instanceof ElementExtension) {
 			Stereotype asStereotype = ((ElementExtension)value).getStereotype();
 			return asStereotype != null ? asStereotype : metamodelManager.getStandardLibrary().getOclInvalidType();
@@ -104,7 +104,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getType(@NonNull EClassifier eClassifier) {
+	public org.eclipse.ocl.pivot.@NonNull Class getType(@NonNull EClassifier eClassifier) {
 		EObject eType = eClassifier;
 		EPackage ePackage = eClassifier.getEPackage();
 		if (ePackage == PivotPackage.eINSTANCE){
@@ -163,7 +163,7 @@
 	}
 
 	@Override
-	public synchronized @NonNull org.eclipse.ocl.pivot.Package visitNsURIPackageId(@NonNull NsURIPackageId id) {
+	public synchronized org.eclipse.ocl.pivot.@NonNull Package visitNsURIPackageId(@NonNull NsURIPackageId id) {
 		String nsURI = id.getNsURI();
 		org.eclipse.ocl.pivot.Package nsURIPackage = standardLibrary.getNsURIPackage(nsURI);
 		if (nsURIPackage != null) {
@@ -182,7 +182,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package visitRootPackageId(@NonNull RootPackageId id) {
+	public org.eclipse.ocl.pivot.@NonNull Package visitRootPackageId(@NonNull RootPackageId id) {
 		String completeURIorName = id.getName();
 		org.eclipse.ocl.pivot.Package rootPackage = standardLibrary.getRootPackage(completeURIorName);
 		if (rootPackage == null) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotMetamodelManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotMetamodelManager.java
index 2951934..2885097 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotMetamodelManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PivotMetamodelManager.java
@@ -153,7 +153,7 @@
 		}
 
 		@Override
-		protected @NonNull Iterable<Operation> getInnerIterable(@NonNull org.eclipse.ocl.pivot.Class model) {
+		protected @NonNull Iterable<Operation> getInnerIterable(org.eclipse.ocl.pivot.@NonNull Class model) {
 			return ClassUtil.nonNullEMF(model.getOwnedOperations());
 		}
 
@@ -178,7 +178,7 @@
 		}
 
 		@Override
-		protected @NonNull Iterable<Property> getInnerIterable(@NonNull org.eclipse.ocl.pivot.Class model) {
+		protected @NonNull Iterable<Property> getInnerIterable(org.eclipse.ocl.pivot.@NonNull Class model) {
 			return ClassUtil.nonNullEMF(model.getOwnedProperties());
 		}
 
@@ -201,7 +201,7 @@
 		}
 
 		@Override
-		protected @NonNull Iterable<Constraint> getInnerIterable(@NonNull org.eclipse.ocl.pivot.Class model) {
+		protected @NonNull Iterable<Constraint> getInnerIterable(org.eclipse.ocl.pivot.@NonNull Class model) {
 			return ClassUtil.nonNullEMF(model.getOwnedInvariants());
 		}
 	}
@@ -683,7 +683,7 @@
 		return asUnlimitedNatural;
 	}
 
-	public @NonNull WildcardType createWildcardType(@Nullable org.eclipse.ocl.pivot.Class lowerBound, @Nullable org.eclipse.ocl.pivot.Class upperBound) {
+	public @NonNull WildcardType createWildcardType(org.eclipse.ocl.pivot.@Nullable Class lowerBound, org.eclipse.ocl.pivot.@Nullable Class upperBound) {
 		WildcardType wildcardType = PivotFactory.eINSTANCE.createWildcardType();
 		wildcardType.setName("?");			// Name is not significant
 		wildcardType.setLowerBound(lowerBound != null ? lowerBound : standardLibrary.getOclAnyType());
@@ -774,7 +774,7 @@
 	 * Return the pivot model class for className with the Pivot Model.
 	 */
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getASClass(@NonNull String className) {
+	public org.eclipse.ocl.pivot.@Nullable Class getASClass(@NonNull String className) {
 		if (asMetamodel == null) {
 			getASmetamodel();
 			if (asMetamodel == null) {
@@ -828,7 +828,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Package getASmetamodel() {
+	public org.eclipse.ocl.pivot.@Nullable Package getASmetamodel() {
 		if ((asMetamodel == null) && autoLoadASmetamodel) {
 			org.eclipse.ocl.pivot.Package stdlibPackage = null;
 			standardLibrary.getOclAnyType();				// Load a default library if necessary.
@@ -862,7 +862,7 @@
 		Set<Constraint> knownInvariants = new HashSet<Constraint>();
 		for (CompleteClass superType : getAllSuperCompleteClasses(pivotType)) {
 			if (superType != null) {
-				for (@SuppressWarnings("null")@NonNull org.eclipse.ocl.pivot.Class partialSuperType : superType.getPartialClasses()) {
+				for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class partialSuperType : superType.getPartialClasses()) {
 					org.eclipse.ocl.pivot.Package partialPackage = partialSuperType.getOwningPackage();
 					if (!(partialPackage instanceof PackageImpl) || !((PackageImpl)partialPackage).isIgnoreInvariants()) {
 						knownInvariants.addAll(partialSuperType.getOwnedInvariants());
@@ -921,7 +921,7 @@
 	}
 
 	@Deprecated
-	public @NonNull Iterable<org.eclipse.ocl.pivot.Class> getAllTypes(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public @NonNull Iterable<org.eclipse.ocl.pivot.Class> getAllTypes(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 //		if (pivotType == null) {
 //			return EMPTY_TYPE_LIST;
 //		}
@@ -992,12 +992,12 @@
 	 * @deprecated add isNullFree argument
 	 */
 	@Deprecated
-	public @NonNull org.eclipse.ocl.pivot.Class getCollectionType(@NonNull String collectionTypeName, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCollectionType(@NonNull String collectionTypeName, @NonNull Type elementType, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		return getCollectionType(collectionTypeName, elementType, false, lower, upper);
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getCollectionType(@NonNull String collectionTypeName, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
+	public org.eclipse.ocl.pivot.@NonNull Class getCollectionType(@NonNull String collectionTypeName, @NonNull Type elementType, boolean isNullFree, @Nullable IntegerValue lower, @Nullable UnlimitedNaturalValue upper) {
 		if (elementType.eIsProxy()) {
 			return standardLibrary.getOclInvalidType();
 		}
@@ -1057,7 +1057,7 @@
 	}
 	
 	@Override
-	public @NonNull CompletePackage getCompletePackage(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public @NonNull CompletePackage getCompletePackage(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		if (!libraryLoadInProgress && asMetamodel == null) {
 			getASmetamodel();
 		}
@@ -1150,7 +1150,7 @@
 	 * class/package name hierarchy. THis is typically used to create a merge contribution
 	 * for thatClass in thisModel avoiding the need to modify thatClass.
 	 */
-	public org.eclipse.ocl.pivot.Class getEquivalentClass(@NonNull Model thisModel, @NonNull org.eclipse.ocl.pivot.Class thatClass) {
+	public org.eclipse.ocl.pivot.Class getEquivalentClass(@NonNull Model thisModel, org.eclipse.ocl.pivot.@NonNull Class thatClass) {
 		Model thatModel = PivotUtil.getContainingModel(thatClass);
 		if (thisModel == thatModel) {
 			return thatClass;
@@ -1339,7 +1339,7 @@
 		return precedenceManager.getInfixPrecedence(operatorName);
 	}
 
-	public @NonNull CompleteInheritance getInheritance(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull CompleteInheritance getInheritance(org.eclipse.ocl.pivot.@NonNull Class type) {
 		org.eclipse.ocl.pivot.Class type1 = getPrimaryClass(type);
 		org.eclipse.ocl.pivot.Class unspecializedType = (org.eclipse.ocl.pivot.Class) type1.getUnspecializedElement();
 		org.eclipse.ocl.pivot.Class theType = unspecializedType != null ? unspecializedType : type1;
@@ -1350,7 +1350,7 @@
 	public @NonNull List<Library> getLibraries() { return asLibraries; }
 	public @Nullable Resource getLibraryResource() { return asLibraryResource; }
 
-	public @Nullable org.eclipse.ocl.pivot.Class getLibraryType(@NonNull String string, @NonNull List<? extends Type> templateArguments) {
+	public org.eclipse.ocl.pivot.@Nullable Class getLibraryType(@NonNull String string, @NonNull List<? extends Type> templateArguments) {
 		org.eclipse.ocl.pivot.Class libraryType = standardLibrary.getRequiredLibraryType(string);
 		return getLibraryType(libraryType, templateArguments);
 	}
@@ -1394,7 +1394,7 @@
 		}
 	}
 
-	public @NonNull Iterable<Constraint> getLocalInvariants(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public @NonNull Iterable<Constraint> getLocalInvariants(org.eclipse.ocl.pivot.@NonNull Class type) {
 		type = PivotUtil.getUnspecializedTemplateableElement(type);
 		return new CompleteElementInvariantsIterable(getAllTypes(type));
 	}
@@ -1403,28 +1403,28 @@
 		return lockingAnnotation;
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Class getMapType(@NonNull String mapTypeName, @NonNull Type keyType, @NonNull Type valueType) {
+	public org.eclipse.ocl.pivot.@NonNull Class getMapType(@NonNull String mapTypeName, @NonNull Type keyType, @NonNull Type valueType) {
 		if (keyType.eIsProxy() || valueType.eIsProxy()) {
 			return standardLibrary.getOclInvalidType();
 		}
 		return completeEnvironment.getMapType(standardLibrary.getRequiredLibraryType(mapTypeName), keyType, valueType);
 	}
 
-	public @NonNull Iterable<Operation> getMemberOperations(@NonNull org.eclipse.ocl.pivot.Class type, boolean selectStatic) {
+	public @NonNull Iterable<Operation> getMemberOperations(org.eclipse.ocl.pivot.@NonNull Class type, boolean selectStatic) {
 		type = PivotUtil.getUnspecializedTemplateableElement(type);
 		return new CompleteTypeOperationsIterable(getAllTypes(type), selectStatic);
 	}
 
-	public @NonNull Iterable<? extends CompletePackage> getMemberPackages(@NonNull org.eclipse.ocl.pivot.Package pkg) {
+	public @NonNull Iterable<? extends CompletePackage> getMemberPackages(org.eclipse.ocl.pivot.@NonNull Package pkg) {
 		return getCompletePackage(pkg).getOwnedCompletePackages();
 	}
 
-	public @NonNull Iterable<Property> getMemberProperties(@NonNull org.eclipse.ocl.pivot.Class type, boolean selectStatic) {
+	public @NonNull Iterable<Property> getMemberProperties(org.eclipse.ocl.pivot.@NonNull Class type, boolean selectStatic) {
 		type = PivotUtil.getUnspecializedTemplateableElement(type);
 		return new CompleteClassPropertiesIterable(getAllTypes(type), selectStatic);
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Class getMetaclass(@NonNull Type domainInstanceType) {
+	public org.eclipse.ocl.pivot.@NonNull Class getMetaclass(@NonNull Type domainInstanceType) {
 		org.eclipse.ocl.pivot.Class metaType = null;
 		if (domainInstanceType instanceof CollectionType) {
 			CollectionType collectionType = (CollectionType)domainInstanceType;
@@ -1471,7 +1471,7 @@
 		return singletonList;
 	}
 
-	public @NonNull Iterable<? extends org.eclipse.ocl.pivot.Package> getPartialPackages(@NonNull org.eclipse.ocl.pivot.Package pkg, boolean loadASmetamodelFirst) {
+	public @NonNull Iterable<? extends org.eclipse.ocl.pivot.Package> getPartialPackages(org.eclipse.ocl.pivot.@NonNull Package pkg, boolean loadASmetamodelFirst) {
 		if (!libraryLoadInProgress && loadASmetamodelFirst && (asMetamodel == null)) {
 			getASmetamodel();
 		}
@@ -1541,7 +1541,7 @@
 	/**
 	 * Lookup a primary package by its URI and optionally a sub-package path.
 	 */
-	public @Nullable org.eclipse.ocl.pivot.Package getPrimaryPackage(@NonNull String nsURI, String... subPackagePath) {
+	public org.eclipse.ocl.pivot.@Nullable Package getPrimaryPackage(@NonNull String nsURI, String... subPackagePath) {
 		CompletePackage completePackage = completeModel.getCompletePackageByURI(nsURI);
 		if (completePackage == null) {
 			return null;
@@ -1563,7 +1563,7 @@
 	/**
 	 * Lookup a primary sub-package.
 	 *
-	public @Nullable PackageServer getPrimaryPackage(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String subPackageName) {
+	public @Nullable PackageServer getPrimaryPackage(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String subPackageName) {
 		PackageTracker packageTracker = packageManager.findPackageTracker(parentPackage);
 		if (packageTracker != null) {
 			return packageTracker.getPackageServer().getMemberPackage(subPackageName);
@@ -1574,7 +1574,7 @@
 	} */
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Package getPrimaryPackage(@NonNull org.eclipse.ocl.pivot.Package aPackage) {
+	public org.eclipse.ocl.pivot.@NonNull Package getPrimaryPackage(org.eclipse.ocl.pivot.@NonNull Package aPackage) {
 		return ClassUtil.nonNullState(getCompletePackage(aPackage).getPrimaryPackage());
 	}
 
@@ -1611,7 +1611,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getPrimaryClass(@NonNull org.eclipse.ocl.pivot.Class type) {
+	public org.eclipse.ocl.pivot.@NonNull Class getPrimaryClass(org.eclipse.ocl.pivot.@NonNull Class type) {
 		if (/*(type instanceof Type) &&*/ !isTypeServeable(type)) {
 			return type;
 		}
@@ -1641,7 +1641,7 @@
 	}
 
 	@Override
-	public @Nullable org.eclipse.ocl.pivot.Class getPrimaryType(@NonNull String nsURI, @NonNull String path, String... extraPath) {
+	public org.eclipse.ocl.pivot.@Nullable Class getPrimaryType(@NonNull String nsURI, @NonNull String path, String... extraPath) {
 		CompletePackage completePackage = completeModel.getCompletePackageByURI(nsURI);
 		if (completePackage == null) {
 			return null;
@@ -1697,7 +1697,7 @@
 		return standardLibrary;
 	}
 	
-	public Iterable<CompleteClass> getSuperCompleteClasses(@NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	public Iterable<CompleteClass> getSuperCompleteClasses(org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		if (!libraryLoadInProgress && (asMetamodel == null) && (pivotType == standardLibrary.getClassType()))  {
 			getASmetamodel();
 		}
@@ -1849,7 +1849,7 @@
 		return libraryLoadInProgress;	
 	}
 
-	public boolean isSuperClassOf(@NonNull org.eclipse.ocl.pivot.Class unspecializedFirstType, @NonNull org.eclipse.ocl.pivot.Class secondType) {
+	public boolean isSuperClassOf(org.eclipse.ocl.pivot.@NonNull Class unspecializedFirstType, org.eclipse.ocl.pivot.@NonNull Class secondType) {
 		CompleteClass firstCompleteClass = getCompleteClass(unspecializedFirstType);
 		CompleteClass secondCompleteClass = getCompleteClass(secondType);
 		return isSuperCompleteClassOf(firstCompleteClass, secondCompleteClass);
@@ -1911,7 +1911,7 @@
 	 * 
 	 * @param asLibrary
 	 */
-	protected void loadASmetamodel(@NonNull org.eclipse.ocl.pivot.Package asLibrary) {
+	protected void loadASmetamodel(org.eclipse.ocl.pivot.@NonNull Package asLibrary) {
 		for (org.eclipse.ocl.pivot.Package libPackage : getPartialPackages(asLibrary, false)) {
 			if (NameUtil.getNameable(libPackage.getOwnedClasses(), PivotPackage.Literals.ELEMENT.getName()) != null) {
 				setASmetamodel(libPackage);	// Custom meta-model
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PrecedenceManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PrecedenceManager.java
index 3f63314..7aabdf4 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PrecedenceManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/PrecedenceManager.java
@@ -156,7 +156,7 @@
 		}
 	}
 
-	protected void compilePrecedenceType(@NonNull List<String> errors, @NonNull org.eclipse.ocl.pivot.Class pivotType) {
+	protected void compilePrecedenceType(@NonNull List<String> errors, org.eclipse.ocl.pivot.@NonNull Class pivotType) {
 		for (Operation operation : pivotType.getOwnedOperations()) {
 			if (operation != null) {
 				compilePrecedenceOperation(errors, operation);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateParameterSubstitutionVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateParameterSubstitutionVisitor.java
index 3e21b13..6a8c19c 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateParameterSubstitutionVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateParameterSubstitutionVisitor.java
@@ -378,7 +378,7 @@
 	}
 
 	@Override
-	public @Nullable Object visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public @Nullable Object visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		for (TemplateBinding templateBinding : object.getOwnedBindings()) {
 			for (TemplateParameterSubstitution templateParameterSubstitution : templateBinding.getOwnedSubstitutions()) {
 				safeVisit(templateParameterSubstitution.getActual());
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateSpecialisation.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateSpecialisation.java
index d227b9c..aa36bca 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateSpecialisation.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TemplateSpecialisation.java
@@ -132,7 +132,7 @@
 		return null;
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Class getSpecialisation(@NonNull Type referredType) {
+	public org.eclipse.ocl.pivot.@NonNull Class getSpecialisation(@NonNull Type referredType) {
 		Type specialisation = getResolution(referredType);
 		return (org.eclipse.ocl.pivot.Class) (specialisation != null ? specialisation : referredType);	// FIXME cast
 	}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TupleTypeManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TupleTypeManager.java
index 369c3c9..d4819f1 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TupleTypeManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/manager/TupleTypeManager.java
@@ -113,7 +113,7 @@
 
 	protected final @NonNull CompleteEnvironmentInternal completeEnvironment;
 	protected final @NonNull PivotMetamodelManager metamodelManager;
-	protected final @NonNull org.eclipse.ocl.pivot.Class oclTupleType;
+	protected final org.eclipse.ocl.pivot.@NonNull Class oclTupleType;
 	
 	/**
 	 * Map from the tuple typeId to the tuple type. 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/prettyprint/PrettyPrintVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/prettyprint/PrettyPrintVisitor.java
index bb0845c..612ed1c 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/prettyprint/PrettyPrintVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/prettyprint/PrettyPrintVisitor.java
@@ -89,7 +89,7 @@
 	}
 
 	@Override
-	public Object visitExpressionInOCL(@NonNull org.eclipse.ocl.pivot.ExpressionInOCL object) {
+	public Object visitExpressionInOCL(org.eclipse.ocl.pivot.@NonNull ExpressionInOCL object) {
 		if (object.getBody() != null) {
 			return super.visitExpressionInOCL(object);
 		}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/resource/ASSaver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/resource/ASSaver.java
index 4338aa6..06a10dd 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/resource/ASSaver.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/resource/ASSaver.java
@@ -90,7 +90,7 @@
 		}
 	}
 
-	public boolean addSpecializingElement(@NonNull Element object, @NonNull org.eclipse.ocl.pivot.Class referredType) {
+	public boolean addSpecializingElement(@NonNull Element object, org.eclipse.ocl.pivot.@NonNull Class referredType) {
 		if (PivotUtilInternal.isLibraryType(referredType)) {
 			return false;
 		}
@@ -126,7 +126,7 @@
 		}
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Class getOrphanClass(@NonNull org.eclipse.ocl.pivot.Package orphanagePackage) {
+	protected org.eclipse.ocl.pivot.@NonNull Class getOrphanClass(org.eclipse.ocl.pivot.@NonNull Package orphanagePackage) {
 		org.eclipse.ocl.pivot.Class orphanageClass2 = orphanageClass;
 		if (orphanageClass2 == null) {
 			orphanageClass = orphanageClass2 = PivotFactory.eINSTANCE.createAnyType();		// No superclasses
@@ -136,7 +136,7 @@
 		return orphanageClass2;
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Package getOrphanPackage(@NonNull Resource resource) {
+	protected org.eclipse.ocl.pivot.@NonNull Package getOrphanPackage(@NonNull Resource resource) {
 		Package orphanage2 = orphanage;
 		if (orphanage2 == null) {
 			orphanage = orphanage2 = PivotFactory.eINSTANCE.createPackage();
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/scoping/EnvironmentView.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/scoping/EnvironmentView.java
index edad1f6..2f87d60 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/scoping/EnvironmentView.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/scoping/EnvironmentView.java
@@ -157,7 +157,7 @@
 	private static final class MergedPackageDisambiguator extends Disambiguator<org.eclipse.ocl.pivot.Package>
 	{
 		@Override
-		public int compare(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.ocl.pivot.Package match1, @NonNull org.eclipse.ocl.pivot.Package match2) {
+		public int compare(@NonNull EnvironmentFactoryInternal environmentFactory, org.eclipse.ocl.pivot.@NonNull Package match1, org.eclipse.ocl.pivot.@NonNull Package match2) {
 			CompleteModelInternal completeModel = environmentFactory.getCompleteModel();
 			CompletePackageInternal completePackage1 = completeModel.getCompletePackage(match1);
 			CompletePackageInternal completePackage2 = completeModel.getCompletePackage(match2);
@@ -261,7 +261,7 @@
 		return (name == null) || PivotUtil.conformsTo(requiredType, eClass) || ((requiredType != null) && PivotUtil.conformsTo(eClass, requiredType));
 	}
 
-	public void addAllElements(@NonNull org.eclipse.ocl.pivot.Class asClass, @NonNull ScopeView scopeView) {
+	public void addAllElements(org.eclipse.ocl.pivot.@NonNull Class asClass, @NonNull ScopeView scopeView) {
 		Attribution attribution = PivotUtilInternal.getAttribution(asClass);
 		attribution.computeLookup(asClass, this, scopeView);
 		org.eclipse.ocl.pivot.Class asUnspecializedClass = PivotUtil.getUnspecializedTemplateableElement(asClass);
@@ -299,7 +299,7 @@
 		}
 	}
 
-	public void addAllOperations(@NonNull org.eclipse.ocl.pivot.Class type, @Nullable FeatureFilter featureFilter) {
+	public void addAllOperations(org.eclipse.ocl.pivot.@NonNull Class type, @Nullable FeatureFilter featureFilter) {
 		if (accepts(PivotPackage.Literals.ITERATION)		// If ITERATION is acceptable then so too is OPERATION
 				&& (requiredType != PivotPackage.Literals.NAMESPACE)) {			// Don't really want operations when looking for NAMESPACE
 			assert environmentFactory.getMetamodelManager().isTypeServeable(type);
@@ -323,7 +323,7 @@
 		}
 	}
 
-	public void addAllPackages(@NonNull org.eclipse.ocl.pivot.Package pkge) {
+	public void addAllPackages(org.eclipse.ocl.pivot.@NonNull Package pkge) {
 		if (accepts(PivotPackage.Literals.PACKAGE)) {
 			CompletePackage parentCompletePackage = environmentFactory.getMetamodelManager().getCompletePackage(pkge);
 			String name2 = name;
@@ -403,7 +403,7 @@
 		}
 	}
 	
-	public void addAllProperties(@NonNull org.eclipse.ocl.pivot.Class type, @Nullable FeatureFilter featureFilter) {
+	public void addAllProperties(org.eclipse.ocl.pivot.@NonNull Class type, @Nullable FeatureFilter featureFilter) {
 		if (accepts(PivotPackage.Literals.PROPERTY)
 			&& (requiredType != PivotPackage.Literals.NAMESPACE)) {			// Don't really want properties when looking for NAMESPACE
 			assert environmentFactory.getMetamodelManager().isTypeServeable(type);
@@ -472,7 +472,7 @@
 		}
 	}
 
-	public void addAllTypes(@NonNull org.eclipse.ocl.pivot.Package pkge) {
+	public void addAllTypes(org.eclipse.ocl.pivot.@NonNull Package pkge) {
 		if (accepts(PivotPackage.Literals.CLASS)) {
 			CompletePackage completePackage = environmentFactory.getMetamodelManager().getCompletePackage(pkge);
 			String name2 = name;
@@ -667,7 +667,7 @@
 		}
 	}
 
-	public void addLibContents(@NonNull org.eclipse.ocl.pivot.Class libType, @NonNull ScopeView scopeView) {
+	public void addLibContents(org.eclipse.ocl.pivot.@NonNull Class libType, @NonNull ScopeView scopeView) {
 		addElementsOfScope(libType, scopeView);
 		for (org.eclipse.ocl.pivot.Class superClass : libType.getSuperClasses()) {
 			if (superClass != null) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/AbstractContents.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/AbstractContents.java
index 099b3e2..5349b26 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/AbstractContents.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/AbstractContents.java
@@ -128,23 +128,23 @@
 		return createCollectionType(PivotFactory.eINSTANCE.createSetType(), name, lower, upper, templateParameter);
 	}
 
-	protected @NonNull AnyType getAnyType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull AnyType getAnyType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (AnyType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull BagType getBagType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull BagType getBagType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (BagType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Class getClass(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected org.eclipse.ocl.pivot.@NonNull Class getClass(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull CollectionType getCollectionType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull CollectionType getCollectionType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (CollectionType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull InvalidType getInvalidType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull InvalidType getInvalidType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (InvalidType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
@@ -158,27 +158,27 @@
 		return ClassUtil.nonNullState((Model) resource.getContents().get(0));
 	}
 
-	protected @NonNull OrderedSetType getOrderedSetType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull OrderedSetType getOrderedSetType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (OrderedSetType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull org.eclipse.ocl.pivot.Package getPackage(@NonNull Model asModel, @NonNull String name) {
+	protected org.eclipse.ocl.pivot.@NonNull Package getPackage(@NonNull Model asModel, @NonNull String name) {
 		return ClassUtil.nonNullState(NameUtil.getNameable(asModel.getOwnedPackages(), name));
 	}
 
-	protected @NonNull PrimitiveType getPrimitiveType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull PrimitiveType getPrimitiveType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (PrimitiveType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull Property getProperty(@NonNull org.eclipse.ocl.pivot.Class asClass, @NonNull String name) {
+	protected @NonNull Property getProperty(org.eclipse.ocl.pivot.@NonNull Class asClass, @NonNull String name) {
 		return ClassUtil.nonNullState(NameUtil.getNameable(asClass.getOwnedProperties(), name));
 	}
 
-	protected @NonNull SequenceType getSequenceType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull SequenceType getSequenceType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (SequenceType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
-	protected @NonNull SetType getSetType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull SetType getSetType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (SetType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
@@ -186,7 +186,7 @@
 		return ClassUtil.nonNullState(templateableElement.getOwnedSignature().getOwnedParameters().get(index));
 	}
 
-	protected @NonNull VoidType getVoidType(@NonNull org.eclipse.ocl.pivot.Package asPackage, @NonNull String name) {
+	protected @NonNull VoidType getVoidType(org.eclipse.ocl.pivot.@NonNull Package asPackage, @NonNull String name) {
 		return (VoidType) ClassUtil.nonNullState(asPackage.getOwnedClass(name));
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/EcoreTechnology.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/EcoreTechnology.java
index 2235652..e9e7d1d 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/EcoreTechnology.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/EcoreTechnology.java
@@ -53,7 +53,7 @@
 	}
 
 	@Override
-	public @NonNull PackageId getMetapackageId(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public @NonNull PackageId getMetapackageId(@NonNull EnvironmentFactoryInternal environmentFactory, org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		if (asPackage instanceof PivotObjectImpl) {
 			EObject eTarget = ((PivotObjectImpl)asPackage).getESObject();
 			if (eTarget != null) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/PivotUtilInternal.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/PivotUtilInternal.java
index 4282573..a78fd40 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/PivotUtilInternal.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/PivotUtilInternal.java
@@ -483,7 +483,7 @@
 	/**
 	 * Return true if the sole purpose of asPackage is to host implicit opposite properties.
 	 */
-	public static boolean isImplicitPackage(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+	public static boolean isImplicitPackage(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 		boolean hasImplicits = false;
 		if (!asPackage.getOwnedAnnotations().isEmpty()) {
 			return false;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/Technology.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/Technology.java
index f3267de..aa4962b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/Technology.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/utilities/Technology.java
@@ -46,7 +46,7 @@
 
 	RootPackageId getMetamodelId(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull EPackage eObject2);
 
-	@NonNull PackageId getMetapackageId(@NonNull EnvironmentFactoryInternal environmentFactory, @NonNull org.eclipse.ocl.pivot.Package asPackage);
+	@NonNull PackageId getMetapackageId(@NonNull EnvironmentFactoryInternal environmentFactory, org.eclipse.ocl.pivot.@NonNull Package asPackage);
 
 	@Nullable String getOriginalName(@NonNull ENamedElement eNamedElement);
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/validation/EcoreOCLEValidator.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/validation/EcoreOCLEValidator.java
index 663eb7d..f555aeb 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/validation/EcoreOCLEValidator.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/internal/validation/EcoreOCLEValidator.java
@@ -233,7 +233,7 @@
 	public static final @NonNull TracingOption VALIDATE_INSTANCE = new TracingOption(PivotPlugin.PLUGIN_ID, "validate/instance");
 	public static final @NonNull TracingOption VALIDATE_OPAQUE_ELEMENT = new TracingOption(PivotPlugin.PLUGIN_ID, "validate/opaqueElement");
 
-	protected static void gatherTypes(@NonNull Set<org.eclipse.ocl.pivot.Class> allTypes, @NonNull Set<Constraint> allConstraints, @NonNull org.eclipse.ocl.pivot.Class newType) {
+	protected static void gatherTypes(@NonNull Set<org.eclipse.ocl.pivot.Class> allTypes, @NonNull Set<Constraint> allConstraints, org.eclipse.ocl.pivot.@NonNull Class newType) {
 		if (allTypes.add(newType)) {
 			allConstraints.addAll(newType.getOwnedInvariants());
 			for (org.eclipse.ocl.pivot.Class superType : newType.getSuperClasses()) {
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/types/AbstractInheritance.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/types/AbstractInheritance.java
index d2c984c..aaf0bf9 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/types/AbstractInheritance.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/types/AbstractInheritance.java
@@ -187,7 +187,7 @@
 	}
 
 	@Override
-	public @NonNull org.eclipse.ocl.pivot.Class getType() {
+	public org.eclipse.ocl.pivot.@NonNull Class getType() {
 		return getPivotClass();
 	}
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2MonikerVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2MonikerVisitor.java
index d677211..c53c09b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2MonikerVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2MonikerVisitor.java
@@ -201,7 +201,7 @@
 	}
 
 	@Override
-	public Object visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public Object visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		if (!object.getOwnedBindings().isEmpty()) {
 			Type templateableClass = PivotUtil.getUnspecializedTemplateableElement(object);
 			context.appendParent(templateableClass, MONIKER_SCOPE_SEPARATOR);
@@ -439,7 +439,7 @@
 	}
 
 	@Override
-	public Object visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public Object visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 //		if (!object.hasMoniker()) {
 //			throw new IllegalStateException("No moniker has been configured for " + object);
 //		}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2XMIidVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2XMIidVisitor.java
index 6eab475..c514687 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2XMIidVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AS2XMIidVisitor.java
@@ -201,7 +201,7 @@
 	}
 
 	@Override
-	public Boolean visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public Boolean visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		if (Orphanage.isTypeOrphanage(object.getOwningPackage())) {
 			return false;
 		}
@@ -289,7 +289,7 @@
 	}
 
 	@Override
-	public @Nullable Boolean visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public @Nullable Boolean visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		String name = object.getName();
 		if (name != null) {
 			s.append(PACKAGE_PREFIX);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverLocateVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverLocateVisitor.java
index 014e51d..3abd767 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverLocateVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverLocateVisitor.java
@@ -39,7 +39,7 @@
 	}
 
 	@Override
-	public Object visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public Object visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		for (org.eclipse.ocl.pivot.Class superClass : object.getSuperClasses()) {
 			if (superClass.getOwnedBindings().size() > 0) {
 				context.addSpecializingElement(object);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverNormalizeVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverNormalizeVisitor.java
index 896c54f..a1f7d4b 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverNormalizeVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverNormalizeVisitor.java
@@ -67,14 +67,14 @@
 	}
 
 	@Override
-	public Object visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public Object visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		List<Property> ownedAttributes = object.getOwnedProperties();
 		ClassUtil.sort(ownedAttributes, PropertyComparator.INSTANCE);
 		return null;
 	}
 
 	@Override
-	public Object visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public Object visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		if (!(object instanceof Orphanage)) {			// The Orphanage is not assignable/sortable
 			@NonNull List<org.eclipse.ocl.pivot.Class> ownedTypes = object.getOwnedClasses();
 			ClassUtil.sort(ownedTypes, TypeComparator.INSTANCE);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverResolveVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverResolveVisitor.java
index d662e3d..68ea0d6 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverResolveVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ASSaverResolveVisitor.java
@@ -39,7 +39,7 @@
 	}
 
 	@Override
-	public Object visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public Object visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		List<org.eclipse.ocl.pivot.Class> superClasses = object.getSuperClasses();
 		for (int i = 0; i < superClasses.size(); i++) {
 			org.eclipse.ocl.pivot.Class referredClass = superClasses.get(i);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AbstractEnvironmentFactory.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AbstractEnvironmentFactory.java
index 3b1abdd..b5822fb 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AbstractEnvironmentFactory.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/AbstractEnvironmentFactory.java
@@ -496,7 +496,7 @@
      * @return the user model's classifier for this context object, or the
      *     context itself if it is a classifier
      */
-	protected @NonNull org.eclipse.ocl.pivot.Class getClassifier(@NonNull Object context) {
+	protected org.eclipse.ocl.pivot.@NonNull Class getClassifier(@NonNull Object context) {
 		PivotMetamodelManager metamodelManager = getMetamodelManager();
 		org.eclipse.ocl.pivot.Class dClass = getIdResolver().getStaticTypeOf(context);
 		return metamodelManager.getPrimaryClass(dClass);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ClassUtil.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ClassUtil.java
index adc8bfd..360079a 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ClassUtil.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ClassUtil.java
@@ -36,7 +36,7 @@
 	 * @return cast object or null
 	 */
 	@SuppressWarnings("unchecked")
-	public static <T extends Object> T asClassOrNull(Object object, Class<T> requiredClass) {
+	public static <T extends Object> @Nullable T asClassOrNull(Object object, Class<T> requiredClass) {
 		if (object == null)
 			return null;
 		if (requiredClass == null)
@@ -138,7 +138,7 @@
 	 * @return the non-null cast of anObject if safe
 	 */
 	@SuppressWarnings("unchecked")
-	public static <T> T isInstanceOf(Object anObject, Class<T> aClass) {
+	public static <T> @Nullable T isInstanceOf(Object anObject, Class<T> aClass) {
 		if (anObject == null)
 			return null;
 		Class<?> objectClass = anObject.getClass();
@@ -161,7 +161,7 @@
 	/**
 	 * Return aT, checking the assertion that this call would not be necessary if EMF had comprehensive @NonNull annotations.
 	 */
-	public static @NonNull <T> T nonNullEMF(@Nullable T aT) {// FIXME remove once EMF guarantees non-null
+	public static <T> @NonNull T nonNullEMF(@Nullable T aT) {// FIXME remove once EMF guarantees non-null
 		assert aT != null;
 		return aT;
 	}
@@ -172,7 +172,7 @@
 	 *<p>
 	 * Return aT, checking the assertion that this call would not be necessary if the Ecore model was guaranteed to be valid.
 	 */
-	public static @NonNull <T> T nonNullModel(@Nullable T aT) {
+	public static <T> @NonNull T nonNullModel(@Nullable T aT) {
 		assert aT != null;			// FIXME Change to InvalidModelException
 		return aT;
 	}
@@ -180,7 +180,7 @@
 	/**
 	 * Return aT, checking the assertion that this call would not be necessary if the Pivot model was guaranteed to be valid.
 	 */
-	public static @NonNull <T> T nonNullPivot(@Nullable T aT) {
+	public static <T> @NonNull T nonNullPivot(@Nullable T aT) {
 		assert aT != null;			// FIXME Change to InvalidModelException
 		return aT;
 	}
@@ -194,7 +194,7 @@
 	 * <p>
 	 * Return aT, throwing an IllegalStateException if null.
 	 */
-	public static @NonNull <T> T nonNullState(@Nullable T aT) {
+	public static <T> @NonNull T nonNullState(@Nullable T aT) {
 		if (aT == null) {
 			throw new IllegalStateException();
 		}
@@ -247,12 +247,12 @@
 		}
 	}
 
-	public static <T> T getAdapter(@NonNull Class<T> adapterClass, @NonNull Notifier notifier) {
+	public static <T> @Nullable T getAdapter(@NonNull Class<T> adapterClass, @NonNull Notifier notifier) {
 		List<Adapter> eAdapters = nonNullEMF(notifier.eAdapters());
 		return getAdapter(adapterClass, eAdapters);
 	}
 
-	public static <T> T getAdapter(@NonNull Class<T> adapterClass, @NonNull List<Adapter> eAdapters) {
+	public static <T> @Nullable T getAdapter(@NonNull Class<T> adapterClass, @NonNull List<Adapter> eAdapters) {
 		Adapter adapter = EcoreUtil.getAdapter(eAdapters, adapterClass);
 		if (adapter == null) {
 			return null;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/MetamodelManager.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/MetamodelManager.java
index 1a9fe71..b0e73c9 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/MetamodelManager.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/MetamodelManager.java
@@ -25,7 +25,7 @@
 
 public interface MetamodelManager
 {
-	@Nullable org.eclipse.ocl.pivot.Class getASClass(@NonNull String className);
+	org.eclipse.ocl.pivot.@Nullable Class getASClass(@NonNull String className);
 
 	@Nullable <T extends Element> T getASOf(@NonNull Class<T> pivotClass, @Nullable EObject eObject) throws ParserException;
 
@@ -39,11 +39,11 @@
 
 	@NonNull EnvironmentFactory getEnvironmentFactory();
 
-	@NonNull org.eclipse.ocl.pivot.Class getPrimaryClass(@NonNull org.eclipse.ocl.pivot.Class pivotClass);
+	org.eclipse.ocl.pivot.@NonNull Class getPrimaryClass(org.eclipse.ocl.pivot.@NonNull Class pivotClass);
 	
 	@NonNull Operation getPrimaryOperation(@NonNull Operation pivotOperation);
 
-	@NonNull org.eclipse.ocl.pivot.Package getPrimaryPackage(@NonNull org.eclipse.ocl.pivot.Package eObject);
+	org.eclipse.ocl.pivot.@NonNull Package getPrimaryPackage(org.eclipse.ocl.pivot.@NonNull Package eObject);
 
 	@NonNull Property getPrimaryProperty(@NonNull Property pivotProperty);
 
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/OCL.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/OCL.java
index 060303a..f7e1f5f 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/OCL.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/OCL.java
@@ -435,7 +435,7 @@
 		return environmentFactory.getCompleteEnvironment();
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Class getContextType(@Nullable Object contextObject) {
+	public org.eclipse.ocl.pivot.@NonNull Class getContextType(@Nullable Object contextObject) {
 		MetamodelManagerInternal metamodelManager = environmentFactory.getMetamodelManager();
 		IdResolver idResolver = getIdResolver();
 		org.eclipse.ocl.pivot.Class staticTypeOf = idResolver.getStaticTypeOf(contextObject);
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/PivotUtil.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/PivotUtil.java
index e448f76..2499b7c 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/PivotUtil.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/PivotUtil.java
@@ -185,14 +185,14 @@
 		return createCollectionType(PivotFactory.eINSTANCE.createBagType(), unspecializedType, elementType);
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Class createClass(/*@NonNull*/ EClass eClass) {
+	public static org.eclipse.ocl.pivot.@NonNull Class createClass(/*@NonNull*/ EClass eClass) {
 		org.eclipse.ocl.pivot.Class pivotType = PivotFactory.eINSTANCE.createClass();
 		pivotType.setName(eClass.getName());
 		((PivotObjectImpl)pivotType).setESObject(eClass);
 		return pivotType;
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Class createClass(@NonNull String name) {
+	public static org.eclipse.ocl.pivot.@NonNull Class createClass(@NonNull String name) {
 		org.eclipse.ocl.pivot.Class pivotType = PivotFactory.eINSTANCE.createClass();
 		pivotType.setName(name);
 		return pivotType;
@@ -381,21 +381,21 @@
 		return createCollectionType(PivotFactory.eINSTANCE.createOrderedSetType(), unspecializedType, elementType);
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Package createOwnedPackage(@NonNull Model parentRoot, @NonNull String name) {
+	public static org.eclipse.ocl.pivot.@NonNull Package createOwnedPackage(@NonNull Model parentRoot, @NonNull String name) {
 		@SuppressWarnings("null")
 		org.eclipse.ocl.pivot.Package aPackage = PivotUtil.createPackage(org.eclipse.ocl.pivot.Package.class, PivotPackage.Literals.PACKAGE, name, null, null);
 		parentRoot.getOwnedPackages().add(aPackage);
 		return aPackage;
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Package createOwnedPackage(@NonNull org.eclipse.ocl.pivot.Package parentPackage, @NonNull String name) {
+	public static org.eclipse.ocl.pivot.@NonNull Package createOwnedPackage(org.eclipse.ocl.pivot.@NonNull Package parentPackage, @NonNull String name) {
 		@SuppressWarnings("null")
 		org.eclipse.ocl.pivot.Package aPackage = PivotUtil.createPackage(org.eclipse.ocl.pivot.Package.class, PivotPackage.Literals.PACKAGE, name, null, null);
 		parentPackage.getOwnedPackages().add(aPackage);
 		return aPackage;
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Package createPackage(/*@NonNull*/ EPackage ePackage, @Nullable String nsPrefix, @NonNull String nsURI) {
+	public static org.eclipse.ocl.pivot.@NonNull Package createPackage(/*@NonNull*/ EPackage ePackage, @Nullable String nsPrefix, @NonNull String nsURI) {
 		Package pivotPackage = PivotFactory.eINSTANCE.createPackage();
 		pivotPackage.setName(ePackage.getName());
 		pivotPackage.setNsPrefix(nsPrefix);
@@ -404,7 +404,7 @@
 		return pivotPackage;
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Package createPackage(@NonNull String name, @Nullable String nsPrefix, @NonNull String nsURI, @Nullable PackageId packageId) {
+	public static org.eclipse.ocl.pivot.@NonNull Package createPackage(@NonNull String name, @Nullable String nsPrefix, @NonNull String nsURI, @Nullable PackageId packageId) {
 		Package pivotPackage = PivotFactory.eINSTANCE.createPackage();
 		pivotPackage.setName(name);
 		pivotPackage.setNsPrefix(nsPrefix);
@@ -738,7 +738,7 @@
 		return null;
 	}
 
-	public static @Nullable org.eclipse.ocl.pivot.Package getContainingPackage(@Nullable EObject element) {
+	public static org.eclipse.ocl.pivot.@Nullable Package getContainingPackage(@Nullable EObject element) {
 		for (EObject eObject = element; eObject != null; eObject = eObject.eContainer()) {
 			if (eObject instanceof org.eclipse.ocl.pivot.Package) {
 				return (org.eclipse.ocl.pivot.Package)eObject;
@@ -830,7 +830,7 @@
 		}
 	}
 
-	public static @Nullable org.eclipse.ocl.pivot.Package getPackage(@NonNull EObject object) {
+	public static org.eclipse.ocl.pivot.@Nullable Package getPackage(@NonNull EObject object) {
 		for (EObject eObject = object; eObject != null; eObject = eObject.eContainer()) {
 			if (eObject instanceof org.eclipse.ocl.pivot.Package) {
 				return (org.eclipse.ocl.pivot.Package)eObject;
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ToStringVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ToStringVisitor.java
index 4a5208c..854ec2a 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ToStringVisitor.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ToStringVisitor.java
@@ -412,7 +412,7 @@
 	 * @return <code>null</code>
 	 */
 	@Override
-	public @Nullable String safeVisit(@Nullable org.eclipse.ocl.pivot.util.Visitable v) {
+	public @Nullable String safeVisit(org.eclipse.ocl.pivot.@Nullable util.Visitable v) {
 		if (v == null) {
 			append(NULL_PLACEHOLDER);
 		}
@@ -475,7 +475,7 @@
 	}
 
 	@Override
-	public String visitClass(@NonNull org.eclipse.ocl.pivot.Class cls) {
+	public String visitClass(org.eclipse.ocl.pivot.@NonNull Class cls) {
 		org.eclipse.ocl.pivot.Package pkg = cls.getOwningPackage();
 		if (pkg == null) {
 			append("null::");
@@ -1008,7 +1008,7 @@
 	}
 
 	@Override
-	public String visitPackage(@NonNull org.eclipse.ocl.pivot.Package pkg) {
+	public String visitPackage(org.eclipse.ocl.pivot.@NonNull Package pkg) {
 		appendQualifiedName(pkg.getOwningPackage(), "::", pkg);
 		return null;
 	}
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ValueUtil.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ValueUtil.java
index a1624f5..37deb5e 100644
--- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ValueUtil.java
+++ b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/utilities/ValueUtil.java
@@ -150,7 +150,7 @@
 		}
 	}
 
-	public static @NonNull org.eclipse.ocl.pivot.Class asClass(@Nullable Object value) {
+	public static org.eclipse.ocl.pivot.@NonNull Class asClass(@Nullable Object value) {
 		if (value instanceof org.eclipse.ocl.pivot.Class) {
 			return (org.eclipse.ocl.pivot.Class)value;
 		}
diff --git a/plugins/org.eclipse.ocl.xtext.base.ui/.classpath b/plugins/org.eclipse.ocl.xtext.base.ui/.classpath
index 6a42377..f0c5549 100644
--- a/plugins/org.eclipse.ocl.xtext.base.ui/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.base.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.base.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.base.ui/META-INF/MANIFEST.MF
index c382c15..778de05 100644
--- a/plugins/org.eclipse.ocl.xtext.base.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.base.ui/META-INF/MANIFEST.MF
@@ -17,7 +17,7 @@
  org.eclipse.uml2.uml;bundle-version="[4.0.0,6.0.0)",
  org.eclipse.pde.core;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.xtext.builder;bundle-version="[2.3.0,3.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.xtext.base.ui,
  org.eclipse.ocl.xtext.base.ui.autoedit,
  org.eclipse.ocl.xtext.base.ui.commands,
diff --git a/plugins/org.eclipse.ocl.xtext.base.ui/build.properties b/plugins/org.eclipse.ocl.xtext.base.ui/build.properties
index aeb1514..cba4ca2 100644
--- a/plugins/org.eclipse.ocl.xtext.base.ui/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.base.ui/build.properties
@@ -14,8 +14,6 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.xml,\
                plugin.properties
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.base/.classpath b/plugins/org.eclipse.ocl.xtext.base/.classpath
index 6898740..60541c0 100644
--- a/plugins/org.eclipse.ocl.xtext.base/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.base/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.base/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.base/META-INF/MANIFEST.MF
index 4052f94..d05f4b0 100644
--- a/plugins/org.eclipse.ocl.xtext.base/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.base/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
 Export-Package: org.eclipse.ocl.xtext.base,
  org.eclipse.ocl.xtext.base.as2cs,
diff --git a/plugins/org.eclipse.ocl.xtext.base/build.properties b/plugins/org.eclipse.ocl.xtext.base/build.properties
index 1f9ca91..684d01f 100644
--- a/plugins/org.eclipse.ocl.xtext.base/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.base/build.properties
@@ -15,7 +15,6 @@
                plugin.xml,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                .options
 jars.compile.order = .
 source.. = emf-gen/,\
@@ -23,4 +22,3 @@
            src/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java
index 6d60cef..cdeb044 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java
@@ -306,7 +306,7 @@
 		}
 	}
 
-	protected <T extends ClassCS> T refreshClassifier(@NonNull Class<T> csClass, /*@NonNull*/ EClass csEClass, @NonNull org.eclipse.ocl.pivot.Class object) {
+	protected <T extends ClassCS> T refreshClassifier(@NonNull Class<T> csClass, /*@NonNull*/ EClass csEClass, org.eclipse.ocl.pivot.@NonNull Class object) {
 		T csElement = refreshNamedElement(csClass, csEClass, object);
 		List<ConstraintCS> csInvariants = visitDeclarations(ConstraintCS.class, object.getOwnedInvariants(), null);
 		for (ConstraintCS csInvariant : csInvariants) {
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java
index 3a93c09..c69c98f 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java
@@ -80,7 +80,7 @@
 	public void postProcess(@NonNull BaseCSResource csResource, @NonNull Map<Namespace, List<String>> importedNamespaces) {}
 
 	@Override
-	public ElementCS visitAnnotation(@NonNull org.eclipse.ocl.pivot.Annotation object) {
+	public ElementCS visitAnnotation(org.eclipse.ocl.pivot.@NonNull Annotation object) {
 		AnnotationCS csElement = context.refreshNamedElement(AnnotationCS.class, BaseCSPackage.Literals.ANNOTATION_CS, object, null);
 		context.refreshList(csElement.getOwnedContents(), context.visitDeclarations(ModelElementCS.class, object.getOwnedContents(), null));
 		context.refreshList(csElement.getOwnedDetails(), context.visitDeclarations(DetailCS.class, object.getOwnedDetails(), null));
@@ -105,7 +105,7 @@
 	}
 
 	@Override
-	public ElementCS visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public ElementCS visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		org.eclipse.ocl.pivot.Class savedScope = context.setScope(object);
 		StructuredClassCS csElement = context.refreshClassifier(StructuredClassCS.class, BaseCSPackage.Literals.STRUCTURED_CLASS_CS, object);
 		context.refreshList(csElement.getOwnedProperties(), context.visitDeclarations(StructuralFeatureCS.class, object.getOwnedProperties(),
@@ -163,7 +163,7 @@
 	}
 
 	@Override
-	public ElementCS visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object) {
+	public ElementCS visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object) {
 		EnumerationCS csElement = context.refreshClassifier(EnumerationCS.class, BaseCSPackage.Literals.ENUMERATION_CS, object);
 		context.refreshList(csElement.getOwnedLiterals(), context.visitDeclarations(EnumerationLiteralCS.class, object.getOwnedLiterals(), null));
 		csElement.setIsSerializable(object.isIsSerializable());
@@ -224,7 +224,7 @@
 	}
 
 	@Override
-	public ElementCS visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public ElementCS visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		PackageCS csPackage = context.refreshNamedElement(PackageCS.class, BaseCSPackage.Literals.PACKAGE_CS, object);
 		context.refreshList(csPackage.getOwnedClasses(), context.visitDeclarations(ClassCS.class, object.getOwnedClasses(), null));
 		csPackage.setNsPrefix(object.getNsPrefix());
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseReferenceVisitor.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseReferenceVisitor.java
index f178c3a..5ca5928 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseReferenceVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseReferenceVisitor.java
@@ -45,7 +45,7 @@
 	}
 
 	@Override
-	public ElementCS visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public ElementCS visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		org.eclipse.ocl.pivot.Class scopeClass = context.getScope();
 		org.eclipse.ocl.pivot.Package scopePackage = scopeClass != null ? PivotUtil.getPackage(scopeClass) : null;
 		TypedTypeRefCS csRef = BaseCSFactory.eINSTANCE.createTypedTypeRefCS();
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java
index dc847ef..0d4bf2c 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java
@@ -111,7 +111,7 @@
 	}
 
 
-	protected Continuation<?> refreshClass(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull StructuredClassCS csElement) {
+	protected Continuation<?> refreshClass(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull StructuredClassCS csElement) {
 		pivotElement.setIsAbstract(csElement.isIsAbstract());
 		pivotElement.setIsInterface(csElement.isIsInterface());
 //		pivotElement.setIsStatic(qualifiers.contains("static"));
@@ -121,7 +121,7 @@
 		return null;
 	}
 
-	protected Type refreshClassifier(@NonNull org.eclipse.ocl.pivot.Class pivotElement, @NonNull ClassCS csElement) {
+	protected Type refreshClassifier(org.eclipse.ocl.pivot.@NonNull Class pivotElement, @NonNull ClassCS csElement) {
 		if (csElement.eIsSet(BaseCSPackage.Literals.CLASS_CS__INSTANCE_CLASS_NAME)) {
 			pivotElement.setInstanceClassName(csElement.getInstanceClassName());
 		}
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java
index b2010ae..3c90372 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java
@@ -563,12 +563,12 @@
 		return (T) intermediateCache.get(key);
 	}
 
-	public @Nullable org.eclipse.ocl.pivot.Package getOldPackageByQualifiedName(@NonNull PackageCS csElement) {
+	public org.eclipse.ocl.pivot.@Nullable Package getOldPackageByQualifiedName(@NonNull PackageCS csElement) {
 		String qualifiedName = getQualifiedName(new StringBuilder(), csElement);
 		return oldPackagesByQualifiedName.get(qualifiedName);
 	}
 
-	public @Nullable org.eclipse.ocl.pivot.Package getOldPackageBySimpleName(@NonNull String name) {
+	public org.eclipse.ocl.pivot.@Nullable Package getOldPackageBySimpleName(@NonNull String name) {
 		return oldPackagesByName.get(name);
 	}
 
@@ -576,7 +576,7 @@
 		return operatorsHavePrecedence;
 	}
 
-	protected @NonNull String getQualifiedName(@NonNull StringBuilder s, @NonNull org.eclipse.ocl.pivot.Package pkg) {
+	protected @NonNull String getQualifiedName(@NonNull StringBuilder s, org.eclipse.ocl.pivot.@NonNull Package pkg) {
 		org.eclipse.ocl.pivot.Package nestingPackage = pkg.getOwningPackage();
 		if (nestingPackage != null) {
 			getQualifiedName(s, nestingPackage);
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl.ui/.classpath b/plugins/org.eclipse.ocl.xtext.completeocl.ui/.classpath
index 6a42377..f0c5549 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl.ui/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.completeocl.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.completeocl.ui/META-INF/MANIFEST.MF
index e8c32dc..9a63899 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.completeocl.ui/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@
  org.eclipse.ocl.xtext.oclinecore.ui;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
  org.eclipse.xtext.builder;bundle-version="[2.3.0,3.0.0)"
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.xtext.completeocl.ui,
  org.eclipse.ocl.xtext.completeocl.ui.commands,
  org.eclipse.ocl.xtext.completeocl.ui.contentassist,
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl.ui/build.properties b/plugins/org.eclipse.ocl.xtext.completeocl.ui/build.properties
index aab8636..b75d7ae 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl.ui/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.completeocl.ui/build.properties
@@ -13,9 +13,7 @@
                .,\
                plugin.xml,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                icons/,\
                templates/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/.classpath b/plugins/org.eclipse.ocl.xtext.completeocl/.classpath
index 6898740..60541c0 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.completeocl/META-INF/MANIFEST.MF
index c7da736..79905b9 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
  org.eclipse.ocl.xtext.essentialocl;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.validation;bundle-version="[1.0.0,2.0.0)";resolution:=optional,
  org.eclipse.ocl.pivot.uml;bundle-version="[1.0.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
 Export-Package: org.eclipse.ocl.xtext.completeocl,
  org.eclipse.ocl.xtext.completeocl.as2cs,
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/build.properties b/plugins/org.eclipse.ocl.xtext.completeocl/build.properties
index a9d88aa..22fc74d 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/build.properties
@@ -15,8 +15,6 @@
                .,\
                plugin.xml,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                model/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/as2cs/CompleteOCLDeclarationVisitor.java b/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/as2cs/CompleteOCLDeclarationVisitor.java
index 6701155..474534e 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/as2cs/CompleteOCLDeclarationVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/as2cs/CompleteOCLDeclarationVisitor.java
@@ -95,7 +95,7 @@
 		}
 	}
 
-	protected void importPackage(@NonNull org.eclipse.ocl.pivot.Package aPackage) {
+	protected void importPackage(org.eclipse.ocl.pivot.@NonNull Package aPackage) {
 		context.importNamespace(aPackage, null);
 		org.eclipse.ocl.pivot.Package nestingPackage = null;
 		while ((nestingPackage = aPackage.getOwningPackage()) != null) {
@@ -123,7 +123,7 @@
 	}
 
 	@Override
-	public ElementCS visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public ElementCS visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		List<Constraint> ownedInvariant = object.getOwnedInvariants();
 		if (ownedInvariant.size() <= 0) {
 			return null;
@@ -187,7 +187,7 @@
 	}
 
 	@Override
-	public ElementCS visitEnumeration(@NonNull org.eclipse.ocl.pivot.Enumeration object) {
+	public ElementCS visitEnumeration(org.eclipse.ocl.pivot.@NonNull Enumeration object) {
 		return visitType(object);
 	}
 
@@ -224,7 +224,7 @@
 	}
 
 	@Override
-	public ElementCS visitPackage(@NonNull org.eclipse.ocl.pivot.Package object) {
+	public ElementCS visitPackage(org.eclipse.ocl.pivot.@NonNull Package object) {
 		ElementCS csElement = null;
 		assert object.eContainer() != null;
 		List<ContextDeclCS> contexts = new ArrayList<ContextDeclCS>();
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/cs2as/CompleteOCLCSContainmentVisitor.java b/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/cs2as/CompleteOCLCSContainmentVisitor.java
index 6dd592a..5e9a84e 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/cs2as/CompleteOCLCSContainmentVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/src/org/eclipse/ocl/xtext/completeocl/cs2as/CompleteOCLCSContainmentVisitor.java
@@ -103,7 +103,7 @@
 		ownedOperations = operationContextDecls->collect(o | contextOperation(o))->union(defOperations.ast())->sortedBy(name),
 		ownedProperties = propertyContextDecls->collect(p | contextProperty(p))->union(defProperties.ast())->sortedBy(name)
 	} */
-	private @NonNull org.eclipse.ocl.pivot.Class contextClass(@NonNull org.eclipse.ocl.pivot.Class modelClass,
+	private org.eclipse.ocl.pivot.@NonNull Class contextClass(org.eclipse.ocl.pivot.@NonNull Class modelClass,
 			@NonNull List<ContextDeclCS> contextDecls) {
 		List<ConstraintCS> allInvariants = new ArrayList<ConstraintCS>();
 		List<ClassifierContextDeclCS> classifierContextDecls = new ArrayList<ClassifierContextDeclCS>();
@@ -216,7 +216,7 @@
 --		ownedInvariants = packageInvariants.ast(),
 		ownedClasses = modelClasses->sortedBy(name)->collect(c | contextClass(c, allContextDecls->select(cd | cd.referredClass() = c)))
 	} */
-	private @NonNull org.eclipse.ocl.pivot.Package contextPackage(@NonNull org.eclipse.ocl.pivot.Package modelPackage,
+	private org.eclipse.ocl.pivot.@NonNull Package contextPackage(org.eclipse.ocl.pivot.@NonNull Package modelPackage,
 			@NonNull List<PackageDeclarationCS> packageDecls, @NonNull List<ContextDeclCS> contextDecls) {
 		List<ConstraintCS> packageInvariants = new ArrayList<ConstraintCS>();
 		List<ContextDeclCS> allContextDecls = new ArrayList<ContextDeclCS>(contextDecls);
@@ -285,7 +285,7 @@
 		return contextProperty;
 	}
 
-	private @Nullable org.eclipse.ocl.pivot.Class getReferredClass(ContextDeclCS csContext) {
+	private org.eclipse.ocl.pivot.@Nullable Class getReferredClass(ContextDeclCS csContext) {
 		if (csContext instanceof ClassifierContextDeclCS) {
 			return ((ClassifierContextDeclCS)csContext).getReferredClass();
 		}
@@ -300,7 +300,7 @@
 		return null;
 	}
 
-	private @Nullable org.eclipse.ocl.pivot.Package getReferredPackage(@NonNull ContextDeclCS csContext) {
+	private org.eclipse.ocl.pivot.@Nullable Package getReferredPackage(@NonNull ContextDeclCS csContext) {
 		org.eclipse.ocl.pivot.Class modelClass = getReferredClass(csContext);
 		return modelClass != null ? modelClass.getOwningPackage() : null;
 	}
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl.ui/.classpath b/plugins/org.eclipse.ocl.xtext.essentialocl.ui/.classpath
index 6a42377..f0c5549 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl.ui/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.essentialocl.ui/META-INF/MANIFEST.MF
index 594a606..23b0ff5 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl.ui/META-INF/MANIFEST.MF
@@ -12,7 +12,7 @@
  org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
  org.eclipse.xtext.builder;bundle-version="[2.3.0,3.0.0)"
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Activator: org.eclipse.ocl.xtext.essentialocl.ui.internal.EssentialOCLActivator
 Export-Package: org.eclipse.ocl.xtext.essentialocl.ui,
  org.eclipse.ocl.xtext.essentialocl.ui.contentassist,
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl.ui/build.properties b/plugins/org.eclipse.ocl.xtext.essentialocl.ui/build.properties
index ab71677..20f46d0 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl.ui/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl.ui/build.properties
@@ -14,8 +14,6 @@
                plugin.xml,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                icons/,\
                templates/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl/.classpath b/plugins/org.eclipse.ocl.xtext.essentialocl/.classpath
index 6898740..60541c0 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.essentialocl/META-INF/MANIFEST.MF
index aa40192..de2cb37 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
 Export-Package: org.eclipse.ocl.xtext.essentialocl,
  org.eclipse.ocl.xtext.essentialocl.as2cs,
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl/build.properties b/plugins/org.eclipse.ocl.xtext.essentialocl/build.properties
index f50152d..f9e4df9 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl/build.properties
@@ -22,4 +22,3 @@
            emf-gen/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/as2cs/EssentialOCLReferenceVisitor.java b/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/as2cs/EssentialOCLReferenceVisitor.java
index b7892ae..c3333f2 100644
--- a/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/as2cs/EssentialOCLReferenceVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.essentialocl/src/org/eclipse/ocl/xtext/essentialocl/as2cs/EssentialOCLReferenceVisitor.java
@@ -55,7 +55,7 @@
 	}
 
 	@Override
-	public ElementCS visitClass(@NonNull org.eclipse.ocl.pivot.Class object) {
+	public ElementCS visitClass(org.eclipse.ocl.pivot.@NonNull Class object) {
 		return visitType(object);
 	}
 
diff --git a/plugins/org.eclipse.ocl.xtext.markup.ui/.classpath b/plugins/org.eclipse.ocl.xtext.markup.ui/.classpath
index 6a42377..f0c5549 100644
--- a/plugins/org.eclipse.ocl.xtext.markup.ui/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.markup.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.markup.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.markup.ui/META-INF/MANIFEST.MF
index 2338c5a..87989de 100644
--- a/plugins/org.eclipse.ocl.xtext.markup.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.markup.ui/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@
  org.eclipse.ocl.xtext.markup;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
  org.eclipse.ocl.xtext.base.ui;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.xtext.markup.ui,
  org.eclipse.ocl.xtext.markup.ui.contentassist,
  org.eclipse.ocl.xtext.markup.ui.contentassist.antlr,
diff --git a/plugins/org.eclipse.ocl.xtext.markup.ui/build.properties b/plugins/org.eclipse.ocl.xtext.markup.ui/build.properties
index 5a67cb6..07b9538 100644
--- a/plugins/org.eclipse.ocl.xtext.markup.ui/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.markup.ui/build.properties
@@ -14,8 +14,6 @@
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               build.properties,\
                plugin.xml,\
                plugin.properties
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.markup/.classpath b/plugins/org.eclipse.ocl.xtext.markup/.classpath
index 6898740..60541c0 100644
--- a/plugins/org.eclipse.ocl.xtext.markup/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.markup/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.markup/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.markup/META-INF/MANIFEST.MF
index aa26f88..a4b70f1 100644
--- a/plugins/org.eclipse.ocl.xtext.markup/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.markup/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
 Export-Package: org.eclipse.ocl.xtext.markup,
  org.eclipse.ocl.xtext.markup.formatting,
diff --git a/plugins/org.eclipse.ocl.xtext.markup/build.properties b/plugins/org.eclipse.ocl.xtext.markup/build.properties
index 497cbaf..3415fae 100644
--- a/plugins/org.eclipse.ocl.xtext.markup/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.markup/build.properties
@@ -22,4 +22,3 @@
            src/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/.classpath b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/.classpath
index 6a42377..f0c5549 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/META-INF/MANIFEST.MF
index 5829ab4..dedd507 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@
  org.eclipse.xtext.builder;bundle-version="[2.3.0,3.0.0)",
  org.eclipse.ocl.pivot.uml;bundle-version="[1.0.0,2.0.0)"
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.xtext.oclinecore.ui,
  org.eclipse.ocl.xtext.oclinecore.ui.commands,
  org.eclipse.ocl.xtext.oclinecore.ui.contentassist,
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/build.properties b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/build.properties
index aab8636..b75d7ae 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/build.properties
@@ -13,9 +13,7 @@
                .,\
                plugin.xml,\
                about.html,\
-               build.properties,\
                plugin.properties,\
                icons/,\
                templates/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/.classpath b/plugins/org.eclipse.ocl.xtext.oclinecore/.classpath
index 6898740..60541c0 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.oclinecore/META-INF/MANIFEST.MF
index 6f708be..7520932 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/META-INF/MANIFEST.MF
@@ -24,4 +24,4 @@
  org.eclipse.ocl.xtext.oclinecorecs.impl,
  org.eclipse.ocl.xtext.oclinecorecs.util
 Bundle-Activator: org.eclipse.ocl.xtext.oclinecore.utilities.OCLinEcorePlugin$Implementation
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/build.properties b/plugins/org.eclipse.ocl.xtext.oclinecore/build.properties
index 6461d6d..674c5a1 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/build.properties
@@ -16,7 +16,5 @@
                plugin.xml,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                model/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/as2cs/OCLinEcoreDeclarationVisitor.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/as2cs/OCLinEcoreDeclarationVisitor.java
index 74d4923..b0a0e72 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/as2cs/OCLinEcoreDeclarationVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/as2cs/OCLinEcoreDeclarationVisitor.java
@@ -41,7 +41,7 @@
 			new Predicate<org.eclipse.ocl.pivot.Package>()
 	{
 		@Override
-		public boolean filter(@NonNull org.eclipse.ocl.pivot.Package asPackage) {
+		public boolean filter(org.eclipse.ocl.pivot.@NonNull Package asPackage) {
 			return !PivotUtilInternal.isImplicitPackage(asPackage);
 		}
 	};
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/.classpath b/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/.classpath
index 6a42377..f0c5549 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/META-INF/MANIFEST.MF
index abb4795..fa39602 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
  org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.xtext.builder;bundle-version="[2.3.0,3.0.0)"
 Import-Package: org.apache.log4j;version="[1.2.15,2.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.xtext.oclstdlib.ui,
  org.eclipse.ocl.xtext.oclstdlib.ui.contentassist,
  org.eclipse.ocl.xtext.oclstdlib.ui.contentassist.antlr,
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/build.properties b/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/build.properties
index f5ef202..3974765 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib.ui/build.properties
@@ -14,8 +14,6 @@
                plugin.xml,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                templates/,\
                icons/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/.classpath b/plugins/org.eclipse.ocl.xtext.oclstdlib/.classpath
index 6898740..60541c0 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/.classpath
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="emf-gen"/>
 	<classpathentry kind="src" path="src-gen"/>
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/META-INF/MANIFEST.MF b/plugins/org.eclipse.ocl.xtext.oclstdlib/META-INF/MANIFEST.MF
index 83db7b3..d6569fb 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@
  org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)", 
  org.eclipse.ocl.xtext.essentialocl;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.ocl.xtext.oclstdlib,
  org.eclipse.ocl.xtext.oclstdlib.cs2as,
  org.eclipse.ocl.xtext.oclstdlib.formatting,
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/build.properties b/plugins/org.eclipse.ocl.xtext.oclstdlib/build.properties
index 6461d6d..674c5a1 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/build.properties
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/build.properties
@@ -16,7 +16,5 @@
                plugin.xml,\
                plugin.properties,\
                about.html,\
-               build.properties,\
                model/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/tests/org.eclipse.ocl.examples.consumers.tests/.classpath b/tests/org.eclipse.ocl.examples.consumers.tests/.classpath
index 098194c..eca7bdb 100644
--- a/tests/org.eclipse.ocl.examples.consumers.tests/.classpath
+++ b/tests/org.eclipse.ocl.examples.consumers.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.ocl.examples.consumers.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.ocl.examples.consumers.tests/META-INF/MANIFEST.MF
index 3116733..01a0f66 100644
--- a/tests/org.eclipse.ocl.examples.consumers.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.ocl.examples.consumers.tests/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.ocl.examples.consumers.tests
 Bundle-Version: 2.0.100.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Vendor: %providerName
 Require-Bundle: org.junit,
  org.eclipse.ocl.examples.xtext.tests,
diff --git a/tests/org.eclipse.ocl.examples.consumers.tests/build.properties b/tests/org.eclipse.ocl.examples.consumers.tests/build.properties
index 35eb000..afdcdb1 100644
--- a/tests/org.eclipse.ocl.examples.consumers.tests/build.properties
+++ b/tests/org.eclipse.ocl.examples.consumers.tests/build.properties
@@ -16,4 +16,3 @@
                plugin.properties,\
                build.properties
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/tests/org.eclipse.ocl.examples.validity.test/.classpath b/tests/org.eclipse.ocl.examples.validity.test/.classpath
index 649304e..8fd5918 100644
--- a/tests/org.eclipse.ocl.examples.validity.test/.classpath
+++ b/tests/org.eclipse.ocl.examples.validity.test/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="emf-gen"/>
diff --git a/tests/org.eclipse.ocl.examples.validity.test/META-INF/MANIFEST.MF b/tests/org.eclipse.ocl.examples.validity.test/META-INF/MANIFEST.MF
index 8aa9ff4..c273df1 100644
--- a/tests/org.eclipse.ocl.examples.validity.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.ocl.examples.validity.test/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.ocl.examples.emf.validation.validity,
  org.eclipse.ocl.examples.emf.validation.validity.ui,
diff --git a/tests/org.eclipse.ocl.examples.validity.test/build.properties b/tests/org.eclipse.ocl.examples.validity.test/build.properties
index ca4f81e..c84e8ef 100644
--- a/tests/org.eclipse.ocl.examples.validity.test/build.properties
+++ b/tests/org.eclipse.ocl.examples.validity.test/build.properties
@@ -20,4 +20,3 @@
            src/
 output.. = bin/
 src.includes = about.html
-additional.bundles = org.eclipse.ocl.jdt.annotation7
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/.classpath b/tests/org.eclipse.ocl.examples.xtext.tests/.classpath
index 098194c..eca7bdb 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/.classpath
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.ocl.examples.xtext.tests/META-INF/MANIFEST.MF
index f6cf95e..c7f0050 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/META-INF/MANIFEST.MF
@@ -35,7 +35,7 @@
  org.eclipse.ocl.examples.validity;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.ocl.examples.project.royalandloyal;resolution:=optional
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Vendor: %providerName
 Export-Package: codegen.company,
  codegen.company.impl,
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/build.properties b/tests/org.eclipse.ocl.examples.xtext.tests/build.properties
index d1eac0d..d27c5a1 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/build.properties
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/build.properties
@@ -19,5 +19,4 @@
 jars.compile.order = .
 source.. = src/
 output.. = bin/
-additional.bundles = org.eclipse.ocl.jdt.annotation7
 src.includes = about.html
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/codegen/company/CodegencompanyTables.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/codegen/company/CodegencompanyTables.java
index c9fb192..279b2d2 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/codegen/company/CodegencompanyTables.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/codegen/company/CodegencompanyTables.java
@@ -315,7 +315,7 @@
 			Fragments._Company__OclElement /* 1 */,
 			Fragments._Company__Company /* 2 */
 		};
-		private static final @NonNull int[] __Company = { 1,1,1 };
+		private static final int[] __Company = { 1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _CompanySizeKind =
 		{
@@ -334,7 +334,7 @@
 			Fragments._CompanySizeKind__Enumeration /* 8 */,
 			Fragments._CompanySizeKind__CompanySizeKind /* 9 */
 		};
-		private static final @NonNull int[] __CompanySizeKind = { 1,1,3,1,2,2,1,1,1,1 };
+		private static final int[] __CompanySizeKind = { 1,1,3,1,2,2,1,1,1,1 };
 
 		private static final @NonNull ExecutorFragment[] _Employee =
 		{
@@ -342,7 +342,7 @@
 			Fragments._Employee__OclElement /* 1 */,
 			Fragments._Employee__Employee /* 2 */
 		};
-		private static final @NonNull int[] __Employee = { 1,1,1 };
+		private static final int[] __Employee = { 1,1,1 };
 
 		/**
 		 *	Install the fragment descriptors in the class descriptors.
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateClassifierOperationsTest.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateClassifierOperationsTest.java
index 3c1d635..19d77f5 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateClassifierOperationsTest.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateClassifierOperationsTest.java
@@ -45,14 +45,14 @@
         // pkg1::pkg3::pkg5
         // pkg1::pkg3::pkg5::george
         @NonNull Model root = PivotUtil.createModel(null);
-        @NonNull org.eclipse.ocl.pivot.Package pkg1 = PivotUtil.createOwnedPackage(root, "pkg1");
-        @NonNull org.eclipse.ocl.pivot.Package pkg2 = PivotUtil.createOwnedPackage(pkg1, "pkg2");
-        @NonNull org.eclipse.ocl.pivot.Package jim = PivotUtil.createOwnedPackage(pkg2, "jim");
-        @NonNull org.eclipse.ocl.pivot.Package bob = PivotUtil.createOwnedPackage(pkg1, "bob");
-        @NonNull org.eclipse.ocl.pivot.Package pkg3 = PivotUtil.createOwnedPackage(pkg1, "pkg3");
-        @NonNull org.eclipse.ocl.pivot.Package pkg4 = PivotUtil.createOwnedPackage(pkg3, "pkg4");
-        @NonNull org.eclipse.ocl.pivot.Package pkg5 = PivotUtil.createOwnedPackage(pkg3, "pkg5");
-        @NonNull org.eclipse.ocl.pivot.Package george = PivotUtil.createOwnedPackage(pkg5, "george");
+        org.eclipse.ocl.pivot.@NonNull Package pkg1 = PivotUtil.createOwnedPackage(root, "pkg1");
+        org.eclipse.ocl.pivot.@NonNull Package pkg2 = PivotUtil.createOwnedPackage(pkg1, "pkg2");
+        org.eclipse.ocl.pivot.@NonNull Package jim = PivotUtil.createOwnedPackage(pkg2, "jim");
+        org.eclipse.ocl.pivot.@NonNull Package bob = PivotUtil.createOwnedPackage(pkg1, "bob");
+        org.eclipse.ocl.pivot.@NonNull Package pkg3 = PivotUtil.createOwnedPackage(pkg1, "pkg3");
+        org.eclipse.ocl.pivot.@NonNull Package pkg4 = PivotUtil.createOwnedPackage(pkg3, "pkg4");
+        org.eclipse.ocl.pivot.@NonNull Package pkg5 = PivotUtil.createOwnedPackage(pkg3, "pkg5");
+        org.eclipse.ocl.pivot.@NonNull Package george = PivotUtil.createOwnedPackage(pkg5, "george");
 		
 		public MyOCL(@NonNull String testPackageName, @NonNull String name) {
 			super(testPackageName, name, OCL.NO_PROJECTS);
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateOclAnyOperationsTest4.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateOclAnyOperationsTest4.java
index 097af5b..523510d 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateOclAnyOperationsTest4.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/EvaluateOclAnyOperationsTest4.java
@@ -62,14 +62,14 @@
         // pkg1::pkg3::pkg5
         // pkg1::pkg3::pkg5::george
         @NonNull Model root = PivotUtil.createModel(null);
-        @NonNull org.eclipse.ocl.pivot.Package pkg1 = PivotUtil.createOwnedPackage(root, "pkg1");
-        @NonNull org.eclipse.ocl.pivot.Package pkg2 = PivotUtil.createOwnedPackage(pkg1, "pkg2");
-        @NonNull org.eclipse.ocl.pivot.Package jim = PivotUtil.createOwnedPackage(pkg2, "jim");
-        @NonNull org.eclipse.ocl.pivot.Package bob = PivotUtil.createOwnedPackage(pkg1, "bob");
-        @NonNull org.eclipse.ocl.pivot.Package pkg3 = PivotUtil.createOwnedPackage(pkg1, "pkg3");
-        @NonNull org.eclipse.ocl.pivot.Package pkg4 = PivotUtil.createOwnedPackage(pkg3, "pkg4");
-        @NonNull org.eclipse.ocl.pivot.Package pkg5 = PivotUtil.createOwnedPackage(pkg3, "pkg5");
-        @NonNull org.eclipse.ocl.pivot.Package george = PivotUtil.createOwnedPackage(pkg5, "george");
+        org.eclipse.ocl.pivot.@NonNull Package pkg1 = PivotUtil.createOwnedPackage(root, "pkg1");
+        org.eclipse.ocl.pivot.@NonNull Package pkg2 = PivotUtil.createOwnedPackage(pkg1, "pkg2");
+        org.eclipse.ocl.pivot.@NonNull Package jim = PivotUtil.createOwnedPackage(pkg2, "jim");
+        org.eclipse.ocl.pivot.@NonNull Package bob = PivotUtil.createOwnedPackage(pkg1, "bob");
+        org.eclipse.ocl.pivot.@NonNull Package pkg3 = PivotUtil.createOwnedPackage(pkg1, "pkg3");
+        org.eclipse.ocl.pivot.@NonNull Package pkg4 = PivotUtil.createOwnedPackage(pkg3, "pkg4");
+        org.eclipse.ocl.pivot.@NonNull Package pkg5 = PivotUtil.createOwnedPackage(pkg3, "pkg5");
+        org.eclipse.ocl.pivot.@NonNull Package george = PivotUtil.createOwnedPackage(pkg5, "george");
 		
 		public MyOCL(@NonNull String testPackageName, @NonNull String name) {
 			super(testPackageName, name, useCodeGen ? getProjectMap() : OCL.NO_PROJECTS);
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/IteratorsTest4.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/IteratorsTest4.java
index 15cb2ba..4287a53 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/IteratorsTest4.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/IteratorsTest4.java
@@ -92,14 +92,14 @@
         // pkg1::pkg3::pkg5
         // pkg1::pkg3::pkg5::george
         @NonNull Model root = PivotUtil.createModel(null);
-        @NonNull org.eclipse.ocl.pivot.Package pkg1 = PivotUtil.createOwnedPackage(root, "pkg1");
-        @NonNull org.eclipse.ocl.pivot.Package pkg2 = PivotUtil.createOwnedPackage(pkg1, "pkg2");
-        @NonNull org.eclipse.ocl.pivot.Package jim = PivotUtil.createOwnedPackage(pkg2, "jim");
-        @NonNull org.eclipse.ocl.pivot.Package bob = PivotUtil.createOwnedPackage(pkg1, "bob");
-        @NonNull org.eclipse.ocl.pivot.Package pkg3 = PivotUtil.createOwnedPackage(pkg1, "pkg3");
-        @NonNull org.eclipse.ocl.pivot.Package pkg4 = PivotUtil.createOwnedPackage(pkg3, "pkg4");
-        @NonNull org.eclipse.ocl.pivot.Package pkg5 = PivotUtil.createOwnedPackage(pkg3, "pkg5");
-        @NonNull org.eclipse.ocl.pivot.Package george = PivotUtil.createOwnedPackage(pkg5, "george");
+        org.eclipse.ocl.pivot.@NonNull Package pkg1 = PivotUtil.createOwnedPackage(root, "pkg1");
+        org.eclipse.ocl.pivot.@NonNull Package pkg2 = PivotUtil.createOwnedPackage(pkg1, "pkg2");
+        org.eclipse.ocl.pivot.@NonNull Package jim = PivotUtil.createOwnedPackage(pkg2, "jim");
+        org.eclipse.ocl.pivot.@NonNull Package bob = PivotUtil.createOwnedPackage(pkg1, "bob");
+        org.eclipse.ocl.pivot.@NonNull Package pkg3 = PivotUtil.createOwnedPackage(pkg1, "pkg3");
+        org.eclipse.ocl.pivot.@NonNull Package pkg4 = PivotUtil.createOwnedPackage(pkg3, "pkg4");
+        org.eclipse.ocl.pivot.@NonNull Package pkg5 = PivotUtil.createOwnedPackage(pkg3, "pkg5");
+        org.eclipse.ocl.pivot.@NonNull Package george = PivotUtil.createOwnedPackage(pkg5, "george");
 		
 		public MyOCL(@NonNull String testPackageName, @NonNull String name) {
 			super(testPackageName, name, useCodeGen ? getProjectMap() : OCL.NO_PROJECTS);
@@ -561,7 +561,7 @@
 		MyOCL ocl = createOCL();
 		MetamodelManager metamodelManager = ocl.getMetamodelManager();
 		IdResolver idResolver = ocl.getIdResolver();
-    	@SuppressWarnings("null") @NonNull org.eclipse.ocl.pivot.Class packageMetaclass = metamodelManager.getASClass("Package");
+    	@SuppressWarnings("null") org.eclipse.ocl.pivot.@NonNull Class packageMetaclass = metamodelManager.getASClass("Package");
 		CollectionTypeId typeId = TypeId.SET.getSpecializedId(packageMetaclass.getTypeId());
         Property ownedPackages = getAttribute(packageMetaclass, "ownedPackages", packageMetaclass);
         Property owningPackage = getAttribute(packageMetaclass, "owningPackage", packageMetaclass);
@@ -649,8 +649,8 @@
 		MyOCL ocl = createOCL();
 		MetamodelManager metamodelManager = ocl.getMetamodelManager();
 		IdResolver idResolver = ocl.getIdResolver();
-    	@SuppressWarnings("null") @NonNull org.eclipse.ocl.pivot.Class packageMetaclass = metamodelManager.getASClass("Package");
-    	@SuppressWarnings("null") @NonNull org.eclipse.ocl.pivot.Class propertyMetaclass = metamodelManager.getASClass("Property");
+    	@SuppressWarnings("null") org.eclipse.ocl.pivot.@NonNull Class packageMetaclass = metamodelManager.getASClass("Package");
+    	@SuppressWarnings("null") org.eclipse.ocl.pivot.@NonNull Class propertyMetaclass = metamodelManager.getASClass("Property");
 		CollectionTypeId typeId = TypeId.SET.getSpecializedId(packageMetaclass.getTypeId());
         Property owningPackage = getAttribute(packageMetaclass, "owningPackage", packageMetaclass);
         SetValue expected = idResolver.createSetOfEach(typeId, owningPackage, packageMetaclass, packageMetaclass.eContainer(), packageMetaclass.eContainer().eContainer());
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/PivotTestSuite.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/PivotTestSuite.java
index 7ae1cf4..36aa507 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/PivotTestSuite.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/PivotTestSuite.java
@@ -199,7 +199,7 @@
 	 * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
 	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
 	 */
-	protected Property getAttribute(@NonNull org.eclipse.ocl.pivot.Class classifier, @NonNull String name, @NonNull Type type) {
+	protected Property getAttribute(org.eclipse.ocl.pivot.@NonNull Class classifier, @NonNull String name, @NonNull Type type) {
 		Property feature = NameUtil.getNameable(classifier.getOwnedProperties(), name);
 		if (feature == null)
 			return null;
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/TestOCL.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/TestOCL.java
index 409a383..51c0400 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/TestOCL.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/pivot/tests/TestOCL.java
@@ -87,7 +87,7 @@
 		this.testName = testName;
 	}
 
-	public void addSupertype(@NonNull org.eclipse.ocl.pivot.Class aClass, @NonNull org.eclipse.ocl.pivot.Class superClass) {
+	public void addSupertype(org.eclipse.ocl.pivot.@NonNull Class aClass, org.eclipse.ocl.pivot.@NonNull Class superClass) {
 		aClass.getSuperClasses().add(superClass);
 	}
     
@@ -96,7 +96,7 @@
 	 * with a diagnostic of severity containing a message that is the result of messageTemplate
 	 * resolved by bindings.
 	 */
-	public void assertBadInvariant(@NonNull Class<?> exception, int severity, @Nullable org.eclipse.ocl.pivot.Class contextType,
+	public void assertBadInvariant(@NonNull Class<?> exception, int severity, org.eclipse.ocl.pivot.@Nullable Class contextType,
     		@NonNull String expression, /*@NonNull*/ String messageTemplate, Object... bindings) {
 		CSResource resource = null;
         try {
@@ -130,7 +130,7 @@
 	 * @throws IOException 
 	 */
     @SuppressWarnings("null")
-	public void assertBadQuery(@NonNull Class<?> exception, int severity, @Nullable org.eclipse.ocl.pivot.Class contextType, @NonNull String expression, /*@NonNull*/ String messageTemplate, Object... bindings) {
+	public void assertBadQuery(@NonNull Class<?> exception, int severity, org.eclipse.ocl.pivot.@Nullable Class contextType, @NonNull String expression, /*@NonNull*/ String messageTemplate, Object... bindings) {
 		BaseCSResource csResource = null;
 		try {
 			ParserContext classContext = new ClassContext(getEnvironmentFactory(), null, contextType, null);
@@ -157,7 +157,7 @@
 	/**
 	 * Assert that an expression can be parsed as an invariant for a context and return the invariant.
 	 */
-	public @Nullable ExpressionInOCL assertInvariant(@NonNull org.eclipse.ocl.pivot.Class context, @NonNull String expression) {
+	public @Nullable ExpressionInOCL assertInvariant(org.eclipse.ocl.pivot.@NonNull Class context, @NonNull String expression) {
 		try {
 			ExpressionInOCL result = createInvariant(context, expression);
 			return result;
@@ -544,7 +544,7 @@
 		}
 	}
 
-	public void assertSemanticErrorQuery(@Nullable org.eclipse.ocl.pivot.Class contextType, @NonNull String expression, String messageTemplate, Object... bindings) {
+	public void assertSemanticErrorQuery(org.eclipse.ocl.pivot.@Nullable Class contextType, @NonNull String expression, String messageTemplate, Object... bindings) {
 		assertBadQuery(SemanticException.class, Diagnostic.ERROR, contextType, expression, messageTemplate, bindings);	   
 	}
 
@@ -553,7 +553,7 @@
    	 * for evaluation on an object of contextType. No evaluation is performed since no
    	 * object of contextType need exist. 
    	 */
-	public void assertValidQuery(@NonNull org.eclipse.ocl.pivot.Class contextType, @NonNull String expression) throws Exception {
+	public void assertValidQuery(org.eclipse.ocl.pivot.@NonNull Class contextType, @NonNull String expression) throws Exception {
 		ExpressionInOCL query = createQuery(contextType, expression);
 		PivotTestCase.assertNoValidationErrors(expression, query);
 	}
@@ -564,7 +564,7 @@
 	 * resolved by bindings.
 	 * @throws IOException 
 	 */
-    public void assertValidationErrorQuery(@Nullable org.eclipse.ocl.pivot.Class contextType, @NonNull String expression,
+    public void assertValidationErrorQuery(org.eclipse.ocl.pivot.@Nullable Class contextType, @NonNull String expression,
 		   String messageTemplate, Object... bindings) {
 		BaseCSResource csResource = null;
 		try {
@@ -620,7 +620,7 @@
 		return eAttribute;
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Class createOwnedClass(org.eclipse.ocl.pivot.Package aPackage, String name, boolean isAbstract) {
+	public org.eclipse.ocl.pivot.@NonNull Class createOwnedClass(org.eclipse.ocl.pivot.Package aPackage, String name, boolean isAbstract) {
 		org.eclipse.ocl.pivot.Class eClass = PivotFactory.eINSTANCE.createClass();
 		eClass.setName(name);
 		eClass.setIsAbstract(isAbstract);
@@ -794,7 +794,7 @@
 		return getIdResolver().createSetOfEach(TypeId.SET.getSpecializedId(TypeId.OCL_VOID));
 	}
 
-	public @NonNull org.eclipse.ocl.pivot.Package getUMLMetamodel() {
+	public org.eclipse.ocl.pivot.@NonNull Package getUMLMetamodel() {
 		MetamodelManagerInternal metamodelManager = getMetamodelManager();
 		return ClassUtil.nonNullState(metamodelManager.getASmetamodel());
 	}
@@ -808,7 +808,7 @@
 	/**
 	 * Create a Resource to register a binding-dependent pkg for access with a given nsPrefix and nsUri.
 	 */
-	public @NonNull org.eclipse.ocl.pivot.Package registerPackage(@NonNull org.eclipse.ocl.pivot.Package pkg, @NonNull String nsPrefix, @NonNull String nsUri) {
+	public org.eclipse.ocl.pivot.@NonNull Package registerPackage(org.eclipse.ocl.pivot.@NonNull Package pkg, @NonNull String nsPrefix, @NonNull String nsUri) {
 		pkg.setNsPrefix(nsPrefix);
         pkg.setURI(nsUri);
 		Resource resource = new ResourceImpl(URI.createURI(nsUri));