Commit initial and CQ approved contribution from https://bugs.eclipse.org/bugs/show_bug.cgi?id=316591 . 
This commit contains the files from "SAP Metamodel Contribution Version 2", only the folder structure is slidely 
changed to fit to GIT structure. Also the "edit" project is not commited here, as it does contain really relevant 
content.
Note that this project here (org.eclipse.bpmn2.ecore) is here for reference only. For productive usage use the 
"refined" projects.
diff --git a/org.eclipse.bpmn2.ecore/.classpath b/org.eclipse.bpmn2.ecore/.classpath
new file mode 100644
index 0000000..d96e2ba
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

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

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

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

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

+	<classpathentry kind="output" path="bin"/>

+</classpath>

diff --git a/org.eclipse.bpmn2.ecore/.project b/org.eclipse.bpmn2.ecore/.project
new file mode 100644
index 0000000..fcada6d
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.bpmn2.ecore</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.pde.SchemaBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.pde.ManifestBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>com.sap.ide.eclipse.validation.core.autoValidationBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.wst.validation.validationbuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>com.sap.ide.eclipse.validation.core.autoValidationNature</nature>

+		<nature>org.eclipse.pde.PluginNature</nature>

+		<nature>org.eclipse.jdt.core.javanature</nature>

+		<nature>com.sap.tools.japro.japroProjectNature</nature>

+	</natures>

+</projectDescription>

diff --git a/org.eclipse.bpmn2.ecore/META-INF/MANIFEST.MF b/org.eclipse.bpmn2.ecore/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a7ac84d
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0

+Bundle-ManifestVersion: 2

+Bundle-Name: %pluginName

+Bundle-SymbolicName: org.eclipse.bpmn2.ecore;singleton:=true

+Bundle-Version: 1.0.0

+Bundle-ClassPath: .

+Bundle-Vendor: %providerName

+Bundle-Localization: plugin

+Bundle-RequiredExecutionEnvironment: JavaSE-1.6

+Export-Package: org.eclipse.bpmn2.ecore.BPMN20,

+ org.eclipse.bpmn2.ecore.BPMN20.impl,

+ org.eclipse.bpmn2.ecore.BPMN20.util,

+ org.eclipse.bpmn2.ecore.BPMNDI,

+ org.eclipse.bpmn2.ecore.BPMNDI.impl,

+ org.eclipse.bpmn2.ecore.BPMNDI.util,

+ org.eclipse.bpmn2.ecore.DC,

+ org.eclipse.bpmn2.ecore.DC.impl,

+ org.eclipse.bpmn2.ecore.DC.util,

+ org.eclipse.bpmn2.ecore.DI,

+ org.eclipse.bpmn2.ecore.DI.impl,

+ org.eclipse.bpmn2.ecore.DI.util

+Require-Bundle: org.eclipse.core.runtime,

+ org.eclipse.emf.ecore;visibility:=reexport,

+ org.eclipse.emf.ecore.xmi;visibility:=reexport

+Bundle-ActivationPolicy: lazy

+Bundle-Activator: org.eclipse.bpmn2.ecore.Activator

diff --git a/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/Activator.java b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/Activator.java
new file mode 100644
index 0000000..d09f979
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/Activator.java
@@ -0,0 +1,49 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2010 SAP AG

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+ * 

+ * </copyright>

+ *

+ * $Id$

+ */

+package org.eclipse.bpmn2.ecore;

+

+import org.eclipse.bpmn2.ecore.BPMN20.BPMN20Package;

+import org.eclipse.bpmn2.ecore.BPMNDI.BPMNDIPackage;

+import org.eclipse.bpmn2.ecore.DC.DCPackage;

+import org.eclipse.bpmn2.ecore.DI.DIPackage;

+import org.eclipse.core.runtime.Plugin;

+import org.eclipse.emf.ecore.EPackage;

+import org.eclipse.emf.ecore.util.ExtendedMetaData;

+import org.osgi.framework.BundleContext;

+

+public class Activator extends Plugin {

+

+	public Activator() {}

+

+	@Override

+	public void start(BundleContext context) throws Exception {

+		super.start(context);

+

+		// register also the non-XMI namespaces, as they are needed to read XML files

+		registerNonXMINamespace(BPMN20Package.eINSTANCE);

+		registerNonXMINamespace(BPMNDIPackage.eINSTANCE);

+		registerNonXMINamespace(DIPackage.eINSTANCE);

+		registerNonXMINamespace(DCPackage.eINSTANCE);

+

+	}

+

+	private void registerNonXMINamespace(EPackage pack) {

+		String ns = pack.getNsURI();

+		ExtendedMetaData.INSTANCE.putPackage(ns.substring(0, ns.length() - 4), pack);

+	}

+

+}

diff --git a/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/BPMN20/util/BPMN20ResourceFactoryImpl.java b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/BPMN20/util/BPMN20ResourceFactoryImpl.java
new file mode 100644
index 0000000..57bafba
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/BPMN20/util/BPMN20ResourceFactoryImpl.java
@@ -0,0 +1,71 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2010 SAP AG

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+ * 

+ * </copyright>

+ *

+ * $Id$

+ */

+package org.eclipse.bpmn2.ecore.BPMN20.util;

+

+import org.eclipse.bpmn2.ecore.OnlyContainmentTypeInfo;

+import org.eclipse.bpmn2.ecore.QNameURIHandler;

+import org.eclipse.bpmn2.ecore.XmlExtendedMetadata;

+import org.eclipse.emf.common.util.URI;

+import org.eclipse.emf.ecore.resource.Resource;

+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;

+import org.eclipse.emf.ecore.util.ExtendedMetaData;

+import org.eclipse.emf.ecore.xmi.XMLResource;

+import org.eclipse.emf.ecore.xmi.impl.ElementHandlerImpl;

+

+/**

+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the package. <!-- end-user-doc -->

+ * 

+ * @see org.eclipse.bpmn2.ecore.BPMN20.util.BPMN20ResourceImpl

+ * @generated

+ */

+public class BPMN20ResourceFactoryImpl extends ResourceFactoryImpl {

+	/**

+	 * Creates an instance of the resource factory. <!-- begin-user-doc --> <!-- end-user-doc -->

+	 * 

+	 * @generated

+	 */

+	public BPMN20ResourceFactoryImpl() {

+		super();

+	}

+

+	/**

+	 * Creates an instance of the resource. <!-- begin-user-doc --> <!-- end-user-doc -->

+	 * 

+	 * @generated NOT

+	 */

+	@Override

+	public Resource createResource(URI uri) {

+		XMLResource result = new BPMN20ResourceImpl(uri);

+		ExtendedMetaData extendedMetadata = new XmlExtendedMetadata();

+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetadata);

+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetadata);

+

+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SAVE_TYPE_INFORMATION, new OnlyContainmentTypeInfo());

+

+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);

+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);

+

+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);

+

+		result.getDefaultLoadOptions().put(XMLResource.OPTION_URI_HANDLER, new QNameURIHandler());

+		result.getDefaultSaveOptions().put(XMLResource.OPTION_URI_HANDLER, new QNameURIHandler());

+

+		result.getDefaultSaveOptions().put(XMLResource.OPTION_ELEMENT_HANDLER, new ElementHandlerImpl(true));

+

+		return result;

+	}

+} // BPMN20ResourceFactoryImpl

diff --git a/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/OnlyContainmentTypeInfo.java b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/OnlyContainmentTypeInfo.java
new file mode 100644
index 0000000..325fb37
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/OnlyContainmentTypeInfo.java
@@ -0,0 +1,42 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2010 SAP AG

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+ * 

+ * </copyright>

+ *

+ * $Id$

+ */

+package org.eclipse.bpmn2.ecore;

+

+import org.eclipse.emf.ecore.EClass;

+import org.eclipse.emf.ecore.EClassifier;

+import org.eclipse.emf.ecore.EReference;

+import org.eclipse.emf.ecore.EStructuralFeature;

+import org.eclipse.emf.ecore.xmi.XMLSave.XMLTypeInfo;

+

+public class OnlyContainmentTypeInfo implements XMLTypeInfo {

+

+	/*

+	 * Ensure that we save type information only for containment - in this case using the substitution group magic. But don't save type

+	 * information for normal references. We anyway never create proxies.

+	 */

+

+	@Override

+	public boolean shouldSaveType(EClass objectType, EClassifier featureType, EStructuralFeature feature) {

+		return feature instanceof EReference && ((EReference) feature).isContainment();

+	}

+

+	@Override

+	public boolean shouldSaveType(EClass objectType, EClass featureType, EStructuralFeature feature) {

+		return feature instanceof EReference && ((EReference) feature).isContainment();

+	}

+

+}

diff --git a/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/QNameURIHandler.java b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/QNameURIHandler.java
new file mode 100644
index 0000000..5c3d6d0
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/QNameURIHandler.java
@@ -0,0 +1,54 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2010 SAP AG

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+ * 

+ * </copyright>

+ *

+ * $Id$

+ */

+package org.eclipse.bpmn2.ecore;

+

+import org.eclipse.emf.common.util.URI;

+import org.eclipse.emf.ecore.xmi.impl.URIHandlerImpl;

+

+/**

+ * This simple XMLResource URI Handler converts between the QName-based reference model in BPMN 2.0 and the URI based model in EMF.

+ * 

+ * Currently only local references are implemented. Finally a cross-file reference in BPMN is a QName. The prefix can be resolved using the

+ * prefix declaration in the file, then going to the "imports" element, searching for a fitting import and taking this file as baseURI.

+ * 

+ * @author d023588

+ */

+public class QNameURIHandler extends URIHandlerImpl {

+

+	/**

+	 * 

+	 */

+	public QNameURIHandler() {}

+

+	@Override

+	public URI resolve(URI uri) {

+		// In the local case we receive the pure ID as URI. In EMF this must be an URI with the ID as fragment.

+		return super.resolve(URI.createURI("#" + uri.toString()));

+	}

+

+	@Override

+	public URI deresolve(URI uri) {

+		URI deresolved = super.deresolve(uri);

+		String deresolvedString = deresolved.toString();

+		if (deresolvedString.startsWith("#")) // pure fragment

+		{

+			return URI.createURI(deresolvedString.substring(1)); // cut off "#"

+		}

+		return deresolved;

+	}

+

+}

diff --git a/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/XmlExtendedMetadata.java b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/XmlExtendedMetadata.java
new file mode 100644
index 0000000..b6ede55
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/api/org/eclipse/bpmn2/ecore/XmlExtendedMetadata.java
@@ -0,0 +1,50 @@
+/**

+ * <copyright>

+ * 

+ * Copyright (c) 2010 SAP AG

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+ * 

+ * </copyright>

+ *

+ * $Id$

+ */

+package org.eclipse.bpmn2.ecore;

+

+import org.eclipse.emf.ecore.EClass;

+import org.eclipse.emf.ecore.EPackage;

+import org.eclipse.emf.ecore.EStructuralFeature;

+import org.eclipse.emf.ecore.util.BasicExtendedMetaData;

+

+public class XmlExtendedMetadata extends BasicExtendedMetaData {

+

+	/**

+	 * 

+	 */

+	public XmlExtendedMetadata() {}

+

+	@Override

+	public String getNamespace(EPackage ePackage) {

+		/*

+		 * Unfortunately XMLSaveImpl.addNamespaceDeclarations does not consider the XML namespaces that are declared on features to

+		 * calculate correct prefixes. Instead it calls this method for all packages and assumes that namespace and prefix of the package is

+		 * correct. In our case the namespace of the package is different to the namespace of all features. We correct this my returning the

+		 * namespace of a "typical" feature.

+		 */

+		EClass docRoot = getDocumentRoot(ePackage);

+		if (docRoot != null) {

+			for (EStructuralFeature feature : docRoot.getEStructuralFeatures()) {

+				String namespace = getNamespace(feature);

+				if (namespace != null && !namespace.equals(ePackage.getNsURI()))

+					return namespace;

+			}

+		}

+

+		return super.getNamespace(ePackage);

+	}

+}

diff --git a/org.eclipse.bpmn2.ecore/build.properties b/org.eclipse.bpmn2.ecore/build.properties
new file mode 100644
index 0000000..286ed5a
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/build.properties
@@ -0,0 +1,14 @@
+

+# <copyright>

+# </copyright>

+#

+# $Id$

+

+bin.includes = .,\

+               model/,\

+               META-INF/,\

+               plugin.xml,\

+               plugin.properties

+jars.compile.order = .

+source.. = api/

+output.. = bin/

diff --git a/org.eclipse.bpmn2.ecore/model/BPMN20.ecore b/org.eclipse.bpmn2.ecore/model/BPMN20.ecore
new file mode 100644
index 0000000..0d5c9aa
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/model/BPMN20.ecore
@@ -0,0 +1,4446 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ecore:EPackage xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="BPMN20"

+    nsURI="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI" nsPrefix="bpmn">

+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value=""/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="elementWildcard"/>

+        <details key="name" value=":mixed"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xmlns:prefix"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xsi:schemaLocation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" upperBound="-2"

+        eType="#//Activity" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="activity"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="adHocSubProcess" upperBound="-2"

+        eType="#//AdHocSubProcess" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="adHocSubProcess"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="flowElement" upperBound="-2"

+        eType="#//FlowElement" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="flowElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="artifact" upperBound="-2"

+        eType="#//Artifact" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="artifact"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="assignment" upperBound="-2"

+        eType="#//Assignment" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="assignment"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="association" upperBound="-2"

+        eType="#//Association" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="association"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="auditing" upperBound="-2"

+        eType="#//Auditing" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="auditing"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="baseElement" upperBound="-2"

+        eType="#//BaseElement" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="baseElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="baseElementWithMixedContent"

+        upperBound="-2" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="baseElementWithMixedContent"/>

+        <details key="namespace" value="##targetNamespace"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="boundaryEvent" upperBound="-2"

+        eType="#//BoundaryEvent" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="boundaryEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="businessRuleTask" upperBound="-2"

+        eType="#//BusinessRuleTask" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="businessRuleTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="callableElement" upperBound="-2"

+        eType="#//CallableElement" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="callableElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="callActivity" upperBound="-2"

+        eType="#//CallActivity" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="callActivity"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="callChoreography" upperBound="-2"

+        eType="#//CallChoreography" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="callChoreography"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="callConversation" upperBound="-2"

+        eType="#//CallConversation" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="callConversation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#conversationNode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversationNode" upperBound="-2"

+        eType="#//ConversationNode" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationNode"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="cancelEventDefinition"

+        upperBound="-2" eType="#//CancelEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="cancelEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventDefinition" upperBound="-2"

+        eType="#//EventDefinition" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="eventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootElement" upperBound="-2"

+        eType="#//RootElement" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="rootElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="catchEvent" upperBound="-2"

+        eType="#//CatchEvent" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="catchEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="category" upperBound="-2"

+        eType="#//Category" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="category"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="categoryValue" upperBound="-2"

+        eType="#//CategoryValue" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="categoryValue"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="choreography" upperBound="-2"

+        eType="#//Choreography" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="choreography"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#collaboration"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="collaboration" upperBound="-2"

+        eType="#//Collaboration" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="collaboration"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="choreographyActivity" upperBound="-2"

+        eType="#//ChoreographyActivity" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="choreographyActivity"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="choreographyTask" upperBound="-2"

+        eType="#//ChoreographyTask" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="choreographyTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="compensateEventDefinition"

+        upperBound="-2" eType="#//CompensateEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="compensateEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="complexBehaviorDefinition"

+        upperBound="-2" eType="#//ComplexBehaviorDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="complexBehaviorDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="complexGateway" upperBound="-2"

+        eType="#//ComplexGateway" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="complexGateway"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conditionalEventDefinition"

+        upperBound="-2" eType="#//ConditionalEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conditionalEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversation" upperBound="-2"

+        eType="#//Conversation" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#conversationNode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversationAssociation"

+        upperBound="-2" eType="#//ConversationAssociation" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversationLink" upperBound="-2"

+        eType="#//ConversationLink" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationLink"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKey" upperBound="-2"

+        eType="#//CorrelationKey" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationKey"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationProperty" upperBound="-2"

+        eType="#//CorrelationProperty" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationProperty"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyBinding"

+        upperBound="-2" eType="#//CorrelationPropertyBinding" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationPropertyBinding"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRetrievalExpression"

+        upperBound="-2" eType="#//CorrelationPropertyRetrievalExpression" volatile="true"

+        transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationPropertyRetrievalExpression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationSubscription"

+        upperBound="-2" eType="#//CorrelationSubscription" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationSubscription"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataAssociation" upperBound="-2"

+        eType="#//DataAssociation" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInput" upperBound="-2"

+        eType="#//DataInput" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInput"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputAssociation" upperBound="-2"

+        eType="#//DataInputAssociation" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInputAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" upperBound="-2"

+        eType="#//DataObject" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataObject"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataObjectReference" upperBound="-2"

+        eType="#//DataObjectReference" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataObjectReference"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutput" upperBound="-2"

+        eType="#//DataOutput" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutput"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociation"

+        upperBound="-2" eType="#//DataOutputAssociation" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutputAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataState" upperBound="-2"

+        eType="#//DataState" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataState"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataStore" upperBound="-2"

+        eType="#//DataStore" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataStore"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataStoreReference" upperBound="-2"

+        eType="#//DataStoreReference" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataStoreReference"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="definitions" upperBound="-2"

+        eType="#//Definitions" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="definitions"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" upperBound="-2"

+        eType="#//Documentation" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="documentation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="endEvent" upperBound="-2"

+        eType="#//EndEvent" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="endEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="endPoint" upperBound="-2"

+        eType="#//EndPoint" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="endPoint"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="error" upperBound="-2"

+        eType="#//Error" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="error"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="errorEventDefinition" upperBound="-2"

+        eType="#//ErrorEventDefinition" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="errorEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="escalation" upperBound="-2"

+        eType="#//Escalation" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="escalation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="escalationEventDefinition"

+        upperBound="-2" eType="#//EscalationEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="escalationEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="event" upperBound="-2"

+        eType="#//Event" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="event"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventBasedGateway" upperBound="-2"

+        eType="#//EventBasedGateway" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="eventBasedGateway"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="exclusiveGateway" upperBound="-2"

+        eType="#//ExclusiveGateway" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="exclusiveGateway"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" upperBound="-2"

+        eType="#//Expression" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="expression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extension" upperBound="-2"

+        eType="#//Extension" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="extension"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionElements" upperBound="-2"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" volatile="true"

+        transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="extensionElements"/>

+        <details key="namespace" value="##targetNamespace"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="flowNode" upperBound="-2"

+        eType="#//FlowNode" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="flowNode"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="formalExpression" upperBound="-2"

+        eType="#//FormalExpression" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="formalExpression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#expression"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="gateway" upperBound="-2"

+        eType="#//Gateway" changeable="false" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="gateway"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalBusinessRuleTask"

+        upperBound="-2" eType="#//GlobalBusinessRuleTask" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalBusinessRuleTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalChoreographyTask"

+        upperBound="-2" eType="#//GlobalChoreographyTask" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalChoreographyTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#choreography"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalConversation" upperBound="-2"

+        eType="#//GlobalConversation" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalConversation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#collaboration"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalManualTask" upperBound="-2"

+        eType="#//GlobalManualTask" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalManualTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalScriptTask" upperBound="-2"

+        eType="#//GlobalScriptTask" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalScriptTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalTask" upperBound="-2"

+        eType="#//GlobalTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="globalUserTask" upperBound="-2"

+        eType="#//GlobalUserTask" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="globalUserTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="group" upperBound="-2"

+        eType="#//Group" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="group"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="humanPerformer" upperBound="-2"

+        eType="#//HumanPerformer" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="humanPerformer"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#performer"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="performer" upperBound="-2"

+        eType="#//Performer" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="performer"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#resourceRole"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRole" upperBound="-2"

+        eType="#//ResourceRole" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceRole"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="implicitThrowEvent" upperBound="-2"

+        eType="#//ImplicitThrowEvent" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="implicitThrowEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="import" upperBound="-2"

+        eType="#//Import" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="import"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inclusiveGateway" upperBound="-2"

+        eType="#//InclusiveGateway" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inclusiveGateway"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSet" upperBound="-2"

+        eType="#//InputSet" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inputSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" upperBound="-2"

+        eType="#//Interface" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="interface"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="intermediateCatchEvent"

+        upperBound="-2" eType="#//IntermediateCatchEvent" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="intermediateCatchEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="intermediateThrowEvent"

+        upperBound="-2" eType="#//IntermediateThrowEvent" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="intermediateThrowEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ioBinding" upperBound="-2"

+        eType="#//InputOutputBinding" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="ioBinding"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ioSpecification" upperBound="-2"

+        eType="#//InputOutputSpecification" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="ioSpecification"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="itemDefinition" upperBound="-2"

+        eType="#//ItemDefinition" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="itemDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="lane" upperBound="-2" eType="#//Lane"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="lane"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="laneSet" upperBound="-2"

+        eType="#//LaneSet" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="laneSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="linkEventDefinition" upperBound="-2"

+        eType="#//LinkEventDefinition" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="linkEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopCharacteristics" upperBound="-2"

+        eType="#//LoopCharacteristics" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="loopCharacteristics"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="manualTask" upperBound="-2"

+        eType="#//ManualTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="manualTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="message" upperBound="-2"

+        eType="#//Message" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="message"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageEventDefinition"

+        upperBound="-2" eType="#//MessageEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlow" upperBound="-2"

+        eType="#//MessageFlow" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageFlow"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlowAssociation"

+        upperBound="-2" eType="#//MessageFlowAssociation" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageFlowAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoring" upperBound="-2"

+        eType="#//Monitoring" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="monitoring"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="multiInstanceLoopCharacteristics"

+        upperBound="-2" eType="#//MultiInstanceLoopCharacteristics" volatile="true"

+        transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="multiInstanceLoopCharacteristics"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#loopCharacteristics"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" upperBound="-2"

+        eType="#//Operation" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="operation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSet" upperBound="-2"

+        eType="#//OutputSet" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outputSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="parallelGateway" upperBound="-2"

+        eType="#//ParallelGateway" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="parallelGateway"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participant" upperBound="-2"

+        eType="#//Participant" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participant"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantAssociation"

+        upperBound="-2" eType="#//ParticipantAssociation" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantMultiplicity"

+        upperBound="-2" eType="#//ParticipantMultiplicity" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantMultiplicity"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="partnerEntity" upperBound="-2"

+        eType="#//PartnerEntity" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="partnerEntity"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="partnerRole" upperBound="-2"

+        eType="#//PartnerRole" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="partnerRole"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="potentialOwner" upperBound="-2"

+        eType="#//PotentialOwner" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="potentialOwner"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#performer"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="process" upperBound="-2"

+        eType="#//Process" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="process"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-2"

+        eType="#//Property" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="property"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="receiveTask" upperBound="-2"

+        eType="#//ReceiveTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="receiveTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="relationship" upperBound="-2"

+        eType="#//Relationship" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="relationship"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="rendering" upperBound="-2"

+        eType="#//Rendering" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="rendering"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resource" upperBound="-2"

+        eType="#//Resource" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resource"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceAssignmentExpression"

+        upperBound="-2" eType="#//ResourceAssignmentExpression" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceAssignmentExpression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceParameter" upperBound="-2"

+        eType="#//ResourceParameter" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceParameter"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceParameterBinding"

+        upperBound="-2" eType="#//ResourceParameterBinding" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceParameterBinding"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="script" upperBound="-2"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" volatile="true"

+        transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="script"/>

+        <details key="namespace" value="##targetNamespace"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="scriptTask" upperBound="-2"

+        eType="#//ScriptTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="scriptTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sendTask" upperBound="-2"

+        eType="#//SendTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="sendTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceFlow" upperBound="-2"

+        eType="#//SequenceFlow" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="sequenceFlow"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceTask" upperBound="-2"

+        eType="#//ServiceTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="serviceTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" upperBound="-2"

+        eType="#//Signal" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="signal"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="signalEventDefinition"

+        upperBound="-2" eType="#//SignalEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="signalEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="standardLoopCharacteristics"

+        upperBound="-2" eType="#//StandardLoopCharacteristics" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="standardLoopCharacteristics"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#loopCharacteristics"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="startEvent" upperBound="-2"

+        eType="#//StartEvent" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="startEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="subChoreography" upperBound="-2"

+        eType="#//SubChoreography" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="subChoreography"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="subConversation" upperBound="-2"

+        eType="#//SubConversation" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="subConversation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#conversationNode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="subProcess" upperBound="-2"

+        eType="#//SubProcess" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="subProcess"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="task" upperBound="-2" eType="#//Task"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="task"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="terminateEventDefinition"

+        upperBound="-2" eType="#//TerminateEventDefinition" volatile="true" transient="true"

+        derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="terminateEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="text" upperBound="-2" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="text"/>

+        <details key="namespace" value="##targetNamespace"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="textAnnotation" upperBound="-2"

+        eType="#//TextAnnotation" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="textAnnotation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="throwEvent" upperBound="-2"

+        eType="#//ThrowEvent" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="throwEvent"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="timerEventDefinition" upperBound="-2"

+        eType="#//TimerEventDefinition" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="timerEventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="transaction" upperBound="-2"

+        eType="#//Transaction" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="transaction"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="userTask" upperBound="-2"

+        eType="#//UserTask" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="userTask"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="affiliation" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Activity" abstract="true" eSuperTypes="#//FlowNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tActivity"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ioSpecification" ordered="false"

+        eType="#//InputOutputSpecification" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="ioSpecification"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="boundaryEventRefs" ordered="false"

+        upperBound="-1" eType="#//BoundaryEvent" transient="true" derived="true" eOpposite="#//BoundaryEvent/attachedToRef"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"

+        upperBound="-1" eType="#//Property" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="property"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputAssociations"

+        ordered="false" upperBound="-1" eType="#//DataInputAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInputAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociations"

+        ordered="false" upperBound="-1" eType="#//DataOutputAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutputAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"

+        upperBound="-1" eType="#//ResourceRole" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceRole"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#resourceRole"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopCharacteristics" ordered="false"

+        eType="#//LoopCharacteristics" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="loopCharacteristics"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#loopCharacteristics"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="completionQuantity" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"

+        defaultValueLiteral="1">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="completionQuantity"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"

+        eType="#//SequenceFlow" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="default"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isForCompensation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isForCompensation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="startQuantity" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"

+        defaultValueLiteral="1">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="startQuantity"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="AdHocOrdering">

+    <eLiterals name="Parallel"/>

+    <eLiterals name="Sequential" value="1"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="AdHocSubProcess" eSuperTypes="#//SubProcess">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tAdHocSubProcess"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="completionCondition" ordered="false"

+        lowerBound="1" eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="completionCondition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cancelRemainingInstances"

+        ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="cancelRemainingInstances"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordering" ordered="false"

+        lowerBound="1" eType="#//AdHocOrdering">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="ordering"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Artifact" abstract="true" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tArtifact"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Assignment" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tAssignment"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false" lowerBound="1"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="from"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="to"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//Artifact">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="associationDirection" ordered="false"

+        lowerBound="1" eType="#//AssociationDirection">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="associationDirection"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"

+        lowerBound="1" eType="#//BaseElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="sourceRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"

+        lowerBound="1" eType="#//BaseElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="targetRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="AssociationDirection">

+    <eLiterals name="None"/>

+    <eLiterals name="One" value="1"/>

+    <eLiterals name="Both" value="2"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Auditing" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tAuditing"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BaseElement" abstract="true">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tBaseElement"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionValues" ordered="false"

+        upperBound="-1" eType="#//ExtensionAttributeValue" transient="true" derived="true"

+        containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" ordered="false"

+        upperBound="-1" eType="#//Documentation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="documentation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionDefinitions" ordered="false"

+        upperBound="-1" eType="#//ExtensionDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="extensionElements"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="id"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BoundaryEvent" eSuperTypes="#//CatchEvent">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tBoundaryEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="attachedToRef" ordered="false"

+        lowerBound="1" eType="#//Activity" resolveProxies="false" eOpposite="#//Activity/boundaryEventRefs">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="attachedToRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="cancelActivity" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="cancelActivity"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BusinessRuleTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tBusinessRuleTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CallActivity" eSuperTypes="#//Activity">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCallActivity"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="calledElementRef" ordered="false"

+        eType="#//CallableElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="calledElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CallChoreography" eSuperTypes="#//ChoreographyActivity">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCallChoreography"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantAssociations"

+        ordered="false" upperBound="-1" eType="#//ParticipantAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="calledChoreographyRef"

+        ordered="false" eType="#//Choreography">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="calledChoreographyRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CallConversation" eSuperTypes="#//ConversationNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCallConversation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantAssociations"

+        ordered="false" upperBound="-1" eType="#//ParticipantAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="calledCollaborationRef"

+        ordered="false" eType="#//Collaboration">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="calledCollaborationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CallableElement" abstract="true" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCallableElement"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="supportedInterfaceRefs"

+        ordered="false" upperBound="-1" eType="#//Interface">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="supportedInterfaceRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ioSpecification" ordered="false"

+        eType="#//InputOutputSpecification" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="ioSpecification"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ioBinding" ordered="false"

+        upperBound="-1" eType="#//InputOutputBinding" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="ioBinding"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CancelEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCancelEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CatchEvent" abstract="true" eSuperTypes="#//Event">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCatchEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputs" ordered="false"

+        upperBound="-1" eType="#//DataOutput" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutput"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociation"

+        ordered="false" upperBound="-1" eType="#//DataOutputAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutputAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSet" ordered="false"

+        eType="#//OutputSet" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outputSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventDefinitions" ordered="false"

+        upperBound="-1" eType="#//EventDefinition" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="eventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventDefinitionRefs" ordered="false"

+        upperBound="-1" eType="#//EventDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="eventDefinitionRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="parallelMultiple" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="parallelMultiple"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCategory"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="categoryValue" ordered="false"

+        upperBound="-1" eType="#//CategoryValue" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="categoryValue"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CategoryValue" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCategoryValue"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="value"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="categorizedFlowElements"

+        ordered="false" upperBound="-1" eType="#//FlowElement" transient="true" derived="true"

+        resolveProxies="false" eOpposite="#//FlowElement/categoryValueRef"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Choreography" eSuperTypes="#//Collaboration #//FlowElementsContainer">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tChoreography"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ChoreographyActivity" abstract="true"

+      eSuperTypes="#//FlowNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tChoreographyActivity"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantRefs" ordered="false"

+        lowerBound="2" upperBound="-1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeys" ordered="false"

+        upperBound="-1" eType="#//CorrelationKey" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationKey"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="initiatingParticipantRef"

+        ordered="false" lowerBound="1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="initiatingParticipantRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="loopType" ordered="false"

+        lowerBound="1" eType="#//ChoreographyLoopType" defaultValueLiteral="None">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="loopType"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="ChoreographyLoopType">

+    <eLiterals name="None"/>

+    <eLiterals name="Standard" value="1"/>

+    <eLiterals name="MultiInstanceSequential" value="2"/>

+    <eLiterals name="MultiInstanceParallel" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ChoreographyTask" eSuperTypes="#//ChoreographyActivity">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tChoreographyTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlowRef" ordered="false"

+        lowerBound="1" upperBound="2" eType="#//MessageFlow">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageFlowRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Collaboration" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCollaboration"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participants" ordered="false"

+        upperBound="-1" eType="#//Participant" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participant"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlows" ordered="false"

+        upperBound="-1" eType="#//MessageFlow" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageFlow"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="artifacts" ordered="false"

+        upperBound="-1" eType="#//Artifact" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="artifact"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversations" ordered="false"

+        upperBound="-1" eType="#//ConversationNode" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationNode"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#conversationNode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversationAssociations"

+        ordered="false" lowerBound="1" eType="#//ConversationAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantAssociations"

+        ordered="false" upperBound="-1" eType="#//ParticipantAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlowAssociations"

+        ordered="false" upperBound="-1" eType="#//MessageFlowAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageFlowAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeys" ordered="false"

+        upperBound="-1" eType="#//CorrelationKey" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationKey"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="choreographyRef" ordered="false"

+        upperBound="-1" eType="#//Choreography">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="choreographyRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversationLinks" ordered="false"

+        upperBound="-1" eType="#//ConversationLink" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationLink"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isClosed" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isClosed"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CompensateEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCompensateEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="activityRef" ordered="false"

+        eType="#//Activity">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="activityRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitForCompletion" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="waitForCompletion"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ComplexBehaviorDefinition" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tComplexBehaviorDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"

+        lowerBound="1" eType="#//FormalExpression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="condition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"

+        eType="#//ImplicitThrowEvent" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="event"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ComplexGateway" eSuperTypes="#//Gateway">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tComplexGateway"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="activationCondition" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="activationCondition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"

+        eType="#//SequenceFlow" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="default"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConditionalEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tConditionalEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"

+        lowerBound="1" eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="condition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Conversation" eSuperTypes="#//ConversationNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tConversation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConversationAssociation" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tConversationAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="innerConversationNodeRef"

+        ordered="false" lowerBound="1" eType="#//ConversationNode">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="innerConversationNodeRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outerConversationNodeRef"

+        ordered="false" lowerBound="1" eType="#//ConversationNode">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="outerConversationNodeRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConversationLink" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tConversationLink"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"

+        lowerBound="1" eType="#//InteractionNode" resolveProxies="false" eOpposite="#//InteractionNode/outgoingConversationLinks">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="sourceRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"

+        lowerBound="1" eType="#//InteractionNode" resolveProxies="false" eOpposite="#//InteractionNode/incomingConversationLinks">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="targetRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ConversationNode" abstract="true" eSuperTypes="#//BaseElement #//InteractionNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tConversationNode"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantRefs" ordered="false"

+        lowerBound="2" upperBound="-1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlowRefs" ordered="false"

+        upperBound="-1" eType="#//MessageFlow">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messageFlowRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeys" ordered="false"

+        upperBound="-1" eType="#//CorrelationKey" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationKey"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CorrelationKey" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCorrelationKey"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRef"

+        ordered="false" upperBound="-1" eType="#//CorrelationProperty">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationPropertyRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CorrelationProperty" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCorrelationProperty"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRetrievalExpression"

+        ordered="false" lowerBound="1" upperBound="-1" eType="#//CorrelationPropertyRetrievalExpression"

+        containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationPropertyRetrievalExpression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="type"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CorrelationPropertyBinding" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCorrelationPropertyBinding"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataPath" ordered="false"

+        lowerBound="1" eType="#//FormalExpression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataPath"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRef"

+        ordered="false" lowerBound="1" eType="#//CorrelationProperty">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="correlationPropertyRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CorrelationPropertyRetrievalExpression"

+      eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCorrelationPropertyRetrievalExpression"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messagePath" ordered="false"

+        lowerBound="1" eType="#//FormalExpression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="messagePath"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"

+        lowerBound="1" eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="messageRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="CorrelationSubscription" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tCorrelationSubscription"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyBinding"

+        ordered="false" upperBound="-1" eType="#//CorrelationPropertyBinding" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationPropertyBinding"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeyRef" ordered="false"

+        lowerBound="1" eType="#//CorrelationKey">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="correlationKeyRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataAssociation" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"

+        upperBound="-1" eType="#//ItemAwareElement" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="sourceRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"

+        lowerBound="1" eType="#//ItemAwareElement" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="targetRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" ordered="false"

+        eType="#//FormalExpression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="transformation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="assignment" ordered="false"

+        upperBound="-1" eType="#//Assignment" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="assignment"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataInput" eSuperTypes="#//ItemAwareElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataInput"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetWithOptional" ordered="false"

+        upperBound="-1" eType="#//InputSet" transient="true" derived="true" eOpposite="#//InputSet/optionalInputRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetWithWhileExecuting"

+        ordered="false" upperBound="-1" eType="#//InputSet" transient="true" derived="true"

+        eOpposite="#//InputSet/whileExecutingInputRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetRefs" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//InputSet" transient="true" derived="true"

+        eOpposite="#//InputSet/dataInputRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isCollection"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataInputAssociation" eSuperTypes="#//DataAssociation">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataInputAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//FlowElement #//ItemAwareElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataObject"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isCollection"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataObjectReference" eSuperTypes="#//FlowElement #//ItemAwareElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataObjectReference"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataObjectRef" ordered="false"

+        lowerBound="1" eType="#//DataObject" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="dataObjectRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataOutput" eSuperTypes="#//ItemAwareElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataOutput"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetWithOptional"

+        ordered="false" upperBound="-1" eType="#//OutputSet" transient="true" derived="true"

+        eOpposite="#//OutputSet/optionalOutputRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetWithWhileExecuting"

+        ordered="false" upperBound="-1" eType="#//OutputSet" transient="true" derived="true"

+        eOpposite="#//OutputSet/whileExecutingOutputRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetRefs" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//OutputSet" transient="true" derived="true"

+        eOpposite="#//OutputSet/dataOutputRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isCollection"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataOutputAssociation" eSuperTypes="#//DataAssociation">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataOutputAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataState" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataState"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataStore" eSuperTypes="#//ItemAwareElement #//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataStore"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="capacity"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnlimited" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isUnlimited"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DataStoreReference" eSuperTypes="#//FlowElement #//ItemAwareElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDataStoreReference"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataStoreRef" ordered="false"

+        eType="#//DataStore">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="dataStoreRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Definitions" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDefinitions"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="imports" ordered="false"

+        upperBound="-1" eType="#//Import" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="import"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensions" ordered="false"

+        upperBound="-1" eType="#//Extension" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="extension"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootElements" ordered="false"

+        upperBound="-1" eType="#//RootElement" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="rootElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#rootElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="diagrams" ordered="false"

+        upperBound="-1" eType="ecore:EClass BPMNDI.ecore#//BPMNDiagram" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNDiagram"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="relationships" ordered="false"

+        upperBound="-1" eType="#//Relationship" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="relationship"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="exporter" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="exporter"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="exporterVersion" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="exporterVersion"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expressionLanguage" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"

+        defaultValueLiteral="http://www.w3.org/1999/XPath">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="expressionLanguage"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetNamespace" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="targetNamespace"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeLanguage" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"

+        defaultValueLiteral="http://www.w3.org/2001/XMLSchema">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="typeLanguage"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Documentation" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tDocumentation"/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="textFormat" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"

+        defaultValueLiteral="text/plain">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="textFormat"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EndEvent" eSuperTypes="#//ThrowEvent">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEndEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EndPoint" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEndPoint"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tError"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="errorCode" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="errorCode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="structureRef" ordered="false"

+        eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="structureRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ErrorEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tErrorEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="errorRef" ordered="false"

+        eType="#//Error">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="errorRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Escalation">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEscalation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="escalationCode" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="escalationCode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="structureRef" ordered="false"

+        eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="structureRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EscalationEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEscalationEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="escalationRef" ordered="false"

+        eType="#//Escalation">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="escalationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//FlowNode #//InteractionNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"

+        upperBound="-1" eType="#//Property" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="property"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EventBasedGateway" eSuperTypes="#//Gateway">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEventBasedGateway"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventGatewayType" ordered="false"

+        lowerBound="1" eType="#//EventBasedGatewayType">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="eventGatewayType"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiate" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="instantiate"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="EventBasedGatewayType">

+    <eLiterals name="Parallel"/>

+    <eLiterals name="Exclusive" value="1"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="EventDefinition" abstract="true" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ExclusiveGateway" eSuperTypes="#//Gateway">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tExclusiveGateway"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"

+        eType="#//SequenceFlow" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="default"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tExpression"/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Extension">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tExtension"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="definition" ordered="false"

+        lowerBound="1" eType="#//ExtensionDefinition" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="definition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mustUnderstand" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="mustUnderstand"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ExtensionAttributeDefinition">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReference" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionDefinition" ordered="false"

+        lowerBound="1" eType="#//ExtensionDefinition" transient="true" derived="true"

+        resolveProxies="false" eOpposite="#//ExtensionDefinition/extensionAttributeDefinitions"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ExtensionAttributeValue">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="valueRef" ordered="false"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" transient="true"

+        derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" transient="true"

+        derived="true" containment="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionAttributeDefinition"

+        ordered="false" lowerBound="1" eType="#//ExtensionAttributeDefinition" transient="true"

+        derived="true"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ExtensionDefinition">

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="extensionAttributeDefinitions"

+        ordered="false" upperBound="-1" eType="#//ExtensionAttributeDefinition" transient="true"

+        derived="true" containment="true" resolveProxies="false" eOpposite="#//ExtensionAttributeDefinition/extensionDefinition"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="FlowElement" abstract="true" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tFlowElement"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="auditing" ordered="false"

+        eType="#//Auditing" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="auditing"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoring" ordered="false"

+        eType="#//Monitoring" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="monitoring"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="categoryValueRef" ordered="false"

+        upperBound="-1" eType="#//CategoryValue" resolveProxies="false" eOpposite="#//CategoryValue/categorizedFlowElements">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="categoryValueRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="FlowElementsContainer" abstract="true"

+      eSuperTypes="#//BaseElement">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="laneSets" ordered="false"

+        upperBound="-1" eType="#//LaneSet" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="laneSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="flowElements" ordered="false"

+        upperBound="-1" eType="#//FlowElement" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="flowElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#flowElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="FlowNode" abstract="true" eSuperTypes="#//FlowElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tFlowNode"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"

+        upperBound="-1" eType="#//SequenceFlow" eOpposite="#//SequenceFlow/targetRef">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="incoming"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="lanes" ordered="false"

+        upperBound="-1" eType="#//Lane" transient="true" derived="true" eOpposite="#//Lane/flowNodeRefs"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" upperBound="-1"

+        eType="#//SequenceFlow" eOpposite="#//SequenceFlow/sourceRef">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outgoing"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="FormalExpression" eSuperTypes="#//Expression">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tFormalExpression"/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="body" ordered="false" lowerBound="1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" transient="true"

+        derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="evaluatesToTypeRef" ordered="false"

+        lowerBound="1" eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="evaluatesToTypeRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="language"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Gateway" abstract="true" eSuperTypes="#//FlowNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGateway"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="gatewayDirection" ordered="false"

+        lowerBound="1" eType="#//GatewayDirection" defaultValueLiteral="unspecified">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="gatewayDirection"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="GatewayDirection">

+    <eLiterals name="Unspecified"/>

+    <eLiterals name="Converging" value="1"/>

+    <eLiterals name="Diverging" value="2"/>

+    <eLiterals name="Mixed" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalBusinessRuleTask" eSuperTypes="#//GlobalTask">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalBusinessRuleTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalChoreographyTask" eSuperTypes="#//Choreography">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalChoreographyTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="initiatingParticipantRef"

+        ordered="false" lowerBound="1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="initiatingParticipantRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalConversation" eSuperTypes="#//Collaboration">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalConversation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalManualTask" eSuperTypes="#//GlobalTask">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalManualTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalScriptTask" eSuperTypes="#//GlobalTask">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalScriptTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="script" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="script"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="scriptLanguage" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="scriptLanguage"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalTask" eSuperTypes="#//CallableElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"

+        upperBound="-1" eType="#//ResourceRole" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceRole"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#resourceRole"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="GlobalUserTask" eSuperTypes="#//GlobalTask">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGlobalUserTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="renderings" ordered="false"

+        upperBound="-1" eType="#//Rendering" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="rendering"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//Artifact">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tGroup"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="categoryValueRef" ordered="false"

+        eType="#//CategoryValue">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="categoryValueRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="HumanPerformer" eSuperTypes="#//Performer">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tHumanPerformer"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ImplicitThrowEvent" eSuperTypes="#//ThrowEvent">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tImplicitThrowEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Import">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tImport"/>

+      <details key="kind" value="empty"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="importType" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="importType"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="location"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="namespace"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InclusiveGateway" eSuperTypes="#//Gateway">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tInclusiveGateway"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"

+        eType="#//SequenceFlow" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="default"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InputOutputBinding">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tInputOutputBinding"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputDataRef" ordered="false"

+        lowerBound="1" eType="#//InputSet" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="inputDataRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"

+        lowerBound="1" eType="#//Operation">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="operationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputDataRef" ordered="false"

+        lowerBound="1" eType="#//OutputSet" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="outputDataRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InputOutputSpecification" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tInputOutputSpecification"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputs" ordered="false"

+        upperBound="-1" eType="#//DataInput" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInput"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputs" ordered="false"

+        upperBound="-1" eType="#//DataOutput" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutput"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSets" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//InputSet" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inputSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSets" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//OutputSet" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outputSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InputSet" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tInputSet"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputRefs" ordered="false"

+        upperBound="-1" eType="#//DataInput" resolveProxies="false" eOpposite="#//DataInput/inputSetRefs">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInputRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="optionalInputRefs" ordered="false"

+        upperBound="-1" eType="#//DataInput" resolveProxies="false" eOpposite="#//DataInput/inputSetWithOptional">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="optionalInputRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="whileExecutingInputRefs"

+        ordered="false" upperBound="-1" eType="#//DataInput" resolveProxies="false"

+        eOpposite="#//DataInput/inputSetWithWhileExecuting">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="whileExecutingInputRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetRefs" ordered="false"

+        upperBound="-1" eType="#//OutputSet" resolveProxies="false" eOpposite="#//OutputSet/inputSetRefs">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outputSetRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="InteractionNode" abstract="true">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="incomingConversationLinks"

+        ordered="false" upperBound="-1" eType="#//ConversationLink" transient="true"

+        derived="true" resolveProxies="false" eOpposite="#//ConversationLink/targetRef"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingConversationLinks"

+        ordered="false" upperBound="-1" eType="#//ConversationLink" transient="true"

+        derived="true" eOpposite="#//ConversationLink/sourceRef"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tInterface"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operations" ordered="false"

+        lowerBound="1" upperBound="-1" eType="#//Operation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="operation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="implementationRef" ordered="false"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="IntermediateCatchEvent" eSuperTypes="#//CatchEvent">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tIntermediateCatchEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="IntermediateThrowEvent" eSuperTypes="#//ThrowEvent">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tIntermediateThrowEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ItemAwareElement" eSuperTypes="#//BaseElement">

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataState" ordered="false"

+        eType="#//DataState" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataState"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="itemSubjectRef" ordered="false"

+        eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="itemSubjectRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ItemDefinition" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tItemDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isCollection"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="import" ordered="false"

+        eType="#//Import" transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="itemKind" ordered="false"

+        lowerBound="1" eType="#//ItemKind">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="itemKind"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="structureRef" ordered="false"

+        lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="structureRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="ItemKind">

+    <eLiterals name="Physical"/>

+    <eLiterals name="Information" value="1"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Lane" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tLane"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="partitionElement" ordered="false"

+        eType="#//BaseElement" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="partitionElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="flowNodeRefs" ordered="false"

+        upperBound="-1" eType="#//FlowNode" resolveProxies="false" eOpposite="#//FlowNode/lanes">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="flowNodeRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="childLaneSet" ordered="false"

+        eType="#//LaneSet" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="childLaneSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="partitionElementRef" ordered="false"

+        eType="#//BaseElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="partitionElementRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="LaneSet" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tLaneSet"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="lanes" ordered="false"

+        upperBound="-1" eType="#//Lane" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="lane"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="LinkEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tLinkEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"

+        upperBound="-1" eType="#//LinkEventDefinition" eOpposite="#//LinkEventDefinition/target">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="source"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"

+        eType="#//LinkEventDefinition" eOpposite="#//LinkEventDefinition/source">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="target"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="LoopCharacteristics" abstract="true"

+      eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tLoopCharacteristics"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ManualTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tManualTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Message" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tMessage"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="itemRef" ordered="false"

+        eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="itemRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MessageEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tMessageEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"

+        eType="#//Operation">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="operationRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"

+        eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="messageRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MessageFlow" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tMessageFlow"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"

+        eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="messageRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"

+        lowerBound="1" eType="#//InteractionNode">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="sourceRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"

+        lowerBound="1" eType="#//InteractionNode">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="targetRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MessageFlowAssociation" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tMessageFlowAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="innerMessageFlowRef" ordered="false"

+        lowerBound="1" eType="#//MessageFlow">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="innerMessageFlowRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outerMessageFlowRef" ordered="false"

+        lowerBound="1" eType="#//MessageFlow">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="outerMessageFlowRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Monitoring" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tMonitoring"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="MultiInstanceBehavior">

+    <eLiterals name="None"/>

+    <eLiterals name="One" value="1"/>

+    <eLiterals name="All" value="2"/>

+    <eLiterals name="Complex" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="MultiInstanceLoopCharacteristics" eSuperTypes="#//LoopCharacteristics">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tMultiInstanceLoopCharacteristics"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopCardinality" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="loopCardinality"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopDataInputRef" ordered="false"

+        eType="#//ItemAwareElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="loopDataInputRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopDataOutputRef" ordered="false"

+        eType="#//ItemAwareElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="loopDataOutputRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputDataItem" ordered="false"

+        eType="#//DataInput" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inputDataItem"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outputDataItem" ordered="false"

+        eType="#//DataOutput" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outputDataItem"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="complexBehaviorDefinition"

+        ordered="false" upperBound="-1" eType="#//ComplexBehaviorDefinition" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="complexBehaviorDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="completionCondition" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="completionCondition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="behavior" ordered="false"

+        lowerBound="1" eType="#//MultiInstanceBehavior" defaultValueLiteral="All">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="behavior"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSequential" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isSequential"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="noneBehaviorEventRef" ordered="false"

+        eType="#//EventDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="noneBehaviorEventRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="oneBehaviorEventRef" ordered="false"

+        eType="#//EventDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="oneBehaviorEventRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tOperation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inMessageRef" ordered="false"

+        lowerBound="1" eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inMessageRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outMessageRef" ordered="false"

+        eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outMessageRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="errorRefs" ordered="false"

+        upperBound="-1" eType="#//Error">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="errorRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="implementationRef" ordered="false"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="OutputSet" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tOutputSet"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputRefs" ordered="false"

+        upperBound="-1" eType="#//DataOutput" resolveProxies="false" eOpposite="#//DataOutput/outputSetRefs">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataOutputRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="optionalOutputRefs" ordered="false"

+        upperBound="-1" eType="#//DataOutput" resolveProxies="false" eOpposite="#//DataOutput/outputSetWithOptional">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="optionalOutputRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="whileExecutingOutputRefs"

+        ordered="false" upperBound="-1" eType="#//DataOutput" resolveProxies="false"

+        eOpposite="#//DataOutput/outputSetWithWhileExecuting">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="whileExecutingOutputRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetRefs" ordered="false"

+        upperBound="-1" eType="#//InputSet" resolveProxies="false" eOpposite="#//InputSet/outputSetRefs">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inputSetRefs"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ParallelGateway" eSuperTypes="#//Gateway">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tParallelGateway"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Participant" eSuperTypes="#//BaseElement #//InteractionNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tParticipant"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRefs" ordered="false"

+        upperBound="-1" eType="#//Interface">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="interfaceRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="endPointRefs" ordered="false"

+        upperBound="-1" eType="#//EndPoint">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="endPointRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantMultiplicity"

+        ordered="false" eType="#//ParticipantMultiplicity" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantMultiplicity"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="processRef" ordered="false"

+        eType="#//Process">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="processRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ParticipantAssociation" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tParticipantAssociation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="innerParticipantRef" ordered="false"

+        lowerBound="1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="innerParticipantRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="outerParticipantRef" ordered="false"

+        lowerBound="1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="outerParticipantRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ParticipantMultiplicity">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tParticipantMultiplicity"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="maximum"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"

+        defaultValueLiteral="0">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="minimum"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="PartnerEntity" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tPartnerEntity"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantRef" ordered="false"

+        upperBound="-1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="PartnerRole" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tPartnerRole"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="participantRef" ordered="false"

+        upperBound="-1" eType="#//Participant">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="participantRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Performer" eSuperTypes="#//ResourceRole">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tPerformer"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="PotentialOwner" eSuperTypes="#//HumanPerformer">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tPotentialOwner"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Process" eSuperTypes="#//CallableElement #//FlowElementsContainer">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tProcess"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="auditing" ordered="false"

+        eType="#//Auditing" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="auditing"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="monitoring" ordered="false"

+        eType="#//Monitoring" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="monitoring"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"

+        upperBound="-1" eType="#//Property" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="property"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="artifacts" ordered="false"

+        upperBound="-1" eType="#//Artifact" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="artifact"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"

+        upperBound="-1" eType="#//ResourceRole" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceRole"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#resourceRole"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="correlationSubscriptions"

+        ordered="false" upperBound="-1" eType="#//CorrelationSubscription" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="correlationSubscription"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="supports" ordered="false"

+        upperBound="-1" eType="#//Process">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="supports"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="definitionalCollaborationRef"

+        ordered="false" eType="#//Collaboration">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="definitionalCollaborationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isClosed" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isClosed"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExecutable" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isExecutable"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="processType" ordered="false"

+        lowerBound="1" eType="#//ProcessType">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="processType"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="ProcessType">

+    <eLiterals name="None"/>

+    <eLiterals name="Public" value="1"/>

+    <eLiterals name="Private" value="2"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//ItemAwareElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tProperty"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ReceiveTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tReceiveTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiate" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="instantiate"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"

+        eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="messageRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"

+        eType="#//Operation">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="operationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Relationship" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tRelationship"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sources" ordered="false"

+        lowerBound="1" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="source"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targets" ordered="false"

+        lowerBound="1" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="target"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"

+        lowerBound="1" eType="#//RelationshipDirection">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="direction"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="type"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="RelationshipDirection">

+    <eLiterals name="None"/>

+    <eLiterals name="Forward" value="1"/>

+    <eLiterals name="Backward" value="2"/>

+    <eLiterals name="Both" value="3"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Rendering" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tRendering"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Resource" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tResource"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceParameters" ordered="false"

+        upperBound="-1" eType="#//ResourceParameter" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceParameter"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ResourceAssignmentExpression">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tResourceAssignmentExpression"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" ordered="false"

+        lowerBound="1" eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="expression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#expression"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ResourceParameter" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tResourceParameter"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isRequired"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="type"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ResourceParameterBinding">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tResourceParameterBinding"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="expression" ordered="false"

+        lowerBound="1" eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="expression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#expression"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterRef" ordered="false"

+        lowerBound="1" eType="#//ResourceParameter">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="parameterRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ResourceRole" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tResourceRole"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRef" ordered="false"

+        eType="#//Resource">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceParameterBindings"

+        ordered="false" upperBound="-1" eType="#//ResourceParameterBinding" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceParameterBinding"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="resourceAssignmentExpression"

+        ordered="false" eType="#//ResourceAssignmentExpression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="resourceAssignmentExpression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="RootElement" abstract="true" eSuperTypes="#//BaseElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tRootElement"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ScriptTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tScriptTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="script" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="script"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="scriptFormat" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="scriptFormat"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SendTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSendTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"

+        eType="#//Message">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="messageRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"

+        eType="#//Operation">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="operationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SequenceFlow" eSuperTypes="#//FlowElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSequenceFlow"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conditionExpression" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conditionExpression"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isImmediate" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isImmediate"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"

+        lowerBound="1" eType="#//FlowNode" resolveProxies="false" eOpposite="#//FlowNode/outgoing">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="sourceRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"

+        lowerBound="1" eType="#//FlowNode" resolveProxies="false" eOpposite="#//FlowNode/incoming">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="targetRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ServiceTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tServiceTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"

+        eType="#//Operation">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="operationRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//RootElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSignal"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="structureRef" ordered="false"

+        eType="#//ItemDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="structureRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SignalEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSignalEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="signalRef" ordered="false"

+        eType="#//Signal">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="signalRef"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="StandardLoopCharacteristics" eSuperTypes="#//LoopCharacteristics">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tStandardLoopCharacteristics"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopCondition" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="loopCondition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="loopMaximum" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="loopMaximum"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="testBefore" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="testBefore"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="StartEvent" eSuperTypes="#//CatchEvent">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tStartEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInterrupting" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isInterrupting"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SubChoreography" eSuperTypes="#//ChoreographyActivity #//FlowElementsContainer">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSubChoreography"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="artifacts" ordered="false"

+        upperBound="-1" eType="#//Artifact" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="artifact"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SubConversation" eSuperTypes="#//ConversationNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSubConversation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="conversationNodes" ordered="false"

+        upperBound="-1" eType="#//ConversationNode" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="conversationNode"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#conversationNode"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="SubProcess" eSuperTypes="#//Activity #//FlowElementsContainer">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tSubProcess"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="artifacts" ordered="false"

+        upperBound="-1" eType="#//Artifact" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="artifact"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#artifact"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="triggeredByEvent" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"

+        defaultValueLiteral="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="triggeredByEvent"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Task" eSuperTypes="#//Activity #//InteractionNode">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="TerminateEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tTerminateEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="TextAnnotation" eSuperTypes="#//Artifact">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tTextAnnotation"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="text"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="textFormat" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"

+        defaultValueLiteral="text/plain">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="textFormat"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="ThrowEvent" abstract="true" eSuperTypes="#//Event">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tThrowEvent"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputs" ordered="false"

+        upperBound="-1" eType="#//DataInput" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInput"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputAssociation" ordered="false"

+        upperBound="-1" eType="#//DataInputAssociation" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="dataInputAssociation"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputSet" ordered="false"

+        eType="#//InputSet" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="inputSet"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventDefinitions" ordered="false"

+        upperBound="-1" eType="#//EventDefinition" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="eventDefinition"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+        <details key="group" value="http://www.omg.org/spec/BPMN/20100524/MODEL#eventDefinition"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="eventDefinitionRefs" ordered="false"

+        upperBound="-1" eType="#//EventDefinition">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="eventDefinitionRef"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="TimerEventDefinition" eSuperTypes="#//EventDefinition">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tTimerEventDefinition"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="timeDate" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="timeDate"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="timeDuration" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="timeDuration"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="timeCycle" ordered="false"

+        eType="#//Expression" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="timeCycle"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Transaction" eSuperTypes="#//SubProcess">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tTransaction"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="method" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="method"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="UserTask" eSuperTypes="#//Task">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="tUserTask"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="renderings" ordered="false"

+        upperBound="-1" eType="#//Rendering" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="rendering"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/MODEL"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="implementation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+</ecore:EPackage>

diff --git a/org.eclipse.bpmn2.ecore/model/BPMN20.genmodel b/org.eclipse.bpmn2.ecore/model/BPMN20.genmodel
new file mode 100644
index 0000000..f94c39b
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/model/BPMN20.genmodel
@@ -0,0 +1,911 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<genmodel:GenModel xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"

+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="&lt;copyright>&#xD;&#xA;&#xD;&#xA;Copyright (c) 2010 SAP AG.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;   Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation&#xD;&#xA;&#xD;&#xA;&lt;/copyright>"

+    modelDirectory="/bpem.metamodels__org.eclipse.bpmn2.ecore_EMFMig_dev/api" modelPluginID="org.eclipse.bpmn2.ecore"

+    modelName="bpmn2" modelPluginClass="" importerID="org.eclipse.emf.importer.ecore"

+    complianceLevel="6.0" copyrightFields="false" language="en">

+  <foreignModel>BPMN20.ecore</foreignModel>

+  <genPackages prefix="BPMN20" basePackage="org.eclipse.bpmn2.ecore" resource="XML"

+      disposableProviderFactory="true" loadInitialization="true" literalsInterface="false"

+      ecorePackage="BPMN20.ecore#/">

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//AdHocOrdering">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//AdHocOrdering/Parallel"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//AdHocOrdering/Sequential"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//AssociationDirection">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//AssociationDirection/None"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//AssociationDirection/One"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//AssociationDirection/Both"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//ChoreographyLoopType">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ChoreographyLoopType/None"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ChoreographyLoopType/Standard"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ChoreographyLoopType/MultiInstanceSequential"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ChoreographyLoopType/MultiInstanceParallel"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//EventBasedGatewayType">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//EventBasedGatewayType/Parallel"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//EventBasedGatewayType/Exclusive"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//GatewayDirection">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//GatewayDirection/Unspecified"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//GatewayDirection/Converging"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//GatewayDirection/Diverging"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//GatewayDirection/Mixed"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//ItemKind">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ItemKind/Physical"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ItemKind/Information"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//MultiInstanceBehavior">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//MultiInstanceBehavior/None"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//MultiInstanceBehavior/One"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//MultiInstanceBehavior/All"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//MultiInstanceBehavior/Complex"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//ProcessType">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ProcessType/None"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ProcessType/Public"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//ProcessType/Private"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMN20.ecore#//RelationshipDirection">

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//RelationshipDirection/None"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//RelationshipDirection/Forward"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//RelationshipDirection/Backward"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMN20.ecore#//RelationshipDirection/Both"/>

+    </genEnums>

+    <genClasses ecoreClass="BPMN20.ecore#//DocumentRoot">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DocumentRoot/mixed"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/xMLNSPrefixMap"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/xSISchemaLocation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/activity"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/adHocSubProcess"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/flowElement"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/artifact"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/assignment"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/association"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/auditing"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/baseElement"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/baseElementWithMixedContent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/boundaryEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/businessRuleTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/callableElement"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/callActivity"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/callChoreography"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/callConversation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/conversationNode"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/cancelEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/eventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/rootElement"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/catchEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/category"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/categoryValue"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/choreography"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/collaboration"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/choreographyActivity"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/choreographyTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/compensateEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/complexBehaviorDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/complexGateway"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/conditionalEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/conversation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/conversationAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/conversationLink"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/correlationKey"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/correlationProperty"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/correlationPropertyBinding"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/correlationPropertyRetrievalExpression"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/correlationSubscription"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataInput"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataInputAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataObject"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataObjectReference"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataOutput"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataOutputAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataState"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataStore"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/dataStoreReference"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/definitions"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/documentation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/endEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/endPoint"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/error"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/errorEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/escalation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/escalationEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/event"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/eventBasedGateway"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/exclusiveGateway"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/expression"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/extension"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/extensionElements"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/flowNode"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/formalExpression"/>

+      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/gateway"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalBusinessRuleTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalChoreographyTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalConversation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalManualTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalScriptTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/globalUserTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/group"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/humanPerformer"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/performer"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/resourceRole"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/implicitThrowEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/import"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/inclusiveGateway"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/inputSet"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/interface"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/intermediateCatchEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/intermediateThrowEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/ioBinding"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/ioSpecification"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/itemDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/lane"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/laneSet"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/linkEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/loopCharacteristics"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/manualTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/message"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/messageEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/messageFlow"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/messageFlowAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/monitoring"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/multiInstanceLoopCharacteristics"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/operation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/outputSet"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/parallelGateway"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/participant"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/participantAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/participantMultiplicity"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/partnerEntity"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/partnerRole"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/potentialOwner"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/process"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/property"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/receiveTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/relationship"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/rendering"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/resource"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/resourceAssignmentExpression"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/resourceParameter"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/resourceParameterBinding"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/script"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/scriptTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/sendTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/sequenceFlow"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/serviceTask"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/signal"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/signalEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/standardLoopCharacteristics"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/startEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/subChoreography"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/subConversation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/subProcess"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/task"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/terminateEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/text"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/textAnnotation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/throwEvent"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/timerEventDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/transaction"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DocumentRoot/userTask"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//Activity">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/ioSpecification"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/boundaryEventRefs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/properties"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/dataInputAssociations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/dataOutputAssociations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/resources"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/loopCharacteristics"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Activity/completionQuantity"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Activity/default"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Activity/isForCompensation"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Activity/startQuantity"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//AdHocSubProcess">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//AdHocSubProcess/completionCondition"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//AdHocSubProcess/cancelRemainingInstances"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//AdHocSubProcess/ordering"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//Artifact"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Assignment">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Assignment/from"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Assignment/to"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Association">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Association/associationDirection"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Association/sourceRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Association/targetRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Auditing"/>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//BaseElement">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//BaseElement/extensionValues"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//BaseElement/documentation"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//BaseElement/extensionDefinitions"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//BaseElement/id"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//BoundaryEvent">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//BoundaryEvent/attachedToRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//BoundaryEvent/cancelActivity"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//BusinessRuleTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//BusinessRuleTask/implementation"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CallActivity">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallActivity/calledElementRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CallChoreography">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallChoreography/participantAssociations"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallChoreography/calledChoreographyRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CallConversation">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallConversation/participantAssociations"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallConversation/calledCollaborationRef"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//CallableElement">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallableElement/supportedInterfaceRefs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallableElement/ioSpecification"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CallableElement/ioBinding"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//CallableElement/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CancelEventDefinition"/>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//CatchEvent">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CatchEvent/dataOutputs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CatchEvent/dataOutputAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CatchEvent/outputSet"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CatchEvent/eventDefinitions"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CatchEvent/eventDefinitionRefs"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//CatchEvent/parallelMultiple"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Category">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Category/categoryValue"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Category/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CategoryValue">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//CategoryValue/value"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CategoryValue/categorizedFlowElements"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Choreography"/>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//ChoreographyActivity">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ChoreographyActivity/participantRefs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ChoreographyActivity/correlationKeys"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ChoreographyActivity/initiatingParticipantRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ChoreographyActivity/loopType"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ChoreographyTask">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ChoreographyTask/messageFlowRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Collaboration">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/participants"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/messageFlows"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/artifacts"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/conversations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/conversationAssociations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/participantAssociations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/messageFlowAssociations"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/correlationKeys"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/choreographyRef"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Collaboration/conversationLinks"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Collaboration/isClosed"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Collaboration/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CompensateEventDefinition">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CompensateEventDefinition/activityRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//CompensateEventDefinition/waitForCompletion"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ComplexBehaviorDefinition">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ComplexBehaviorDefinition/condition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ComplexBehaviorDefinition/event"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ComplexGateway">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ComplexGateway/activationCondition"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ComplexGateway/default"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ConditionalEventDefinition">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConditionalEventDefinition/condition"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Conversation"/>

+    <genClasses ecoreClass="BPMN20.ecore#//ConversationAssociation">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationAssociation/innerConversationNodeRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationAssociation/outerConversationNodeRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ConversationLink">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ConversationLink/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationLink/sourceRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationLink/targetRef"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//ConversationNode">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationNode/participantRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationNode/messageFlowRefs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ConversationNode/correlationKeys"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ConversationNode/name"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//CorrelationKey">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationKey/correlationPropertyRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//CorrelationKey/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CorrelationProperty">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationProperty/correlationPropertyRetrievalExpression"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//CorrelationProperty/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationProperty/type"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CorrelationPropertyBinding">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationPropertyBinding/dataPath"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationPropertyBinding/correlationPropertyRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CorrelationPropertyRetrievalExpression">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationPropertyRetrievalExpression/messagePath"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationPropertyRetrievalExpression/messageRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//CorrelationSubscription">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationSubscription/correlationPropertyBinding"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//CorrelationSubscription/correlationKeyRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataAssociation">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataAssociation/sourceRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataAssociation/targetRef"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataAssociation/transformation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataAssociation/assignment"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataInput">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataInput/inputSetWithOptional"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataInput/inputSetWithWhileExecuting"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataInput/inputSetRefs"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataInput/isCollection"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataInput/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataInputAssociation"/>

+    <genClasses ecoreClass="BPMN20.ecore#//DataObject">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataObject/isCollection"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataObjectReference">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataObjectReference/dataObjectRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataOutput">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataOutput/outputSetWithOptional"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataOutput/outputSetWithWhileExecuting"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataOutput/outputSetRefs"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataOutput/isCollection"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataOutput/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataOutputAssociation"/>

+    <genClasses ecoreClass="BPMN20.ecore#//DataState">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataState/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataStore">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataStore/capacity"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataStore/isUnlimited"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//DataStore/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//DataStoreReference">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//DataStoreReference/dataStoreRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Definitions">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Definitions/imports"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Definitions/extensions"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Definitions/rootElements"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Definitions/diagrams"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Definitions/relationships"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Definitions/exporter"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Definitions/exporterVersion"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Definitions/expressionLanguage"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Definitions/name"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Definitions/targetNamespace"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Definitions/typeLanguage"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Documentation">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Documentation/text"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Documentation/textFormat"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//EndEvent"/>

+    <genClasses ecoreClass="BPMN20.ecore#//EndPoint"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Error">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Error/errorCode"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Error/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Error/structureRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ErrorEventDefinition">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ErrorEventDefinition/errorRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Escalation">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Escalation/escalationCode"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Escalation/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Escalation/structureRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//EscalationEventDefinition">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//EscalationEventDefinition/escalationRef"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//Event">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Event/properties"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//EventBasedGateway">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//EventBasedGateway/eventGatewayType"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//EventBasedGateway/instantiate"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//EventDefinition"/>

+    <genClasses ecoreClass="BPMN20.ecore#//ExclusiveGateway">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ExclusiveGateway/default"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Expression"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Extension">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Extension/definition"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Extension/mustUnderstand"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ExtensionAttributeDefinition">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ExtensionAttributeDefinition/name"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ExtensionAttributeDefinition/type"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ExtensionAttributeDefinition/isReference"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//ExtensionAttributeDefinition/extensionDefinition"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ExtensionAttributeValue">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ExtensionAttributeValue/valueRef"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ExtensionAttributeValue/value"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ExtensionAttributeValue/extensionAttributeDefinition"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ExtensionDefinition">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ExtensionDefinition/name"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ExtensionDefinition/extensionAttributeDefinitions"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//FlowElement">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowElement/auditing"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowElement/monitoring"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowElement/categoryValueRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//FlowElement/name"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//FlowElementsContainer">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowElementsContainer/laneSets"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowElementsContainer/flowElements"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//FlowNode">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowNode/incoming"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowNode/lanes"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FlowNode/outgoing"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//FormalExpression">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FormalExpression/body"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//FormalExpression/evaluatesToTypeRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//FormalExpression/language"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//Gateway">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Gateway/gatewayDirection"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalBusinessRuleTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//GlobalBusinessRuleTask/implementation"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalChoreographyTask">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//GlobalChoreographyTask/initiatingParticipantRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalConversation"/>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalManualTask"/>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalScriptTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//GlobalScriptTask/script"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//GlobalScriptTask/scriptLanguage"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalTask">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//GlobalTask/resources"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//GlobalUserTask">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//GlobalUserTask/renderings"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//GlobalUserTask/implementation"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Group">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Group/categoryValueRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//HumanPerformer"/>

+    <genClasses ecoreClass="BPMN20.ecore#//ImplicitThrowEvent"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Import">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Import/importType"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Import/location"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Import/namespace"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//InclusiveGateway">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InclusiveGateway/default"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//InputOutputBinding">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputBinding/inputDataRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputBinding/operationRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputBinding/outputDataRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//InputOutputSpecification">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputSpecification/dataInputs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputSpecification/dataOutputs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputSpecification/inputSets"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputOutputSpecification/outputSets"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//InputSet">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputSet/dataInputRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputSet/optionalInputRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputSet/whileExecutingInputRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InputSet/outputSetRefs"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//InputSet/name"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//InteractionNode">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InteractionNode/incomingConversationLinks"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//InteractionNode/outgoingConversationLinks"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Interface">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Interface/operations"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Interface/implementationRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Interface/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//IntermediateCatchEvent"/>

+    <genClasses ecoreClass="BPMN20.ecore#//IntermediateThrowEvent"/>

+    <genClasses ecoreClass="BPMN20.ecore#//ItemAwareElement">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ItemAwareElement/dataState"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ItemAwareElement/itemSubjectRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ItemDefinition">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ItemDefinition/isCollection"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ItemDefinition/import"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ItemDefinition/itemKind"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ItemDefinition/structureRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Lane">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Lane/partitionElement"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Lane/flowNodeRefs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Lane/childLaneSet"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Lane/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Lane/partitionElementRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//LaneSet">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//LaneSet/lanes"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//LaneSet/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//LinkEventDefinition">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//LinkEventDefinition/source"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//LinkEventDefinition/target"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//LinkEventDefinition/name"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//LoopCharacteristics"/>

+    <genClasses ecoreClass="BPMN20.ecore#//ManualTask"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Message">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Message/itemRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Message/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//MessageEventDefinition">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageEventDefinition/operationRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageEventDefinition/messageRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//MessageFlow">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageFlow/messageRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//MessageFlow/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageFlow/sourceRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageFlow/targetRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//MessageFlowAssociation">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageFlowAssociation/innerMessageFlowRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MessageFlowAssociation/outerMessageFlowRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Monitoring"/>

+    <genClasses ecoreClass="BPMN20.ecore#//MultiInstanceLoopCharacteristics">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/loopCardinality"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/loopDataInputRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/loopDataOutputRef"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/inputDataItem"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/outputDataItem"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/complexBehaviorDefinition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/completionCondition"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//MultiInstanceLoopCharacteristics/behavior"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//MultiInstanceLoopCharacteristics/isSequential"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/noneBehaviorEventRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//MultiInstanceLoopCharacteristics/oneBehaviorEventRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Operation">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Operation/inMessageRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Operation/outMessageRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Operation/errorRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Operation/implementationRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Operation/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//OutputSet">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//OutputSet/dataOutputRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//OutputSet/optionalOutputRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//OutputSet/whileExecutingOutputRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//OutputSet/inputSetRefs"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//OutputSet/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ParallelGateway"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Participant">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Participant/interfaceRefs"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Participant/endPointRefs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Participant/participantMultiplicity"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Participant/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Participant/processRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ParticipantAssociation">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ParticipantAssociation/innerParticipantRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ParticipantAssociation/outerParticipantRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ParticipantMultiplicity">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ParticipantMultiplicity/maximum"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ParticipantMultiplicity/minimum"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//PartnerEntity">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//PartnerEntity/participantRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//PartnerEntity/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//PartnerRole">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//PartnerRole/participantRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//PartnerRole/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Performer"/>

+    <genClasses ecoreClass="BPMN20.ecore#//PotentialOwner"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Process">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/auditing"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/monitoring"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/properties"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/artifacts"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/resources"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/correlationSubscriptions"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/supports"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Process/definitionalCollaborationRef"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Process/isClosed"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Process/isExecutable"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Process/processType"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Property">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Property/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ReceiveTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ReceiveTask/implementation"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ReceiveTask/instantiate"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ReceiveTask/messageRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ReceiveTask/operationRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Relationship">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Relationship/sources"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Relationship/targets"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Relationship/direction"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Relationship/type"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Rendering"/>

+    <genClasses ecoreClass="BPMN20.ecore#//Resource">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Resource/resourceParameters"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Resource/name"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ResourceAssignmentExpression">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceAssignmentExpression/expression"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ResourceParameter">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ResourceParameter/isRequired"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ResourceParameter/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceParameter/type"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ResourceParameterBinding">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceParameterBinding/expression"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceParameterBinding/parameterRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ResourceRole">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceRole/resourceRef"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceRole/resourceParameterBindings"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ResourceRole/resourceAssignmentExpression"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ResourceRole/name"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//RootElement"/>

+    <genClasses ecoreClass="BPMN20.ecore#//ScriptTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ScriptTask/script"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ScriptTask/scriptFormat"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//SendTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//SendTask/implementation"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//SendTask/messageRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//SendTask/operationRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//SequenceFlow">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//SequenceFlow/conditionExpression"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//SequenceFlow/isImmediate"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//SequenceFlow/sourceRef"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//SequenceFlow/targetRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//ServiceTask">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//ServiceTask/implementation"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ServiceTask/operationRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Signal">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Signal/name"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//Signal/structureRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//SignalEventDefinition">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//SignalEventDefinition/signalRef"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//StandardLoopCharacteristics">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//StandardLoopCharacteristics/loopCondition"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//StandardLoopCharacteristics/loopMaximum"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//StandardLoopCharacteristics/testBefore"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//StartEvent">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//StartEvent/isInterrupting"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//SubChoreography">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//SubChoreography/artifacts"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//SubConversation">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//SubConversation/conversationNodes"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//SubProcess">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMN20.ecore#//SubProcess/artifacts"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//SubProcess/triggeredByEvent"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Task"/>

+    <genClasses ecoreClass="BPMN20.ecore#//TerminateEventDefinition"/>

+    <genClasses ecoreClass="BPMN20.ecore#//TextAnnotation">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//TextAnnotation/text"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//TextAnnotation/textFormat"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMN20.ecore#//ThrowEvent">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ThrowEvent/dataInputs"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ThrowEvent/dataInputAssociation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ThrowEvent/inputSet"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ThrowEvent/eventDefinitions"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMN20.ecore#//ThrowEvent/eventDefinitionRefs"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//TimerEventDefinition">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//TimerEventDefinition/timeDate"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//TimerEventDefinition/timeDuration"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//TimerEventDefinition/timeCycle"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//Transaction">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Transaction/protocol"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//Transaction/method"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMN20.ecore#//UserTask">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMN20.ecore#//UserTask/renderings"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMN20.ecore#//UserTask/implementation"/>

+    </genClasses>

+  </genPackages>

+  <genPackages prefix="BPMNDI" basePackage="org.eclipse.bpmn2.ecore" ecorePackage="BPMNDI.ecore#/">

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMNDI.ecore#//MessageVisibleKind">

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//MessageVisibleKind/initiating"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//MessageVisibleKind/non_initiating"/>

+    </genEnums>

+    <genEnums typeSafeEnumCompatible="false" ecoreEnum="BPMNDI.ecore#//ParticipantBandKind">

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//ParticipantBandKind/top_initiating"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//ParticipantBandKind/middle_initiating"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//ParticipantBandKind/bottom_initiating"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//ParticipantBandKind/top_non_initiating"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//ParticipantBandKind/middle_non_initiating"/>

+      <genEnumLiterals ecoreEnumLiteral="BPMNDI.ecore#//ParticipantBandKind/bottom_non_initiating"/>

+    </genEnums>

+    <genClasses ecoreClass="BPMNDI.ecore#//DocumentRoot">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//DocumentRoot/mixed"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/xMLNSPrefixMap"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/xSISchemaLocation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/bPMNDiagram"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/bPMNEdge"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/bPMNLabel"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/bPMNLabelStyle"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/bPMNPlane"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//DocumentRoot/bPMNShape"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMNDI.ecore#//BPMNDiagram">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNDiagram/plane"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNDiagram/labelStyle"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="BPMNDI.ecore#//BPMNEdge">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNEdge/label"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNEdge/bpmnElement"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//BPMNEdge/messageVisibleKind"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNEdge/sourceElement"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNEdge/targetElement"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMNDI.ecore#//BPMNLabel">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNLabel/labelStyle"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMNDI.ecore#//BPMNLabelStyle">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNLabelStyle/font"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMNDI.ecore#//BPMNPlane">

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNPlane/bpmnElement"/>

+    </genClasses>

+    <genClasses ecoreClass="BPMNDI.ecore#//BPMNShape">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNShape/label"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNShape/bpmnElement"/>

+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference BPMNDI.ecore#//BPMNShape/choreographyActivityShape"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//BPMNShape/isExpanded"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//BPMNShape/isHorizontal"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//BPMNShape/isMarkerVisible"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//BPMNShape/isMessageVisible"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute BPMNDI.ecore#//BPMNShape/participantBandKind"/>

+    </genClasses>

+  </genPackages>

+  <genPackages prefix="DI" basePackage="org.eclipse.bpmn2.ecore" resource="XML" disposableProviderFactory="true"

+      ecorePackage="DI.ecore#/">

+    <genClasses ecoreClass="DI.ecore#//DocumentRoot">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//DocumentRoot/mixed"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/xMLNSPrefixMap"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/xSISchemaLocation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/diagramElement"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/diagram"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/edge"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/label"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/labeledEdge"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/labeledShape"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/node"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/plane"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/shape"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//DocumentRoot/style"/>

+    </genClasses>

+    <genClasses ecoreClass="DI.ecore#//Diagram">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//Diagram/documentation"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//Diagram/ownedStyle"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//Diagram/rootElement"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//Diagram/id"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//Diagram/name"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//Diagram/resolution"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="DI.ecore#//DiagramElement">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DiagramElement/owningDiagram"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DiagramElement/owningElement"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DiagramElement/ownedElement"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DiagramElement/modelElement"/>

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//DiagramElement/style"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//DiagramElement/id"/>

+    </genClasses>

+    <genClasses ecoreClass="DI.ecore#//Edge">

+      <genFeatures createChild="false" ecoreFeature="ecore:EReference DI.ecore#//Edge/source"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EReference DI.ecore#//Edge/target"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//Edge/waypoint"/>

+    </genClasses>

+    <genClasses ecoreClass="DI.ecore#//Label">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//Label/bounds"/>

+    </genClasses>

+    <genClasses ecoreClass="DI.ecore#//LabeledEdge">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//LabeledEdge/ownedLabel"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="DI.ecore#//LabeledShape">

+      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DI.ecore#//LabeledShape/ownedLabel"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="DI.ecore#//Node"/>

+    <genClasses ecoreClass="DI.ecore#//Plane">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//Plane/planeElement"/>

+      <genOperations ecoreOperation="DI.ecore#//Plane/plane_element_type">

+        <genParameters ecoreParameter="DI.ecore#//Plane/plane_element_type/diagnostics"/>

+        <genParameters ecoreParameter="DI.ecore#//Plane/plane_element_type/context"/>

+      </genOperations>

+    </genClasses>

+    <genClasses ecoreClass="DI.ecore#//Shape">

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DI.ecore#//Shape/bounds"/>

+    </genClasses>

+    <genClasses image="false" ecoreClass="DI.ecore#//Style">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DI.ecore#//Style/id"/>

+    </genClasses>

+  </genPackages>

+  <genPackages prefix="DC" basePackage="org.eclipse.bpmn2.ecore" ecorePackage="DC.ecore#/">

+    <genClasses ecoreClass="DC.ecore#//DocumentRoot">

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//DocumentRoot/mixed"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference DC.ecore#//DocumentRoot/xMLNSPrefixMap"/>

+      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference DC.ecore#//DocumentRoot/xSISchemaLocation"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DC.ecore#//DocumentRoot/bounds"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DC.ecore#//DocumentRoot/font"/>

+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DC.ecore#//DocumentRoot/point"/>

+    </genClasses>

+    <genClasses ecoreClass="DC.ecore#//Bounds">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Bounds/height"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Bounds/width"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Bounds/x"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Bounds/y"/>

+    </genClasses>

+    <genClasses ecoreClass="DC.ecore#//Font">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Font/isBold"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Font/isItalic"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Font/isStrikeThrough"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Font/isUnderline"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Font/name"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Font/size"/>

+      <genOperations ecoreOperation="DC.ecore#//Font/non_negative_size">

+        <genParameters ecoreParameter="DC.ecore#//Font/non_negative_size/diagnostics"/>

+        <genParameters ecoreParameter="DC.ecore#//Font/non_negative_size/context"/>

+      </genOperations>

+    </genClasses>

+    <genClasses ecoreClass="DC.ecore#//Point">

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Point/x"/>

+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DC.ecore#//Point/y"/>

+    </genClasses>

+  </genPackages>

+</genmodel:GenModel>

diff --git a/org.eclipse.bpmn2.ecore/model/BPMNDI.ecore b/org.eclipse.bpmn2.ecore/model/BPMNDI.ecore
new file mode 100644
index 0000000..4af2e72
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/model/BPMNDI.ecore
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ecore:EPackage xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="BPMNDI"

+    nsURI="http://www.omg.org/spec/BPMN/20100524/DI-XMI" nsPrefix="bpmndi">

+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value=""/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="elementWildcard"/>

+        <details key="name" value=":mixed"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xmlns:prefix"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xsi:schemaLocation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bPMNDiagram" upperBound="-2"

+        eType="#//BPMNDiagram" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNDiagram"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bPMNEdge" upperBound="-2"

+        eType="#//BPMNEdge" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNEdge"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+        <details key="affiliation" value="http://www.omg.org/spec/DD/20100524/DI#DiagramElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bPMNLabel" upperBound="-2"

+        eType="#//BPMNLabel" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNLabel"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bPMNLabelStyle" upperBound="-2"

+        eType="#//BPMNLabelStyle" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNLabelStyle"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bPMNPlane" upperBound="-2"

+        eType="#//BPMNPlane" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNPlane"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bPMNShape" upperBound="-2"

+        eType="#//BPMNShape" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNShape"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+        <details key="affiliation" value="http://www.omg.org/spec/DD/20100524/DI#DiagramElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BPMNDiagram" eSuperTypes="DI.ecore#//Diagram">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="BPMNDiagram"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="plane" ordered="false"

+        lowerBound="1" eType="#//BPMNPlane" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNPlane"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="labelStyle" ordered="false"

+        upperBound="-1" eType="#//BPMNLabelStyle" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNLabelStyle"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BPMNEdge" eSuperTypes="DI.ecore#//LabeledEdge">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="BPMNEdge"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="label" ordered="false"

+        eType="#//BPMNLabel" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNLabel"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bpmnElement" ordered="false"

+        eType="ecore:EClass BPMN20.ecore#//BaseElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="bpmnElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageVisibleKind" ordered="false"

+        eType="#//MessageVisibleKind">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="messageVisibleKind"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="sourceElement" ordered="false"

+        eType="ecore:EClass DI.ecore#//DiagramElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="sourceElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="targetElement" ordered="false"

+        eType="ecore:EClass DI.ecore#//DiagramElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="targetElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BPMNLabel" eSuperTypes="DI.ecore#//Label">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="BPMNLabel"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="labelStyle" ordered="false"

+        eType="#//BPMNLabelStyle">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="labelStyle"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BPMNLabelStyle" eSuperTypes="DI.ecore#//Style">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="BPMNLabelStyle"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="font" ordered="false" lowerBound="1"

+        eType="ecore:EClass DC.ecore#//Font" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Font"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DC"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BPMNPlane" eSuperTypes="DI.ecore#//Plane">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="BPMNPlane"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bpmnElement" ordered="false"

+        eType="ecore:EClass BPMN20.ecore#//BaseElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="bpmnElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="BPMNShape" eSuperTypes="DI.ecore#//LabeledShape">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="BPMNShape"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="label" ordered="false"

+        eType="#//BPMNLabel" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="BPMNLabel"/>

+        <details key="namespace" value="http://www.omg.org/spec/BPMN/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bpmnElement" ordered="false"

+        eType="ecore:EClass BPMN20.ecore#//BaseElement">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="bpmnElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="choreographyActivityShape"

+        ordered="false" eType="#//BPMNShape">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="choreographyActivityShape"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExpanded" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isExpanded"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isHorizontal" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isHorizontal"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMarkerVisible" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isMarkerVisible"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMessageVisible" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isMessageVisible"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="participantBandKind" ordered="false"

+        eType="#//ParticipantBandKind">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="participantBandKind"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="MessageVisibleKind">

+    <eLiterals name="initiating"/>

+    <eLiterals name="non_initiating" value="1"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EEnum" name="ParticipantBandKind">

+    <eLiterals name="top_initiating"/>

+    <eLiterals name="middle_initiating" value="1"/>

+    <eLiterals name="bottom_initiating" value="2"/>

+    <eLiterals name="top_non_initiating" value="3"/>

+    <eLiterals name="middle_non_initiating" value="4"/>

+    <eLiterals name="bottom_non_initiating" value="5"/>

+  </eClassifiers>

+</ecore:EPackage>

diff --git a/org.eclipse.bpmn2.ecore/model/DC.ecore b/org.eclipse.bpmn2.ecore/model/DC.ecore
new file mode 100644
index 0000000..f7279b9
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/model/DC.ecore
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ecore:EPackage xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="DC"

+    nsURI="http://www.omg.org/spec/DD/20100524/DC-XMI" nsPrefix="dc">

+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value=""/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="elementWildcard"/>

+        <details key="name" value=":mixed"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xmlns:prefix"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xsi:schemaLocation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" upperBound="-2"

+        eType="#//Bounds" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Bounds"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DC"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="font" upperBound="-2" eType="#//Font"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Font"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DC"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="point" upperBound="-2"

+        eType="#//Point" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Point"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DC"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Bounds">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Bounds"/>

+      <details key="kind" value="empty"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="height"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false"

+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="width"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="x"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="y"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Font">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Font"/>

+      <details key="kind" value="empty"/>

+    </eAnnotations>

+    <eOperations name="non_negative_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="documentation" value="size >=  0"/>

+      </eAnnotations>

+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">

+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>

+        </eAnnotations>

+      </eParameters>

+      <eParameters name="context">

+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+          <details key="documentation" value="The cache of context-specific information."/>

+        </eAnnotations>

+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">

+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>

+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>

+        </eGenericType>

+      </eParameters>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBold" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isBold"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isItalic" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isItalic"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStrikeThrough" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isStrikeThrough"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnderline" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="isUnderline"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="size"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Point">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Point"/>

+      <details key="kind" value="empty"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="x"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" ordered="false" lowerBound="1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="y"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+</ecore:EPackage>

diff --git a/org.eclipse.bpmn2.ecore/model/DI.ecore b/org.eclipse.bpmn2.ecore/model/DI.ecore
new file mode 100644
index 0000000..c2db726
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/model/DI.ecore
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ecore:EPackage xmi:version="2.0"

+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="DI"

+    nsURI="http://www.omg.org/spec/DD/20100524/DI-XMI" nsPrefix="di">

+  <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value=""/>

+      <details key="kind" value="mixed"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="elementWildcard"/>

+        <details key="name" value=":mixed"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xmlns:prefix"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"

+        transient="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="xsi:schemaLocation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="diagramElement" upperBound="-2"

+        eType="#//DiagramElement" volatile="true" transient="true" derived="true"

+        containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="DiagramElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="diagram" upperBound="-2"

+        eType="#//Diagram" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Diagram"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="edge" upperBound="-2" eType="#//Edge"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Edge"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="label" upperBound="-2"

+        eType="#//Label" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Label"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="labeledEdge" upperBound="-2"

+        eType="#//LabeledEdge" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="LabeledEdge"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="labeledShape" upperBound="-2"

+        eType="#//LabeledShape" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="LabeledShape"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="node" upperBound="-2" eType="#//Node"

+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Node"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="plane" upperBound="-2"

+        eType="#//Plane" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Plane"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="shape" upperBound="-2"

+        eType="#//Shape" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Shape"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="style" upperBound="-2"

+        eType="#//Style" volatile="true" transient="true" derived="true" containment="true"

+        resolveProxies="false">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Style"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Diagram" abstract="true">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Diagram"/>

+      <details key="kind" value="empty"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="documentation"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStyle" ordered="false"

+        upperBound="-1" eType="#//Style" changeable="false" transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootElement" ordered="false"

+        lowerBound="1" eType="#//DiagramElement" changeable="false" transient="true"

+        derived="true" resolveProxies="false" eOpposite="#//DiagramElement/owningDiagram"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"

+        iD="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="id"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="name"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="resolution" ordered="false"

+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="resolution"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="DiagramElement" abstract="true">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="DiagramElement"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="owningDiagram" ordered="false"

+        eType="#//Diagram" changeable="false" transient="true" derived="true" resolveProxies="false"

+        eOpposite="#//Diagram/rootElement"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="owningElement" ordered="false"

+        eType="#//DiagramElement" changeable="false" transient="true" derived="true"

+        resolveProxies="false" eOpposite="#//DiagramElement/ownedElement"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" ordered="false"

+        upperBound="-1" eType="#//DiagramElement" changeable="false" transient="true"

+        derived="true" resolveProxies="false" eOpposite="#//DiagramElement/owningElement"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="modelElement" ordered="false"

+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject" changeable="false"

+        transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="style" ordered="false"

+        eType="#//Style" changeable="false" transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"

+        iD="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="id"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Edge" abstract="true" eSuperTypes="#//DiagramElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Edge"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"

+        eType="#//DiagramElement" changeable="false" transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"

+        eType="#//DiagramElement" changeable="false" transient="true" derived="true"/>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="waypoint" lowerBound="2"

+        upperBound="-1" eType="ecore:EClass DC.ecore#//Point" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="waypoint"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Label" abstract="true" eSuperTypes="#//Node">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Label"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"

+        eType="ecore:EClass DC.ecore#//Bounds" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Bounds"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DC"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="LabeledEdge" abstract="true" eSuperTypes="#//Edge">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="LabeledEdge"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLabel" ordered="false"

+        upperBound="-1" eType="#//Label" changeable="false" transient="true" derived="true"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="LabeledShape" abstract="true" eSuperTypes="#//Shape">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="LabeledShape"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLabel" ordered="false"

+        upperBound="-1" eType="#//Label" changeable="false" transient="true" derived="true"/>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Node" abstract="true" eSuperTypes="#//DiagramElement">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Node"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Plane" abstract="true" eSuperTypes="#//Node">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Plane"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eOperations name="plane_element_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">

+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+        <details key="documentation" value="planeElement->forAll(oclIsKindOf(Shape) or oclIsKindOf(Edge))"/>

+      </eAnnotations>

+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">

+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>

+        </eAnnotations>

+      </eParameters>

+      <eParameters name="context">

+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">

+          <details key="documentation" value="The cache of context-specific information."/>

+        </eAnnotations>

+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">

+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>

+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>

+        </eGenericType>

+      </eParameters>

+    </eOperations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="planeElement" upperBound="-1"

+        eType="#//DiagramElement" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="DiagramElement"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DI"/>

+        <details key="group" value="http://www.omg.org/spec/DD/20100524/DI#DiagramElement"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Shape" abstract="true" eSuperTypes="#//Node">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Shape"/>

+      <details key="kind" value="elementOnly"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EReference" name="bounds" ordered="false"

+        lowerBound="1" eType="ecore:EClass DC.ecore#//Bounds" containment="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="element"/>

+        <details key="name" value="Bounds"/>

+        <details key="namespace" value="http://www.omg.org/spec/DD/20100524/DC"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+  <eClassifiers xsi:type="ecore:EClass" name="Style" abstract="true">

+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+      <details key="name" value="Style"/>

+      <details key="kind" value="empty"/>

+    </eAnnotations>

+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//ID"

+        iD="true">

+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">

+        <details key="kind" value="attribute"/>

+        <details key="name" value="id"/>

+      </eAnnotations>

+    </eStructuralFeatures>

+  </eClassifiers>

+</ecore:EPackage>

diff --git a/org.eclipse.bpmn2.ecore/plugin.properties b/org.eclipse.bpmn2.ecore/plugin.properties
new file mode 100644
index 0000000..769f123
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/plugin.properties
@@ -0,0 +1,18 @@
+

+# <copyright>

+# 

+# Copyright (c) 2010 SAP AG.

+# All rights reserved. This program and the accompanying materials

+# are made available under the terms of the Eclipse Public License v1.0

+# which accompanies this distribution, and is available at

+# http://www.eclipse.org/legal/epl-v10.html

+# 

+# Contributors:

+#    Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+# 

+# </copyright>

+#

+# $Id$

+

+pluginName = BPMN20 Model

+providerName = www.example.org

diff --git a/org.eclipse.bpmn2.ecore/plugin.xml b/org.eclipse.bpmn2.ecore/plugin.xml
new file mode 100644
index 0000000..6f7dfd7
--- /dev/null
+++ b/org.eclipse.bpmn2.ecore/plugin.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<?eclipse version="3.0"?>

+

+<!--

+ <copyright>

+ Copyright (c) SAP AG.

+ All rights reserved.   This program and the accompanying materials

+ are made available under the terms of the Eclipse Public License v1.0

+ which accompanies this distribution, and is available at

+ http://www.eclipse.org/legal/epl-v10.html

+

+ Contributors: 

+   Reiner Hille-Doering (SAP AG) - initial API and implementation and/or initial documentation

+ </copyright>

+

+  $Id$

+-->

+

+<plugin>

+

+   <extension point="org.eclipse.emf.ecore.generated_package">

+      <package

+            uri="http://schema.omg.org/spec/BPMN/2.0"

+            class="org.eclipse.bpmn2.ecore.BPMN20.BPMN20Package"

+            genModel="model/BPMN20.genmodel"/>

+   </extension>

+

+   <extension point="org.eclipse.emf.ecore.extension_parser">

+      <parser

+            type="bpmn20"

+            class="org.eclipse.bpmn2.ecore.BPMN20.util.BPMN20ResourceFactoryImpl"/>

+   </extension>

+

+   <extension point="org.eclipse.emf.ecore.generated_package">

+      <package

+            uri="http://www.omg.org/spec/BPMNDI/1.0.0"

+            class="org.eclipse.bpmn2.ecore.BPMNDI.BPMNDIPackage"

+            genModel="model/BPMN20.genmodel"/>

+   </extension>

+

+   <extension point="org.eclipse.emf.ecore.generated_package">

+      <package

+            uri="http://www.omg.org/spec/DI/1.0.0"

+            class="org.eclipse.bpmn2.ecore.DI.DIPackage"

+            genModel="model/BPMN20.genmodel"/>

+   </extension>

+

+   <extension point="org.eclipse.emf.ecore.extension_parser">

+      <parser

+            type="di"

+            class="org.eclipse.bpmn2.ecore.DI.util.DIResourceFactoryImpl"/>

+   </extension>

+

+   <extension point="org.eclipse.emf.ecore.generated_package">

+      <package

+            uri="http://www.omg.org/spec/DD/1.0.0"

+            class="org.eclipse.bpmn2.ecore.DD.DDPackage"

+            genModel="model/BPMN20.genmodel"/>

+   </extension>

+

+   <extension point="org.eclipse.emf.ecore.extension_parser">

+      <parser

+            type="dd"

+            class="org.eclipse.bpmn2.ecore.DD.util.DDResourceFactoryImpl"/>

+   </extension>

+

+</plugin>